

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# Amazon EC2 執行個體類型變更
<a name="ec2-instance-resize"></a>

隨著您的需求變更，您可能會發現您的執行個體過度利用 (執行個體類型太小)，或利用不足 (執行個體類型太大)。若出現此情況，您可以透過變更執行個體類型來調整執行個體的大小。例如，如果您的 `t2.micro` 執行個體對於其工作負載來說太小，則您可以透過將其變更為較大的 T2 執行個體類型 (例如 `t2.large`) 來增加其大小。或者，您可以將其變更為另一個執行個體類型，例如 `m5.large`。您可能也會希望將先前世代的執行個體類型變更為目前世代的執行個體類型，以利用某些功能，例如 IPv6 的支援。

如果想要獲得有關最能處理現有工作負載的執行個體類型建議，可以使用 AWS Compute Optimizer。如需詳細資訊，請參閱[從 Compute Optimizer 取得 EC2 執行個體建議](ec2-instance-recommendations.md)。

若變更執行個體類型，您將開始支付新執行個體類型的費率。如需所有執行個體類型的隨需費率，請參閱 [Amazon EC2 隨需定價](https://aws.amazon.com/ec2/pricing/on-demand/)。

若要在不變更執行個體類型的情況下為執行個體新增額外儲存空間，請將 EBS 磁碟區新增至執行個體。如需詳細資訊，請參閱「Amazon EBS 使用者指南」**中的[將 Amazon EBS 磁碟區連接到執行個體](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-attaching-volume.html)。

## 要遵循哪些指示？
<a name="choose-instance-resize-instructions"></a>

變更執行個體類型有不同的指示。要使用的指示取決於執行個體的根磁碟區，以及執行個體類型是否與執行個體的目前組態相容。如需如何判斷相容性的相關資訊，請參閱 [變更執行個體類型的相容性](resize-limitations.md)。

使用下表判斷要遵循哪些指示。


| 根磁碟區 | 相容性 | 使用這些指示 | 
| --- | --- | --- | 
| EBS | 相容 | [變更執行個體類型](change-instance-type-of-ebs-backed-instance.md) | 
| EBS | 不相容 | [遷移至新的執行個體類型](migrate-instance-configuration.md) | 
| 執行個體存放區 | 不適用 | [遷移至新的執行個體類型](migrate-instance-configuration.md) | 

# 變更執行個體類型的相容性
<a name="resize-limitations"></a>

只在執行個體的目前組態與您想要的執行個體類型相容時，您才能變更執行個體類型。如果您想要的執行個體類型與執行個體的目前狀態不相容，您必須搭配與執行個體類型相容的組態，啟動新的執行個體，然後將您的應用程式遷移到新的執行個體。

下列方式可用於判斷相容性：

**虛擬化類型**  
Linux AMI 會使用兩種虛擬化類型的其中之一：全虛擬化 (PV) 或硬體虛擬機器 (HVM)。如果已從 PV AMI 啟動執行個體，則您無法將其變更為僅限 HVM 的執行個體類型。如需詳細資訊，請參閱 [虛擬化類型](ComponentsAMIs.md#virtualization_types)。若要檢查您執行個體的虛擬化類型，請檢查 Amazon EC2 主控台中 **Instances** (執行個體) 畫面詳細資訊窗格上的 **Virtualization** (虛擬化) 值。

**Architecture**  
AMI 是處理器特有架構，所以您選取的執行個體類型，必須和目前的執行個體類型有相同的處理器架構。例如：  
+ 如果目前執行個體類型具有 Arm 架構處理器，您會受限於支援 Arm 架構處理器的執行個體類型，例如 C6g 和 M6g。
+ 下列執行個體類型是唯一支援 32 位元 AMIs 的執行個體類型：`t2.nano`、`t2.micro`、`t2.small`、`t2.medium`、`c3.large`、`t1.micro`、`m1.small`、`m1.medium` 和 `c1.medium`。如果您要變更 32 位元執行個體的執行個體類型，則會受限於這些執行個體類型。

**網路介面卡**  
如果您從某個網路介面卡的驅動程式切換到另一個網路介面卡，該網路介面卡設定會在作業系統建立新的介面卡時重設。若要重新進行設定，您可能需要存取具有系統管理員許可的本機帳戶。以下是從某個網路介面卡移至另一個網路介面卡的範例：  
+ AWS PV (T2 執行個體） 至 Intel 82599 VF (M4 執行個體）
+ Intel 82599 VF (大多數 M4 執行個體) 至 ENA (M5 執行個體)
+ ENA (M5 執行個體) 至高頻寬 ENA (M5n 執行個體)

**增強型網路**  
支援[增強型聯網](enhanced-networking.md)的執行個體類型需要安裝必要的驅動程式。例如，以 [Nitro 為基礎的執行個體](instance-types.md#instance-hypervisor-type)需要 EBS 後端 AMI，並且安裝彈性網路介面卡 (ENA) 驅動程式。若要將不支援增強型聯網的執行個體類型變更為支援增強型聯網的執行個體類型，您必須視需要在執行個體上安裝 [ENA 驅動程式](enhanced-networking-ena.md)或 [ixgbevf 驅動程式](sriov-networking.md)。  
當您在啟用 ENA Express 的情況下調整執行個體大小時，新的執行個體類型也必須支援 ENA Express。如需支援 ENA Express 的執行個體類型清單，請參閱 [ENA Express 支援的執行個體類型](ena-express.md#ena-express-supported-instance-types)。  
若要將支援 ENA Express 的執行個體類型變更為不支援其的執行個體類型，請確定目前在調整執行個體大小之前，ENA Express 未啟用。

**NVMe**  
EBS 磁碟區會公開為 [Nitro 型執行個體](instance-types.md#instance-hypervisor-type)上的 NVMe 區塊型儲存設備。如果將不支援 NVMe 的執行個體類型變更為支援 NVMe 的執行個體類型，您必須先在執行個體上安裝 NVMe 驅動程式。此外，您在區塊型儲存設備映射中指定之裝置的裝置名稱也會使用 NVMe 裝置名稱 (`/dev/nvme[0-26]n1`) 重新命名。  
[Linux 執行個體] 因此，若要在開機時使用 `/etc/fstab` 來掛載檔案系統，您必須使用 UUID/標籤，而非裝置名稱。

**磁碟區限制**  
可連接到執行個體的 Amazon EBS 磁碟區數目上限，取決於執行個體類型和執行個體大小。如需詳細資訊，請參閱[Amazon EC2 執行個體的 Amazon EBS 磁碟區限制](volume_limits.md)。  
只有執行個體類型或執行個體大小支援的磁碟區數量，等於或大於目前連接至執行個體的磁碟區數量，您才能變更為這樣的執行個體類型或執行個體大小。如果您變更為不支援目前連接磁碟區數量的執行個體類型或執行個體大小，則該請求會失敗。例如，如果您從具有 32 個連接磁碟區的 `m7i.4xlarge` 執行個體變更為最多支援 27 個磁碟區的 `m6i.4xlarge`，則該請求會失敗。

**NitroTPM**  
如果您使用已啟用 [NitroTPM](nitrotpm.md) 的 AMI，以及支援 NitroTPM 的執行個體類型來啟動執行個體，即會啟動執行個體並啟用 NitroTPM。您只能變更為同樣支援 NitroTPM 的執行個體類型。

# 變更 Amazon EC2 執行個體的執行個體類型
<a name="change-instance-type-of-ebs-backed-instance"></a>

如果您需要的執行個體類型與執行個體的目前組態相容，請使用下列指示來變更 Amazon EBS 後端執行個體的執行個體類型。如需詳細資訊，請參閱[變更執行個體類型的相容性](resize-limitations.md)。

**考量事項**
+ 您必須先停止執行個體，才能變更其執行個體類型。請確認您已為執行個體停止時的停機時間做好規劃。停止執行個體並變更其執行個體類型可能會花費數分鐘，重新啟動您的執行個體所需要花費的時間則會根據您應用程式的啟動指令碼而有所不同。如需詳細資訊，請參閱 [停止和啟動 Amazon EC2 執行個體](Stop_Start.md)。
+ 當您停止並啟動執行個體時，我們會將執行個體移至新硬體。如果您的執行個體具有公有 IPv4 地址且不是彈性 IP，我們會釋出位址並向您的執行個體提供新的公有 IPv4 地址。如需有關整個執行個體生命週期中 IP 位址行為的詳細資訊，請參閱 [執行個體狀態之間的差異](ec2-instance-lifecycle.md#lifecycle-differences)。
+ 您無法變更 [Spot 執行個體](using-spot-instances-request.md#stopping-a-spot-instance)的執行個體類型。
+ 【Windows 執行個體】 建議您在變更執行個體類型之前更新 AWS PV 驅動程式套件。如需詳細資訊，請參閱[升級 EC2 Windows 執行個體上的 PV 驅動程式](Upgrading_PV_drivers.md)。
+ 如果您的執行個體位於 Auto Scaling 群組中，Amazon EC2 Auto Scaling 服務會將停止的執行個體標記為狀況不良，且可能將其終止並啟動替代執行個體。若要避免這種情況，您可以在變更執行個體類型時，暫停群組的擴展程序。如需詳細資訊，請參閱*Amazon EC2 Auto Scaling 使用者指南*中的[暫停及繼續擴展程序](https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-suspend-resume-processes.html)。
+ 當您變更具有 NVMe執行個體存放區磁碟區之執行個體的執行個體類型時，更新後的執行個體可能具有其他執行個體存放區磁碟區，因為即使未在 AMI 或執行個體區塊型設備映射中加以指定，所有 NVMe 執行個體存放區磁碟區都可用。否則，更新後的執行個體通常會有與您在啟動原始執行個體時指定之執行個體儲存體磁碟區相同數目的執行個體儲存體磁碟區。
+ 可連接到執行個體的 Amazon EBS 磁碟區數目上限，取決於執行個體類型和執行個體大小。如果執行個體類型或執行個體大小不支援已連接至執行個體的磁碟區數量，您就無法變更為這樣的執行個體類型或執行個體大小。如需詳細資訊，請參閱[Amazon EC2 執行個體的 Amazon EBS 磁碟區限制](volume_limits.md)。
+ [Linux 執行個體] 您可以使用 `AWSSupport-MigrateXenToNitroLinux` 執行手冊，將相容的 Linux 執行個體從 Xen 執行個體類型遷移至 Nitro 執行個體類型。如需詳細資訊，請參閱《*AWS Systems Manager Automation 執行手冊參考*》中的 [https://docs.aws.amazon.com/systems-manager-automation-runbooks/latest/userguide/automation-awssupport-migrate-xen-to-nitro.html](https://docs.aws.amazon.com/systems-manager-automation-runbooks/latest/userguide/automation-awssupport-migrate-xen-to-nitro.html)。
+ [Windows 執行個體] 如需將相容 Windows 執行個體從 Xen 執行個體類型遷移至 Nitro 執行個體類型的其他指引，請參閱[遷移至最新一代執行個體類型](migrating-latest-types.md)。

**變更 Amazon EBS 為後端之執行個體的執行個體類型**

1. (選用) 若新執行個體類型需要的驅動程式並未安裝於現有的執行個體，您必須先連接您的執行個體並安裝驅動程式。如需詳細資訊，請參閱[變更執行個體類型的相容性](resize-limitations.md)。

1. [Windows 執行個體] 如果您將 Windows 執行個體設定為使用[靜態 IP 定址](config-windows-multiple-ip.md#step1)，且要將不支援增強型網路的執行個體類型變更為支援增強型網路的執行個體類型，重新設定靜態 IP 位址時可能會收到出現 IP 位址衝突的警告。為避免出現警告，請在執行個體的網路介面上啟用 DHCP，然後再變更執行個體類型。在執行個體中開啟 **Network and Sharing Center** (網路和共用中心)，開啟網路介面的 **Internet Protocol Version 4 (TCP/IPv4) Properties** (網際網路通訊協定第 4 版 (TCP/IPv4) 內容)，然後選擇 **Obtain an IP address automatically** (自動取得 IP 地址)。在網路介面上變更執行個體類型，然後重新設定靜態 IP 地址。

1. 前往 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) 開啟 Amazon EC2 主控台。

1. 在導覽窗格中，選擇 **Instances** (執行個體)。

1. 選取執行個體，並選取 **Instance state (執行個體狀態)**、**Stop instance (停止執行個體)**。出現確認提示時，請選擇 **Stop (停止)**。停止執行個體可能需要幾分鐘。

1. 在仍然選取執行個體的情況下，選取 **Actions (動作)**、**Instance settings (執行個體設定)**、**Change instance type (變更執行個體類型)**。如果執行個體狀態不是 `stopped`，此選項會呈現灰色。

1. 在 **Change instance type** (變更執行個體類型) 頁面上，執行下列動作：

   1. 針對 **Instance type** (執行個體類型)，選取您想要的執行個體類型。

      如果執行個體類型不在清單中，表示其與您執行個體的組態不相容。請改用下列指示：[透過啟動新的 EC2 執行個體，遷移至新的執行個體類型](migrate-instance-configuration.md)。

   1. (選用) 如果您選取的執行個體類型支援 EBS 最佳化，請選取 **EBS-optimized** (EBS 最佳化) 以啟用 EBS 最佳化，或取消選取 **EBS-optimized** (EBS 最佳化) 以停用 EBS 最佳化。

      如果您選取的執行個體類型預設為 EBS 最佳化，則 **EBS-optimized** (EBS 最佳化) 便會處於選取狀態，而且您無法取消選取。

   1. (選用) 在新的執行個體類型上設定 vCPU 選項。

      當您變更現有執行個體的執行個體類型時，Amazon EC2 會盡可能將現有執行個體的 CPU 選項設定套用至新執行個體。若新的執行個體類型不支援這些設定，則 CPU 選項會重設為**無**。此選項使用預設 vCPU 數量的新執行個體類型。

      如果您選取的執行個體類型支援 vCPU 組態，請選取**進階詳細資訊**面板中的**指定 CPU 選項**，將 vCPU 設定為新的執行個體類型。

   1. 選擇**變更**以接受新的設定。

1. 若要啟動執行個體，請選取執行個體，然後選取 **Instance state** (執行個體狀態)、**Start instance** (啟動執行個體)。執行個體進入 `running` 狀態可能需要數分鐘。若您的執行個體未啟動，請參閱 [對變更執行個體類型進行疑難排解](troubleshoot-change-instance-type.md)。

1. [Windows 執行個體] 如果您的執行個體執行配備 EC2Launch v1 的 Windows Server 2016 或 Windows Server 2019，請連線到您的 Windows 執行個體，然後執行下列 EC2Launch PowerShell 指令碼，在變更執行個體類型之後設定執行個體。
**重要**  
當您啟用初始化執行個體 EC2 Launch 指令碼時，管理員密碼將重設。您可以修改組態檔來停用管理員密碼重設，方法為在初始化任務的設定中指定它。如需如何停用密碼重設的步驟，請參閱[設定初始化任務](ec2launch-config.md#ec2launch-inittasks) (EC2Launch) 或[變更設定](ec2launch-v2-settings.md#ec2launch-v2-ui) (EC2Launch v2)。

   ```
   PS C:\> C:\ProgramData\Amazon\EC2-Windows\Launch\Scripts\InitializeInstance.ps1 -Schedule
   ```

# 透過啟動新的 EC2 執行個體，遷移至新的執行個體類型
<a name="migrate-instance-configuration"></a>

只有在 EBS 後端執行個體的組態與您想要的新執行個體類型相容時，您才能變更 EC2 執行個體的執行個體類型。否則，如果組態或您的執行個體與新的執行個體類型不相容，或者該執行個體是以執行個體儲存體為基礎的執行個體，您必須啟動與您想要之執行個體類型相容的替代執行個體。如需有關如何判斷相容性的詳細資訊，請參閱 [變更執行個體類型的相容性](resize-limitations.md)。

**遷移程序概觀**
+ 備份原始執行個體上的資料。
+ 搭配與您想要之新執行個體類型相容的組態，啟動新的執行個體，並連接任何已連接至原始執行個體的 EBS 磁碟區。
+ 在新的執行個體上安裝您的應用程式。
+ 還原任何資料。
+ 如果原始執行個體具有彈性 IP 位址，您必須將其與新執行個體建立關聯，以確保您的使用者可以繼續使用應用程式而不會中斷。

**將執行個體遷移至新的執行個體**

1. 前往 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) 開啟 Amazon EC2 主控台。

1. 備份任何仍然需要的資料，如下所示：
   + 連線到您的執行個體，並將執行個體儲存體磁碟區上的資料複製到持久性儲存。
   + 為您的 EBS 磁碟區[建立快照](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-creating-snapshot.html)，以便建立具有相同資料的新磁碟區，或從原始執行個體分離磁碟區，以便將它們連接到新的執行個體。

1. 在導覽窗格中，選擇**執行個體**。

1. 選擇**啟動執行個體**。設定執行個體時，請執行下列動作：

   1. 選取支援您想要之執行個體類型的 AMI。例如，您必須選取支援新執行個體類型之處理器類型的 AMI。此外，目前世代的執行個體類型也需要 HVM AMI。

   1. 選取您想要的新執行個體類型。如果您想要的執行個體類型無法使用，表示該類型與您選取的 AMI 組態不相容。

   1. 如果您想允許相同流量觸及新的執行個體，請選取與原始執行個體搭配使用的安全群組。

   1. 完成設定新的執行個體後，請完成步驟來選取金鑰對並啟動您的執行個體。執行個體進入 `running` 狀態可能需要數分鐘。

1. 如果您將資料備份至 EBS 快照，[請從快照建立磁碟區](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-creating-volume.html#ebs-create-volume-from-snapshot)，再將[磁碟區連接至](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-attaching-volume.html)新的執行個體。

   若要將原始執行個體的 EBS 磁碟區移至新的執行個體，請[將磁碟區與原始執行個體分離](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-detaching-volume.html)，再將[磁碟區連接至](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-attaching-volume.html)新的執行個體。

1. 在新的執行個體上安裝您的應用程式及任何必要的軟體。

1. 還原您從原始執行個體的執行個體儲存體磁碟區備份的任何資料。

1. 如果原始執行個體有彈性 IP 位址，將其指派給新的執行個體，如下所示：

   1. 在導覽窗格中，選擇 **Elastic IPs (彈性 IP)**。

   1. 選取與原始執行個體相關聯的彈性 IP 地址，選取 **Actions (動作)**，然後選取 **Disassociate Elastic IP address (與彈性 IP 地址取消關聯)**。出現確認提示時，請選擇 **Disassociate (取消關聯)**。

   1. 在彈性 IP 地址仍在選取狀態的情況下，選取 **Actions (動作)**，然後選取 **Associate Elastic IP address (與彈性 IP 地址建立關聯)**。

   1. 對於 **Resource type (資源類型)**，選擇 **Instance (執行個體)**。

   1. 在**執行個體**中，選擇新的執行個體。

   1. (選用) 對於 **Private IP address (私人 IP 位址)**，指定要與彈性 IP 位址建立關聯的私人 IP 位址。

   1. 選擇 **Associate** (關聯)。

1. (選用) 若您不再需要原始執行個體，則可將其終止。選取執行個體，確認您要終止的是原始執行個體，而非新的執行個體 (例如，檢查名稱或啟動時間)，然後選取 **Instance state** (執行個體狀態)、**Terminate instance** (終止執行個體)。

# 對變更執行個體類型進行疑難排解
<a name="troubleshoot-change-instance-type"></a>

請使用以下資訊來協助您診斷並修正在變更執行個體類型時可能遇到的問題。

## 在變更執行個體類型之後執行個體不會啟動
<a name="troubleshoot-change-instance-type-no-start"></a>

**可能原因：未符合新執行個體類型的需求**  
如果您的執行個體未啟動，則原因可能是未符合新執行個體類型的其中一個需求。如需詳細資訊，請參閱[為何我的 Linux 執行個體在我變更其類型之後未啟動？](https://repost.aws/knowledge-center/boot-error-linux-nitro-instance)

**可能原因：AMI 不支援執行個體類型**  
如果您使用 EC2 主控台變更執行個體類型，則只能使用所選 AMI 支援的執行個體類型。不過，如果您使用 AWS CLI 啟動執行個體，您可以指定不相容的 AMI 和執行個體類型。如果 AMI 與執行個體類型不相容，則執行個體無法啟動。如需詳細資訊，請參閱 [變更執行個體類型的相容性](resize-limitations.md)。

**可能原因：執行個體位於集群放置群組中**  
如果您的執行個體位於[集群放置群組](placement-strategies.md#placement-groups-cluster)中，並在變更執行個體類型之後，執行個體無法啟動，請嘗試下列動作：  

1. 停止集群放置群組中的所有執行個體。

1. 變更受影響執行個體的執行個體類型。

1. 啟動集群放置群組中的所有執行個體。

## 在變更執行個體類型之後，無法從網際網路連線到應用程式或網站
<a name="troubleshoot-change-instance-type-ipv4"></a>

**可能原因：公有 IPv4 地址已釋出**  
變更執行個體類型時，您必須先停止執行個體。當您停止執行個體時，我們會釋出公有 IPv4 地址，並給予您的執行個體新的公有 IPv4 地址。  
若要在執行個體停止和啟動之間保留公有 IPv4 地址，建議您使用彈性 IP 地址，只要您的執行個體正在執行，就不需要額外費用。如需詳細資訊，請參閱[彈性 IP 位址](elastic-ip-addresses-eip.md)。