Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Ec2 automation framework

1,733 views

Published on

2013/07/27 Hoge駆動で発表した資料です。
chef, knife-soloを使って、自動的にAMIを更新するフレームワークを作成しました。

Published in: Technology
  • Be the first to comment

Ec2 automation framework

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

×