ec2 automation framework
DESCRIPTION
2013/07/27 Hoge駆動で発表した資料です。 chef, knife-soloを使って、自動的にAMIを更新するフレームワークを作成しました。TRANSCRIPT
![Page 1: Ec2 automation framework](https://reader033.vdocuments.net/reader033/viewer/2022051515/54c41ff94a795968638b4586/html5/thumbnails/1.jpg)
その日くちたまはいかにして壊れたのか夏のhoge駆動☆カレーの王子さまリターンズ〜たんごさんを囲みながら資料の盆踊りスペシャル〜
2013/07/27
![Page 2: Ec2 automation framework](https://reader033.vdocuments.net/reader033/viewer/2022051515/54c41ff94a795968638b4586/html5/thumbnails/2.jpg)
Kuchitama
• くちたま• FuRyu株式会社• Chef導入委員長(自称)
![Page 3: Ec2 automation framework](https://reader033.vdocuments.net/reader033/viewer/2022051515/54c41ff94a795968638b4586/html5/thumbnails/3.jpg)
Kuchitamaソーシャルゲーム
![Page 4: Ec2 automation framework](https://reader033.vdocuments.net/reader033/viewer/2022051515/54c41ff94a795968638b4586/html5/thumbnails/4.jpg)
Kuchitama
![Page 5: Ec2 automation framework](https://reader033.vdocuments.net/reader033/viewer/2022051515/54c41ff94a795968638b4586/html5/thumbnails/5.jpg)
Social Game
←NEW
![Page 6: Ec2 automation framework](https://reader033.vdocuments.net/reader033/viewer/2022051515/54c41ff94a795968638b4586/html5/thumbnails/6.jpg)
昨日の出来事
![Page 7: Ec2 automation framework](https://reader033.vdocuments.net/reader033/viewer/2022051515/54c41ff94a795968638b4586/html5/thumbnails/7.jpg)
Social Game
• プラットフォーム追加• ランキング入り• 広告出稿
ユーザ増加
![Page 8: Ec2 automation framework](https://reader033.vdocuments.net/reader033/viewer/2022051515/54c41ff94a795968638b4586/html5/thumbnails/8.jpg)
Social Gameユーザ増加
![Page 9: Ec2 automation framework](https://reader033.vdocuments.net/reader033/viewer/2022051515/54c41ff94a795968638b4586/html5/thumbnails/9.jpg)
Social Gameユーザ増加
↓
サーバ負荷の増加
![Page 10: Ec2 automation framework](https://reader033.vdocuments.net/reader033/viewer/2022051515/54c41ff94a795968638b4586/html5/thumbnails/10.jpg)
負荷対策
•HTTPサーバ/アプリチューニング → Nginx, Play
•DBチューニング→RDBMS
•サーバスケールアップ/アウト→AWS
![Page 11: Ec2 automation framework](https://reader033.vdocuments.net/reader033/viewer/2022051515/54c41ff94a795968638b4586/html5/thumbnails/11.jpg)
Nginx/Play• http://tech.furyu.jp/blog/?p=2069
![Page 12: Ec2 automation framework](https://reader033.vdocuments.net/reader033/viewer/2022051515/54c41ff94a795968638b4586/html5/thumbnails/12.jpg)
RDBMS• BoneCP → C3P0
• https://github.com/furyu/play-c3p0-plugin
• DBチューニング
![Page 13: Ec2 automation framework](https://reader033.vdocuments.net/reader033/viewer/2022051515/54c41ff94a795968638b4586/html5/thumbnails/13.jpg)
AWS• Scale up
• EC2/RDS インスタンスタイプ変更• サーバのスペックアップ• Scale out
• EC2インスタンス追加
![Page 14: Ec2 automation framework](https://reader033.vdocuments.net/reader033/viewer/2022051515/54c41ff94a795968638b4586/html5/thumbnails/14.jpg)
EC2スケールアウトスケールアウト
![Page 15: Ec2 automation framework](https://reader033.vdocuments.net/reader033/viewer/2022051515/54c41ff94a795968638b4586/html5/thumbnails/15.jpg)
EC2スケールアウトスケールアウト
![Page 16: Ec2 automation framework](https://reader033.vdocuments.net/reader033/viewer/2022051515/54c41ff94a795968638b4586/html5/thumbnails/16.jpg)
EC2スケールアウトスケールアウト
AMI作って
![Page 17: Ec2 automation framework](https://reader033.vdocuments.net/reader033/viewer/2022051515/54c41ff94a795968638b4586/html5/thumbnails/17.jpg)
EC2スケールアウトスケールアウト
AMI作って作成
![Page 18: Ec2 automation framework](https://reader033.vdocuments.net/reader033/viewer/2022051515/54c41ff94a795968638b4586/html5/thumbnails/18.jpg)
EC2スケールアウトスケールアウト
AMI作って作成手動で
![Page 19: Ec2 automation framework](https://reader033.vdocuments.net/reader033/viewer/2022051515/54c41ff94a795968638b4586/html5/thumbnails/19.jpg)
EC2スケールアウト
_人人人人_> 手動 <‾Y^Y^Y‾
![Page 20: Ec2 automation framework](https://reader033.vdocuments.net/reader033/viewer/2022051515/54c41ff94a795968638b4586/html5/thumbnails/20.jpg)
手順1元になるAMIを選択
![Page 21: Ec2 automation framework](https://reader033.vdocuments.net/reader033/viewer/2022051515/54c41ff94a795968638b4586/html5/thumbnails/21.jpg)
手順1元になるAMIを選択
多いわ!
![Page 22: Ec2 automation framework](https://reader033.vdocuments.net/reader033/viewer/2022051515/54c41ff94a795968638b4586/html5/thumbnails/22.jpg)
手順2作成したEC2インスタンスに接続
![Page 23: Ec2 automation framework](https://reader033.vdocuments.net/reader033/viewer/2022051515/54c41ff94a795968638b4586/html5/thumbnails/23.jpg)
手順2作成したEC2インスタンスに接続
どれやねん!
![Page 24: Ec2 automation framework](https://reader033.vdocuments.net/reader033/viewer/2022051515/54c41ff94a795968638b4586/html5/thumbnails/24.jpg)
手順3から]# ntpd stop]# hostname hoge]# vi /etc/hosts]# network restart]# ...]# ...]# ...
![Page 25: Ec2 automation framework](https://reader033.vdocuments.net/reader033/viewer/2022051515/54c41ff94a795968638b4586/html5/thumbnails/25.jpg)
手順3から]# ntpd stop]# hostname hoge]# vi /etc/hosts]# network restart]# ...]# ...]# ...
そこから先は覚えていない
![Page 26: Ec2 automation framework](https://reader033.vdocuments.net/reader033/viewer/2022051515/54c41ff94a795968638b4586/html5/thumbnails/26.jpg)
手順1~3]# ntpd stop]# hostname hoge]# vi /etc/hosts]# network restart]# ...]# ...]# ...
![Page 27: Ec2 automation framework](https://reader033.vdocuments.net/reader033/viewer/2022051515/54c41ff94a795968638b4586/html5/thumbnails/27.jpg)
手順1~3]# ntpd stop]# hostname hoge]# vi /etc/hosts]# network restart]# ...]# ...]# ...
これをひたすら繰り返す
![Page 28: Ec2 automation framework](https://reader033.vdocuments.net/reader033/viewer/2022051515/54c41ff94a795968638b4586/html5/thumbnails/28.jpg)
昨日の出来事
![Page 29: Ec2 automation framework](https://reader033.vdocuments.net/reader033/viewer/2022051515/54c41ff94a795968638b4586/html5/thumbnails/29.jpg)
昨日の出来事
そりゃ壊れるわ
![Page 30: Ec2 automation framework](https://reader033.vdocuments.net/reader033/viewer/2022051515/54c41ff94a795968638b4586/html5/thumbnails/30.jpg)
自動化したい
•AWSの操作
• Ruby-SDK•サーバの操作
• Chef
![Page 31: Ec2 automation framework](https://reader033.vdocuments.net/reader033/viewer/2022051515/54c41ff94a795968638b4586/html5/thumbnails/31.jpg)
作った
![Page 32: Ec2 automation framework](https://reader033.vdocuments.net/reader033/viewer/2022051515/54c41ff94a795968638b4586/html5/thumbnails/32.jpg)
•AMIからEC2を起動
•EC2でChefレシピを実行
• vim, NeoBundleレシピを実行•EC2をAMIとして保存
デモ
![Page 33: Ec2 automation framework](https://reader033.vdocuments.net/reader033/viewer/2022051515/54c41ff94a795968638b4586/html5/thumbnails/33.jpg)
•実行も自動化したい
•タイミングはrecipeとかを更新したときがいい
→ Git push時
更に自動化
![Page 34: Ec2 automation framework](https://reader033.vdocuments.net/reader033/viewer/2022051515/54c41ff94a795968638b4586/html5/thumbnails/34.jpg)
web api
![Page 35: Ec2 automation framework](https://reader033.vdocuments.net/reader033/viewer/2022051515/54c41ff94a795968638b4586/html5/thumbnails/35.jpg)
web api
Push
POST
![Page 36: Ec2 automation framework](https://reader033.vdocuments.net/reader033/viewer/2022051515/54c41ff94a795968638b4586/html5/thumbnails/36.jpg)
デモ
•GitPushしたら勝手にさっきのデモが実行
![Page 37: Ec2 automation framework](https://reader033.vdocuments.net/reader033/viewer/2022051515/54c41ff94a795968638b4586/html5/thumbnails/37.jpg)
まとめ
•スケールしやすいクラウドサービスもちゃんとスケールの準備してないと意味ないよね
•というわけでフレームワーク作りました
![Page 38: Ec2 automation framework](https://reader033.vdocuments.net/reader033/viewer/2022051515/54c41ff94a795968638b4586/html5/thumbnails/38.jpg)
公開しました
•Kuchitama/ec2_automation
• https://github.com/Kuchitama/ec2_automation
![Page 39: Ec2 automation framework](https://reader033.vdocuments.net/reader033/viewer/2022051515/54c41ff94a795968638b4586/html5/thumbnails/39.jpg)
one more thing
![Page 40: Ec2 automation framework](https://reader033.vdocuments.net/reader033/viewer/2022051515/54c41ff94a795968638b4586/html5/thumbnails/40.jpg)
ある朝のできごと
•ある朝、某AWS認定ソリューションアーキテクト- アソシエイトレベルさんからメールが
•URLを開くと・・・
![Page 41: Ec2 automation framework](https://reader033.vdocuments.net/reader033/viewer/2022051515/54c41ff94a795968638b4586/html5/thumbnails/41.jpg)
OpsWorks
http://aws.typepad.com/aws_japan/2013/07/aws-opsworks-update-custom-amis-and-chef-11-support.html
カスタムAMIサポート
![Page 42: Ec2 automation framework](https://reader033.vdocuments.net/reader033/viewer/2022051515/54c41ff94a795968638b4586/html5/thumbnails/42.jpg)
OpsWorks
http://aws.typepad.com/aws_japan/2013/07/aws-opsworks-update-custom-amis-and-chef-11-support.html
カスタムAMIサポート俺の実装
いらんかったんや
![Page 43: Ec2 automation framework](https://reader033.vdocuments.net/reader033/viewer/2022051515/54c41ff94a795968638b4586/html5/thumbnails/43.jpg)
宣伝
https://www.facebook.com/ksgstudy
関西ソーシャルゲーム勉強会 職種不問(Planner, Designer, Programmer, Infrastructure) ビアバッシュ