

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

# 使用啟動組態建立 Auto Scaling 群組
<a name="create-auto-scaling-groups-launch-configuration"></a>

**重要**  
限制:  
自 **2023 年 1 月 **1 日起，啟動組態不再支援新的 Amazon EC2 執行個體類型。這包括支援在初始區域啟動 AWS 區域 後新增至 的任何執行個體類型。
在 **2023 年 6 月 1** 日當天或之後建立的帳戶無法使用 主控台建立新的啟動組態。
**2024 年 10 月 1** 日當天或之後建立的帳戶無法使用任何方法 （主控台 AWS CLI、API 或 CloudFormation) 建立新的啟動組態。
 遷移以啟動範本，以確保您現在或未來不需要建立新的啟動組態。如需將 Auto Scaling 群組遷移至啟動範本的資訊，請參閱 [遷移 Auto Scaling 群組以啟動範本](migrate-to-launch-templates.md)。

如果您已建立啟動組態或 EC2 執行個體，則可以建立將啟動組態用作其 EC2 執行個體的組態範本的 Auto Scaling 群組。啟動組態指定了執行個體的 AMI ID、執行個體類型、金鑰對、安全群組和區塊型裝置映射等資訊。如需建立啟動組態的資訊，請參閱 [建立啟動組態](create-launch-config.md)。

您必須擁足夠的權限來建立 Auto Scaling 群組。您還必須擁有足夠的權限來建立 Amazon EC2 Auto Scaling 用於代表您執行動作的服務連結角色 (如果該角色尚不存在)。有關管理員授予您權限時可用作參考的 IAM 政策範例，請參閱 [身分型政策範例](security_iam_id-based-policy-examples.md)。

**Topics**
+ [使用啟動組態建立 Auto Scaling 群組](create-asg-launch-configuration.md)
+ [使用 從現有執行個體建立 Auto Scaling 群組 AWS CLI](create-asg-from-instance.md)

# 使用啟動組態建立 Auto Scaling 群組
<a name="create-asg-launch-configuration"></a>

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

建立 Auto Scaling 群組時，您必須指定必要資訊，以設定 Amazon EC2 執行個體、執行個體的可用區域和 VPC 子網路、所需的容量以及最小和最大容量限制。

下列程序示範如何使用啟動組態建立 Auto Scaling 群組。在啟動組態建立後，您不能對它進行修改，但可以利用 Auto Scaling 群組取代啟動組態。如需詳細資訊，請參閱[變更 Auto Scaling 群組的啟動組態](change-launch-config.md)。

**先決條件**
+ 您必須已經建立啟動組態。如需詳細資訊，請參閱[建立啟動組態](create-launch-config.md)。

**若要使用啟動組態建立 Auto Scaling 群組 (主控台)**

1. 前往網址 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) 開啟 Amazon EC2 主控台，然後從導覽窗格中選擇 **Auto Scaling 群組**。

1. 在畫面頂端的導覽列上，選擇 AWS 區域 您在建立啟動組態時所使用的相同 。

1. 選擇**建立 Auto Scaling 群組**。

1. 在**選擇啟動範本或組態**頁面上，針對**Auto Scaling 群組名稱**，請輸入 Auto Scaling 群組的名稱。

1. 選擇啟動組態，請執行下列動作：

   1. 對於 **Launch Template** (啟動範本)，選擇 **Switch to launch configuration** (切換至啟動組態)。

   1. 對於 **Launch configuration** (啟動組態)，選擇現有的啟動組態。

   1. 確認您的啟動組態支援您打算使用的所有選項，然後選擇 **Next** (下一步)。

1. 在 (配置設定) **Configure instance launch options** (設定執行個體啟動選項) 頁面，**Network** (網路) 下，對於 **VPC**，選擇 VPC。Auto Scaling 群組必須與您在啟動組態中指定的安全群組建立在同一個 VPC 中。

