サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
体力トレーニング
www.sawanoboly.net
更新不定期で細々とのぼりーさんのクラウドインフラPodcastというのをやっているわけですが、 収録の環境をDiscordをベースにリニューアルしてみました。 自分と相手を別のトラックに録音したい 自分のPodcastは収録した音声をそのまま使用することはなく、ある程度編集してから配信しています。 さて、いざ編集となった時に、色々な理由から私とゲストの方の音声は別の音源として扱えると助かります。 双方が慣れていればお互いで自分のみをローカルに録音し、それを使用すればよいのですが、基本的に単発出演のゲストさんにあまり手間をかけさせたり、なおかつ録音失敗したりするのはマズイっていうかダメです。 そのため、できるだけ自分の環境側でそれぞれの音声を個別に録音しておきたいところなのですが、これがツール選定の課題になりやすい。 これまでの収録では主にSkypeのプラグイン、Call Recorder
雑誌の概要はこちら => WEB+DB PRESS Vol.85|技術評論社 。 写真はオープンセミナー広島2015での発表から 共著のみなさんも既にブログで紹介されています、各章の対象読者や雑誌のオススメ具合はこちらがとても参考になります。 @sgwr_dts(winebarrel) さんの記事 => AWS as Code!: WEB+DB PRESS Vol.85に記事を書きました - so what @muramasa64 さんの記事 => WEB+DB PRESS vol.85にCloudFormationの記事を書いた - 雑記帳(2015-02-23) @y15i(y13i) さんの記事 => t.y13i.com — WEB+DB PRESS Vol.85にCloudFormationの記事を書きました 特集を簡単に紹介すると、 導入しやすく、まあまあ普及感のあるCloud
moved.
最近はChef-Severの導入も簡単になりました。 パッケージから導入はもちろん、aws marketplaceで入手とはいえテスト環境にChef-Serverを強いるのもChef-zerohttps://github.com/opscode/chef-zeroChef-zeroはChef-Serverのホットモックのようなものです。ほぼChef-Serverとして動作する小さなプロセスですが次の特徴があります。 認証はするフリで全部OK データはメモリに保存、永続化なし Chef-Serverを使ったCookbookの開発をする際に、データをクリアしたい場合もありますが意外と後処理が面倒です。 Chef-zeroならプロセスのリスタートで綺麗な状態になるので、knifeで必要な要素を戻すだけで再度テストを行なうことができます。詳細は次のリンクが参考になります。軽量簡易Chef Serv
日本語訳: CircuitBreaker @azukiwasher さんから[ThoughtWorks][1]のMartin Fowler氏がブログで公開した記事の日本語訳を頂きました。 「サーバインスタンスとか証明書とかドメインとかゾーンとか、あっちこっちの外部 API をつなげてあげるユニットって結構いままでにつくってるよなぁ」という感慨とともに、そんなユニットに必須のテクニックをファウラー御大が丁寧に解説されていたので訳してみました なるほど、最近触ってるあれでは、sidekiq proに使ってこういったカラクリに近いことをやってもらっている感じです。 サーキット・ブレーカー ソース: "CircuitBreaker" http://martinfowler.com/bliki/CircuitBreaker.html by Martin Fowler ソフトウェア・システムでは、
@azukiwasher さんからRuby2.1のGCについて解説されている記事の日本語訳を頂きました。 『WEB+DB の Ruby 2.1 特集を読んでたら、ガベージコレクション(RGenGC)の説明で参照されてた記事の次の記事がためになったので訳してみた。』 Vol.79ですね。 ソース Ruby 2.1: Out-of-Band GC · computer talk by @tmm1 Ruby 2.1: Out-of-Band GC Ruby 2.1 で GC は以前よりずっとマシになったが、相変わらず "Stop The World" な実装に変わりはない。リクエスト処理中にコレクションが始まると、リクエストへの応答時間に遅延が生じる。遅延を緩和する方法のひとつにリクエストとリクエストの間に GC を走らせる、いわゆる「Out-of-Band」がある。 OOBGC はよく知られた
@azukiwasher さんからチャド・ファウラ氏のブログ日本語訳を頂きました。 元の記事はこちらです。 Trash Your Servers and Burn Your Code: Immutable Infrastructure and Disposable Components - Chad Fowler Trash Your Servers and Burn Your Code: Immutable Infrastructure and Disposable Components サーバーを捨て、コードを燃やせ:イミュータブル・インフラストラクチャとディスポーザブル・コンポーネント 2013.06.23 As a developer and sometimes system administrator, one of the scariest things I ever enco
echo testfile> files/default/testfile recipeにはこのように書く。 cookbook_file "/tmp/testfile" do source "testfile" mode "0644" end cookbookをServerにアップし、chef-clientを実行したら ”/tmp/testfile” がコピーされている。 # cat /tmp/testfile testfile 同じ動作は実行されない。 # chef-client INFO: Starting Chef Run (Version 0.9.14) INFO: Storing updated cookbooks/testbook/recipes/default.rb in the cache. INFO: Storing updated cookbooks/testbook/
とり急ぎで作ったmongodb、分散も冗長もしてないがこの先どうする? と思いきや実は結構簡単に拡張できる。 単体からShardにする場合のステップをまとめてみた。 addshardで、mongos=mongod configサーバを立てる mongosを立てる 既存mongodを –shardsvr(またはconfに”sherdsvr = true”) で再起動。※ポートに注意ね mongosのadminで、addshard この時点で、mongosにつないでも既存mongodにつないでも同じDBを参照することができます。 さらに複数の別mongodをaddshardしたら、mongosからはdbが全部見えて各mongodも単体ではこれまで同様に使えます。 素のmongosは各mongodへのルーティングをするだけという、これはこれで便利そうな機能なのでした。 クライアントからの
またChef – knifeの話だ。 knife sshにはインタラクティブモードというのがある。 やってみよう。 # knife ssh "lsb_id:Ubuntu" interactive -x root -P passwd クエリは前回同様だが、コマンド部にて”interactive”を指定しよう。 複数ノードが引っかかるようにクエリしたほうがよくわかる。 では動作についてちょっと紹介。 knife sshのインタラクティブモード起動 # knife ssh "lsb_id:Ubuntu" interactive -x root -P passwd Connected to web01, msg01 and stub01 To run a command on a list of servers, do: on SERVER1 SERVER2 SERVER3; COMM
Linux-Debianベースのルータアプライアンス、VyattaでTransparent FireWallを構築する手順。 Transparent FireWallは透過型、トランスペアレント型とか言われますね。 便利な構成が作れますが、Vyattaでの作り方は公式のFireWall Reference Guideでもちゃんと取り扱っていません。 基本過ぎるから?周囲を見るとそうでもないように思うけど。。 ということで数回に分けて構築方法をまとめてみます。 Transparent FireWallについて簡単に 透過型の言葉を知っていれば構成も知っていると思うけども一応おさらい。 NAT型構成 よくあるNAT型のFireWallは、リクエストをNATする形でDMZのサーバに渡す構成。Public側とDMZのサブネットが違います。 DMZのサーバはPrivate Addres
前回は透過型構成の説明をしたので、ここからVyattaの設定を入れていきます。 Vyattaを2つのスイッチ間に入れてブリッジする これからつくる接続の概要を。 L2のスイッチが2つあり、両方に同一サブネットのホストがつながる環境があるとします。 Vyatta上でスイッチ間の接続をブリッジするインターフェイスを作成します。 ブリッジ経由で両スイッチを接続します。 図で表したように、現時点でVyattaはただのL2スイッチです。 eth0.eth1をブリッジに参加させることで、物理的なNICのポートは 「ブリッジ(仮想スイッチ)br0に接続するためのポート」 になります。 そしてVyatta自身のインターフェース(L2⇔L3以上)はbr0のみです。 Vyattaでブリッジを作成する さて、透過型にはレイヤ2を中継するような設定が必要です。 多くのOSではこの場合ブリッジを作ることで
前回で作成したブリッジを使い、FireWallを設定します。 基本は全てbr0へinのルールで設定 何度も言うようだがeth0とeth1はブリッジ。 つまりIPアドレスに関して、どちらがIn側/Out側という概念はありません。 br0を通過しようとする時点でのパケットに対してSource/Destinationを中心にルールを記述していくため、Vyatta上でFWルールはbr0に対するinトラフィックに適用します。 DMZから外向きの設定 接続はこのようになっていることを想定。 DMZのホスト達はグローバルなIPが振られ、インターネット上のホストと自由に通信ができているはず。 これらのDMZホストから自由に通信ができて、かつDMZホスト宛の通信を任意に遮断します。 DMZ側のホストをグループにする ホストはまとめて任意の名前でグループ化することができ、ルール設定にも使えます。 グル
railsをunicornでrackupする際、よくunixsocket経由でnginxをフロントに使う。 で、それをバックエンドにしてさらにNginxでロードシェアする時の設定。 バックエンドのunicornが健在の時はフロントバック間のレスポンスは上図のようになり、適当にロードシェアされます。 nginxのデフォルト設定ではバックエンドがunicornの状態に応じて502を返す際にも、フロントは気にしません。 上図の状態になってもupstream対象を調整せずに、200, 502, 200, 502 とレスポンスを返します。 そりゃ困るということでドキュメントを参照、 HttpProxyModuleのproxy_next_upstream を使ってupstreamのポリシーを指定すればOKです。 デフォルトだとこうなっているので、 “proxy_next_upstream e
MongoDBの負荷分散ではReadのためのReplicaSet、WriteのためのShardと2つの方式を取ることができます。 ReplicaSetは冗長化・ミラーリング、Shardingはストライピング風の役割で、スケールアップするためにはRaid10を構成するように拡張していくことになります。 さて、まず作るのはReplicaSetのほうになりますが、デフォルト(?)ではSlave側に接続してもgetは許可されません。 セッションごとに明示的に指定し、クライアント側で制御すればよいのでした。 Slaveへのgetが許可されていないことを確認 Slaveに接続し、Masterでないことを確認します。 > db.isMaster() { "setName" : "testset", "ismaster" : false, "secondary" : true, -- snip --
Linux、特に仮想ホストでブリッジをOpen vSwitchにしておくことは色々と良い気がするのでKVMのホストに導入してみた。 さて、Helpを見るとBondingができるようです。 # ovs-vsctl --help --snip-- Bridge commands: add-br BRIDGE create a new bridge named BRIDGE --snip-- Port commands: add-port BRIDGE PORT add network device PORT to BRIDGE add-bond BRIDGE PORT IFACE... add bonded port PORT in BRIDGE from IFACES add-bondなどというサブコマンド。 既存のbondingモジュールを外して設定してみます。 Bondingへの段取
自動デプロイツールのChefってどうやねんという人向けにこうなるというのを手順無視でお届け。 ちなみに導入するなら初めはServerをマニュアルで入れるのが使っている部品が分かってよい。 迷うCookbookとKnifeのポイント いきなりTIPSだが、Server使用時はこれを思い出すとよい。多分理解が早い。 server.rbの指定のディレクトリにCookbookを置いたら knife upload をしてServerに登録する。 CreateしたCookbookも同様だ、編集したらuploadしよう。 では気を取り直して。 ChefServerのWEB-UIまで頑張って立てよう このようなUIにログインできます。今回使うscreenのcookbookはknifeで追加済み。 ノードはこのように追加する さて、さっきの画面にはノードが居ない。 どうすりゃいいかは、クライアント
まあ、Vyattaでなくてもできます。 諸事情で所属するVLANが異なるけどもサブネットが同じホスト同士を通信させたくなりました。 単に802.1Qに対応したインテリなL2を入れればOKなんですが手元になかった為、Vyattaに中継してもらいます。 構成と設定を紹介。 要点まとめ 作りたいもの。 L2ブリッジ eth0側の通信はタグなし eth1からの入出力は任意のVLANタグをつける こんなもんですか。 構成 NICが2つついたVyattaを挟みます。 これでVyattaとホスト間の通信ができるので、ブリッジで接続しましょう。 うむ。 設定 実際に設定するコマンドはこんな感じです。 $ configure ## ブリッジグループ作成 # set interfaces bridge br0 ## eth0をグループに追加 # set interfaces ethernet
ソフトウェアルータのVyattaを仮想環境で2台構築、VLAN機能を試してみる。 Vyatta同士は仮想化ソフトの持つ仮想スイッチ(ネットワーク)で接続します。 3台にしてVLAN間ルーティングまで作ろうと思ったのですが、Vyattaの外で思わぬ時間を取られたのでまずは2台。 それでは設定。 やってみること 2台のVyatta1台目(HostA)とVyatta2台目(HostB)を、 同じVLAN(802.1q)のIDで通信できる 違うVLAN(802.1q)のIDでは通信できない ということの設定例。 環境情報 HostA (VMWareServer2) eth0.100 10.48.100.2 eth0.200 10.48.200.2 HostB (VMWareServer2) eth0.100 10.48.100.3 eth0.201 10.48.200.3 仮想スイ
photo credit: HowardLake >> GNUCashで始めるフリーランス青色申告 >> 続・GNUCashで始めるフリーランス青色申告 =請求書からの掛取引編= に続くGNUCashシリーズ。 さて個人事業のフリーランスエンジニアという立場をやる中で、青色申告ついでに経理の事も知っておきたいとか、帳簿作成ソフトにお金使いたくないとかいう同志もいようと思います。 ということで... 所得税青色申告決算書(一般用) http://www.nta.go.jp/tetsuzuki/shinkoku/shotoku/yoshiki01/shinkokusho/02.htm コレに記入することを目指したGNUCash用の勘定科目テンプレートを作成しました。 国税庁さんが用意している決算書用の勘定科目とフリーランスエンジニア向けの科目をちょっと追加したものです。 仕入れなど
IT技術と仕事と生活と、神戸にいる澤登さんのブログ。ファーストサーバのサーバーカウボーイから PHPバージョンアップのお知らせ とニュースが出ています。 phpが5.1から5.2になったことで、testlinkやらmagentoやら動作します。 私はサーバーカウボーイの開発もやっているので当然知っているのですが、、、実はそれに便乗してRuby対応もパワーアップしています。 どのくらいRuby対応が進んだかって言うと、Redmineが動くくらい、それも1.0.x。 ↓ということでセットアップしてみました。 まだDBの流し込みなど手動でやらなければなりませんが、railsがしっかり使えるのがわかります。 http://demo.cowboyhacks.com/redmine/ この環境、暫くは guest / guest でログインできるようにしておくので、サーバーカウボーイみたい
Tweetまあ誰が始めるって、私が始めるんだけど。 IT関連なんかは仕入れもないし、初期はこれで十分っていう手順を何度かに分けてやってみますね。 真似してやってみるもよし、ちゃんと投資して市販ソフト買うもよし。 まずはGNUCashを入手しましょう、そしたら早速スタート! 追記:GNUCash自体の紹介抜けていた↓ GNUCashというのはオープンソースの財務会計ソフトです。 http://twitter.com/hyogontech/status/26369216006 ウィザードは無視 GNUキャッシュを起動したらウィザードが上がってきて、さも必要かのように勘定科目がセットされた帳簿を作ろうとします。 まずこれが罠。。。やる気を無くさせるための。。。騙されるな! はっきり言って不要な科目ばっかりなのでキャンセルして真っ白な帳簿を作成しましょう。 作成には、 [ファイル]→[新
TweetGitに慣れがてら、Githubを使います。 クライアントはPCがWindowsなのでmsysGitをセットアップ。 msysGitはsshやらssh-keygenがついているのでGithubリポジトリへsshアクセス、キーペアの準備は問題ない。 リポジトリへのURIはこんな感じ。 git@github.com:{github_id}/{repo_name}.git あれだね、git-shellを呼ぶんだろう。 さてgit更新用の秘密鍵の指定はどうやるんかいなと、"git remote"や"git push"で秘密鍵関連のオプションを探したけどなかった。 Help.GitHub – Troubleshooting SSH issues を見たらいくつか設定方法が、ssh側で何とかしましょうってことね。 「SSH config」の項が一番シンプルでいいや、Windowsなので
このページを最初にブックマークしてみませんか?
『Sawanoboly.net - Sawanoboly.net』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く