CloudFormation テンプレートの基礎
AWS でのデプロイの自動化
Dunieski Otano
Amazon Web Services Solutions Architect
なぜ IaC を使うのか
手動のコンソール操作は、時間とともに
ドリフト
を生みます
IaC はファイルに
望ましい状態
を宣言します
再現可能、レビュー可能、バージョン管理可能
CloudFormation、SAM、CDK は AWS のツールキットです
CloudFormation テンプレートの構造
Resources
(必須): プロビジョニングしたいインフラ
Parameters
: デプロイ時に渡す入力値
Outputs
: スタックがエクスポートする値
Mappings, Conditions, Transform
: 補助機能(Transform は SAM を有効化)
組み込み関数
Ref
: パラメータや他のリソースを参照します
Fn::GetAtt
: リソースの属性を取得します
Fn::Sub
: 文字列内の変数を置換します
短縮形:
Ref
、
!GetAtt
、
!Sub
チェンジセットで更新をプレビュー
チェンジセットは更新内容を
プレビュー
します
追加・変更・削除
のすべての操作を一覧表示します
置き換え
が発生するリソースを警告します
実行するか破棄するか選べるため、予期しない更新は起きません
ドリフト検出
ドリフト
: CloudFormation の外部でリソースが変更された状態です
リソースごとのステータス:
INSYNC、MODIFIED、DELETED、NOTCHECKED
リソースごとのレポートで
差異の内容
を確認できます
テンプレートを再デプロイして
同期
します
スタックのデプロイと更新
Create stack
: 初回のデプロイ
Update stack
: リソースをその場で変更
Stack events*
ですべてのステップを確認
更新に失敗すると
ロールバック
して以前の状態に戻ります
練習しましょう!
AWS でのデプロイの自動化
Preparing Video For Download...