CloudFormation

CloudFormation は、IaC(Infrastructure as Code) を実現するサービスであり、AWSリソースを テンプレート(YAML/JSON) 形式でコード化して管理します。これにより、リソース間の 依存関係 を考慮しながら、インフラを自動的かつ一貫して構築することができます。

作成されたテンプレートは、Stack(スタック) としてデプロイされ、リソース群をまとめて宣言的に
作成・更新・削除 できます。スタックを更新する際には、Change Sets(変更セット) を使用して、
実際に変更を適用する前に影響範囲を事前確認することができます。

Drift Detection(ドリフト検出) 機能を利用することで、テンプレートで定義された構成と、実際にデプロイされたリソースの状態との不整合を検出し、運用中の構成ずれを防止できます。

複数アカウントや複数リージョンに対して一括展開を行う場合は、StackSet(スタックセット) を活用します。これにより、組織全体で統一されたインフラ管理・展開が可能になります。

テンプレートには パラメータ や 出力(Outputs) を定義でき、環境ごとの可変値設定や、他のスタックとの連携を容易にします。

開発者は CDK(Cloud Development Kit) を用いて、TypeScript や Python などの一般的なプログラミング言語からテンプレートを自動生成することもでき、CloudFormation と連携した柔軟な IaC 運用を実現します。

重要用語

関連サービス
CDK

ユースケース

  • リスト1
  • リスト2
  • リスト3

ベストプラクティス

  • リスト1
  • リスト2
  • リスト3

高可用性・冗長化

  • リスト1
  • リスト2
  • リスト3

セキュリティ

  • リスト1
  • リスト2
  • リスト3

運用・監視

  • リスト1
  • リスト2
  • リスト3

デフォルトのリミット値

リミット事項 上限数
項目1上限1
項目2上限2
項目3上限3
項目4上限4
項目5上限5

AWS CLIのサンプルコード

vpc を作成
vpc を作成
aaaaaaaaaaaaa
bbbbbbbbbbbbb
ccccccccccccc

Terraformのサンプルコード

vpc を作成
bbbbbbbbbbbbbbbbbbbbbbb
ddddddddddddddddddddddd
vpc を作成
xxxxxxxxxxxxxxxxxxxxxxx
yyyyyyyyyyyyyyyyyyyyyy

課金モデル

項目 内容
項目1内容1
項目2内容2
項目3内容3
項目4内容4
項目5内容5

公式ページ

AWSドキュメント