Permalink
Switch branches/tags
Nothing to show
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
110 lines (74 sloc) 2.88 KB

AWS Casualその後

AWS Advanced Users Meetup vol.2 @Cookpad

id:myfinder


who?

  • id:myfinder
  • M.T.Burn/FreakOut
  • MySQL Casual

先にお知らせ


MySQL Casual Talks vol.7

  • 12/12(金)開催
  • トーク/LTネタがある方はお気軽に^^

MySQL Casual Advent Calendar

  • まだ空きがあるのでカジュアルに登録かもんლ(╹◡╹ლ)

今日話すこと

  • "どオンプレ環境"で作ったサービスを最近 AWS に移設した話をAWS Casualでしました
  • あれからもうちょっと手入れしたのでその辺の話と疑問点について

対象サービス

http://mtburn.jp/


メディア企業の皆様

どしどしお申込み

ください


前回までのアプリサーバ

  • NAT インスタンス不使用
  • すべての EC2 インスタンスに Public IP を付与
  • アクセスコントロールは Security Group で設定
  • 個別のインスタンスに名前は付けない
  • したがって内部 DNS 廃止 / IP 付与も DHCP 任せ
  • セットアップ->運用はAnsibleの継続適用
  • しょぼい適用ミスの障害が出たりしてた

今日までのアップデート

  • Route53 Private DNS 導入
  • Immutable な運用に変更
  • Auto Scaling 対応

これでようやく

Advancedか?


Private DNS 導入

  • やっぱり名前付けたいサーバは(ごく一部だけど)ある
  • 渡りに船でした :)

Immutable な運用

  • 一度設定したサーバに変更を加えず、変更があるときはアプリサーバ作り直し
  • blue-green :)
  • 但し開発者が書くソースコードはこれまでどおり cap で deploy
  • cap with mackerel

Auto Scaling 対応

  • ライフサイクルフック不使用
  • 複雑なセットアップが要らない
  • 通知はSNS使わず、Mackerel/Slackにまとめた
  • cloud-init と shutdown 時のスクリプトで処理
  • Ansible廃止
  • 起動時に cloud-init で監視/セットアップ
  • 停止時に init.d スクリプトで通知/監視停止
  • AWS にロックインされにくい体にしたい向きもあった

これで

ひと安心


疑問/質問

  • terminate 時に init スクリプトで sleep するなどして処理をブロックした場合の待ち時間はどの程度か
  • "ライフサイクルフックの方が捗るよ!"みたいな方と意見交換したい

おわり