Get Hands-on with Amazon EKS - Workshop Event Series
Whether you're taking your first steps with Kubernetes or you're an experienced practitioner looking to sharpen your skills, our Amazon EKS workshop series delivers practical, real-world experience that moves you forward. Learn directly from AWS solutions architects and EKS specialists through hands-on sessions designed to build your confidence with Kubernetes. Register now and start building with Amazon EKS!
如何在 Application Migration Service 切換或測試啟動後,對 Amazon EC2 Windows 執行個體的執行個體狀態檢查失敗問題進行疑難排解?
我執行了 AWS Application Migration Service 切換或測試啟動。現在,我在執行 Microsoft Windows 的 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體上收到了狀態檢查失敗訊息。
簡短說明
當系統或執行個體狀態檢查失敗時,EC2 執行個體會變得無法連線。使用 Application Migration Service 進行切換或測試啟動後,執行個體狀態檢查可能會因以下問題而失敗:
- 無法啟動作業系統 (OS)
- 網路故障
- CPU 和記憶體耗盡
- 轉換過程中發生問題
- 與作業系統不相容的執行個體類型
**注意:**Windows 機器的第一次開機可能需要 45 分鐘的時間,這是由於 Windows 會因應 AWS 虛擬硬體進行調整。
解決方法
**注意:**如果您在執行 AWS Command Line Interface (AWS CLI) 命令時收到錯誤訊息,請參閱對 AWS CLI 錯誤進行疑難排解。此外,請確定您使用的是最新的 AWS CLI 版本。
確認來源機器與您在啟動範本中選取的執行個體類型相容
連線到來源計算機,然後使用其中一種方法確認您的作業系統版本:
選擇 Control Panel (控制面板),然後選擇 Systems Settings (系統設定)。檢查 Windows 版本和系統類型,以確認作業系統是 32 位元還是 64 位元。
或者,以管理員身分在命令提示字元視窗中執行以下命令:
systeminfo
命令輸出內容會列出作業系統名稱和系統類型。
如果您的來源機器是 32 位元,那麼您必須使用下列其中一種執行個體類型:
- t2.nano
- t2.micro
- t2.small
- t2.medium
- c3.large
- t1.micro
- m1.small
- m1.medium
- c1.medium
如果您的來源機器是 64 位元並執行 Windows Server 2008 R2 或更新版本,那麼您可以使用任何執行個體類型。
如果您的來源機器是 64 位元且執行下列其中一種 Windows 版本,請遷移至 XEN 執行個體類型:
- Windows Server 2003
- Windows Server 2003 R2
- Windows Server 2008
若要取得 XEN 執行個體類型的完整清單,請執行以下 describe-instance-types AWS CLI 命令:
aws ec2 describe-instance-types --filters Name=hypervisor,Values=xen --query InstanceTypes[].InstanceType
停用或移除來源機器上的第三方防毒軟體
第三方防毒軟體可能會干擾轉換程序。停用或移除防毒軟體,然後重新啟動執行個體。
連接次要彈性網路介面
第三方防火牆可能會阻止執行個體主要網路介面卡上的連線。這會導致目標執行個體狀態檢查失敗。若要避免此問題,請將次要網路介面連接至目標執行個體,然後連線至該執行個體。
使用不同的執行個體類型
XEN 執行個體使用半虛擬驅動程式 (PV),Nitro 執行個體則使用彈性網路介面卡 (ENA) 和 AWS NVMe 驅動程式。如需每種執行個體類型所使用的驅動程式清單,請參閱變更執行個體類型的相容性。
如果您的來源機器同時相容於 XEN 和 Nitro,請啟動 XEN 執行個體和 Nitro 執行個體。如果目標執行個體以其中一種執行個體類型的形式通過狀態檢查,但使用另一種類型卻無法通過檢查,請重新調整執行個體大小。檢查調整大小後的執行個體是否通過其狀態檢查。
如果問題與驅動程式有關,請執行 AWSSupport-UpgradeWindowsAWSDrivers 自動化執行手冊,以強制安裝驅動程式。
檢查執行個體日誌
**重要:**在停止和啟動執行個體之前,請執行下列動作:
- 建立 Amazon Elastic Block Store (Amazon EBS) 磁碟區的快照。
**注意:**如果您的執行個體是執行個體儲存體備份,或具有包含資料的執行個體儲存體磁碟區,則當您停止執行個體時,Amazon EC2 會刪除該資料。 - 暫時從 Amazon EC2 Auto Scaling 群組中移除該執行個體。
**注意:**如果您停止 Amazon EC2 Auto Scaling 群組中的某個執行個體,則根據您的縮減保護設定,該執行個體可能會終止。您使用 Amazon EMR、AWS CloudFormation 或 AWS Elastic Beanstalk 啟動的執行個體,可能位於 Auto Scaling 群組中。 - 將執行個體關閉行為設定為停止,以確保執行個體在您停止時不會終止。
**注意:**當您停止和啟動執行個體時,該執行個體的公有 IP 位址也會變更。最佳實務是使用彈性 IP 位址而不是公用 IP 位址,將外部流量路由到執行個體。
如果您的新執行個體從未通過狀態檢查,請檢查下列執行個體日誌以判斷原因:
- C:\Program Files (x86)\AWS Replication Agent\migrate_script.log
- C:\Program Files (x86)\AWS Replication Agent\migrate_script.log.sent
- C:\Program Files (x86)\AWS Replication Agent\aws_nvme\awsnvme_dism.log
- C:\Program Files (x86)\AWS Replication Agent\ena_2012R2_2016\ena_dism.log
- C:\Program Files (x86)\AWS Replication Agent\PVinstall.log
- C:\Windows\inf\setupapi.dev.log
- C:\Windows\inf\setupapi.offline.log
- C:\Program Files (x86)\AWS Replication Agent\SSMInstall.log
若要存取日誌,請完成以下步驟:
- 停止目標執行個體。
- 從已停止的執行個體中分離根 EBS 磁碟區。
- 將 EBS 根磁碟區連接到您可以做為次要磁碟機存取的執行個體。
- 讓 EBS 磁碟區可供使用。
- 收集上述位置的日誌,然後檢查它們以找出執行個體狀態檢查失敗的可能原因。
**注意:**您在目標執行個體上可能不會看到上述所有日誌。使用此方法時,若您使用的是次要磁碟機而不是 C:\,磁碟代號對應可能會與前述的日誌位置不同。
如果上述疑難排解步驟無法解決問題,請建立支援案例。
相關資訊
Microsoft 網站上的 systeminfo
相關內容
- 已提問 2 年前
- 已提問 3 年前
- 已提問 2 年前
- 已提問 1 年前
