我的系統需要的 CPU 或記憶體比我目前的 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體所需的更多 CPU 或記憶體。在變更執行個體類型之前,我想知道需要採取哪些步驟。
簡短描述
若要針對工作負載最佳化 Amazon EC2 Linux 執行個體,請變更執行個體類型。變更執行個體類型可讓您修改工作負載的下列組態:
- 中央處理器核心數量
- 記憶體容量
- 指派的執行個體儲存空間量
- Amazon Elastic Block Store (Amazon EBS) 最佳化
- 增強型網路
- 顯示卡核心
- FPGA
- 機器學習加速器
**注意:**維護執行個體和資料的備份是最佳做法。變更基礎結構之前,請建立 AMI 或建立 EBS 磁碟區的快照。
解決方法
確認您目前的執行個體類型與新執行個體類型相容
在變更執行個體類型或執行個體族之前,請確認目前的執行個體類型和新執行個體類型是否相容。如需相容性問題的清單,請參閱變更執行個體類型的相容性。
驗證相容性後,您可以變更 Amazon EBS 支援執行個體的執行個體類型。
停止執行個體
變更執行個體類型之前,您必須先停止執行個體。
重要事項:
- 如果您的執行個體是執行個體儲存體備份,或具有包含資料的執行個體儲存體磁碟區,則當您停止執行個體時,資料會遺失。如果您要從一個執行個體儲存體支援的執行個體移轉到另一個執行個體儲存體支援的執行個體,則必須遷移該執行個體。如需詳細資訊,請參閱變更執行個體儲存體支援執行個體的執行個體類型。
- 如果您的執行個體屬於 Amazon EC2 Auto Scaling 群組,則停止執行個體可能會終止執行個體。如果您使用 Amazon EMR、AWS CloudFormation 或 AWS Elastic Beanstalk 啟動執行個體,則您的執行個體可能屬於 AWS Auto Scaling 群組。在這種情況下,執行個體終止取決於您 Auto Scaling 群組的執行個體擴展保護設定。如果您的執行個體屬於 Auto Scaling 群組,請先暫時從 Auto Scaling 群組中移除該執行個體,然後再開始解決步驟。
- 如果您不使用 Elastic IP 地址,則停止和啟動執行個體會變更執行個體的公用 IP 位址。將外部流量路由至執行個體時,最佳做法是使用 Elastic IP 位址而非公用 IP 位址。如果您使用的是 Amazon Route 53,則可能必須在公用 IP 變更時更新路由 53 DNS 記錄。
增強型網路
如果您要轉換為支援增強型網路的執行個體,請安裝任何必要的驅動程式,並在目前的執行個體上開啟增強型網路。如需詳細資訊,請參閱 Linux 上的增強型網路。
Nitro 執行個體類型
如果您要將執行個體變更為以 Nitroa 為基礎的執行個體類型,請執行下列動作:
- 確認您已在執行個體上安裝 NVMe 和 ENA 模組。
- 檢查 /etc/fstab 中列出的任何區塊型儲存裝置是否與 NVMe 區塊型儲存裝置名稱相容 (/dev/nvme1、/dev/nvme2, 等等)。
- Amazon EBS 磁碟區會以 NVMe 裝置的形式公開給這些執行個體類型,而裝置名稱會在停止或啟動事件時變更。若要避免磁碟區不相符,請使用 UUID 或標籤檔案系統來掛載檔案系統。
若要自動執行這些檢查,請執行 NitroInstanceChecks 指令碼。有關更多資訊,請參閱為什麼我的 Linux 執行個體在將類型更改為基於 Nitrox 的執行個體類型後,我的 Linux 執行個體無法啟動?請按照執行 NitroInstanceChecks 指令碼區段中的指示進行操作。
在指令碼執行並進行必要的更新之後,請確認 /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
新一代執行個體上的網路
目前一代執行個體只會在虛擬私有雲端 (VPC) 中啟動。如果您目前的執行個體是 EC2-典型執行個體,請將執行個體遷移到 VPC 中的 Linux 執行個體。
混合 EC2 架構
如果執行個體的來源 AMI 是針對特定架構建立的,則您只能建立相同架構的執行個體類型。針對特定架構建立的 AMI 範例包括 32 位元 (i386)、64 位元 (x86\ _64) 或 64 位元 ARM (arm64)。如果您的執行個體正在執行針對 mac1 執行個體類型建立的 AMI,也會發生這種情況。您無法在執行個體類型之間移動這些映像檔。
相關資訊
執行個體的狀態檢查
Amazon EC2 定價
在將 EC2 執行個體遷移到第六代執行個體之前,我需要做些什麼,以確保獲得最大的網路效能?