SlideShare uma empresa Scribd logo
1 de 15
Baixar para ler offline
AWS  
CloudFormation
縁の下の⼒力力持ち!
CloudFormation  は次男です
Julian(ジュリアン)
デプロイ三兄弟	
  

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

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

AWS	
  OpsWorks	
  	
  
2013-­‐02-­‐19	
  
AWS  の構築・デプロイ⾃自動化
サービスの中での位置づけ
導⼊入の容易易さ

Elastic  Beanstalk

OpsWorks

CloudFormation

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

スタック

ElasticLoadBalancing

テンプレート

S3

Cloud
Formation
SNS
EC2

EC2
AutoScaling

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

ELB  (EC2  が好き)

かわいらしい  EC2  たんズ
テンプレートとスタック
•  テンプレート  (ジャーマネのメンバー表とスケジュール帳みたいな
の?)
•  それをみてメンバー  =  リソース  (EC2,  ELB,  RDS  etc…)  を配置
•  ステージの上にそろったメンバーの集まりをスタック
•  そろわなければ公演中⽌止  (Rollback!!)  なんてことも設定次第
スタック
App
Server

Web
Server
ユースケース
•  ⼀一度度テンプレートを作成すれば、同じ構成が再現可能

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

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

–  アーキテクチャの再利利⽤用
–  サンプルテンプレートも

http://aws.amazon.com/jp/cloudformation/aws-‐‑‒cloudformation-‐‑‒templates/

•  起動時にパラメータを渡せる

–  例例えば  DB  のエンドポイントを  EC2  に渡す
テンプレートの構成	
  
{
        "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など)
はまりがちあるある	
  
•  KeyPair名1⽂文字間違っていて起動失敗!
•  依存関係のあるリソースを気づかず削除
し  Delete  に失敗!
•  Termination  Protection  を定義したイン
スタンスのことをすっかり忘れて  Delete  
に失敗!
	
  
Tips	
  
•  Rollback  on  Failure  を  Disable  にして原因調査(リソースが残る)
•  あるリソースは特定のインスタンスのブートストラップ後に⽴立立ち上
げる必要があるというようなケースではうまく  WaitCondition  を
使って実現
•  テンプレートは⼊入れ⼦子にしたり、あるテンプレートの  Output  を別
のテンプレートの  Parameter  としてインプットできるのでコン
ポーネントごとのテンプレートを作ってそれらをつなぐ親テンプ
レートを⽤用意するような構造にしておくとメンテナンスしやすい
•  ブートストラップだけ別にテストできるようにブートストラップス
クリプトを別ファイルにしたり  chef  等でブートストラップするよ
うにする⽅方がよい(テンプレートの中に  EC2  インスタンスのブート
ストラップまで⼊入れてしまうと、ブートストラップのテストのため
だけにスタックを起動したりしないといけなくて⼤大変!)
•  Madeiraとか使うとGUIで構成を書いて  CloudFormation  テンプ
レートをExportするという誰もが夢⾒見見る世界に⼀一歩近く(とはいえ
最終的には  JSON  を⼿手直しする必要はあり)
こんな Tips	
  も発見!	
  
10	
  )ps	
  when	
  using	
  AWS	
  CloudForma)on	
  	
  
(plus	
  a	
  bonus	
  )p)	
  
http://aws.amazon.com/jp/cloudformation/aws-‐‑‒cloudformation-‐‑‒templates/

	
  
見つけた Tips	
  ざっくり翻訳(1)	
  
IAM(Identity  and  Access  
Management)  をいっしょに
つかいましょう!

⼤大きいテンプレートを⼀一個!では
なく⼩小さいテンプレートに分けて
管理理しましょう!

テンプレートはバージョン管理理
ツールに⼊入れて、ソースコードの
ように扱いましょう!
パラメーターを活⽤用して再利利⽤用性
の⾼高いテンプレートをつくりま
しょう

ちゅういしてねぇ〜~

VPC  ⾃自体の利利⽤用料料⾦金金はかからな
いので、料料⾦金金がかかるその他のテ
ンプレートと  VPC  は分けて利利⽤用
しましょう
Tips	
  ざっくり翻訳(2)	
  
⼀一か⽉月に⼀一度度はテンプレートの⾒見見
直しをしましょう。
たまにじか書きした  AMI  などが
セキュリティ対策などで新しいも
のにさし替わり使えなくなってる
ことも…
マッピングを活⽤用して、リージョ
依存しないテンプレートを作りま
しょう

