

# CloudFormation スタックを使用した単一ユニットとしての AWS リソースの管理
<a name="stacks"></a>

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

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

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

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

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

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

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

**Topics**
+ [スタックを管理するためのインターフェイス](#interfaces-for-managing-stacks)
+ [CloudFormation コンソールからスタックを作成する](cfn-console-create-stack.md)
+ [CloudFormation コンソールからスタック情報を表示する](cfn-console-view-stack-data-resources.md)
+ [スタックテンプレートを更新する](using-cfn-updating-stacks-get-template.md)
+ [スタックリソースの更新動作を理解する](using-cfn-updating-stacks-update-behaviors.md)
+ [変更セットを使用して CloudFormation スタックを更新する](using-cfn-updating-stacks-changesets.md)
+ [スタックデプロイを検証する](validate-stack-deployments.md)
+ [スタックを直接更新する](using-cfn-updating-stacks-direct.md)
+ [スタック更新をキャンセルする](using-cfn-stack-update-cancel.md)
+ [CloudFormation コンソールからスタックを削除する](cfn-console-delete-stack.md)
+ [スタックの進行状況を監視する](monitor-stack-progress.md)
+ [ロールバックトリガーを使用して、アラーム違反時に CloudFormation スタックをロールバックする](using-cfn-rollback-triggers.md)
+ [ドリフト検出を使用してスタックとリソースへのアンマネージド型設定変更を検出する](using-cfn-stack-drift.md)
+ [AWS リソースを CloudFormation スタックにインポートする](import-resources.md)
+ [スタックリファクタリング](stack-refactoring.md)
+ [リソースタイプのサポート](resource-import-supported-resources.md)
+ [クイック作成リンクを使用して CloudFormation スタックを作成する](cfn-console-create-stacks-quick-create-links.md)
+ [AWS CLI および PowerShell の CloudFormation スタックオペレーションコマンドの例](service_code_examples.md)

## スタックを管理するためのインターフェイス
<a name="interfaces-for-managing-stacks"></a>

CloudFormation スタックは、次のインターフェイスを使用して管理できます。
+ **CloudFormation コンソール** – スタックにアクセスするために使用できるウェブインターフェイスを提供します。CloudFormation コンソールにアクセスするには、AWS マネジメントコンソール にサインインし、ナビゲーションバーの検索ボックスを使用して **[CloudFormation]** を検索し、検索結果から **[CloudFormation]** を選択します。
+ **AWS Command Line Interface** − CloudFormation を含むさまざまな AWS のサービス用のコマンドを備えており、Windows、Mac、および Linux でサポートされています。CloudFormation コマンドについては、「AWS CLI コマンドリファレンス」の「[cloudformation](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/)」を参照してください。**
+ **AWS Tools for PowerShell** – SDK for .NETから公開されている機能に基づいて構築された PowerShell モジュールのセットです。Tools for PowerShell では、PowerShell のコマンドラインから AWS リソースのオペレーションのスクリプトを作成できます。「[AWS Tools for PowerShell コマンドレットリファレンス](https://docs.aws.amazon.com/powershell/latest/reference/Index.html)」で、CloudFormation のコマンドレットを確認できます。
+ **クエリ API** – HTTPS リクエスを使用して呼び出す低レベル API アクションを提供します。アプリケーションで API コールを行う場合は、リクエストに署名するハッシュの生成など、低レベルの詳細を処理するコードを記述する必要があります。CloudFormation の API アクションの詳細については、「AWS CloudFormation API リファレンス」の「[アクション](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_Operations.html)」を参照してください。**
+ **AWS SDK** − 言語固有の API を提供し、署名の計算、リクエストの再試行処理、エラー処理など、接続のさまざまな詳細を処理します。詳細については、「[AWS での構築ツール](https://aws.amazon.com/developer/tools/) 」を参照してください。
+ **AWS Cloud Development Kit (AWS CDK)** − AWS CDK はオープンソースのソフトウェア開発フレームワークで、TypeScript、Python、Java、.NET などの使い慣れたプログラミング言語を使用して AWS インフラストラクチャを定義できます。CDK を使用すると、アプリケーションリソースをモデル化し、統合開発環境 (IDE) から直接 CloudFormation を使用してプロビジョニングできます。詳細については、[ を参照してください。AWS Cloud Development Kit (AWS CDK)](https://aws.amazon.com/cdk/)