

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

# 為您的 Auto Scaling 群組設定自訂運作狀態檢查
<a name="set-up-a-custom-health-check"></a>

您可以使用自訂運作狀態檢查來補充 Amazon EC2 Auto Scaling 提供的現有運作狀態檢查選項。透過將自訂運作狀態檢查與其他運作狀態檢查類型結合，您可以建立針對應用程式需求量身打造的完整運作狀態監控系統。

若要開始使用，請建立自訂測試，以驗證 Auto Scaling 群組中的執行個體是否正常運作，並可處理傳入流量。如果您設定的運作狀態檢查偵測到執行個體沒有回應，請將該特定執行個體標記為 `Unhealthy`，這會導致 Amazon EC2 Auto Scaling 立即取代它。

您可以使用 或 SDK，將執行個體的運作狀態直接傳送至 AWS CLI Amazon EC2 Auto Scaling。下列範例示範如何使用 AWS CLI 來設定執行個體的運作狀態，然後驗證執行個體的運作狀態。

使用以下 [set-instance-health](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/set-instance-health.html) 命令將指定的執行個體的運作狀態設定為 `Unhealthy`。

```
aws autoscaling set-instance-health --instance-id i-1234567890abcdef0 --health-status Unhealthy
```

根據預設，此指令遵循運作狀態檢查寬限期。但是，您可以覆寫這個行為，藉由納入 `--no-should-respect-grace-period` 選項而不遵守寬限期。

使用以下 [describe-auto-scaling-groups](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/describe-auto-scaling-groups.html) 命令驗證該執行個體的運作狀態為 `Unhealthy`。

```
aws autoscaling describe-auto-scaling-groups --auto-scaling-group-names my-asg
```

以下是範例回應，顯示執行個體的運作狀態為 `Unhealthy`，且執行個體正在終止。

```
{
    "AutoScalingGroups": [
        {
            ....
            "Instances": [
                {
                    "ProtectedFromScaleIn": false,
                    "AvailabilityZone": "us-west-2a",
                    "LaunchTemplate": {
                        "LaunchTemplateName": "my-launch-template",
                        "Version": "1",
                        "LaunchTemplateId": "lt-1234567890abcdef0"
                    },
                    "InstanceId": "i-1234567890abcdef0",
                    "InstanceType": "t2.micro",
                    "HealthStatus": "Unhealthy",
                    "LifecycleState": "Terminating"
                },
                ...
            ]
        }
    ]
}
```