

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

# 使用 從現有執行個體建立 Auto Scaling 群組 AWS CLI
<a name="create-asg-from-instance"></a>

**重要**  
對於那些尚未從啟動組態遷移至啟動範本的客戶，我們會提供啟動組態的資訊。如需將 Auto Scaling 群組遷移至啟動範本的詳細資訊，請參閱 [遷移 Auto Scaling 群組以啟動範本](migrate-to-launch-templates.md)。

如果這是您第一次建立 Auto Scaling 群組，則建議您使用主控台從現有 EC2 執行個體建立啟動範本。然後使用啟動範本來建立新的 Auto Scaling 群組。相關程序請參閱 [使用 Amazon EC2 啟動精靈建立 Auto Scaling 群組](create-asg-ec2-wizard.md)。

以下程序說明如何透過指定用作啟動其他執行個體之基礎的現有執行個體來建立 Auto Scaling 群組。建立 EC2 執行個體需要多個參數，例如 Amazon Machine Image (AMI) ID、執行個體類型、金鑰對和安全群組。Amazon EC2 Auto Scaling 也會使用所有這些資訊，在需要擴展時代表您啟動執行個體。此資訊存放在啟動範本或啟動組態中。

使用現有執行個體時，Amazon EC2 Auto Scaling 會建立 Auto Scaling 群組，該群組根據同時建立的啟動組態啟動執行個體。新的啟動組態與 Auto Scaling 群組名稱相同，其中包含已識別執行個體的某些組態詳細資訊。

以下組態詳細資訊會從已識別執行個體複製到啟動組態：
+ AMI ID
+ 執行個體類型
+ 金鑰對
+ Security groups (安全群組)
+ IP 地址類型 (公有或私有)
+ IAM 執行個體設定檔 (如果適用)
+ 監控 (true 或 false)
+ EBS 最佳化 (true 或 false)
+ 租用設定 (若在 VPC 中啟動的話 (共享或專用))
+ 核心 ID 和 RAM 磁碟區 ID (如適用)
+ 使用者資料 (若指定) 
+ Spot (最高) 價格

VPC 子網路和可用區域會從已識別的執行個體複製到 Auto Scaling 群組本身的資源定義。

如果該已識別執行個體是位於置放群組，則新 Auto Scaling 群組會將執行個體啟動至與已識別執行個體相同的置放群組。由於啟動組態設定不允許指定置放群組，因此置放群組會複製到新 Auto Scaling 群組的 `PlacementGroup` 屬性。

