

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

# EC2 執行個體堆疊 \$1 調整大小
<a name="management-advanced-ec2-instance-stack-resize"></a>

調整帳戶中現有 EC2 執行個體的大小。執行個體的狀態可以是「執行中」或「停止」。如果為「執行中」，執行個體會在調整大小操作期間停止，並在調整大小完成後回到初始狀態。調整執行個體大小之前，請確定執行個體的根磁碟區不是執行個體存放區磁碟區。我們強烈建議在進行執行個體類型變更之前和之後進行嚴格的負載和效能測試，您也要考慮調整執行個體大小時所產生的定價變更。請注意，此變更可能會導致具有此資源的任何堆疊的 CloudFormation 偏離。

**完整分類：**管理 \$1 進階堆疊元件 \$1 EC2 執行個體堆疊 \$1 調整大小

## 變更類型詳細資訊
<a name="ct-15mazjj88xc69-MAEr-table"></a>


****  

|  |  | 
| --- |--- |
| 變更類型 ID | ct-15mazjj88xc69 | 
| 目前版本 | 2.0 | 
| 預期的執行持續時間 | 240 分鐘 | 
| AWS 核准 | 必要 | 
| 客戶核准 | 非必要 | 
| 執行模式 | 自動化 | 

## 其他資訊
<a name="management-advanced-ec2-instance-stack-resize-info"></a>

### 調整執行個體大小
<a name="ex-ec2-resize-col"></a>

#### 使用主控台調整 EC2 執行個體的大小
<a name="ec2-resize-con"></a>

以下顯示 AMS 主控台中的此變更類型。

