CloudFormation
https://gyazo.com/46e7fb0f3598376dfcdf5425ca835020
正式にはAWS CloudFormation
用語
テンプレート:AWSのリソースの定義を列挙したJSONやYAMLなどの形式のファイル(=スタック構築の設計図)
リソース:AWSの各種サービスの実体(EC2インスタンスとかVPCとかIAMとかAPI GatewayとかLambdaとか、、、)
スタック:テンプレートからプロビジョニングされるリソースの集合
テンプレートにいくつかのリソースの定義を列挙しておき、コマンドを実行することでスタックを作成できる。
インフラ構成の変化をコードの変更の差分として管理できる
CIにスタックをデプロイするコマンドを組み込んでおくだけでインフラ構成の変更が適用される(CDの実現) といったメリットがある。
スタックセットという機能を使うとアカウントやリージョンをまたいだスタックの複製ができる スタック更新の概要
スタックの更新方式
直接更新 (default)
変更セットの作成と実行
の2種類がある。
スタックの更新動作
中断を伴わない更新
一時的な中断を伴う更新
置換
のどれか。
サーバレスアプリケーションに最適化したAWS CloudFormationの拡張としてSAM (Serverless Application Model) というサービスがある。 参考: