我想將 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體類型變更為不同的系列和 Hypervisor 類型。
解決方法
確認您的執行個體相容性和需求
比較目前執行個體類型和要切換到執行個體類型的規格。查看每個執行個體類型的以下因素:
- CPU 架構,例如 Intel、AMD 或 Arm 型架構
- 虛擬化類型,例如 Nitro 或 Xen
- 網路效能能力
- 儲存最佳化,例如 Amazon Elastic Block Store (Amazon EBS) 最佳化的 EBS 磁碟區或執行個體儲存體
- 加速器支援,例如 GPU 或 FPGA
同一系列中的執行個體或使用相同 Hypervisor 的執行個體更有可能相容。但是,硬體規格或功能的變更可能會影響相容性。如需詳細資訊,請參閱變更執行個體類型的相容性。
例如,如果您從 **m4.large (Xen) ** 執行個體遷移到 **m5.large (Nitro) ** 執行個體,請確定您的 AMI 和核心支援 Nitro 增強網路彈性網路介面卡 (ENA)。只有後期的執行個體類型 (例如 m5 和 c5) 才會使用 Nitro。早期的執行個體類型 (例如 m3 和 c3) 使用 Xen 虛擬化。
建立 AMI 備份
建立現有 EC2 執行個體的備份 Amazon Machine Image (AMI)。如果您在執行個體類型變更期間或之後遇到相容性問題,則可以使用 AMI 復原到上一個執行個體。
更新測試執行個體
在更新生產環境之前,請使用 AMI 啟動具有新執行個體類型的測試執行個體,以確認相容性並識別問題。
在測試執行個體上,徹底測試您的應用程式、服務和工作負載,以確定它們能夠在新的執行個體類型下如預期運作。監控資源使用情況,並監控執行個體、網路、儲存空間和應用程式效能。
若要識別潛在問題,請檢查 dmesg 或 /var/log/syslog 中是否有缺少驅動程式的錯誤。存取執行個體,然後執行以下命令來確認網路等關鍵執行個體功能:
# ping google.com
# curl -I http://example.com
若要檢查儲存空間是否有問題,請執行下列動作:
若要測試執行個體效能,請執行下列動作:
例如,如果您從 **c5.large (Nitro) ** 執行個體類型移至 **c6i.large (Nitro,較新的 Intel Ice Lake) ** 執行個體類型,則變更會成功。但是,如果您從 **m4.xlarge (Xen) ** 執行個體類型移至 **m6i.xlarge (Nitro) ** 執行個體類型,則可能會遇到問題。若要解決該問題,請更新您的 ENA 驅動程式。如需詳細資訊,請參閱在您的執行個體上啟用增強網路。
更新生產執行個體
若要更新生產執行個體,請使用下列其中一種方法。
對於具有維護時段的非關鍵工作負載,在 Amazon EC2 主控台中變更執行個體類型。
**重要:**在變更執行個體類型之前,請先了解停止���啟動對執行個體可能產生的影響。
對於需要最低中斷的生產工作負載,請完成以下步驟來啟動替換執行個體:
- 使用更新的執行個體類型啟動新執行個體。
- 連接先前執行個體的 EBS 磁碟區。或者,從 EBS 快照還原新執行個體。
- 更新 DNS、負載平衡器和 Amazon Route 53 記錄,以指向新執行個體。
對於無狀態、可擴展的應用程式,請完成以下步驟來重新整理 Amazon EC2 Auto Scaling 群組:
- 使用新的執行個體類型更新 Auto Scaling 群組啟動範本。
- 啟動執行個體重新整理,以逐步替換先前的執行個體。
監控生產執行個體是否有問題
若要檢查您的驅動程式和核心模組,請執行以下命令:
# modinfo ena
若要檢查您的 NVMe 儲存空間,請執行以下命令:
# nvme list
**注意:**若要執行 nvme 命令,您必須安裝 nvme-cli 套件。若要安裝 nvme-cli,請根據您的發行版執行以下命令:
Debian 和 Ubuntu:
sudo apt-get install nvme-cli
Red Hat Enterprise Linux (RHEL) 和 CentOS:
sudo yum install nvme-cli
Fedora:
sudo dnf install nvme-cli
Arch Linux:
sudo pacman -S nvme-cli
若要監控執行個體的效能和穩定性,請檢查 Amazon CloudWatch 指標中的 CPUUtilization、NetworkIn 和 NetworkOut。使用這些指標來監控 CPU 使用率和網路頻寬。
如果遇到問題,請使用備份 AMI 復原到先前的執行個體狀態。
相關資訊
Amazon EC2 執行個體類型變更
建立 Amazon EBS 支援的 AMI