Opsworks
障害対応のためにいろいろ試行錯誤したときに覚えたことをメモ
Tips
setup中のログをすぐみたい。
ログイン
デフォルト設定のKey-pairでログインできる。
- user : ec2-user
- pass : 設定していたら。
ログをみる
sudo tail -f /var/lib/aws/opsworks/chef/yyyy-MM-dd-hh-mm-ss-..log
opsworks-agentが実行したときのコマンドを調べる
/var/log/aws/opsworks/opsworks-agent.process_command.logを参照する
手動でcookbooksを実行する
Berksfile.lockファイルのある場所(/opt/aws/opsworks/cuurent/merged-cookbooks/Berksfile.lock)で実行する
sudo /opt/aws/opsworks/current/bin/chef-client -j /var/lib/aws/opsworks/chef/2015-08-18-07-47-11-01.json -c /var/lib/aws/opsworks/client.stage2.rb -o hoge::default
- -j /var/lib/aws/opsworks/chef/の配下にあるjsonファイル(chef実行時の最終的な設定値が含まれている)
- -c /var/lib/aws/opsworks/client.stageX.rb 設定ファイル。 キャッシュの場所などいろんな設定値が書いてある。.ymlファイルが同じ階層にあり、読みやすい
- -o Run_command画面の、Recipes to executeに記述する書式とおなじ。カンマ区切りにすることで、複数のレシピを実行することができる。
setup failedとなっているサーバに対してCookbooksを実行する方法
- 左ペイン Stack > Run Command > Command Update Custom Cookbooksを選択する。
- failedしたサーバを下のinstancesの中からえらびチェックし、実行。
client.stage1やclient.stage2って何だろう(まだぼんやり)
client.stage1
- opsworksのcustom cookbooksが実行される段階
- このステージが完了しないと、opsworksの設定が完了していない
- この時点では、Resourcesで指定したユーザの設定なども反映されない
- berkshelf
client.stage2
- ユーザが設定したcustom_cookbooksを実行される段階
- ここから、stacksettingなどで指定した設定値などが反映されてくる
- berkshelf管理下のレシピの実行もここ。