如何阻止 AWS OpsWorks Stacks 意外重新啟動運作狀態良好的執行個體?

2 分的閱讀內容
0

AWS OpsWorks Stacks 會重新啟動 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體,即使執行個體通過 Amazon EC2 運作狀態檢查亦如此。為什麼會發生這種情況,我該如何阻止?

簡短描述

如果 OpsWorks Stacks 自動修復功能已啟動,且服務判斷其管理的執行個體失敗,則會發生下列其中一種情況:

若要阻止 OpsWorks Stacks 自動修復其管理的執行個體,請先執行本文中的疑難排解步驟。如果問題仍然存在,您也可以在 OpsWorks Stacks 層級的「一般設定」中關閉自動修復功能

如需詳細資訊,請參閱 AWS OpsWorks 偵錯和疑難排解指南中的執行個體意外重新啟動

解決方法

確認由 OpsWorks Stacks 管理的 Amazon EC2 執行個體具有網際網路存取權

如果某個 Amazon EC2 執行個體中斷與 OpsWorks Stacks 服務的連線,則 OpsWorks Stacks 會將執行個體視為失敗。

若要確認您的 Amazon EC2 執行個體可以存取網際網路,請執行以下操作:

若要對 NAT 閘道連線問題進行疑難排解,請參閱為什麼我的 EC2 執行個體無法使用 NAT 閘道存取網際網路?

若要對網際網路閘道連線問題進行疑難排解,請參閱為什麼 Amazon EC2 執行個體無法使用網際網路閘道連線至網際網路?

確認您的應用程式在執行個體層級具有足夠的記憶體和 CPU 容量,以在執行個體處於額外負載狀態時運作

當執行個體層級資源不足而無法讓 OpsWorks 代理程式傳送 keepalive 訊號時,OpsWorks Stacks 會將執行個體視為失敗。

若要檢閱執行個體的指標,請遵循使用 Amazon CloudWatch 監控堆疊中的指示進行操作。

若要設定警示以在執行個體的 CPU、記憶體或網路流量高負載時發出警示,請參閱建立 Amazon CloudWatch 警示

確認未在 OpsWorks Stacks 主控台或 OpsWorks Stacks API 外部停止 Amazon EC2 執行個體

**注意:**如果您在執行 AWS Command Line Interface (AWS CLI) 命令時收到錯誤,請確保您使用的是最新的 AWS CLI 版本

如果在 Amazon EC2 主控台中停止了 OpsWorks Stacks 受管執行個體,則 OpsWorks Stacks 會停止接收來自 OpsWorks 代理程式keepalive 訊號。然後,OpsWorks Stacks 會將執行個體視為失敗。

若要確認已在 Amazon EC2 主控台中停止您的執行個體,請嘗試在 OpsWorks Stacks 主控台中停止執行個體。如果執行個體處於 stop_failed 狀態,且您收到內部錯誤訊息,則已在 Amazon EC2 主控台中停止執行個體。

若要在 Amazon EC2 主控台中停止 OpsWorks Stacks 中的執行個體後停止該執行個體,請執行 AWS CLI stop-instance 命令。

**重要:**stop-instance 命令必須包含此使用案例的 --force 參數。

如需詳細資訊,請參閱如何對在停止處於 "stop_failed" 狀態的 AWS OpsWorks Stacks 執行個體時出現的「內部錯誤」訊息進行疑難排解?

確認 Amazon EC2 執行個體使用執行個體中繼資料服務版本 1 (IMDSv1)

OpsWorks Stacks 僅支援 IMDSv1,不支援 IMDSv2。如果 OpsWorks Stacks 受管執行個體使用 IMDSv2,則 OpsWorks Stacks 會將執行個體視為失敗。

若要檢查執行個體使用的中繼資料服務,並視需要重新設定執行個體,請參閱設定執行個體中繼資料選項


相關資訊

什麼是 Amazon CloudWatch Logs?

執行個體意外重新啟動

監控 AWS Systems Manager

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