為您的 Auto Scaling 群組設定自訂運作狀態檢查 - Amazon EC2 Auto Scaling

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

為您的 Auto Scaling 群組設定自訂運作狀態檢查

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

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

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

使用以下 set-instance-health 命令將指定的執行個體的運作狀態設定為 Unhealthy

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

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

使用以下 describe-auto-scaling-groups 命令驗證該執行個體的運作狀態為 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" }, ... ] } ] }