ちゅういしてねぇ〜~

構⽂文の細かいところを理理解して、
⼀一からテンプレートを書く必要は
なし!
元からあるテンプレートに⼿手を加
えるところから始めましょう
見つけた Tips	
  ざっくり翻訳(ラスト!)	
  
CloudFormation  helper  を活⽤用
してインスタンスを  bootstrap  
しましょう
cfn-‐‑‒validate-‐‑‒template  を利利⽤用し
て単純なシンタックスエラーが起
きないように事前にチェックしま
しょう
正規表現は  Java  の正規表現形式
に近いのでバックスラッシュは⼆二
個つなげてバックスラッシュとし
て認識識されるようにしましょう

ちゅういしてねぇ〜~
さらに詳しく 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  でテンプレートを作成して、汎
⽤用的になるよう修正する⼀一連の流流れが解説されて
ます!

Mais conteúdo relacionado

Destaque

Destaque (7)

AWS Black Belt Tech シリーズ 2015 - AWS Elastic Beanstalk
AWS Black Belt Tech シリーズ 2015 - AWS Elastic BeanstalkAWS Black Belt Tech シリーズ 2015 - AWS Elastic Beanstalk
AWS Black Belt Tech シリーズ 2015 - AWS Elastic Beanstalk
 
AWS Black Belt Tech シリーズ 2015 - AWS CloudFormation
AWS Black Belt Tech シリーズ 2015 - AWS CloudFormationAWS Black Belt Tech シリーズ 2015 - AWS CloudFormation
AWS Black Belt Tech シリーズ 2015 - AWS CloudFormation
 
Spring Boot + Netflix Eureka
Spring Boot + Netflix EurekaSpring Boot + Netflix Eureka
Spring Boot + Netflix Eureka
 
AWS Blackbelt 2015シリーズ AWS Support / Trusted Advisor
AWS Blackbelt 2015シリーズ AWS Support / Trusted AdvisorAWS Blackbelt 2015シリーズ AWS Support / Trusted Advisor
AWS Blackbelt 2015シリーズ AWS Support / Trusted Advisor
 
AWS Black Belt Online Seminar 2016 Amazon EC2 Container Service
AWS Black Belt Online Seminar 2016 Amazon EC2 Container ServiceAWS Black Belt Online Seminar 2016 Amazon EC2 Container Service
AWS Black Belt Online Seminar 2016 Amazon EC2 Container Service
 
AWS Black Belt Online Seminar 2016 AWS CloudFormation
AWS Black Belt Online Seminar 2016 AWS CloudFormationAWS Black Belt Online Seminar 2016 AWS CloudFormation
AWS Black Belt Online Seminar 2016 AWS CloudFormation
 
AWS Black Belt Techシリーズ AWS IAM
AWS Black Belt Techシリーズ AWS IAMAWS Black Belt Techシリーズ AWS IAM
AWS Black Belt Techシリーズ AWS IAM
 

Mais de Aya Komuro

Aws料金体系グランドマスター王者決定戦 2枠目
Aws料金体系グランドマスター王者決定戦 2枠目Aws料金体系グランドマスター王者決定戦 2枠目
Aws料金体系グランドマスター王者決定戦 2枠目
Aya Komuro
 
Aws料金体系グランドマスター王者決定戦-1枠目
Aws料金体系グランドマスター王者決定戦-1枠目Aws料金体系グランドマスター王者決定戦-1枠目
Aws料金体系グランドマスター王者決定戦-1枠目
Aya Komuro
 

Mais de Aya Komuro (20)

今年リリースされたAWSサービスどれぐらい知ってますか?年末振り返り会
今年リリースされたAWSサービスどれぐらい知ってますか?年末振り返り会今年リリースされたAWSサービスどれぐらい知ってますか?年末振り返り会
今年リリースされたAWSサービスどれぐらい知ってますか?年末振り返り会
 
20180528_仕事と恋愛、これからどうする?
20180528_仕事と恋愛、これからどうする?20180528_仕事と恋愛、これからどうする?
20180528_仕事と恋愛、これからどうする?
 
特にタイトルはない
特にタイトルはない特にタイトルはない
特にタイトルはない
 
201507 jawsugクラウド女子会
201507 jawsugクラウド女子会201507 jawsugクラウド女子会
201507 jawsugクラウド女子会
 
