AWS CloudFormation では、Infrastructure as Code を実現することにより、AWS やサードパーティーの関連するリソースのコレクションをモデリングし、迅速に一貫してプロビジョニングし、ライフサイクル全体で管理することが容易になります。必要なリソースとその依存関係を CloudFormation テンプレートに記述すれば、1 つのスタックとして一括で起動し、設定できます。必要なときにはいつでもテンプレートを使用し、スタック全体を 1 つのユニットとして作成、更新、削除できます。リソースを個別に管理する必要はありません。複数の AWS アカウントや、複数の AWS リージョンにわたって、スタックの管理とプロビジョニングが可能です。
利点
ベストプラクティスを自動化
CloudFormation では、Git リポジトリで開始し CI/CD パイプラインを介してデプロイするといった、広く採用されているプロセスを使用して、DevOps や GitOps のベストプラクティスを適用できます。また、GitHub Actions や AWS CodePipeline といったパイプラインの統合によって、変更の監査を簡素化し、自動デプロイをトリガーすることもできます。
インフラストラクチャをグローバルにスケール
組織全体で使用する CloudFormation テンプレートを共有してリソースのスケーリングを管理すれば、AWS のすべてのアカウントとリージョンにわたって、安全性、コンプライアンス、設定に関する標準を満たすことができます。テンプレートとパラメータを使用して簡単にスケールできるため、ベストプラクティスや社内ポリシーの共有が可能になります。さらに、CloudFormation StackSets を使用すれば、一度の操作で複数の AWS アカウントとリージョンにわたってスタックの作成、更新、削除が行えます。
AWS の他のサービスと統合
組織全体にわたってリソース管理をさらに自動化するには、CloudFormation を AWS の他のサービスと統合できます。統合可能なサービスには、アクセスコントロールのための AWS Identity and Access Management (IAM)、コンプライアンスのための AWS Config、すぐに使用可能なアプリケーションの配信やその他のガバナンスコントロールのための AWS Service Catalog などがあります。CodePipeline と他のビルダーツールを統合することにより、DevOps の最新のベストプラクティスを実装し、オートメーション、テスト、コントロールなどを改善できます。
サードパーティーリソースとプライベートリソースを管理
AWS リソースに加えて、サードパーティーのアプリケーションリソース (モニタリング、チーム生産性、インシデント管理、CI/CD、バージョン管理のアプリケーションなど) のモデリング、プロビジョニング、管理も行えます。オープンソースの CloudFormation CLI を使用すれば、独自の CloudFormation のリソースプロバイダーを、オープンソースとして公開されたネイティブ AWS タイプとして構築できます。
コミュニティで CloudFormation を拡張
AWS CloudFormation の GitHub 組織は、CloudFormation の機能を拡張するオープンソースプロジェクトを提供しています。CloudFormation レジストリと CloudFormation CLI によって、リソースプロバイダーを定義して作成し、リソースの作成を安全かつ体系的に自動化できます。CloudFormation の GitHub プロジェクトを使用すれば、CloudFormation テンプレートのポリシーコンプライアンスをチェックしたり (cfn-guard を使用)、ベストプラクティスの使用を検証したりできます (cfn-lint を使用)。
仕組み

主なお客様

Deloitte の ConvergeHEALTH Miner ソリューションは、医療研究のライフサイクル全体にわたってデータの収集、分析、管理を推進するのに役立つ一連のツールおよびサービスです。Miner には AWS のサービスが広範囲で活用されています。Deloitte は、Infrastructure as Code を使用して Miner をお客様にすばやく提供するために、AWS CloudFormation と AWS Service Catalog を使用しました。また、インフラストラクチャをコーディングするために、AWS Service Catalog を使用してワンクリックでデプロイできる AWS CloudFormation テンプレートを選択しました。

同社のネットワークはすべて AWS CloudFormation テンプレートによって設計、構築、管理されています。「ネットワークをバージョン管理できるようになり、オンデマンドの開発環境とステージング環境のためのシームレスで正確なネットワーク複製が可能になりました」と Witoff 氏は言います。

Expedia では AWS CloudFormation を Chef で使用し、フロントエンドとバックエンドのスタック全体を AWS 環境にデプロイしています。

「AWS CloudFormation には非常に満足しています。ワンクリックですべてのインフラストラクチャをデプロイできるためです」
注目のブログ投稿と記事
Write preventive compliance rules for AWS CloudFormation templates the cfn-guard way
2020 年 8 月 4 日
Luis Colon、Raisa Hashem、Josh Joy
Automated CloudFormation Testing Pipeline with TaskCat and CodePipeline
New: Use AWS CloudFormation StackSets for Multiple Accounts in an AWS Organization
Using AWS CloudFormation to deploy software into Amazon EKS clusters
CloudFormation や AWS のマネジメントとガバナンスに関するその他のサービスの詳細については、Management & Governance Blog をご覧ください。
AWS CloudFormation の詳細