如何使用 Amazon EC2 Auto Scaling 排程動作主動增加特定事件的容量並對其進行故障排除?

1 分的閱讀內容
0

如何使用 Amazon Elastic Compute Cloud (Amazon EC2) 自動擴展排程動作主動增加特定事件的容量並對其進行故障排除?

解決方法

您可以使用排程動作,根據流量模式或預期的未來流量擴展容量。例如,您可能有一個應用程式會在每天相同的兩小時期間內經歷流量增加。或者,您可能正在計劃舉辦即將到來的一次性事件,預計在幾分鐘內流量會大幅飆升。排程動作會在您指定的時間執行 (UTC)。擴展會根據您為最小、最大和所需容量設定的值進行。

為 Auto Scaling 群組建立排程動作

  1. 開啟「 Amazon EC2 主控台」。
  2. 在導覽窗格中,選擇「 自動擴展」。
  3. 選取 Auto Scaling 群組,您將在其中設定排程動作。
  4. 在「 自動擴展 」索引標籤的「 已排程動作」下,選擇「 建立排程動作」。
  5. 指定排程動作的名稱
  6. 根據您的使用案例指定 Auto Scaling 群組的大小。您必須至少指定下列其中一個參數:
    對於「 最小」,指定群組中所需的最小執行個體數目。
    針對「 最大」,指定群組中可存在的最大執行個體數目。
    **注意:**除了排程動作之外,還有擴展政策時,設定「最小」和「最大」參數會很有幫助。即使在排程動作觸發後觸發擴展政策 (向外擴展或向内擴展),執行個體數目必須在最小/最大範圍內。
    對於「 所需」,指定事件所需的執行個體數目。
  7. 根據您的使用案例指定觸發排程動作的排程。
    **對於一次性事件:**為「 週期性」選擇「 一次」。對於「 開始時間」,指定事件的時間戳記 (日期和時間)。
    **對於週期性事件:**選取週期性間隔 (例如 5 分鐘或 1 天)。對於「 開始時間」,指定第一次執行排程動作的時間戳記 (日期和時間)。如果您指定「 週期性 」和「 開始時間」,服務會在開始時間執行動作,然後根據指定的週期執行動作。(選擇性) 指定「 結束時間」,以設定週期性排程動作的結束日期。
    **注意:**如果無法使用所需的週期性間隔選項,請為「 週期性」選擇「 cron」。然後,使用 Unix cron 語法格式為所需排程撰寫自訂 cron 運算式。
  8. 選擇「 建立」。

疑難排解排程動作的問題

如果排程動作未如預期般觸發:

  • 檢查 Auto Scaling 群組的活動歷史記錄,了解預期觸發排程動作的時間段。如果沒有相關活動,請檢閱排程動作的設定。確認週期性模式和開始時間是按預期設定的。
  • 對於週期性動作: 如果您指定了結束時間,排程動作會在結束時間過後自動移除。若要確認是否已指定結束時間,請檢查 AWS CloudTrail API 日誌以了解設定排程動作的時間。檢查是否在 CloudTrail 中取得 「 排程多日期群組動作 」API 呼叫。 如果您在日誌中看到 API,則必須建立新的排程動作才能繼續排程擴展。
  • 請注意,設定的開始時間和實際開始時間之間可能會延遲幾秒鐘。

如果已觸發排程動作,但未進行必要的變更:

  • 檢查是否有暫停的程序 (例如「啟動」或「終止」)。如果有任何暫停的程序,您可以「 繼續執行」。
  • 如果已設定「 動態擴展政策」: 檢查活動歷史記錄是否有動態擴展政策引起的任何擴展事件。在排程動作開始時間之前和之後的幾分鐘檢查歷史記錄。如果有此類活動,則可能已覆寫已排程的動作。
  • 檢查排程動作開始時間的活動歷史記錄。如果設定在類似時段內觸發其他排程動作,請確認該動作不會影響或覆寫新的排程動作。如有必要,請更新您的排程動作以解決這些衝突。
  • 檢查任何失敗或取消的「啟動」或「終止」活動的活動歷史記錄。如果找到,請展開失敗/取消的事件,並檢閱說明以取得更多詳細資訊。如需疑難排解這些錯誤的詳細資訊,請參閱 Amazon EC2 自動擴展的疑難排解

**注意:**當您知道一次性或週期性事件的時間範圍時,使用排程動作主動擴展 Auto Scaling 群組會很有幫助。如果您不事先知道事件的時間範圍,可以使用預測擴展功能。


相關資訊

建立和管理排程動作 (AWS CLI)

AWS 官方
AWS 官方已更新 2 年前