2015/05/16 福岡なんだから〜
2015/05/16 福岡なんだから〜2015/05/16 福岡なんだから〜
2015/05/16 福岡なんだから〜
 
2014/12/06 AWSのマイナーすぎるクイズ大会
2014/12/06 AWSのマイナーすぎるクイズ大会2014/12/06 AWSのマイナーすぎるクイズ大会
2014/12/06 AWSのマイナーすぎるクイズ大会
 
2014/12/5 第5回Serverworks Sonic! - VPC ClassicLink
2014/12/5 第5回Serverworks Sonic! - VPC ClassicLink2014/12/5 第5回Serverworks Sonic! - VPC ClassicLink
2014/12/5 第5回Serverworks Sonic! - VPC ClassicLink
 
ITアダルト女子会0回目資料~妊娠・出産編~
ITアダルト女子会0回目資料~妊娠・出産編~ITアダルト女子会0回目資料~妊娠・出産編~
ITアダルト女子会0回目資料~妊娠・出産編~
 
AWS説明資料 小室ver
AWS説明資料 小室verAWS説明資料 小室ver
AWS説明資料 小室ver
 
(A)仰げば尊し(W)我が(S)師の恩 - 学園の生徒手帳
(A)仰げば尊し(W)我が(S)師の恩 - 学園の生徒手帳(A)仰げば尊し(W)我が(S)師の恩 - 学園の生徒手帳
(A)仰げば尊し(W)我が(S)師の恩 - 学園の生徒手帳
 
2014年06月27日 社内LT -これからITコミュニティに入る皆さんへ-
2014年06月27日 社内LT -これからITコミュニティに入る皆さんへ-2014年06月27日 社内LT -これからITコミュニティに入る皆さんへ-
2014年06月27日 社内LT -これからITコミュニティに入る皆さんへ-
 
2014/05/23 お知らせ in エニセンスオフィス移転お祝いパーティー!
2014/05/23 お知らせ in エニセンスオフィス移転お祝いパーティー!2014/05/23 お知らせ in エニセンスオフィス移転お祝いパーティー!
2014/05/23 お知らせ in エニセンスオフィス移転お祝いパーティー!
 
2014/03/29 JAWSUG和歌山 Wakayama meets Cloud
2014/03/29 JAWSUG和歌山 Wakayama meets Cloud2014/03/29 JAWSUG和歌山 Wakayama meets Cloud
2014/03/29 JAWSUG和歌山 Wakayama meets Cloud
 
Aws料金体系グランドマスター王者決定戦 2枠目
Aws料金体系グランドマスター王者決定戦 2枠目Aws料金体系グランドマスター王者決定戦 2枠目
Aws料金体系グランドマスター王者決定戦 2枠目
 
Aws料金体系グランドマスター王者決定戦-1枠目
Aws料金体系グランドマスター王者決定戦-1枠目Aws料金体系グランドマスター王者決定戦-1枠目
Aws料金体系グランドマスター王者決定戦-1枠目
 
A rolling Tech gathers no moss-転がぬ知識に草不可避-
A rolling Tech gathers no moss-転がぬ知識に草不可避-A rolling Tech gathers no moss-転がぬ知識に草不可避-
A rolling Tech gathers no moss-転がぬ知識に草不可避-
 
Cacheに愛されて
Cacheに愛されてCacheに愛されて
Cacheに愛されて
 
ガイアが黒い画面にもっと輝けと囁いている
ガイアが黒い画面にもっと輝けと囁いているガイアが黒い画面にもっと輝けと囁いている
ガイアが黒い画面にもっと輝けと囁いている
 
2012年 JAWS-UG CloudGirl Member Info
2012年 JAWS-UG CloudGirl Member Info2012年 JAWS-UG CloudGirl Member Info
2012年 JAWS-UG CloudGirl Member Info
 
2014年CROSS - エンジニアの恋と愛とセックスのDevOps
2014年CROSS - エンジニアの恋と愛とセックスのDevOps2014年CROSS - エンジニアの恋と愛とセックスのDevOps
2014年CROSS - エンジニアの恋と愛とセックスのDevOps
 

Último

