

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

# 修改 預留執行個體
<a name="ri-modifying"></a>

當您的需求變更時，您可以修改您的標準或可轉換預留執行個體，並繼續獲得計費利益。您可以修改預留執行個體的屬性，例如可用區域、執行個體大小 (位於相同執行個體系列和層代內) 和範圍。

**注意**  
您也可以將可轉換預留執行個體與另一個具有不同組態的可轉換預留執行個體交換。如需詳細資訊，請參閱[交換 可轉換預留執行個體](ri-convertible-exchange.md)。

您也可以修改所有預留執行個體或子集。您可以將原始預留執行個體分隔為兩個或多個新的預留執行個體。例如，若您在 `us-east-1a` 中有 10 個執行個體的保留，並決定將 5 個執行個體移動到 `us-east-1b`，修改請求結果會導致兩個新的保留：其中一個保留針對位於 `us-east-1a` 中的 5 個執行個體，另外一個保留則針對位於 `us-east-1b` 的 5 個執行個體。

您也可以將兩個或多個預留執行個體*合併*為單一預留執行個體。例如，若您有四個 `t2.small` 預留執行個體，每一個都具有一個執行個體，您可以合併它們來建立一個 `t2.large` 預留執行個體。如需詳細資訊，請參閱[支援執行個體大小的修改](#ri-modification-instancemove)。

在修改後，預留執行個體的利益僅會套用到符合新參數的執行個體。例如，若您變更保留的可用區域，容量保留和定價利益會自動套用到新可用區域中的執行個體用量。不再符合新參數的執行個體會以隨需費率計費，除非您的帳戶有其他適用的保留。

若您的修改請求成功：
+ 修改後的保留會立即生效，定價利益會在修改請求的小時內開始套用到新的執行個體。例如，若您在下午 9:15 成功修改您的保留，定價利益會在下午 9:00 傳送到您新的執行個體。您可以藉由使用 [describe-reserved-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-reserved-instances.html) 命令來取得修改後預留執行個體的生效日期。
+ 原始的保留會淘汰。其結束日期便是新保留的開始日期，新保留的結束日期則與原始預留執行個體的結束日期相同。若您修改具有 16 個月剩餘期間的三年保留，其結果產生的修改後保留便是 16 個月的保留，其結束日期與原先的保留相同。
+ 修改後的保留列出的固定價格為 0 USD，而非原始保留的固定價格。
+ 修改後保留的固定價格不會影響套用到您帳戶的折扣定價方案計算，因為該計算是以原始保留的固定價格為基礎。

若您的修改請求失敗，您的預留執行個體將會維持其原始的組態，並可立即進行另一次的修改請求。

修改無須支付任何費用，您不會收到任何新的帳單或發票。

您可以無限次數的修改您的保留，但在您提交後，您便無法變更或取消擱置中的修改請求。在修改成功完成後，您可以提交另一個修改請求，轉返任何您進行的變更 (若需要的話)。

**Topics**
+ [修改的要求和限制](#ri-modification-limits)
+ [支援執行個體大小的修改](#ri-modification-instancemove)
+ [提交修改請求](#ri-modification-process)
+ [故障診斷修改請求](#ri-modification-process-messages)

## 修改的要求和限制
<a name="ri-modification-limits"></a>

您可以修改這些屬性如下。


| 可修改屬性 | 支援平台 | 限制及考量 | 
| --- | --- | --- | 
|  變更相同區域內的**可用區域**  |  Linux 與 Windows  | - | 
|  將**範圍**從「可用區域」變更為「區域」，反之亦然  |  Linux 與 Windows  |  區域性預留執行個體的範圍限定為可用區域，並在該可用區域中預留容量。若您將範圍從可用區域變更為區域 (換言之，從區域到地區)，您將會喪失容量保留利益。 地區性預留執行個體的範圍限定為區域。您的預留執行個體折扣可套用到該區域內任何可用區域中正在執行的執行個體。此外，預留執行個體折扣適用於選定執行個體系列中所有大小的執行個體用量。若您將範圍從區域變更為可用區域 (換言之，從地區到區域)，您將會喪失可用區域彈性和執行個體大小彈性 (若適用)。 如需詳細資訊，請參閱[預留執行個體折扣的套用方式](apply_ri.md)。 | 
|  在相同執行個體系列和層代內變更**執行個體大小**  |  僅限 Linux/UNIX 執行個體大小的彈性不適用於其他平台上的預留執行個體，這些平台包括 Linux with SQL Server Standard、Linux with SQL Server Web、Linux with SQL Server Enterprise、Red Hat Enterprise Linux、SUSE Linux、Windows、Windows with SQL Standard、Windows with SQL Server Enterprise 和 Windows with SQL Server Web。  |  保留必須使用預設租用。某些執行個體系列不受支援，因為沒有其他可用的大小。如需詳細資訊，請參閱[支援執行個體大小的修改](#ri-modification-instancemove)  | 

**要求**

Amazon EC2 會在有足夠容量接受您的新組態 (若適用)，以及滿足下列條件時處理您的修改請求：
+ 預留執行個體在您購買之前或當時無法修改
+ 預留執行個體必須為作用中
+ 不能有擱置的修改請求
+ 預留執行個體 Marketplace 中未列出預留執行個體。
+ 原始保留的執行個體大小使用量和新組態必須相符。如需詳細資訊，請參閱[支援執行個體大小的修改](#ri-modification-instancemove)。
+ 原始 預留執行個體 全部為標準版 預留執行個體 或全部為 可轉換預留執行個體，而非每個類型各有一些
+ 原始 預留執行個體 如果是標準版 預留執行個體，則必須在同一小時內過期
+ 如需修改執行個體大小，預留執行個體必須支援執行個體大小彈性。如需不支援執行個體大小彈性的預留執行個體清單，請參閱 [執行個體大小彈性](apply_ri.md#ri-instance-size-flexibility)。

## 支援執行個體大小的修改
<a name="ri-modification-instancemove"></a>

若符合下列要求，您可以修改預留執行個體的執行個體大小。

**要求**
+ 此平台為 Linux/UNIX。
+ 您必須選取相同[執行個體系列](https://docs.aws.amazon.com/ec2/latest/instancetypes/instance-type-names.html) (用字母表示，例如 T) 和[層代](https://docs.aws.amazon.com/ec2/latest/instancetypes/instance-type-names.html) (用數字表示，例如 2) 中的其它執行個體大小。

  例如，您可以將預留執行個體從 `t2.small` 修改為 `t2.large`，因為它們都位於相同的 T2 系列和層代中。但是您無法將預留執行個體從 T2 修改為 M2，或從 T2 修改為 T3，因為在這兩個範例中，目標執行個體系列和層代與原始預留執行個體不同。
+ 只有在支援執行個體大小彈性時，您才能修改預留執行個體的執行個體大小。如需不支援執行個體大小彈性的預留執行個體清單，請參閱 [執行個體大小彈性](apply_ri.md#ri-instance-size-flexibility)。
+ 您無法修改 `t1.micro` 執行個體的預留執行個體大小，因為 `t1.micro` 只有一個大小。
+ 原始和新的 預留執行個體 必須具有相同的執行個體大小使用量。

**Topics**
+ [執行個體大小使用量](#ri-modification-instance-size-footprint)
+ [裸機執行個體的正規化因素](#ri-normalization-factor-bare-metal-2)

### 執行個體大小使用量
<a name="ri-modification-instance-size-footprint"></a>

每一個預留執行個體都具有*執行個體大小使用量*，由執行個體大小的正規化因素和保留中的執行個體數目決定。當您修改 預留執行個體 中的執行個體大小時，新組態的使用量必須符合原始組態的使用量，否則不會處理修改請求。

若要計算預留執行個體的執行個體大小使用量，請將執行個體的數目乘上正規化因素。在 Amazon EC2 主控台中，正規化因素以單位進行測量。下表說明執行個體系列中執行個體大小的正規化因素。例如，`t2.medium` 的正規化因素為 2，因此四個 `t2.medium` 執行個體的保留具有 8 個單位的使用量。


| 執行個體大小 | 正規化因素 | 
| --- | --- | 
| nano | 0.25 | 
| micro | 0.5 | 
| small | 1 | 
| medium | 2 | 
| large | 4 | 
| xlarge | 8 | 
| 2xlarge | 16 | 
| 3xlarge | 24 | 
| 4xlarge | 32 | 
| 6xlarge | 48 | 
| 8xlarge | 64 | 
| 9xlarge | 72 | 
| 10xlarge | 80 | 
| 12xlarge | 96 | 
| 16xlarge | 128 | 
| 18xlarge | 144 | 
| 24xlarge | 192 | 
| 32xlarge | 256 | 
| 48xlarge | 384 | 
| 56xlarge | 448 | 
| 112xlarge | 896 | 

您可以將您的保留在相同執行個體系列中配置到不同的執行個體大小，只要您保留的執行個體大小使用量維持不變。例如，您可以將一個 `t2.large` (1 @ 4 個單位) 執行個體的保留分割為四個 `t2.small` (4 @ 1 個單位) 執行個體。同樣地，您可以將四個 `t2.small` 執行個體的保留合併為一個 `t2.large` 執行個體。不過，您無法將兩個 `t2.small` 執行個體的保留變更為一個 `t2.large` 執行個體，因為新保留的使用量 (4 個單位) 大於原始保留的使用量 (2 個單位)。

在下列範例中，您有兩個 `t2.micro` 執行個體的保留 (1 個單位)，以及一個 `t2.small` 執行個體的保留 (1 個單位)。如果您將這兩個保留合併為具有一個 `t2.medium` 執行個體 (2 個單位) 的單一保留，新保留的使用量等於合併保留的使用量。

![\[修改預留執行個體。\]](http://docs.aws.amazon.com/zh_tw/AWSEC2/latest/UserGuide/images/ri-modify-merge.png)


您也可以修改保留，將其分割為兩個或多個保留。在下列範例中，您有一個具有 `t2.medium` 執行個體 (2 個單位) 的保留。您可以將保留分割為兩個保留，一個具有兩個 `t2.nano` 執行個體 (5 個單位)，另一個具有三個 `t2.micro` 執行個體 (1.5 個單位)。

![\[修改預留執行個體。\]](http://docs.aws.amazon.com/zh_tw/AWSEC2/latest/UserGuide/images/ri-modify-divide.png)


### 裸機執行個體的正規化因素
<a name="ri-normalization-factor-bare-metal-2"></a>

您可以使用相同執行個體系列內的其他大小，修改具有 `metal` 執行個體的保留。同樣地，您可以使用相同執行個體系列內的 `metal` 大小，修改具有裸機執行個體之外的執行個體的保留。一般而言，裸機執行個體的大小與相同執行個體系列中的最大可用執行個體大小相同。例如，`i3.metal` 執行個體的大小與 `i3.16xlarge` 執行個體相同，因此有相同的正規化因素。

下表說明具有裸機執行個體之執行個體系列中，裸機執行個體大小的正規化因素。與其他執行個體大小不同的是，`metal` 執行個體的正規化因素取決於執行個體系列。


| 執行個體大小 | 正規化因素 | 
| --- | --- | 
| a1.metal | 32 | 
|  m5zn.metal \$1 x2iezn.metal z1d.metal  | 96 | 
|  c6g.metal \$1 c6gd.metal \$1 i3.metal \$1 m6g.metal \$1 m6gd.metal \$1 r6g.metal \$1 r6gd.metal \$1 x2gd.metal  | 128 | 
| c5n.metal | 144 | 
|  c5.metal \$1 c5d.metal \$1 i3en.metal \$1 m5.metal \$1 m5d.metal \$1 m5dn.metal \$1 m5n.metal \$1 r5.metal \$1 r5b.metal \$1 r5d.metal \$1 r5dn.metal \$1 r5n.metal  | 192 | 
|  c6i.metal \$1 c6id.metal \$1 m6i.metal \$1 m6id.metal \$1 r6d.metal \$1 r6id.metal  | 256 | 
|  u-18tb1.metal \$1 u-24tb1.metal  | 448 | 
|  u-6tb1.metal \$1 u-9tb1.metal \$1 u-12tb1.metal  | 896 | 

例如，`i3.metal` 執行個體的正規化因素為 128。如果您購買 `i3.metal` 預設租用 Amazon Linux/Unix 預留執行個體，您可以將保留分割如下：
+ `i3.16xlarge` 的大小與 `i3.metal` 執行個體相同，因此正規化因素為 128 (128/1)。一個 `i3.metal` 執行個體的保留可以修改為一個 `i3.16xlarge` 執行個體。
+ `i3.8xlarge` 的大小是 `i3.metal` 執行個體的一半，因此正規化因素為 64 (128/2)。一個 `i3.metal` 執行個體的保留可以分割成兩個 `i3.8xlarge` 執行個體。
+ `i3.4xlarge` 的大小是 `i3.metal` 執行個體的四分之一，因此正規化因素為 32 (128/4)。一個 `i3.metal` 執行個體的保留可以分割成四個 `i3.4xlarge` 執行個體。

## 提交修改請求
<a name="ri-modification-process"></a>

在修改您的預留執行個體前，請確認您已詳閱適用的[限制](#ri-modification-limits)。在修改執行個體大小之前，請先計算您希望修改之原始預留的總[執行個體大小使用量](#ri-modification-instancemove)，並確保其符合您的新組態的總執行個體大小使用量。

------
#### [ Console ]

**修改您的預留執行個體**

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

1. 在 **Reserved Instances (預留執行個體)** 頁面上，選取一或多個要修改的預留執行個體，然後選取 **Actions (動作)**，**Modify Reserved Instances (修改預留執行個體)**。

   若您的預留執行個體並未處於作用中的狀態或無法修改，**Modify 預留執行個體 (修改預留執行個體)** 便會停用。

1. 修改表格的第一個項目會顯示選取 預留執行個體 的屬性，以及至少一個位於下方的目標組態。**Units (單位)** 資料行會顯示總執行個體大小使用量。針對每個要新增的新組態，選擇 **Add (新增)**。視需要修改每個組態的屬性。
   + **Scope (範圍)**：選擇組態是否套用到可用區域或是整個區域。
   + **Availability Zone (可用區域)**：選擇必要的可用區域。不適用於區域預留執行個體。
   + **執行個體類型**：選取必要的執行個體類型。結合的組態必須等於原始組態的執行個體大小使用量。
   + **Count (計數)**：指定執行個體的數目。若要將 預留執行個體 分割為多個組態，請減少計數，選擇 **Add (新增)**，然後指定額外組態的計數。例如，如果您有一個計數為 10 的組態，您可以將其計數變更為 6，然後新增計數為 4 的組態。此程序會在新的 預留執行個體 啟動之後重試原始的 預留執行個體。

1. 選擇 **Continue (繼續)**。

1. 若要在完成指定您的目標組態後確認您的修改選擇，請選擇 **Submit modifications** (提交修改)。

1. 您可以透過查看預留執行個體畫面中的 **State (狀態)** 資料行，判斷您修改請求的狀態。以下為可能的狀態。
   + **作用中* (待定修改)*** — 原始預留執行個體的轉移狀態
   + **已淘汰* (待定修改)*** – 建立新的預留執行個體時，原始預留執行個體的轉移狀態
   + **淘汰** – 已成功修改並取代預留執行個體
   + **作用中** – 下列其中一項：
     + 已成功從修改請求建立新的預留執行個體
     + 修改請求失敗後的原始預留執行個體

------
#### [ AWS CLI ]

**修改您的預留執行個體**  
使用 [modify-reserved-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-reserved-instances.html) 命令。您可在 JSON 檔案中提供組態詳細資訊。

```
aws ec2 modify-reserved-instances \
    --reserved-instances-ids b847fa93-e282-4f55-b59a-1342f5bd7c02 \
    --target-configurations file://configuration.json
```

**取得修改請求的狀態**  
使用 [describe-reserved-instances-modifications](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-reserved-instances-modifications.html) 命令。狀態為 `processing`、`fulfilled` 或 `failed`。

```
aws ec2 describe-reserved-instances-modifications \
    --reserved-instances-modification-ids rimod-d3ed4335-b1d3-4de6-ab31-0f13aaf46687 \
    --query ReservedInstancesModifications[].Status
```

------
#### [ PowerShell ]

**修改您的預留執行個體**  
使用 [Edit-EC2ReservedInstance](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2ReservedInstance.html) cmdlet。您可在類型為 `Amazon.EC2.Model.ReservedInstancesConfiguration` 的物件中提供組態詳細資訊。

```
Edit-EC2ReservedInstance `
    -ReservedInstancesId b847fa93-e282-4f55-b59a-1342f5bd7c02 `
    -TargetConfiguration $configuration
```

**取得修改請求的狀態**  
使用 [Get-EC2ReservedInstancesModification](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2ReservedInstancesModification.html) cmdlet。狀態為 `processing`、`fulfilled` 或 `failed`。

```
Get-EC2ReservedInstancesModification `
    -ReservedInstancesModificationId rimod-d3ed4335-b1d3-4de6-ab31-0f13aaf46687 | `
    Select Status
```

------

## 故障診斷修改請求
<a name="ri-modification-process-messages"></a>

若您請求的目標組態設定為獨特，您會收到訊息，告知您請求正在處理中。此時，Amazon EC2 僅判斷您修改請求的參數為有效。您的修改請求仍然可能會在處理過程中因為不可用的容量而失敗。

在某些情況下，您可能會收到訊息，表示修改請求未完成或失敗，而非確認。請使用此類訊息中的資訊，做為重新提交另一個修改請求的出發點。確認您已在提交請求前詳閱適用的[限制](#ri-modification-limits)。

**並非所有選取的預留執行個體都可進行修改處理**  
Amazon EC2 會識別並列出無法修改的預留執行個體。若您收到如這類的訊息，請前往 Amazon EC2 主控台中的 **Reserved Instances (預留執行個體)** 頁面，檢查預留執行個體的資訊。

**處理您的修改請求時發生錯誤**  
您提交一或多個預留執行個體進行修改，但您的請求全部都無法處理。取決於您要修改的保留數目，您可能會收到不同版本的訊息。

Amazon EC2 會顯示無法處理您請求的原因。例如，您可能為一或多個您要修改的預留執行個體子集指定了相同的目標組態 (可用區域和平台的組合)。請嘗試再次提交修改請求，但請確認保留的執行個體詳細資訊確實符合，且每個要修改子集的目標組態都是唯一的。