AWS CloudFormation スタックを使用した単一ユニットとしての AWS リソースの管理 - AWS CloudFormation

AWS CloudFormation スタックを使用した単一ユニットとしての AWS リソースの管理

スタックは、単一のユニットとして管理できる AWS リソースのコレクションです。つまり、スタックを作成、更新、削除することで、リソースのコレクションを作成、更新、削除できます。

スタックの作成には、リソースとそれらの設定を指定する CloudFormation テンプレートのデプロイが含まれます。その後、これらのリソースは、CloudFormation によってプロビジョニングおよび設定されます。

スタックの更新には、テンプレートまたはパラメータの変更が含まれます。CloudFormation は、送信された変更をスタックの現在の状態と比較して、変更されたリソースのみを更新します。CloudFormation は、どのプロパティを更新するかに応じて、リソースを中断したり、更新されたリソースを置き換えたりする場合があります。リソースの更新動作の詳細については、スタックリソースの更新動作を理解するを参照してください。

CloudFormation は、スタックを更新するための方法を 2 つ提供しています。

  • 変更セット – 変更セットを使用すると、CloudFormation がスタックに行う変更をプレビューしてから、それらの変更を適用するかどうかを決定できます。変更セットは、CloudFormation がスタックに行う変更を要約する JSON 形式のドキュメントです。変更セットは、CloudFormation が意図しない変更を行わないようにしたい場合や、複数のオプションを検討したい場合に使用します。例えば、変更セットを使用して、更新中に CloudFormation がスタックのデータベースインスタンスを置き換えないことを確認することができます。

  • 直接的な更新 – スタックを直接更新するときは、変更を送信すると、CloudFormation が変更を直ちにデプロイします。更新を迅速にデプロイするには、直接更新を使用します。

スタックの削除は、スタックに関連付けられたリソースを削除します。たとえば、ウェブサーバー、データベース、ネットワークルールなど、ウェブアプリケーションの実行に必要なすべてのリソースをスタックに格納できます。ウェブアプリケーションが不要になった場合は、スタックを削除するだけで関連リソースをすべて削除できます。

注記

スタックをすぐに削除した場合でも、スタックリソースが運用されていた時間に対して課金されます。

CloudFormation は、すべてのスタックリソースが適切な作成または削除を確実に実行します。CloudFormation はスタックリソースを単一のユニットとして扱うため、スタックを作成または削除するにはすべてのリソースが正常に作成または削除される必要があります。リソースが作成できない場合、CloudFormation はスタックをロールバックし、作成されたリソースを自動的に削除します。リソースが削除できない場合、残されたリソースはスタックが正常に削除されるまで保持されます。

スタックを管理するためのインターフェイス

CloudFormation スタックは、次のインターフェイスを使用して管理できます。

  • CloudFormation コンソール – スタックにアクセスするために使用できるウェブインターフェイスを提供します。CloudFormation コンソールにアクセスするには、AWS Management Console にサインインし、ナビゲーションバーの検索ボックスを使用して [CloudFormation] を検索し、検索結果から [CloudFormation] を選択します。

  • AWS Command Line Interface − CloudFormation を含むさまざまな AWS のサービス用のコマンドを備えており、Windows、Mac、および Linux でサポートされています。CloudFormation コマンドについては、「AWS CLI コマンドリファレンス」の「cloudformation」を参照してください。

  • AWS Tools for PowerShell – AWS SDK for .NETから公開されている機能に基づいて構築された PowerShell モジュールのセットです。Tools for PowerShell では、PowerShell のコマンドラインから AWS リソースのオペレーションのスクリプトを作成できます。「AWS Tools for PowerShell コマンドレットリファレンス」で、CloudFormation のコマンドレットを確認できます。

  • クエリ API – HTTPS リクエスを使用して呼び出す低レベル API アクションを提供します。アプリケーションで API コールを行う場合は、リクエストに署名するハッシュの生成など、低レベルの詳細を処理するコードを記述する必要があります。CloudFormation の API アクションの詳細については、「AWS CloudFormation API リファレンス」の「アクション」を参照してください。

  • AWS SDK − 言語固有の API を提供し、署名の計算、リクエストの再試行処理、エラー処理など、接続のさまざまな詳細を処理します。詳細については、「AWS での構築ツール 」を参照してください。

  • AWS Cloud Development Kit (AWS CDK) − AWS CDK はオープンソースのソフトウェア開発フレームワークで、TypeScript、Python、Java、.NET などの使い慣れたプログラミング言語を使用して AWS インフラストラクチャを定義できます。CDK を使用すると、アプリケーションリソースをモデル化し、統合開発環境 (IDE) から直接 CloudFormation を使用してプロビジョニングできます。詳細については、「AWS Cloud Development Kit (AWS CDK)」を参照してください。