![\[EC2 instance resize details showing ID, execution mode, version, and description.\]](http://docs.aws.amazon.com/zh_tw/managedservices/latest/ctref/images/guiEc2ResizeInstanceCT.png)


運作方式：

1. 導覽至**建立 RFC** 頁面：在 AMS 主控台的左側導覽窗格中，按一下 **RFCs**以開啟 RFCs清單頁面，然後按一下**建立 RFC**。

1. 在預設**瀏覽變更類型檢視中選擇熱門的變更類型** (CT)，或在**依類別選擇**檢視中選擇 CT。
   + **依變更類型瀏覽**：您可以在**快速建立**區域中按一下熱門的 CT，以立即開啟**執行 RFC** 頁面。請注意，您無法透過快速建立選擇較舊的 CT 版本。

     若要排序 CTs，請使用**卡片**或**資料表**檢視中的所有**變更類型**區域。在任一檢視中，選取 CT，然後按一下**建立 RFC** 以開啟**執行 RFC** 頁面。如果適用，**建立較舊版本**選項會顯示在**建立 RFC** 按鈕旁。
   + **依類別選擇**：選取類別、子類別、項目和操作，如果適用，CT 詳細資訊方塊會開啟，其中包含**使用較舊版本建立**的選項。按一下**建立 RFC** 以開啟**執行 RFC** 頁面。

1. 在**執行 RFC** 頁面上，開啟 CT 名稱區域以查看 CT 詳細資訊方塊。需要**主旨** （如果您在**瀏覽變更類型**檢視中選擇 CT，則會為您填入）。開啟**其他組態**區域以新增 RFC 的相關資訊。

   在**執行組態**區域中，使用可用的下拉式清單或輸入必要參數的值。若要設定選用的執行參數，請開啟**其他組態**區域。

1. 完成後，請按一下**執行**。如果沒有錯誤，**RFC 成功建立**的頁面會顯示已提交的 RFC 詳細資訊，以及初始的**執行輸出**。

1. 開啟**執行參數**區域以查看您提交的組態。重新整理頁面以更新 RFC 執行狀態。或者，取消 RFC 或使用頁面頂端的選項建立 RFC 的副本。

#### 使用 CLI 調整 EC2 執行個體的大小
<a name="ec2-resize-cli"></a>

運作方式：

1. 使用內嵌建立 （您發出包含所有 RFC 和執行參數的`create-rfc`命令） 或範本建立 （您建立兩個 JSON 檔案，一個用於 RFC 參數，另一個用於執行參數），並使用兩個檔案作為輸入發出`create-rfc`命令。此處說明這兩種方法。

1. 使用傳回的 RFC ID 提交 RFC： `aws amscm submit-rfc --rfc-id ID`命令。

   監控 RFC： `aws amscm get-rfc --rfc-id ID`命令。

若要檢查變更類型版本，請使用下列命令：

```
aws amscm list-change-type-version-summaries --filter Attribute=ChangeTypeId,Value=CT_ID
```
**注意**  
您可以將任何`CreateRfc`參數與任何 RFC 搭配使用，無論它們是否為變更類型結構描述的一部分。例如，若要在 RFC 狀態變更時取得通知，請將此行新增至請求的 `--notification "{\"Email\": {\"EmailRecipients\" : [\"email@example.com\"]}}"` RFC 參數部分 （而非執行參數）。如需所有 CreateRfc 參數的清單，請參閱 [AMS 變更管理 API 參考](https://docs.aws.amazon.com/managedservices/latest/ApiReference-cm/API_CreateRfc.html)。

*內嵌建立*：

使用內嵌提供的執行參數發出建立 RFC 命令 （在內嵌提供執行參數時逸出引號），然後提交傳回的 RFC ID。例如，您可以將內容取代為類似以下內容：

```
aws amscm create-rfc --change-type-id "ct-15mazjj88xc69" --change-type-version "2.0" --title "Resize EC2 Instance" --execution-parameters "{\"DocumentName\":\"AWSManagedServices-ResizeInstance\",\"Region\":\"ap-southeast-2\",\"Parameters\":{\"InstanceId\":[\"i-0db3254017174df45\"],\"InstanceType\":[\"t2.xlarge\"],\"CreateAMIBeforeResize\":[true]}}"
```

*範本建立*：

1. 將此變更類型的執行參數輸出至 JSON 檔案；此範例會將其命名為 ResizeEC2Params.json:

   ```
   aws amscm get-change-type-version --change-type-id "ct-15mazjj88xc69" --query "ChangeTypeVersion.ExecutionInputSchema" --output text > ResizeEC2Params.json
   ```

1. 修改並儲存 ResizeEC2Params 檔案。例如，您可以將內容取代為類似以下內容：

   ```
   {
     "DocumentName": "AWSManagedServices-ChangeInstanceType",
     "Region": "ap-southeast-2",
     "Parameters": {
       "InstanceId": [
         "i-0db3254017174df45"
       ],
       "InstanceType": [
         "t2.xlarge"
       ],
       "CreateAMIBeforeResize": [
         true
       ]
     }
   }
   ```

1. 將 RFC 範本輸出至目前資料夾中的檔案；此範例會將其命名為 ResizeEC2Rfc.json:

   ```
   aws amscm create-rfc --generate-cli-skeleton > ResizeEC2Rfc.json
   ```

1. 修改並儲存 ResizeEC2Rfc.json 檔案。例如，您可以將內容取代為類似以下內容：

   ```
   {
     "ChangeTypeVersion": "2.0",
     "ChangeTypeId": "ct-15mazjj88xc69",
     "Title": "Resize EC2 Instance"
   }
   ```

1. 建立 RFC，指定 ResizeEC2Rfc 檔案和 ResizeEC2Params 檔案：

   ```
   aws amscm create-rfc --cli-input-json file://ResizeEC2Rfc.json  --execution-parameters file://ResizeEC2Params.json
   ```

   您會在回應中收到新 RFC 的 ID，並且可以使用它來提交和監控 RFC。在您提交之前，RFC 會保持在編輯狀態，不會啟動。

#### 提示
<a name="ex-ec2-resize-tip"></a>

**注意**  
變更執行個體大小可能會導致參考變更執行個體的任何堆疊的 CloudFormation 偏離。

如需 Amazon EC2 的詳細資訊，包括大小建議，請參閱 [Amazon Elastic Compute Cloud 文件](https://aws.amazon.com/documentation/ec2/)。

**重要**  
您可以使用 `CreateAMIBeforeResize` 參數在調整大小之前建立執行個體的 AMI。如果您使用此選項，在開始之前，請準備將用於建立 AMI 的 EC2 執行個體。  
若要避免從新 AMI 建立的執行個體發生身分驗證問題，請在套用自訂變更之後，以及使用 `CreateAMIBeforeResize` 參數呼叫 EC2 Instance Stack \$1 Resize CT 之前，在執行個體上執行這些系統命令。

##### AMI Create 的 Linux 準備
<a name="ami-create-linux-prep"></a>

下載並執行下列指令碼，以準備建立 AMI 的執行個體。您必須以根使用者身分執行此指令碼。

```
curl https://amazon-ams-us-east-1.s3.amazonaws.com/latest/linux/prepare_instance_for_ami_and_shutdown.sh -o ./prepare_instance_for_ami_and_shutdown.sh
chmod 744 prepare_instance_for_ami_and_shutdown.sh
./prepare_instance_for_ami_and_shutdown.sh
```

上述指令碼會在執行個體上執行關機，連線的使用者會從工作階段登出。

##### AMI Create 的 Windows 準備
<a name="ami-create-win-prep"></a>

Windows Powershell （以管理員身分執行）：

```
Invoke-AMSSysprep
```

執行個體會停止，且任何連線的使用者都會從目前的 Windows RDP 工作階段登出。

如需建立 AWS Windows AMIs的詳細資訊，請參閱[建立自訂 Windows AMI](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/Creating_EBSbacked_WinAMI.html#23ami-create-standard)。

##### 建立 AMI 的 UserData
<a name="ami-create-user-data"></a>

如果您想要在下一次從 AMI 開機時執行使用者資料，請執行下列動作：
+ 確定登錄機碼`HKEY_LOCAL_MACHINE\SOFTWARE\Amazon\ManagedServices\RunUserDataViaAMSBootModule`存在。如果此金鑰不存在，則使用者資料不會在下次開機時執行 。
+ 若要將使用者資料設定為在下次開機時執行，請完成下列步驟：

  1. 在管理員權限下啟動 Windows PowerShell （以管理員身分執行）

  1. 執行以下命令：

     ```
     Install-AMSDependencies
     ```

## 執行輸入參數
<a name="management-advanced-ec2-instance-stack-resize-input"></a>

如需執行輸入參數的詳細資訊，請參閱 [變更類型的結構描述 ct-15mazjj88xc69](schemas.md#ct-15mazjj88xc69-schema-section)。

## 範例：必要參數
<a name="management-advanced-ec2-instance-stack-resize-ex-min"></a>

```
Example not available.
```

## 範例：所有參數
<a name="management-advanced-ec2-instance-stack-resize-ex-max"></a>

```
{
    "DocumentName": "AWSManagedServices-ChangeInstanceType",
    "Region": "us-east-1",
    "Parameters": {
      "InstanceId": ["i-1234567890abababa"],
      "InstanceType": ["t3.xlarge"],
      "CreateAMIBeforeResize": [false]
    }   
}
```