

# スタック更新の進行状況を監視する
<a name="using-cfn-updating-stacks-monitor-stack"></a>

スタックのイベントを表示して、スタック更新の進行状況を監視できます。スタックの **[イベント]** タブには、スタックの作成と更新における各主要ステップが、各イベントの時間順 (最新イベントが最上位) に表示されます。詳細については、「[スタックの進行状況を監視する](monitor-stack-progress.md)」を参照してください。

**Topics**
+ [スタックの正常な更新中に生成されたイベント](#using-cfn-updating-stacks-monitor-stack-update-events)
+ [リソース更新が失敗したときに生成されるイベント](#using-cfn-updating-stacks-monitor-stack-update-failure)

## スタックの正常な更新中に生成されたイベント
<a name="using-cfn-updating-stacks-monitor-stack-update-events"></a>

スタックの更新プロセスの開始は、スタックの `UPDATE_IN_PROGRESS` イベントでマークされます。

```
2011-09-30 09:35 PDT AWS::CloudFormation::Stack {{MyStack}} UPDATE_IN_PROGRESS 
```

次のイベントは、更新されたテンプレートで変更された各リソースの更新の開始と完了をマークするイベントです。例えば、`MyDB` という名前の [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-rds-dbinstance.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-rds-dbinstance.html) リソースの更新は、次のようなエントリになります。

```
2011-09-30 09:35 PDT AWS::RDS::DBInstance MyDB UPDATE_COMPLETE
2011-09-30 09:35 PDT AWS::RDS::DBInstance MyDB UPDATE_IN_PROGRESS
```

CloudFormation がリソースの更新を開始したことがレポートされると、`UPDATE_IN_PROGRESS` イベントが記録されます。リソースが正常に作成されると、`UPDATE_COMPLETE` イベントが記録されます。

CloudFormation がスタックを正常に更新すると、以下のイベントが表示されます。

```
2011-09-30 09:35 PDT AWS::CloudFormation::Stack {{MyStack}} UPDATE_COMPLETE 
```

**重要**  
スタックの更新オペレーション中に、CloudFormation が既存のリソースを置き換える必要がある場合、最初に新しいリソースを作成し、次に古いリソースを削除します。ただし、CloudFormation が古いリソースを削除できない場合があります (例えば、ユーザーが特定のタイプのリソースを削除するためのアクセス権限を持っていない場合)。  
CloudFormation は、古いリソースの削除を 3 回試みます。CloudFormation が古いリソースを削除できない場合、古いリソースをスタックから削除し、スタックの更新を続行します。スタックの更新が完了すると、CloudFormation は `UPDATE_COMPLETE` スタックイベントを発行しますが、1 つ以上のリソースを削除できなかったことを示す `StatusReason` が含まれます。CloudFormation は、特定のリソースに対して `DELETE_FAILED` イベントを発行し、対応する `StatusReason` は CloudFormation がリソースの削除に失敗した理由の詳細を提供します。  
古いリソースはまだ存在し、引き続き課金されますが、CloudFormation からはアクセスできなくなります。古いリソースを削除するには、基盤となるサービスのコンソールまたは API を使用して、古いリソースに直接アクセスします。  
これは、スタックテンプレートから削除したリソースにも当てはまります。そのため、スタックの更新中にスタックから削除されます。

## リソース更新が失敗したときに生成されるイベント
<a name="using-cfn-updating-stacks-monitor-stack-update-failure"></a>

リソースの更新が失敗した場合、CloudFormation は失敗の理由を含めた `UPDATE_FAILED` イベントを報告します。例えば、[https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-rds-dbinstance.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-rds-dbinstance.html) リソースの `AllocatedStorage` サイズの減少など、リソースでサポートされていないプロパティ変更を更新テンプレートで指定した場合、次のようなイベントが表示されます。

```
2011-09-30 09:36 PDT AWS::RDS::DBInstance MyDB UPDATE_FAILED Size cannot be less than current size; requested: 5; current: 10
2011-09-30 09:35 PDT AWS::RDS::DBInstance MyDB UPDATE_IN_PROGRESS
```

リソース更新が失敗した場合、CloudFormation はアップグレード中に更新したすべてのリソースを、更新前の設定にロールバックします。更新のロールバック中に表示されるイベントの例を次に示します。

```
2011-09-30 09:38 PDT AWS::CloudFormation::Stack {{MyStack}} UPDATE_ROLLBACK_COMPLETE
2011-09-30 09:38 PDT AWS::RDS::DBInstance MyDB UPDATE_COMPLETE
2011-09-30 09:37 PDT AWS::RDS::DBInstance MyDB UPDATE_IN_PROGRESS
2011-09-30 09:37 PDT AWS::CloudFormation::Stack {{MyStack}} UPDATE_ROLLBACK_IN_PROGRESS The following resource(s) failed to update: [MyDB]
```