以下組態詳細資訊不是從已識別執行個體複製的。
+ 儲存：區塊型儲存設備 (EBS 磁碟區和執行個體存放區磁碟區) 不會從已識別執行個體中複製。相對地，作為建立 AMI 的一部分而建立的區塊型設備映射會決定使用哪些設備。
+ 網路介面的數量：網路介面不會從已識別執行個體中複製。相對地，Amazon EC2 Auto Scaling 會使用其預設設定建立一個網路介面，即主要網路介面 (eth0)。
+ 執行個體中繼資料選項：不會從已識別執行個體複製可存取的中繼資料、中繼資料版本和字符回應躍點限制設定。相對地，Amazon EC2 Auto Scaling 會使用其預設設定。如需詳細資訊，請參閱[設定執行個體中繼資料選項](create-launch-config.md#launch-configurations-imds)。
+ 負載平衡器：如果已識別執行個體註冊一或多個負載平衡器，則負載平衡器的相關資訊不會複製到新 Auto Scaling 群組的負載平衡器或目標群組屬性。
+ 標籤：如果已識別執行個體具有標籤，則此標籤並不會複製到新 Auto Scaling 群組的 `Tags` 屬性。

## 先決條件
<a name="create-asg-from-instance-prerequisites"></a>

EC2 執行個體必須符合下列標準：
+ 該執行個體不屬於另一個 Auto Scaling 群組。
+ 執行個體的狀態為 `running`。
+ 用於啟動執行個體的 AMI 必須仍然存在。

## 從 EC2 執行個體 (AWS CLI) 建立 Auto Scaling 群組
<a name="create-asg-from-instance-aws-cli"></a>

下列程序說明如何使用 CLI 命令從 EC2 執行個體建立 Auto Scaling 群組。

此程序不會將執行個體新增到 Auto Scaling 群組。對於要連接的執行個體，您必須在建立 Auto Scaling 群組之後執行 [attach-instances](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/attach-instances.html) 命令。

在開始前，請先使用 Amazon EC2 主控台或 [describe-instances](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/describe-instances.html) 命令找到 EC2 執行個體的 ID。

**使用您目前的執行個體做為範本**
+ 使用以下 [create-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/create-auto-scaling-group.html) 命令，從該 EC2 執行個體 `i-123456789abcdefg0` 建立 Auto Scaling 群組 `my-asg-from-instance`。

  ```
  aws autoscaling create-auto-scaling-group --auto-scaling-group-name my-asg-from-instance \
    --instance-id i-123456789abcdefg0 --min-size 1 --max-size 2 --desired-capacity 2
  ```

**若要驗證已啟動新執行個體的 Auto Scaling 群組**
+ 使用下列 [describe-auto-scaling-groups](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/describe-auto-scaling-groups.html) 命令來確認 Auto Scaling 群組已成功建立。

  ```
  aws autoscaling describe-auto-scaling-groups --auto-scaling-group-name my-asg-from-instance
  ```

  以下範例回應顯示所需的群組容量為 2、群組擁有 2 個執行中的執行個體；另外，啟動組態的名稱為 `my-asg-from-instance`。

  ```
  {
    "AutoScalingGroups":[
      {
        "AutoScalingGroupName":"my-asg-from-instance",
        "AutoScalingGroupARN":"arn",
        "LaunchConfigurationName":"my-asg-from-instance",
        "MinSize":1,
        "MaxSize":2,
        "DesiredCapacity":2,
        "DefaultCooldown":300,
        "AvailabilityZones":[
          "us-west-2a"
        ],
        "LoadBalancerNames":[],
        "TargetGroupARNs":[],
        "HealthCheckType":"EC2",
        "HealthCheckGracePeriod":0,
        "Instances":[
          {
            "InstanceId":"i-34567890abcdef012",
            "InstanceType":"t2.micro",
            "AvailabilityZone":"us-west-2a",
            "LifecycleState":"InService",
            "HealthStatus":"Healthy",
            "LaunchConfigurationName":"my-asg-from-instance",
            "ProtectedFromScaleIn":false
          },
          {
            "InstanceId":"i-012345abcdefg6789",
            "InstanceType":"t2.micro",
            "AvailabilityZone":"us-west-2a",
            "LifecycleState":"InService",
            "HealthStatus":"Healthy",
            "LaunchConfigurationName":"my-asg-from-instance",
            "ProtectedFromScaleIn":false
          }
        ],
        "CreatedTime":"2020-10-28T02:39:22.152Z",
        "SuspendedProcesses":[ ],
        "VPCZoneIdentifier":"subnet-0abc1234",
        "EnabledMetrics":[ ],
        "Tags":[ ],
        "TerminationPolicies":[
          "Default"
        ],
        "NewInstancesProtectedFromScaleIn":false,
        "ServiceLinkedRoleARN":"arn",
        "TrafficSources":[]
      }
    ]
  }
  ```

**若要檢視啟動組態**
+ 使用下列 [describe-launch-configurations](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/describe-launch-configurations.html) 命令來檢視啟動組態的詳細資訊。

  ```
  aws autoscaling describe-launch-configurations --launch-configuration-names my-asg-from-instance
  ```

  下列為範例輸出：

  ```
  {
    "LaunchConfigurations":[
      {
        "LaunchConfigurationName":"my-asg-from-instance",
        "LaunchConfigurationARN":"arn",
        "ImageId":"ami-234567890abcdefgh",
        "KeyName":"my-key-pair-uswest2",
        "SecurityGroups":[
          "sg-12abcdefgh3456789"
        ],
        "ClassicLinkVPCSecurityGroups":[ ],
        "UserData":"",
        "InstanceType":"t2.micro",
        "KernelId":"",
        "RamdiskId":"",
        "BlockDeviceMappings":[ ],
        "InstanceMonitoring":{
          "Enabled":true
        },
        "CreatedTime":"2020-10-28T02:39:22.321Z",
        "EbsOptimized":false,
        "AssociatePublicIpAddress":true
      }
    ]
  }
  ```

**若要終止執行個體**
+ 若您不再需要執行個體，可將它終止。下列 [terminate-instances](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/terminate-instances.html) 命令可終止執行個體 `i-123456789abcdefg0`。

  ```
  aws ec2 terminate-instances --instance-ids i-123456789abcdefg0
  ```

  Amazon EC2 執行個體終止後，就無法再重新啟動該執行個體。終止之後，它的資料會消失，磁碟區也無法連接至任何執行個體。若要進一步了解終止執行個體，請參閱《*Amazon EC2 使用者指南*》中的[終止執行個體](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#terminating-instances-console)。