1. 對於 (子網路)、**Availability Zones and subnets** (可用區域和子網路)，請選擇指定 VPC 中的一個或多個子網路。在多個可用區域中，請使用子網路，以獲得高可用性。如需詳細資訊，請參閱[選擇 VPC 子網路時的注意事項](asg-in-vpc.md#as-vpc-considerations)。

1. 選擇**下一步**。

   或者，您可以接受其他的預設值，然後選擇 **Skip to review** (跳過以進行檢閱)。

1. (選用) 在 **Configure advanced options** (設定進階選項) 頁面上，設定下列選項，然後選擇 **Next** (下一步)：

   1. （選用） 對於**運作狀態檢查**、**其他運作狀態檢查類型**，選取**開啟 Amazon EBS 運作狀態檢查**。如需詳細資訊，請參閱[使用運作狀態檢查監控 Amazon EBS 磁碟區受損的 Auto Scaling 執行個體](monitor-and-replace-instances-with-impaired-ebs-volumes.md)。

   1. (選用) 針對**運作狀態檢查寬限期**，輸入時長，以秒為單位。此時間量是 Amazon EC2 Auto Scaling 在進入 `InService` 狀態後檢查執行個體的運作狀態所需的等待時間。如需詳細資訊，請參閱[設定 Auto Scaling 群組的運作狀態檢查寬限期。](health-check-grace-period.md)。

   1. 在 **Additional settings** (其他設定)、**Monitoring** (監控) 下，選擇是否啟用 CloudWatch 群組指標收集。這些指標提供了可作為潛在問題之指標的度量，例如終止執行個體數量或擱置執行個體的數量。如需詳細資訊，請參閱[監控 Auto Scaling 群組和執行個體的 CloudWatch 指標](ec2-auto-scaling-cloudwatch-monitoring.md)。

   1. 針對**啟用預設執行個體暖機**期，選取此選項，然後選擇應用程式的暖機期。如果您正在建立具有擴展政策的 Auto Scaling 群組，則預設執行個體暖機功能會改進用於動態擴展的 Amazon CloudWatch 指標。如需詳細資訊，請參閱[設定 Auto Scaling 群組的預設執行個體暖機期](ec2-auto-scaling-default-instance-warmup.md)。

1. (選用) 在 **Configure group size and scaling policies** (設定群組大小和擴展政策) 頁面上，設定下列選項，然後選擇 **Next** (下一步)：

   1. 針對**所需容量**，在**群組大小**下輸入要啟動之執行個體的初始數量。

   1. 在**擴展**區段的**擴展限制**下，如果**所需容量**的新值大於**所需容量下限**和**所需容量上限**，則**所需容量上限**會自動增加到新的所需容量值。您可視需要變更這些限制。如需詳細資訊，請參閱[設定 Auto Scaling 群組的擴展限制](asg-capacity-limits.md)。

   1. 針對 **Automatic scaling**，選擇是否要建立目標追蹤擴展政策。您也可以在建立 Auto Scaling 群組後建立此政策。

      如果您選擇**目標追蹤擴展政策**，請依照 [建立目標追蹤擴展政策](policy_creating.md) 中的指示建立政策。

   1. 針對**執行個體維護政策**，選擇是否要建立執行個體維護政策。您也可以在建立 Auto Scaling 群組後建立此政策。請遵循 [設定執行個體維護政策](set-instance-maintenance-policy.md) 中的指示建立政策。

   1. 在 **Instance scale-in protection** (執行個體縮減保護) 下，選擇是否啟用執行個體縮減保護。如需詳細資訊，請參閱 [使用執行個體縮減保護來控制執行個體終止](ec2-auto-scaling-instance-protection.md)。

1. (選用) 若想接收通知，請針對 **Add notification** (新增通知) 設定通知，然後選擇 **Next** (下一步)。如需詳細資訊，請參閱[Amazon EC2 Auto Scaling 的 Amazon SNS 通知選項 Amazon EC2 Auto Scaling](ec2-auto-scaling-sns-notifications.md)。

1. (選用) 若要新增標籤，選取 **Add tag (新增標籤)**、提供每個標籤的標籤鍵和標籤值，然後選擇 **Next (下一步)**。如需詳細資訊，請參閱[標記 Auto Scaling 群組和執行個體](ec2-auto-scaling-tagging.md)。

1. 在 **Review** (檢閱) 頁面上，選擇 **Create Auto Scaling group** (建立 Auto Scaling 群組)。

**使用命令列建立 Auto Scaling 群組**

您可以使用下列其中一項命令：
+ [create-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/create-auto-scaling-group.html) (AWS CLI)
+ [New-ASAutoScalingGroup](https://docs.aws.amazon.com/powershell/latest/reference/items/New-ASAutoScalingGroup.html) (AWS Tools for Windows PowerShell)

# 使用 從現有執行個體建立 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)。