Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Using BOSH on AWS to deploy WordPress

Using BOSH on AWS to deploy WordPress

8th Cloud Foundry Code Reading Japan #cfcrjp

BOSHを使ってAWSにCloud Foundryを簡単に構築しよう
第8回 Cloud Foundry輪読会

Katsunori Kawaguchi

July 26, 2012
Tweet

More Decks by Katsunori Kawaguchi

Other Decks in Technology

Transcript

  1. 自己紹介 • 川口 克則 @hamakn • NTTコム所属 • Application Engineer

    && Rails Programmer • 最近は、自社のCloud Foundryの メンテナンスをしたり、 Appを乗せるサポートをしています。
  2. 今日必要なBOSH用語 • Stemcell: – bosh agentが入ったOSのイメージのこと • micro BOSH: –

    1VMで動くBOSHのこと • {cf|sample}-release: – リリース可能な、Cloud FoundryまたはWordPressの ソース・バイナリの組み合わせのこと • manifest: – releaseに与える、設定ファイルのこと • bosh director: – VMの作成やVMへのデプロイを制御する BOSHのプロセスのこと
  3. 今日の話 1. AWSにmicro BOSHを構築する 2. stemcellとcf-releasesample-releaseを micro BOSHにuploadする 3. manifestを書いて

    CloudFoundryWordPressをデプロイする 4. WordPressを更新する 5. 他のやり方と比較する (対dev_setup, capistrano)
  4. AWSにmicro BOSHを構築する • 前提: bosh microコマンドが使えること – “すごいBOSH”など参照 • micro

    boshのstemcellを取得する $ bosh download public stemcell micro-bosh-stemcell-aws- 0.6.2.tgz • manifestファイルを作って指定する $ vim aws/micro_bosh.yml # 参考 https://github.com/hamakn/bosh- files/blob/master/manifests/micro-bosh-northeast.yml $ bosh micro deployment aws • デプロイする $ bosh micro deploy
  5. stemcellとsample-releaseを micro BOSHにuploadする • micro BOSHに接続 $ bosh target ec2-(略)-amazonaws.com:25555

    $ bosh login (デフォルトだとadmin/admin) • stemcell $ bosh download public stemcell bosh-stemcell-aws-0.5.1.tgz $ bosh upload stemcell bosh-stemcell-aws-0.5.1.tgz • sample-release $ git clone git://github.com/cloudfoundry/bosh-sample- release.git $ bosh create release releases/sample-1.yml $ bosh upload release releases/sample-1.yml
  6. 東京リージョンの場合 • bosh-stemcell-aws-0.5.1.tgzの場合、 micro BOSHにsshして、 Bosh::AwsCloud::Cloud#create_stemcell を直さないとエラー(Error 100)でした。 • https://gist.github.com/3181157

    • 修正後、 $ ps auwx|grep “bosh/director”|awk ‘{print “kill ”,$2}’|sh でbosh directorが再起動して修正が反映されます。
  7. manifestを書いて WordPressをデプロイする • Elastic IPsの取得 AWS-ConsoleからでOK • デプロイ $ vim

    wp/wordpress.yml # 参考 https://github.com/hamakn/bosh- files/blob/master/manifests/wordpress-northeast.yml $ bosh deployment wp $ bosh deploy
  8. 他のやり方との比較 • マシン一桁 … dev_setupがお手軽 • マシン二桁 … capistranoベースでもなん とかなった

    • マシン三桁 … BOSHないとたぶん死ぬ • Blobstoreでリンク切れしないのが良い • BOSHが流行るといいですね!
  9. 今回検証したバージョン • bosh_cli 0.19.4 • micro BOSH 0.6.2-aws • stemcell

    0.5.1-aws • AWS northeast(東京) • Ruby 1.9.2-p290
  10. まとめ 1. AWSにmicro BOSHを構築する 2. stemcellとcf-releasesample-releaseを micro BOSHにuploadする 3. manifestを書いて

    CloudFoundryWordPressをデプロイする 4. WordPressを更新する 5. 他のやり方と比較する (対dev_setup, capistrano)