AWS CloudFormation の特徴

AWS CloudFormation を選ぶ理由

AWS CloudFormation では、Infrastructure as Code を実現することにより、AWS やサードパーティーの関連するリソースのコレクションをモデリングし、迅速に一貫してプロビジョニングし、ライフサイクル全体で管理することが容易になります。必要なリソースとその依存関係を CloudFormation テンプレートに記述すれば、1 つのスタックとして一括で起動し、設定できます。必要なときにはいつでもテンプレートを使用し、スタック全体を 1 つのユニットとして作成、更新、削除できます。リソースを個別に管理する必要はありません。複数の AWS アカウントや、複数の AWS リージョンにわたって、スタックの管理とプロビジョニングが可能です。

Page Topics

機能

機能

AWS CloudFormation レジストリを使用して、AWS パートナーネットワーク (APN) のパートナーおよびデベロッパーコミュニティによって公開されているサードパーティのリソースとモジュールを検出、プロビジョニング、および管理します。サードパーティのリソースの例としては、MongoDB、Datadog、Atlassian Opsgenie、JFrog、Trend Micro、Splunk、Aqua Security、FireEye、Sysdig、Snyk、Check Point、Spot by NetApp、Gremlin、Stackery、および Iridium などの APN パートナーのリソースに加えて、監視、チームの生産性、インシデント管理、バージョン管理ツールがあります。AWS Quick Starts によって維持されているモジュールに加えて、JFrog と Stackery によって事前に構築されたモジュールのコレクションを参照、検出、および選択することもできます。

ローカルテスティングやコード生成機能など、開発プロセスを効率化するオープンソースのツールである AWS CloudFormation CLI により、独自のリソースプロバイダーが構築できます。

CloudFormation StackSets を使用すると、1 つの CloudFormation テンプレートで、複数のアカウントや複数のリージョン全体に共通の AWS リソースセットをプロビジョニングできます。StackSets ではスタックがその所在地に関係なく、自動的かつ安全にプロビジョニング、更新、削除されます。

CloudFormation では、お客様のクラウド環境全体をテキストファイルでモデルリングできます。JSON または YAML などのオープンソース宣言型言語を使用することで、作成、設定したい AWS リソースを記述できます。ビジュアルに設計したい場合は、AWS CloudFormation Designer を使用して、AWS CloudFormation テンプレートを開始できます。

AWS Cloud Development Kit (AWS CDK) では、TypeScript、Python、Java、.NET を使用してクラウド環境を定義できます。AWS CDK は使い慣れたプログラミング言語を使用するクラウドアプリケーションリソースをモデルリングし、CloudFormation を IDE から直接使用してインフラストラクチャをプロビジョニングする際に役立つオープンソースソフトウェア開発フレームワークです。AWS CDK には、実証済みのデフォルト設定でクラウドリソースを事前設定する高レベルのコンポーネントが用意されているため、エキスパートでなくてもクラウドアプリケーションを構築できます。AWS CDK の詳細を確認する。

簡潔な構文で関数、API、データベース、イベントソースマッピングを表現するオープンソースフレームワークである AWS サーバーレスアプリケーションモデル (SAM) を使用すると、サーバーレスアプリケーションの構築が高速化します。リソースごとにわずか数行で、任意のアプリケーションを定義して YAML を使用してモデリングできます。デプロイ中、SAM によって SAM 構文が CloudFormation 構文に変換、拡張されます。 

CloudFormation では、インフラストラクチャのプロビジョニングと更新が安全かつ制御された方法で自動化されます。エラーにつながる可能性のある手動による手順や制御はありません。ロールバックトリガーを使用して、スタックの作成および更新プロセス中に CloudFormation がモニタリングする CloudWatch アラームを指定できます。アラームのいずれかがトリガーされると、CloudFormation がスタックオペレーション全体をロールバックして前のデプロイ状態に戻します。

変更セットを使用すると、CloudFormation によってインフラストラクチャおよびアプリケーションリソースに対して提案された変更が実行される前にプレビューできるため、デプロイがプランどおりに正確に進められます。CloudFormation によって、実行すべき適切なオペレーションが決められ、考えられるもっとも効率の高い方法でリソースがプロビジョニングされ、エラー発生の際には自動的にロールバックされます。このため、インフラストラクチャとアプリケーションリソースの状態は、最新かつ既知の最善の状態に保たれます。ドリフト検出機能を使用すると、CloudFormation の外部のリソースに対する変更を追跡できるため、インフラストラクチャの全体像が常に最新の状態であるようにできます。

AWS CloudFormation の変更セット機能では、スタックに対して提案された変更が実行中のリソースにおよぼす影響、たとえば変更で重要リソースが削除されたり置き換えられたりしないかをプレビューできます。CloudFormation では、変更セットを実際に実行した後でのみスタックが変更されます。 

AWS CloudFormation では、スタック管理アクション中にリソース間の依存関係が自動的に管理されます。リソースが作成、更新、または削除される順序を指定する必要はありません。CloudFormation は、スタックオペレーションを実行するときに各リソースに対して実行するアクションの正しいシーケンスを決定します。 

AWS CloudFormation は、リモートの Git リポジトリに保存されている CloudFormation テンプレートからのスタックの更新をサポートしています。この機能を使用すると、リモートリポジトリから移動しなくてもスタックのデプロイが成功したか失敗したかを把握できるため、コンテキストの切り替えが不要になり、時間を節約できます。