AWS CloudFormation 縁の下の力持ち! CloudFormation は次男です

5,394 views

Published on

この冬だれと魔法にかかりますか? ☆クリスマス☆直前!! クラウド COOKING FOR GEEKS
で匿名Julian(ジュリアン)が発表した資料です。
代理で投稿しております。

http://cloudgirls.blogspot.jp/2013/11/8.html

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
5,394
On SlideShare
0
From Embeds
0
Number of Embeds
2,356
Actions
Shares
0
Downloads
14
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

AWS CloudFormation 縁の下の力持ち! CloudFormation は次男です

  1. 1. AWS   CloudFormation 縁の下の⼒力力持ち! CloudFormation  は次男です Julian(ジュリアン)
  2. 2. デプロイ三兄弟   AWS  Elas)c  Beanstalk     2011-­‐01-­‐19   AWS  CloudForma)on     2011-­‐04-­‐11   AWS  OpsWorks     2013-­‐02-­‐19  
  3. 3. AWS  の構築・デプロイ⾃自動化 サービスの中での位置づけ 導⼊入の容易易さ Elastic  Beanstalk OpsWorks CloudFormation 柔軟さ 詳しくは  Web  で!! h#p://aws.amazon.com/jp/applica3on-­‐management/  
  4. 4. Amazon  CloudFormation テンプレートに基づき 各サービスが起動 スタック ElasticLoadBalancing テンプレート S3 Cloud Formation SNS EC2 EC2 AutoScaling CloudWatch
  5. 5. Amazon  CloudFormation 擬⼈人化? 多分アイドルグループのジャーマネみたいなものだと思う (無給) ELB  (EC2  が好き) かわいらしい  EC2  たんズ
  6. 6. テンプレートとスタック •  テンプレート  (ジャーマネのメンバー表とスケジュール帳みたいな の?) •  それをみてメンバー  =  リソース  (EC2,  ELB,  RDS  etc…)  を配置 •  ステージの上にそろったメンバーの集まりをスタック •  そろわなければ公演中⽌止  (Rollback!!)  なんてことも設定次第 スタック App Server Web Server
  7. 7. ユースケース •  ⼀一度度テンプレートを作成すれば、同じ構成が再現可能 –  開発環境など –  同じ仕組みを使いまわせる  Web,  ブログ,  ゲーム •  ベストプラクティスが盛り込まれたテンプレートをつかえば… –  アーキテクチャの再利利⽤用 –  サンプルテンプレートも http://aws.amazon.com/jp/cloudformation/aws-‐‑‒cloudformation-‐‑‒templates/ •  起動時にパラメータを渡せる –  例例えば  DB  のエンドポイントを  EC2  に渡す
  8. 8. テンプレートの構成   {        "AWSTemplateFormatVersion"  :  “2010-‐‑‒09-‐‑‒09",                                "Description"  :  "Valid  JSON  strings  up  to  4K",                                "Parameters"  :  {                set  of  parameters        },        "Mappings"  :  {                set  of  mappings          },                                "Resources"  :  {                set  of  resources          },                "Outputs"  :  {                set  of  outputs        } } テンプレートのバージョン (最新は2010-‐‑‒09-‐‑‒09) テンプレートの詳細(説明⽂文) CloudFormation実⾏行行時に 後で変更更可能なパラメータを列列挙 (例例:DBユーザー名など) Hashtableのようなもの キーに応じて値を特定出来る (例例:リージョンに応じたAMI番号など) EC2やRDSなど、スタックを構成する リソースを定義 スタック構築後に取得したい値 (例例:アクセスURLなど)
  9. 9. はまりがちあるある   •  KeyPair名1⽂文字間違っていて起動失敗! •  依存関係のあるリソースを気づかず削除 し  Delete  に失敗! •  Termination  Protection  を定義したイン スタンスのことをすっかり忘れて  Delete   に失敗!  
  10. 10. Tips   •  Rollback  on  Failure  を  Disable  にして原因調査(リソースが残る) •  あるリソースは特定のインスタンスのブートストラップ後に⽴立立ち上 げる必要があるというようなケースではうまく  WaitCondition  を 使って実現 •  テンプレートは⼊入れ⼦子にしたり、あるテンプレートの  Output  を別 のテンプレートの  Parameter  としてインプットできるのでコン ポーネントごとのテンプレートを作ってそれらをつなぐ親テンプ レートを⽤用意するような構造にしておくとメンテナンスしやすい •  ブートストラップだけ別にテストできるようにブートストラップス クリプトを別ファイルにしたり  chef  等でブートストラップするよ うにする⽅方がよい(テンプレートの中に  EC2  インスタンスのブート ストラップまで⼊入れてしまうと、ブートストラップのテストのため だけにスタックを起動したりしないといけなくて⼤大変!) •  Madeiraとか使うとGUIで構成を書いて  CloudFormation  テンプ レートをExportするという誰もが夢⾒見見る世界に⼀一歩近く(とはいえ 最終的には  JSON  を⼿手直しする必要はあり)
  11. 11. こんな Tips  も発見!   10  )ps  when  using  AWS  CloudForma)on     (plus  a  bonus  )p)   http://aws.amazon.com/jp/cloudformation/aws-‐‑‒cloudformation-‐‑‒templates/  
  12. 12. 見つけた Tips  ざっくり翻訳(1)   IAM(Identity  and  Access   Management)  をいっしょに つかいましょう! ⼤大きいテンプレートを⼀一個!では なく⼩小さいテンプレートに分けて 管理理しましょう! テンプレートはバージョン管理理 ツールに⼊入れて、ソースコードの ように扱いましょう! パラメーターを活⽤用して再利利⽤用性 の⾼高いテンプレートをつくりま しょう ちゅういしてねぇ〜~ VPC  ⾃自体の利利⽤用料料⾦金金はかからな いので、料料⾦金金がかかるその他のテ ンプレートと  VPC  は分けて利利⽤用 しましょう
  13. 13. Tips  ざっくり翻訳(2)   ⼀一か⽉月に⼀一度度はテンプレートの⾒見見 直しをしましょう。 たまにじか書きした  AMI  などが セキュリティ対策などで新しいも のにさし替わり使えなくなってる ことも… マッピングを活⽤用して、リージョ 依存しないテンプレートを作りま しょう ちゅういしてねぇ〜~ 構⽂文の細かいところを理理解して、 ⼀一からテンプレートを書く必要は なし! 元からあるテンプレートに⼿手を加 えるところから始めましょう
  14. 14. 見つけた Tips  ざっくり翻訳(ラスト!)   CloudFormation  helper  を活⽤用 してインスタンスを  bootstrap   しましょう cfn-‐‑‒validate-‐‑‒template  を利利⽤用し て単純なシンタックスエラーが起 きないように事前にチェックしま しょう 正規表現は  Java  の正規表現形式 に近いのでバックスラッシュは⼆二 個つなげてバックスラッシュとし て認識識されるようにしましょう ちゅういしてねぇ〜~
  15. 15. さらに詳しく Under  the  Hood!!   •  AWS  CloudFormation  under  the  Hood   (DMG303)  |  AWS  re:Invent  2013   h#p://www.youtube.com/watch?v=ZhGMaw67Yu0   •  WEB+DB  PRESS  Vol.77     h#p://www.amazon.co.jp/dp/4774159905        CloudFormer  でテンプレートを作成して、汎 ⽤用的になるよう修正する⼀一連の流流れが解説されて ます!

×