Último (7)

Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 

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

  • 2. デプロイ三兄弟   AWS  Elas)c  Beanstalk     2011-­‐01-­‐19   AWS  CloudForma)on     2011-­‐04-­‐11   AWS  OpsWorks     2013-­‐02-­‐19  
  • 6. テンプレートとスタック •  テンプレート  (ジャーマネのメンバー表とスケジュール帳みたいな の?) •  それをみてメンバー  =  リソース  (EC2,  ELB,  RDS  etc…)  を配置 •  ステージの上にそろったメンバーの集まりをスタック •  そろわなければ公演中⽌止  (Rollback!!)  なんてことも設定次第 スタック App Server Web Server
  • 7. ユースケース •  ⼀一度度テンプレートを作成すれば、同じ構成が再現可能 –  開発環境など –  同じ仕組みを使いまわせる  Web,  ブログ,  ゲーム •  ベストプラクティスが盛り込まれたテンプレートをつかえば… –  アーキテクチャの再利利⽤用 –  サンプルテンプレートも http://aws.amazon.com/jp/cloudformation/aws-‐‑‒cloudformation-‐‑‒templates/ •  起動時にパラメータを渡せる –  例例えば  DB  のエンドポイントを  EC2  に渡す
  • 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. はまりがちあるある   •  KeyPair名1⽂文字間違っていて起動失敗! •  依存関係のあるリソースを気づかず削除 し  Delete  に失敗! •  Termination  Protection  を定義したイン スタンスのことをすっかり忘れて  Delete   に失敗!  
  • 10. Tips   •  Rollback  on  Failure  を  Disable  にして原因調査(リソースが残る) •  あるリソースは特定のインスタンスのブートストラップ後に⽴立立ち上 げる必要があるというようなケースではうまく  WaitCondition  を 使って実現 •  テンプレートは⼊入れ⼦子にしたり、あるテンプレートの  Output  を別 のテンプレートの  Parameter  としてインプットできるのでコン ポーネントごとのテンプレートを作ってそれらをつなぐ親テンプ レートを⽤用意するような構造にしておくとメンテナンスしやすい •  ブートストラップだけ別にテストできるようにブートストラップス クリプトを別ファイルにしたり  chef  等でブートストラップするよ うにする⽅方がよい(テンプレートの中に  EC2  インスタンスのブート ストラップまで⼊入れてしまうと、ブートストラップのテストのため だけにスタックを起動したりしないといけなくて⼤大変!) •  Madeiraとか使うとGUIで構成を書いて  CloudFormation  テンプ レートをExportするという誰もが夢⾒見見る世界に⼀一歩近く(とはいえ 最終的には  JSON  を⼿手直しする必要はあり)
  • 11. こんな Tips  も発見!   10  )ps  when  using  AWS  CloudForma)on     (plus  a  bonus  )p)   http://aws.amazon.com/jp/cloudformation/aws-‐‑‒cloudformation-‐‑‒templates/  
  • 12. 見つけた Tips  ざっくり翻訳(1)   IAM(Identity  and  Access   Management)  をいっしょに つかいましょう! ⼤大きいテンプレートを⼀一個!では なく⼩小さいテンプレートに分けて 管理理しましょう! テンプレートはバージョン管理理 ツールに⼊入れて、ソースコードの ように扱いましょう! パラメーターを活⽤用して再利利⽤用性 の⾼高いテンプレートをつくりま しょう ちゅういしてねぇ〜~ VPC  ⾃自体の利利⽤用料料⾦金金はかからな いので、料料⾦金金がかかるその他のテ ンプレートと  VPC  は分けて利利⽤用 しましょう
  • 13. Tips  ざっくり翻訳(2)   ⼀一か⽉月に⼀一度度はテンプレートの⾒見見 直しをしましょう。 たまにじか書きした  AMI  などが セキュリティ対策などで新しいも のにさし替わり使えなくなってる ことも… マッピングを活⽤用して、リージョ 依存しないテンプレートを作りま しょう ちゅういしてねぇ〜~ 構⽂文の細かいところを理理解して、 ⼀一からテンプレートを書く必要は なし! 元からあるテンプレートに⼿手を加 えるところから始めましょう
  • 14. 見つけた Tips  ざっくり翻訳(ラスト!)   CloudFormation  helper  を活⽤用 してインスタンスを  bootstrap   しましょう cfn-‐‑‒validate-‐‑‒template  を利利⽤用し て単純なシンタックスエラーが起 きないように事前にチェックしま しょう 正規表現は  Java  の正規表現形式 に近いのでバックスラッシュは⼆二 個つなげてバックスラッシュとし て認識識されるようにしましょう ちゅういしてねぇ〜~
  • 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  でテンプレートを作成して、汎 ⽤用的になるよう修正する⼀一連の流流れが解説されて ます!