0
AWS  
CloudFormation
縁の下の⼒力力持ち!
CloudFormation  は次男です
Julian(ジュリアン)
デプロイ三兄弟	
  

AWS	
  Elas)c	
  Beanstalk	
  	
  
2011-­‐01-­‐19	
  

AWS	
  CloudForma)on	
  	
  
2011-­‐04-­‐11	
  

AWS	
...
AWS  の構築・デプロイ⾃自動化
サービスの中での位置づけ
導⼊入の容易易さ

Elastic  Beanstalk

OpsWorks

CloudFormation

柔軟さ
詳しくは  Web  で!!
h#p://aws.amazon...
Amazon  CloudFormation
テンプレートに基づき
各サービスが起動

スタック

ElasticLoadBalancing

テンプレート

S3

Cloud
Formation
SNS
EC2

EC2
AutoScali...
Amazon  CloudFormation
擬⼈人化?
多分アイドルグループのジャーマネみたいなものだと思う
(無給)

ELB  (EC2  が好き)

かわいらしい  EC2  たんズ
テンプレートとスタック
•  テンプレート  (ジャーマネのメンバー表とスケジュール帳みたいな
の?)
•  それをみてメンバー  =  リソース  (EC2,  ELB,  RDS  etc…)  を配置
•  ステージの上にそろったメンバー...
ユースケース
•  ⼀一度度テンプレートを作成すれば、同じ構成が再現可能

–  開発環境など
–  同じ仕組みを使いまわせる  Web,  ブログ,  ゲーム

•  ベストプラクティスが盛り込まれたテンプレートをつかえば…

–  アーキテ...
テンプレートの構成	
  
{
        "AWSTemplateFormatVersion"  :  “2010-‐‑‒09-‐‑‒09",
                        
        "Description" ...
はまりがちあるある	
  
•  KeyPair名1⽂文字間違っていて起動失敗!
•  依存関係のあるリソースを気づかず削除
し  Delete  に失敗!
•  Termination  Protection  を定義したイン
スタンスのこと...
Tips	
  
•  Rollback  on  Failure  を  Disable  にして原因調査(リソースが残る)
•  あるリソースは特定のインスタンスのブートストラップ後に⽴立立ち上
げる必要があるというようなケースではうまく ...
こんな Tips	
  も発見!	
  
10	
  )ps	
  when	
  using	
  AWS	
  CloudForma)on	
  	
  
(plus	
  a	
  bonus	
  )p)	
  
http://aws....
見つけた Tips	
  ざっくり翻訳(1)	
  
IAM(Identity  and  Access  
Management)  をいっしょに
つかいましょう!

⼤大きいテンプレートを⼀一個!では
なく⼩小さいテンプレートに分けて
管理...
Tips	
  ざっくり翻訳(2)	
  
⼀一か⽉月に⼀一度度はテンプレートの⾒見見
直しをしましょう。
たまにじか書きした  AMI  などが
セキュリティ対策などで新しいも
のにさし替わり使えなくなってる
ことも…
マッピングを活⽤用して...
見つけた Tips	
  ざっくり翻訳(ラスト!)	
  
CloudFormation  helper  を活⽤用
してインスタンスを  bootstrap  
しましょう
cfn-‐‑‒validate-‐‑‒template  を利利⽤用...
さらに詳しく Under	
  the	
  Hood!!	
  
•  AWS  CloudFormation  under  the  Hood  
(DMG303)  |  AWS  re:Invent  2013
  h#p://www...
Upcoming SlideShare
Loading in...5
×

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

4,557

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
4,557
On Slideshare
0
From Embeds
0
Number of Embeds
15
Actions
Shares
0
Downloads
12
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Transcript of "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  でテンプレートを作成して、汎 ⽤用的になるよう修正する⼀一連の流流れが解説されて ます!
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×