我的系統需要的 CPU 或記憶體超出了目前 Amazon Elastic Compute Cloud (Amazon EC2) Linux 執行個體類型所提供的容量。我想知道在變更 Linux 執行個體的執行個體類型之前,需要採取哪些步驟。
簡短描述
當您變更執行個體類型時,您可以修改工作負載的下列組態:
- CPU 核心數量
- 記憶體容量
- 指派的執行個體儲存空間量
- Amazon Elastic Block Store (Amazon EBS) 最佳化
- 增強型網路
- 顯示卡核心
- FPGA
- 機器學習加速器
**注意:**最佳做法是備份您的執行個體和資料。在變更基礎結構之前,請建立執行個體的 Amazon Machine Image (AMI) 或建立 Amazon EBS 磁碟區的快照。
解決方法
確認您目前執行個體類型是否與新執行個體類型相容
在變更執行個體類型或執行個體族之前,請先確認目前的執行個體類型和新執行個體類型是否相容。
停止執行個體
**重要:**在停止和啟動執行個體之前,請執行下列動作:
**注意:**當您停止和啟動執行個體時,該執行個體的公有 IP 位址也會變更。最佳做法是使用彈性 IP 位址而不是公用 IP 位址,將外部流量路由到執行個體。如果您使用 Amazon Route 53,那麼當公有 IP 位址變更時,您可能需要更新 Route 53 DNS 記錄。
若要變更執行個體類型,您必須停止執行個體。執行個體可能需要幾分鐘才能停止。
(選用) 設定增強型網路
如果您轉換為支援增強型網路的執行個體類型,請安裝所有必要的驅動程式。另外,在目前執行個體上啟動增強型網路。
(選用) 設定 Nitro 型執行個體類型
如果您將執行個體類型變更為 Nitro 型執行個體類型,請執行下列動作:
- 確認您已在執行個體上安裝了 NVMe 和 ENA 模組。
- 確認 /etc/fstab 中所列的區塊型儲存設備與 NVMe 區塊型儲存設備名稱 (例如 /dev/nvme1 和 */dev/nvme2) 相容。
**注意:**對於 Nitro 型執行個體類型,EBS 磁碟區顯示為 NVMe 裝置。若要避免磁碟區不相符,請在掛載檔案系統時使用 UUID 或標籤。
若要自動執行這些檢查,請執行 NitroInstanceChecks 指令碼。若要存取該指令碼,請參閱 GitHub 網站上的 nitro_check_script.sh。如需安裝說明,請參閱為什麼我將 Linux 執行個體變更為 Nitro 型執行個體後無法啟動?中的遷移前自動檢查先決條件
執行指令碼並進行必要的更新後,請確認 /etc/udev/rules.d/70-persistent-net.rules 中的 DRIVERS 項目是否設定為 ?* 或 ENA。若要存取該檔案,請使用文字編輯器,例如 vi 編輯器。範例:
vi /etc/udev/rules.d/70-persistent-net.rules
檢查檔案項目。以下範例顯示了正確的項目:
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="01:23:45:67:89:ab", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0
如果需要,請更新項目以將 DRIVERS 設為 ?* 或 ENA。
檢查執行個體架構的相容性
如果執行個體的來源 AMI 是為特定架構建置的,那麼您只能建立具有相同架構的執行個體類型。例如,32 位元 (i386)、64 位元 (x86_64) 和 64 位元 ARM (arm64) AMI 和 mac1 AMI 是針對特定架構建置的。您無法在執行個體類型之間移動這些映像檔。
相關資訊
Amazon EC2 執行個體的狀態檢查
Amazon EC2 定價
如何解決第六代及更新版本的 Amazon EC2 執行個體網路效能問題?