本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
對 Amazon ECS Anywhere 問題進行故障診斷
Amazon ECS Anywhere 支援向 Amazon ECS 叢集註冊外部執行個體,例如現場部署伺服器或虛擬機器 (VM)。以下是您可能會遇到的常見問題,及其一般故障診斷建議。
外部執行個體註冊問題
在 Amazon ECS 叢集註冊外部執行個體時,必須符合以下要求:
-
必須擷取由啟用 ID 和啟用代碼組成的 AWS Systems Manager 啟用。您可以使用它來將外部執行個體註冊為 Systems Manager 受管執行個體。請求 Systems Manager 啟用時,請指定註冊限制和過期日期。註冊限制指定使用啟用時可註冊的執行個體數目上限。註冊限制的預設值為
1
執行個體。過期日期指定啟用的過期時間。預設值為 24 小時。如果您用來註冊外部執行個體的 Systems Manager 啟用無效,則請求新的執行個體。如需詳細資訊,請參閱將外部執行個體註冊至 Amazon ECS 叢集。 -
IAM 政策用於為您的外部執行個體提供與 AWS API 操作通訊所需的許可。如果未正確建立此受管政策,且不包含必要的許可,則外部執行個體註冊會失敗。如需詳細資訊,請參閱Amazon ECS Anywhere IAM 角色。
-
Amazon ECS 提供安裝指令碼,可在外部執行個體上安裝 Docker、Amazon ECS 容器代理程式和 Systems Manager Agent。如果安裝指令碼失敗,則指令碼很可能無法在不發生錯誤的情形下在同一個執行個體上再次執行。如果發生這種情況,請依照清除程序從執行個體清除 AWS 資源,以便再次執行安裝指令碼。如需詳細資訊,請參閱取消註冊 Amazon ECS 外部執行個體。
注意
請注意,如果成功請求安裝指令碼並使用 Systems Manager 啟用,則第二次執行安裝指令碼會再次使用 Systems Manager 啟用。這轉而可能會導致您達到該啟用的註冊限制。如果達到此限制,則您必須建立新的啟用。
-
在 GPU 工作負載的外部執行個體上執行安裝指令碼時,如果未正確偵測到或設定 NVIDIA 驅動程式,將發生錯誤。安裝指令碼使用
nvidia-smi
命令來確認 NVIDIA 驅動程式的存在。
外部執行個體網路問題
若要傳達任何變更,您的外部執行個體需要 AWS網路連線。如果您的外部執行個體失去其網路連線 AWS,在執行個體上執行的任務仍會繼續執行,除非手動停止。 AWS 還原與 的連線後,Amazon ECS 容器代理程式和 Systems Manager 代理程式在外部執行個體上使用的 AWS 登入資料會自動續約。如需用於外部執行個體與 之間通訊之 AWS 網域的詳細資訊 AWS,請參閱 聯網 。
在外部執行個體上執行任務的問題
如果您的任務或容器無法在外部執行個體上執行,最常見的原因是網路或許可相關問題。如果您的容器從 Amazon ECR 提取其映像,或者設定為將容器日誌傳送到 CloudWatch Logs,則您的任務定義必須指定有效的任務執行 IAM 角色。如果沒有有效的任務執行 IAM 角色,則您的容器將無法啟動。如需網路相關問題的詳細資訊,請參閱 外部執行個體網路問題。
重要
Amazon ECS 提供了 Amazon ECS 日誌收集工具。您可以將其用於從外部執行個體收集日誌,以進行故障診斷。如需詳細資訊,請參閱使用 Amazon ECS 日誌收集器收集容器日誌 。