

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

# 設定 Auto Scaling 群組的運作狀態檢查寬限期。
<a name="health-check-grace-period"></a>

當 Amazon EC2 Auto Scaling 運作狀態檢查確定 `InService` 執行個體運作狀態不佳時，便會以新的執行個體取代之。運作狀態檢查寬限期指定在發現新執行個體運作狀態不佳時終止服務之前保持服務的最短時間 (以秒為單位)。

使用案例範例可能是：需要 Amazon EC2 Auto Scaling 避免在 Elastic Load Balancing 運作狀態檢查失敗且原因為執行個體仍在初始化時採取動作。Elastic Load Balancing 運作狀態檢查會平行執行，並從執行個體向負載平衡器註冊時開始。寬限期可防止 Amazon EC2 Auto Scaling 標記新啟動的執行個體`Unhealthy`，並在它們進入 `InService` 狀態後未立即通過這些運作狀態檢查時，不必要地終止它們。

在主控台中，根據預設，當您建立 Auto Scaling 群組時，運作狀態檢查的寬限期為 300 秒。當您使用 AWS CLI 或 SDK 建立 Auto Scaling 群組時，其預設值為 0 秒。0 值表示關閉運作狀態檢查寬限期。

將此值設得太高會降低 Amazon EC2 Auto Scaling 運作狀態檢查的有效性。如果您針對執行個體啟動使用 lifecycle hook，則可將運作狀態檢查寬限期的值設為 0。借助 lifecycle hook，Amazon EC2 Auto Scaling 提供了一種確保執行個體永遠會在進入 `InService` 狀態之前先初始化的方式。如需詳細資訊，請參閱[Amazon EC2 Auto Scaling lifecycle hook](lifecycle-hooks.md)。

寬限期適用於以下執行個體：
+ 新啟動的執行個體
+ 待命後重新投入服務的執行個體
+ 手動連接至群組的執行個體

**重要**  
在運作狀態檢查寬限期內，如果 Amazon EC2 Auto Scaling 偵測到執行個體不再處於 Amazon EC2 `running` 狀態，則會立即將執行個體標示為 `Unhealthy` 並取代之。例如，如果您停止 Auto Scaling 群組中的執行個體，則會將該執行個體標示為 `Unhealthy` 並取代之。

## 設定群組的運作狀態檢查寬限期
<a name="set-health-check-grace-period"></a>

您可以設定新的和現有 Auto Scaling 群組的運作狀態檢查寬限期。

------
#### [ Console ]

**修改新群組的運作狀態檢查寬限期**  
當您建立 Auto Scaling 群組時，請在**設定進階選項**頁面、**運作狀態檢查**、**運作狀態檢查寬限期**中輸入時間量 （以秒為單位）。這是 Amazon EC2 Auto Scaling 在進入 `InService` 狀態後，必須等待多久才能檢查執行個體的運作狀態。

------
#### [ AWS CLI ]

**修改新群組的運作狀態檢查寬限期**  
將 `--health-check-grace-period` 選項新增至 [create-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/create-auto-scaling-group.html) 命令。以下範例針對名為 `my-asg` 的新 Auto Scaling 群組，設定運作狀態檢查寬限期，並將值設為 `60` 秒。

```
aws autoscaling create-auto-scaling-group --auto-scaling-group-name my-asg \
  --health-check-grace-period 60 ...
```

------

------
#### [ Console ]

**修改現有群組的運作狀態檢查寬限期**

1. 前往網址 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) 開啟 Amazon EC2 主控台，然後從導覽窗格中選擇 **Auto Scaling 群組**。

1. 在螢幕上方的導覽列中，選擇您在建立 Auto Scaling 群組時所在的 AWS 區域 。

1. 選取 Auto Scaling 群組旁的核取方塊。

   頁面底部會開啟一個分割窗格。

1. 在 **Details** (詳細資訊) 索引標籤上，選擇 **Health checks** (運作狀態檢查)、**Edit** (編輯)。

1. 在 **Health check grace period** (運作狀態檢查寬限期) 之下，輸入時間量，以秒為單位。這是 Amazon EC2 Auto Scaling 在進入 `InService` 狀態後，必須等待多久才能檢查執行個體的運作狀態。

1. 選擇**更新**。

------
#### [ AWS CLI ]

**修改現有群組的運作狀態檢查寬限期**  
將 `--health-check-grace-period` 選項新增至 [update-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/update-auto-scaling-group.html) 命令。以下範例針對名為 `my-asg` 的現有 Auto Scaling 群組，設定運作狀態檢查寬限期，並將值設為 `120` 秒。

```
aws autoscaling update-auto-scaling-group --auto-scaling-group-name my-asg \
  --health-check-grace-period 120
```

------

**注意**  
強烈建議還要設定 Auto Scaling 群組的預設執行個體預熱時間。如需詳細資訊，請參閱[設定 Auto Scaling 群組的預設執行個體暖機期](ec2-auto-scaling-default-instance-warmup.md)。