跳至內容

如何在不同的系列和 Hypervisor 之間變更 EC2 執行個體類型?

2 分的閱讀內容
0

我想將 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

若要檢查儲存空間是否有問題,請執行下列動作:

  • 若要確認執行個體是否可以偵測到您的磁碟,請執行下列命令:

    # lsblk
  • 若要檢查 NVMe 錯誤,請執行以下命令:

    # dmesg | grep -i nvme  

若要測試執行個體效能,請執行下列動作:

  • 若要模擬 CPU 負載,請執行下列命令:

    # stress --cpu 4 --timeout 60s
  • 若要檢查可用記憶體,請執行以下命令:

    # free -h  

例如,如果您從 **c5.large (Nitro) ** 執行個體類型移至 **c6i.large (Nitro,較新的 Intel Ice Lake) ** 執行個體類型,則變更會成功。但是,如果您從 **m4.xlarge (Xen) ** 執行個體類型移至 **m6i.xlarge (Nitro) ** 執行個體類型,則可能會遇到問題。若要解決該問題,請更新您的 ENA 驅動程式。如需詳細資訊,請參閱在您的執行個體上啟用增強網路

更新生產執行個體

若要更新生產執行個體,請使用下列其中一種方法。

對於具有維護時段的非關鍵工作負載,在 Amazon EC2 主控台中變更執行個體類型

**重要:**在變更執行個體類型之前,請先了解停止���啟動對執行個體可能產生的影響。

對於需要最低中斷的生產工作負載,請完成以下步驟來啟動替換執行個體:

  1. 使用更新的執行個體類型啟動新執行個體
  2. 連接先前執行個體的 EBS 磁碟區。或者,從 EBS 快照還原新執行個體
  3. 更新 DNS、負載平衡器Amazon Route 53 記錄,以指向新執行個體。


對於無狀態、可擴展的應用程式,請完成以下步驟來重新整理 Amazon EC2 Auto Scaling 群組:

  1. 使用新的執行個體類型更新 Auto Scaling 群組啟動範本
  2. 啟動執行個體重新整理,以逐步替換先前的執行個體。

監控生產執行個體是否有問題

若要檢查您的驅動程式和核心模組,請執行以下命令:

# 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 指標中的 CPUUtilizationNetworkInNetworkOut。使用這些指標來監控 CPU 使用率和網路頻寬。

如果遇到問題,請使用備份 AMI 復原到先前的執行個體狀態。

相關資訊

Amazon EC2 執行個體類型變更

建立 Amazon EBS 支援的 AMI

AWS 官方已更新 4 個月前