如何對 Amazon EC2 Auto Scaling 群組的擴展問題進行疑難排解?

2 分的閱讀內容
0

我的 Amazon EC2 Auto Scaling 群組無法正確擴展。

解決方法

**注意:**如果您在執行 AWS Command Line Interface (AWS CLI) 命令時收到錯誤訊息,請參閱對 AWS CLI 錯誤進行疑難排解。此外,請確定您使用的是最新的 AWS CLI 版本

您的 Amazon EC2 Auto Scaling 群組未遵循擴展政策

請檢查您的擴展政策,以查是否有事件調用多個政策。如果兩項政策同時擴展,則 Amazon EC2 Auto Scaling 將遵循效果更好的政策。例如,假設您有一項政策可新增兩個 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體,另一項政策可新增四個執行個體。當兩項政策同時執行時,EC2 Auto Scaling 會新增四個執行個體。

如果您有多個目標追蹤擴展政策,則只有其中一項政策會橫向擴充。但是,所有目標追蹤擴展政策都必須做好同時縮減準備,以便 Amazon EC2 Auto Scaling 能夠執行縮減動作。

您的 Amazon EC2 Auto Scaling 群組正在橫向擴充而不是縮減

確認橫向擴充政策與縮減政策是否同時生效。當兩項政策同時執行時,Amazon EC2 Auto Scaling 會遵循橫向擴充政策以確認可用性。

若要確認橫向擴充與縮減政策是否同時執行,請執行下列動作:

  • Amazon CloudWatch 主控台檢閱您的警示歷史記錄,以檢查 Amazon CloudWatch 是否同時調用相關警示。
  • Amazon EC2 主控台上檢閱群組的活動記錄,以檢查是否同時執行相關的排程動作。

您的 Amazon EC2 Auto Scaling 群組沒有回應 CloudWatch 警示或運作狀態檢查替換

若要確定群組未回應 CloudWatch 警示或運作狀態檢查替換的原因,請執行以下動作:

  • 檢查群組是否已達到執行個體的數量下限或上限。若要尋找執行個體容量,請在 Amazon EC2 主控台上檢閱群組的詳細資訊。當您的群組達到容量時,Amazon EC2 Auto Scaling 不會在群組的活動歷史記錄中顯示錯誤訊息。
  • 檢查群組的暫停處理程序。Amazon EC2 Auto Scaling 不會對暫停的 TerminateLaunchAlarmNotification 程序評估 CloudWatch 擴展政策。Amazon EC2 Auto Scaling 也不會對暫停的 ReplaceUnhealthyHealthCheck 程序評估運作狀態檢查替換。
  • 檢查您是否在群組中的任何執行個體中啟用了縮減保護。當您為執行個體啟用縮減保護時,Amazon EC2 Auto Scaling 不會使用執行個體來縮減群組規模。您必須關閉縮減保護,群組才能縮減規模。
  • 如果您設定了簡單的擴展政策,請檢查執行個體是否處於冷卻時間。簡單的擴展政策僅在冷卻時間結束後才會啟動活動。
  • 如果您的目標追蹤擴展政策沒有縮減群組規模,請檢查政策中的縮減部分是否已停用。
  • 檢查您是否已停用擴展政策。當您關閉擴展政策時,群組不會改變。
  • 檢查您是否為步驟擴展政策設定了步驟調整,以便根據警示違規的大小做出反應。
  • 如果您設定了步驟擴展政策或目標追蹤擴展政策,請檢查是否有進行中的執行個體暖機。Amazon EC2 Auto Scaling 僅在暖機期結束後,才會將執行個體計入群組指標。
  • 確認您的 CloudWatch 警示正確調用擴展活動
  • 如果您設定了 lifecycle hook,請完成 lifecycle hook 或等待逾時結束。

擴展活動期間,您的執行個體卡在「擱置:等待」或「終止:等待」狀態

如果您為群組設定了 lifecycle hook,則執行個體可能會處於擱置:等待終止:等待狀態。由於簡單擴展政策而啟動的擴展活動將暫停,直到執行個體離開擱置:等待終止:等待狀態。

若要確定您是否設定了 lifecycle hook,請執行 describe-lifecycle-hooks 命令:

aws autoscaling describe-lifecycle-hooks --auto-scaling-group-name my-asg-name

若要繼續擴展程序,請等待逾時期間結束。然後,完成 lifecycle hook

**注意:**根據預設,逾時期間為 1 小時。

如需有關 Amazon EC2 主控台 lifecycle hook 的資訊,請參閱 Amazon EC2 Auto Scaling lifecycle hook

您的 Amazon EC2 Auto Scaling 群組沒有回應排程動作

如果您的群組沒有回應排程擴展動作,請執行下列動作:

  • 檢查您是否為排程動作設定了時區。如果您尚未設定時區,請建立排程動作
    **注意:**預設情況下,排程動作會按照國際標準時間 (UTC) 進行設定。如果您設定了時區,請確認動作是否根據該時區執行。
  • 在 Amazon EC2 主控台上檢閱群組的活動歷史記錄,以確定擴展活動是否與排程的動作衝突。
  • 如果您要排程橫向擴充與縮減動作,請檢查是否已排程一個動作進行橫向擴充,以及另一個動作進行縮減。您無法使用相同的排程動作來進行縮減與橫向擴充。

您已達到 EC2 執行個體配額

如果您的群組因為 EC2 執行個體配額而無法擴展,那麼您會收到類似下列內容的訊息:

「啟動新的 EC2 執行個體。狀態原因: 您的配額只允許再執行 0 個執行個體。您至少請求了 1 個執行個體。啟動 EC2 執行個體失敗。」

若要增加配額,請聯絡 AWS Support。如需配額的資訊,請參閱 AWS Service Quotas

相關資訊

Amazon EC2 Auto Scaling 執行個體生命週期

對 Amazon EC2 Auto Scaling 中的問題進行疑難排解

AWS 官方
AWS 官方已更新 6 個月前