CloudFormationの概要
CloudFormation は、開発や本運用に必要な、互いに関連する AWS リソースのコレクションを作成しておき、そのリソースを適切な順序でプロビジョニングするためのサービスです。CloudFormation を使用すれば、アプリケーションを駆動する関連リソースのグループを予測可能な方法で繰り返し作成する作業を自動化および簡素化できます。これで、アプリケーションの実行に必要なすべてのリソースの作成/相互接続が、単一の EC2 や RDS インスタンスを作成するのと同じくらい簡単になりました。
このサービスの概念としては、2 つの概念があります。1 つ目はテンプレート、つまりアプリケーションの実行のためにデプロイする必要がある AWS リソースをすべて記述した JSON フォーマットまたは YAML フォーマットのテキストベースファイルです。2 つ目はスタック、つまりテンプレートが AWS CloudFormation によってインスタンス化されるときに単一のユニットとして作成および管理される AWS リソースのセットです。
<CloudFormationの仕組み>
CloudFormationの料金
CloudFormation に対する追加料金はありません。
AWS リソース (Amazon EC2 インスタンス、Elastic Load Balancing のロードバランサーなど) に対して料金が発生します。AWS CloudFormation を使用して作成した AWS リソース(例: Amazon EC2 インスタンス、Elastic Load Balancing ロードバランサー)に対して料金をお支払いいただきます。お支払いはお客様が実際に使用した分だけです。最低料金や前払いの義務は発生しません。
CloudFormationの特徴
特徴 | 説明 |
すべてのモデル化 | インフラストラクチャ全体をテキストファイルでモデル化できます。このテンプレートは、インフラストラクチャにおける真の単一ソースとなります。これにより、組織全体にわたって、使用されるインフラストラクチャコンポーネントを標準化し、構成の準拠とトラブルシューティングの時間短縮を実現します。 |
自動化とデプロイ | 安全で繰り返し可能な方法でリソースがプロビジョニングされるため、手作業やカスタムスクリプト作成を必要とせずにインフラストラクチャとアプリケーションの構築と再構築が可能になります。スタックの管理時には、実行に適した操作が CloudFormation によって自動的に決定され、エラーが検出された場合は変更が自動的にロールバックされます。 |
単なるコード | インフラストラクチャをコード化することで、インフラストラクチャを単なるコードとして扱えるようになります。任意のコードエディタで作成してバージョン管理システムにチェックインし、プロダクションにデプロイする前にチームメンバーとファイルを確認することができます。 |