

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

# EC2 堆疊 \| 建立 （具有其他磁碟區）
<a name="deployment-advanced-ec2-stack-create-with-additional-volumes"></a>

建立具有最多五個額外磁碟區的 Amazon Elastic Compute Cloud (EC2) 執行個體。

**完整分類：**部署 \| 進階堆疊元件 \| EC2 堆疊 \| 建立 （使用額外的磁碟區）

## 變更類型詳細資訊
<a name="ct-1aqsjf86w6vxg-DAEc-table"></a>


****  

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

## 其他資訊
<a name="deployment-advanced-ec2-stack-create-with-additional-volumes-info"></a>

### 建立堆疊 （使用其他磁碟區）
<a name="ex-ec2-create-addl-vol-col"></a>

#### 使用主控台建立 EC2 執行個體和其他磁碟區
<a name="ec2-create-addl-vol-con"></a>

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

![](http://docs.aws.amazon.com/zh_tw/managedservices/latest/ctref/images/guiEc2CreateAddlVolCT.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-create-addl-vol-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-1aqsjf86w6vxg" --change-type-version "4.0" --title "{{EC2-Create-A-V-QC}}" --execution-parameters "{\"Description\":\"{{My EC2 stack with addl vol}}\",\"VpcId\":\"{{VPC_ID}}\",\"Name\":\"{{My Stack}}\",\"StackTemplateId\":\"stm-nn8v8ffhcal611bmo\",\"TimeoutInMinutes\":60,\"Parameters\":{\"InstanceAmiId\":\"{{AMI_ID}}\",\"InstanceSubnetId\":\"{{SUBNET_ID}}\"}}
```

*範本建立*：

1. 將此變更類型的執行參數輸出至名為 CreateEC2AVParams.json.

   ```
   aws amscm get-change-type-version --change-type-id "ct-1aqsjf86w6vxg" --query "ChangeTypeVersion.ExecutionInputSchema" --output text > CreateEC2AVParams.json
   ```

1. 修改並儲存 CreateEC2AVParams 檔案 （範例顯示大多數參數）。例如，您可以將內容取代為如下內容：

   ```
   {
   "Description":      "{{EC2-Create-1-Addl-Volumes}}",
   "VpcId":            "{{VPC_ID}}",
   "StackTemplateId":  "stm-nn8v8ffhcal611bmo",
   "Name":             "{{My-EC2-1-Addl-Volume}}",
   "TimeoutInMinutes": 60,
   "Parameters":   {
       "InstanceAmiId":    "{{AMI_ID}}",
       "InstanceSecurityGroupIds": "{{SECURITY_GROUP_ID}}",
       "InstanceCoreCount": {{1}},
       "InstanceThreadsPerCore": {{2}},    
       "InstanceDetailedMonitoring": "{{true}}",
       "InstanceEBSOptimized": "{{false}}",
       "InstanceProfile": "{{customer-mc-ec2-instance-profile}}",
       "InstanceRootVolumeIops": {{100}},
       "InstanceRootVolumeName": "{{/dev/xvda}}",
       "InstanceRootVolumeSize": {{50}},
       "InstanceRootVolumeType": "{{io1}}",
       "RootVolumeKmsKeyId": "{{default}}",
       "InstancePrivateStaticIp": "{{10.27.0.100}}",
       "InstanceSecondaryPrivateIpAddressCount": {{0}},
       "InstanceTerminationProtection": "{{false}}",
       "InstanceType": "{{t3.large}}",
       "CreditSpecification": "{{unlimited}}",
       "InstanceUserData": "{{echo $}}",
       "Volume1Encrypted": "{{true}}",
       "Volume1Iops":      "{{IOPS}}"
       "Volume1KmsKeyId":  "{{KMS_MASTER_KEY_ID}}",
       "Volume1Name":      "{{xvdh}}"
       "Volume1Size":      "{{2 GiB}}",
       "Volume1Snapshot":  "{{SNAPSHOT_ID}}",
       "Volume1Type":      "{{iol}}",
       "InstanceSubnetId": "{{SUBNET_ID}}"
       }
   }
   ```

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

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

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

   ```
   {
   "ChangeTypeVersion":    "{{4.0}}",
   "ChangeTypeId":         "ct-1aqsjf86w6vxg",
   "Title":                "{{EC2-Create-1-Addl-Volume-RFC}}"
   }
   ```

1. 建立 RFC，指定 CreateEC2AVRfc 檔案和 CreateEC2AVParams 檔案：

   ```
   aws amscm create-rfc --cli-input-json file://CreateEC2AVRfc.json  --execution-parameters file://CreateEC2AVParams.json
   ```

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

#### 提示
<a name="ex-ec2-create-addl-vol-tip"></a>

**重要**  
此變更類型有新版本 v 4.0，使用不同的 StackTemplateId (stm-nn8v8ffhcal611bmo)。如果您在命令列使用此變更類型提交 RFC，這很重要。新版本引進兩個新參數 (**RootVolumeKmsKeyId** 和 **CreditSpecification**)，並變更一個現有參數 (**InstanceType**) 的預設值。

****執行個體類型****  
 如果您選擇指定核心或執行緒的數量，則必須指定兩者的值。使用參數 `InstanceCoreCount`和 `InstanceThreadsPerCore`。若要尋找核心/執行緒的有效組合，請參閱[每個執行個體類型每個 CPU 核心的 CPU 核心和執行緒](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/cpu-options-supported-instances-values.html)。
 AMS 不建議使用 **t2.micro/t3.micro** 或 **t2.nano/t3.nano **執行個體類型。除了您的業務工作負載之外，這些太小而無法支援 EPS、SSM 和 Cloudwatch 等 AMS 工具。如需詳細資訊，請參閱[為您的應用程式選擇正確的 EC2 執行個體類型](https://aws.amazon.com/blogs/aws/choosing-the-right-ec2-instance-type-for-your-application/)。
 在 4.0 版中，預設類型已從 **t2.large** 提升為 **t3.large。**根據預設，T3 執行個體會使用「無限制額度」啟動。即使執行個體使用所有 CPU 點數，您也不會體驗 CPU 限流。您可以改為選擇 T2 執行個體，並使用 CreditSpecification 無限制選項。
如需 Amazon EC2 的詳細資訊，包括大小建議，請參閱 [Amazon Elastic Compute Cloud 文件](https://aws.amazon.com/documentation/ec2/)。

若要在建立 EC2 堆疊後以其他磁碟區更新，請參閱 [EC2 執行個體堆疊：更新 （使用其他磁碟區）](https://docs.aws.amazon.com/managedservices/latest/ctref/management-advanced-ec2-instance-stack-update-with-additional-volumes.html) 

## 執行輸入參數
<a name="deployment-advanced-ec2-stack-create-with-additional-volumes-input"></a>

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

## 範例：必要參數
<a name="deployment-advanced-ec2-stack-create-with-additional-volumes-ex-min"></a>

```
{
  "Description" : "Test description",
  "VpcId" : "vpc-12345678901234567",
  "Name" : "TestStack",
  "StackTemplateId" : "stm-nn8v8ffhcal611bmp",
  "TimeoutInMinutes" : 60,
  "Parameters" : {
    "InstanceAmiId" : "ami-1234567890abcdef0",
    "InstanceSubnetId" : "subnet-1234567890abcdef0",
    "EnforceIMDSV2": "true"
  }
}
```

## 範例：所有參數
<a name="deployment-advanced-ec2-stack-create-with-additional-volumes-ex-max"></a>

```
{
  "Description": "This is a test description",
  "VpcId": "vpc-12345678",
  "Name": "Test Stack",
  "Tags": [
    {
      "Key": "key1",
      "Value": "value1"
    },
    {
      "Key": "key2",
      "Value": "value2"
    }
  ],
  "Parameters": {
    "InstanceAmiId": "ami-12345678",
    "InstanceCoreCount": 0,
    "InstanceThreadsPerCore": 0,
    "InstanceRootVolumeName": "/dev/xvda",
    "InstanceRootVolumeSize": 100,
    "InstanceSubnetId": "subnet-12345678",
    "InstanceDetailedMonitoring": "false",
    "InstanceEBSOptimized": "false",
    "InstanceProfile": "customer-mc-ec2-instance-profile",
    "InstanceRootVolumeIops": 1000,
    "InstanceRootVolumeType": "io1",
    "InstancePrivateStaticIp": "172.16.0.10",
    "InstanceSecondaryPrivateIpAddressCount" : 1,
    "InstanceTerminationProtection" : "true",
    "InstanceType": "t2.small",
    "InstanceUserData": "#!/bin/bash\\npwd\\nls -ltrh\\necho \"Hello, World\"",
    "Volume1Iops": 100,
    "Volume1KmsKeyId": "12345678-1234-1234-1234-1234567890ab",
    "Volume1Name": "/dev/sdf",
    "Volume1Size": 100,
    "Volume1Type": "io1",
    "Volume2Iops": 100,
    "Volume2KmsKeyId": "12345678-1234-1234-1234-1234567890ab",
    "Volume2Name": "/dev/sdg",
    "Volume2Size": 100,
    "Volume2Type": "io1",
    "Volume3Iops": 100,
    "Volume3KmsKeyId": "12345678-1234-1234-1234-1234567890ab",
    "Volume3Name": "/dev/sdh",
    "Volume3Size": 100,
    "Volume3Type": "io1",
    "Volume4Iops": 100,
    "Volume4KmsKeyId": "12345678-1234-1234-1234-1234567890ab",
    "Volume4Name": "/dev/sdi",
    "Volume4Size": 100,
    "Volume4Type": "io1",
    "Volume5Iops": 100,
    "Volume5KmsKeyId": "12345678-1234-1234-1234-1234567890ab",
    "Volume5Name": "/dev/sdj",
    "Volume5Size": 100,
    "Volume5Type": "io1",
    "EnforceIMDSV2": "true"
  },
  "TimeoutInMinutes": 60,
  "StackTemplateId": "stm-nn8v8ffhcal611bmp"
}
```