AWS CloudFormation の概要 - AWS CloudFormation

AWS CloudFormation の概要

AWS CloudFormation は AWS リソースのモデル化およびセットアップに役立つサービスです。リソース管理に割く時間を減らし、AWS で実行するアプリケーションにさらに注力できるようになります。使用するすべての AWS リソース (Amazon EC2 インスタンスや Amazon RDS DB インスタンスなど) を記述するテンプレートを作成すれば、CloudFormation がお客様に代わってこれらのリソースのプロビジョニングや設定を受け持ちます。AWS リソースを個別に作成、設計して、それぞれの依存関係を考える必要はありません。CloudFormation がこれを処理します。次のシナリオは CloudFormation がどのように役立つかを示します。

インフラストラクチャ管理を簡略化

バックエンドデータベースを含むスケーラブルなウェブアプリケーションで、Auto Scaling グループ、Elastic Load Balancing ロードバランサー、Amazon Relational Database Service データベースインスタンスを使用している場合があります。個々のサービスを使用してこれらのリソースをプロビジョニングする必要があるでしょう。また、リソースを作成した後、一緒に動作するように設定する必要があるでしょう。このような作業は、まだアプリケーションを運用していないうちから、複雑な手間と時間がかかります。

代わりに、CloudFormation テンプレートを作成したり、既存のテンプレートを変更したりできます。テンプレートはすべてのリソースおよびプロパティについて記述します。テンプレートを使用して CloudFormation スタックを作成すると、CloudFormation が Auto Scaling グループ、ロードバランサー、およびデータベースをプロビジョニングします。スタックが正常に作成されると、AWS リソースの利用を開始できます。スタックの削除も同様に簡単です。スタックのすべてのリソースを削除できます。CloudFormation を使用すると、リソースのコレクションを単一のユニットとして簡単に管理できます。

インフラストラクチャをすばやく複製

アプリケーションに追加の可用性が必要な場合は、複数のリージョンに複製して、1 つのリージョンが使用できなくなった場合でも他のリージョンでアプリケーションを使用できるようにします。アプリケーションの複製における課題は、リソースも複製する必要があることです。アプリケーションに必要なすべてのリソースを記録する必要があるだけでなく、それぞれのリージョンでそれらのリソースをプロビジョニングし、設定する必要があります。

CloudFormation テンプレートを再利用して、一貫性のある繰り返し可能な方法でリソースを作成します。テンプレートを再利用するには、一度だけリソースを記述します。これにより、複数のリージョンで同じリソースを何度でもプロビジョニングできます。

インフラストラクチャの制御や変更の追跡も簡単

場合によっては、基盤となるリソースを段階的にアップグレードすることがあります。たとえば、Auto Scaling グループのインスタンスの最大数を減らすために、Auto Scaling 起動インスタンスをより効率のいいインスタンスタイプに変更する場合です。更新が完了した後で問題が発生した場合、インフラストラクチャを最初の設定にロールバックする必要がある場合があります。これを手動で行うには、変更したリソースを覚えておく必要があるだけではなく、最初の設定を知っておく必要があります。

CloudFormation でインフラストラクチャをプロビジョニングすると、CloudFormation テンプレートにプロビジョニングされたリソースやその設定が正確に記述されます。これらのテンプレートはテキストファイルであるため、テンプレート間の違いを追跡するだけでインフラストラクチャに対する変更を追跡できます。これは開発者がソースコードの変更を管理する方法に似ています。たとえば、バージョン管理システムをテンプレートに使用して、変更内容、変更者、変更日時を正確に把握できます。インフラストラクチャの変更を元に戻す必要がある場合はいつでも、テンプレートの以前のバージョンを使用できます。