

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 監控堆疊更新的進度
<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 會嘗試刪除舊資源三次。如果 CloudFormation 無法刪除舊資源，即會從堆疊中移除舊資源並繼續更新堆疊。堆疊更新完成時，CloudFormation 會發出 `UPDATE_COMPLETE` 堆疊事件，但內含 `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]
```