

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

# 管理保留的執行個體
<a name="manage-retained-instances"></a>

 監控並控制已移至保留狀態的 Amazon EC2 執行個體。使用 CloudWatch 指標追蹤保留的執行個體，然後在完成自訂動作後手動終止保留的執行個體。

 保留的執行個體不會計入 Amazon EC2 Auto Scaling 群組所需的容量。當執行個體進入保留狀態時，Auto Scaling 會啟動替換執行個體以維持所需的容量。例如，假設 Auto Scaling 群組的所需容量為 10。當執行個體進入 `Terminating:Retained` 狀態時，Auto Scaling 會啟動替換執行個體，將所需的容量維持在 10。您現在總共有 11 個執行中的執行個體：作用中群組中有 10 個，加上 1 個保留的執行個體。所有 11 個執行個體的標準 Amazon EC2 費用將適用，直到您手動終止保留的執行個體為止。

## 保留執行個體的執行個體生命週期狀態
<a name="instance-lifecyle-states-of-retained-instances"></a>

 了解使用執行個體生命週期政策時，執行個體如何轉換生命週期狀態。執行個體遵循從正常終止到保留到最終終止的特定路徑。

*觸發保留時，執行個體會轉換這些狀態：*

1. `Terminating` - 正常終止開始

1. `Terminating:Wait` - 生命週期掛鉤執行

1. `Terminating:Proceed` - 生命週期動作後續處理 （無論是成功還是失敗）

1. `Terminating:Retained` - 勾點失敗，執行個體保留以進行手動介入

暖集區執行個體會根據情況採取不同的生命週期狀態路徑：

*執行個體擴展回暖集區：*

1. `Warmed:Pending` - 開始正常暖集區轉換

1. `Warmed:Pending:Wait` - 生命週期掛鉤執行

1. `Warmed:Pending:Proceed` - 生命週期動作後續處理 （無論是成功還是失敗）

1. `Warmed:Pending:Retained` - 勾點失敗，執行個體保留以進行手動介入

*從暖集區終止的執行個體：*

1. `Warmed:Terminating` - 正常終止開始

1. `Warmed:Terminating:Wait` - 生命週期掛鉤執行

1. `Warmed:Terminating:Proceed` - 生命週期動作後續處理 （無論是否成功）

1. `Warmed:Terminating:Retained` - 勾點失敗，執行個體保留以進行手動介入

## 監控保留的執行個體
<a name="monitor-retained-instances"></a>

 由於保留的 Amazon EC2 執行個體會產生成本並需要手動介入，因此監控它們至關重要。Amazon EC2 Auto Scaling 提供數個 CloudWatch 指標來追蹤保留的執行個體。

啟用群組指標以追蹤保留的執行個體：

```
aws autoscaling enable-metrics-collection \
--auto-scaling-group-name {{my-asg}} \
--metrics {{GroupTerminatingRetainedInstances}}
```

可用的指標為：
+  `GroupTerminatingRetainedInstances` 顯示 `Terminating:Retained` 狀態中的執行個體數目。
+  `GroupTerminatingRetainedCapacity` 顯示 `Terminating:Retained` 狀態的執行個體所代表的容量單位。
+  `WarmPoolTerminatingRetainedCapacity` 會追蹤從暖集區終止的保留執行個體。
+  `WarmPoolPendingRetainedCapacity` 會追蹤返回暖集區的保留執行個體。

 您也可以檢查 Amazon EC2 Auto Scaling 群組的擴展活動，以了解保留執行個體的原因。尋找具有 `StatusCode: Cancelled`和狀態原因訊息的終止活動，指出生命週期掛鉤失敗：

```
aws autoscaling describe-scaling-activities \
--auto-scaling-group-name {{my-asg}}
```

 我們建議您在這些指標上建立 CloudWatch 警示，以便在執行個體進入保留狀態時提醒您。這可協助您追蹤成本影響，並確保您不會忘記清除需要手動介入的執行個體。

## 終止保留的執行個體
<a name="terminate-retained-instances"></a>

完成自訂動作後，請呼叫 [ TerminateInstanceInAutoScalingGroup ](https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_TerminateInstanceInAutoScalingGroup.html) API 來終止保留的執行個體：

```
aws autoscaling terminate-instance-in-auto-scaling-group \
--instance-id {{i-1234567890abcdef0}} \
--no-should-decrement-desired-capacity
```