スタック更新の進行状況を監視する
スタックのイベントを表示して、スタック更新の進行状況を監視できます。スタックの [イベント] タブには、スタックの作成と更新における各主要ステップが、各イベントの時間順 (最新イベントが最上位) に表示されます。詳細については、「スタックの進行状況を監視する」を参照してください。
スタックの正常な更新中に生成されたイベント
スタックの更新プロセスの開始は、スタックの UPDATE_IN_PROGRESS
イベントでマークされます。
2011-09-30 09:35 PDT AWS::CloudFormation::Stack MyStack
UPDATE_IN_PROGRESS
次のイベントは、更新されたテンプレートで変更された各リソースの更新の開始と完了をマークするイベントです。例えば、MyDB
という名前の AWS::RDS::DBInstance リソースの更新は、次のようなエントリになります。
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 を使用して、古いリソースに直接アクセスします。
これは、スタックテンプレートから削除したリソースにも当てはまります。そのため、スタックの更新中にスタックから削除されます。
リソース更新が失敗したときに生成されるイベント
リソースの更新が失敗した場合、CloudFormation は失敗の理由を含めた UPDATE_FAILED
イベントを報告します。例えば、AWS::RDS::DBInstance リソースの 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]