移轉「自 Auto Scaling」群組以啟動範本 - Amazon EC2 Auto Scaling

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

移轉「自 Auto Scaling」群組以啟動範本

從 2023 年開始,您無法呼叫在 2022 年 12 月 31 日之後發行的新 Amazon EC2 執行個體類型的 CreateLaunchConfiguration。如需詳細資訊,請參閱 啟動組態

若要將 Auto Scaling 群組從啟動設定移轉至啟動範本,請參閱下列步驟。

重要

繼續操作之前,請確認您具備使用啟動範本所需的許可。如需詳細資訊,請參閱 使用啟動範本的權限

步驟 1:尋找使用啟動組態的 Auto Scaling 群組

若要識別您是否有仍使用啟動組態的 Auto Scaling 群組,請使用 AWS CLI執行下列 describe-auto-scaling-groups 命令。將區域取代為您的 AWS 區域.

aws autoscaling describe-auto-scaling-groups --region REGION \ --query 'AutoScalingGroups[?LaunchConfigurationName!=`null`]'

下列為範例輸出。

[ { "AutoScalingGroupName": "group-1", "AutoScalingGroupARN": "arn", "LaunchConfigurationName": "my-launch-config", "MinSize": 1, "MaxSize": 5, "DesiredCapacity": 2, "DefaultCooldown": 300, "AvailabilityZones": [ "us-west-2a", "us-west-2b", "us-west-2c" ], "LoadBalancerNames": [], "TargetGroupARNs": [], "HealthCheckType": "EC2", "HealthCheckGracePeriod": 300, "Instances": [ { "ProtectedFromScaleIn": false, "AvailabilityZone": "us-west-2a", "LaunchConfigurationName": "my-launch-config", "InstanceId": "i-05b4f7d5be44822a6", "InstanceType": "t3.micro", "HealthStatus": "Healthy", "LifecycleState": "InService" }, { "ProtectedFromScaleIn": false, "AvailabilityZone": "us-west-2b", "LaunchConfigurationName": "my-launch-config", "InstanceId": "i-0c20ac468fa3049e8", "InstanceType": "t3.micro", "HealthStatus": "Healthy", "LifecycleState": "InService" } ], "CreatedTime": "2023-03-09T22:15:11.611Z", "SuspendedProcesses": [], "VPCZoneIdentifier": "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782", "EnabledMetrics": [], "Tags": [ { "ResourceId": "group-1", "ResourceType": "auto-scaling-group", "Key": "environment", "Value": "production", "PropagateAtLaunch": true } ], "TerminationPolicies": [ "Default" ], "NewInstancesProtectedFromScaleIn": false, "ServiceLinkedRoleARN": "arn", "TrafficSources": [] }, ... additional groups ... ]

或者,若要移除輸出中含有 Auto Scaling 群組各自啟動組態名稱和標記的 Auto Scaling 群組名稱以外之所有內容,請執行下列命令:

aws autoscaling describe-auto-scaling-groups --region REGION \ --query 'AutoScalingGroups[?LaunchConfigurationName!=`null`].{AutoScalingGroupName: AutoScalingGroupName, LaunchConfigurationName: LaunchConfigurationName, Tags: Tags}'

下面顯示了範例輸出。

[ { "AutoScalingGroupName": "group-1", "LaunchConfigurationName": "my-launch-config", "Tags": [ { "ResourceId": "group-1", "ResourceType": "auto-scaling-group", "Key": "environment", "Value": "production", "PropagateAtLaunch": true } ] }, ... additional groups ... ]

如需篩選的詳細資訊,請參閱《使用指南》中的AWS Command Line Interface 〈篩選 AWS CLI 輸出

步驟 2:將啟動組態複製到啟動範本

您可以依照下列程序將啟動組態複製到啟動範本。然後,您可以將其新增到 Auto Scaling 群組。

複製多個啟動組態會產生相同名稱的啟動範本。若要在複製期間變更指定給啟動範本的名稱,您必須逐一複製啟動組態。

注意

複製功能僅能從主控台使用。

將啟動組態複製到啟動範本 (主控台)
  1. 前往 https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  2. 在左側導覽窗格的自動擴展下,選擇 Auto Scaling 群組

  3. 在頁面頂端附近選擇啟動組態。出現確認提示時,請選擇檢視啟動組態,以確認您要檢視啟動組態頁面。

  4. 選取要複製的啟動組態,然後選擇 Copy to launch template, Copy selected (複製至啟動範本,複製選取部分)。如此會以相同於您選取的啟動組態名稱和選項來設定新的啟動範本。

  5. 對於 New launch template name (新的啟動範本名稱),您可以使用啟動組態的名稱 (預設) 或輸入新的名稱。啟動範本名稱必須是唯一的。

  6. (選用) 選取使用新範本建立 Auto Scaling 群組

    您可以略過此步驟,以完成啟動組態的複製作業。您不需要建立新的 Auto Scaling 群組。

  7. 請選擇 Copy (複製)。

將所有啟動組態複製到啟動範本 (主控台)
  1. 前往網址 https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  2. 在導覽窗格的 Auto Scaling 下方,選擇 Launch Configurations (啟動組態)

  3. 選擇 Copy to launch template, Copy all (複製到啟動範本,複製全部)。這會將目前區域中的每個啟動組態複製到具有相同名稱和選項的新啟動範本。

  4. 請選擇 Copy (複製)。

步驟 3:更新 Auto Scaling 群組以使用啟動範本

建立啟動範本後,您便可以將範本新增至 Auto Scaling 群組。

更新 Auto Scaling 群組以使用啟動範本 (主控台)
  1. 前往網址 https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台,然後從導覽窗格中選擇 Auto Scaling 群組

  2. 選取 Auto Scaling 群組旁的核取方塊。

    頁面底部會開啟一個分割窗格,顯示所選群組的相關資訊。

  3. Details (詳細資訊) 索引標籤上,請依序選擇 Launch configuration (啟動組態) 和 Edit (編輯)。

  4. 選擇 Switch to launch template (切換至啟動範本)。

  5. 針對 Launch Template (啟動範本),選取您的啟動範本。

  6. 針對 Version (版本),請視需要選取啟動範本版本。建立許多啟動範本版本後,您可以在擴展時選擇 Auto Scaling 群組是否使用預設或最新版本的啟動範本。

  7. 選擇更新

更新 Auto Scaling 群組以使用啟動範本 (AWS CLI)

下列 update-auto-scaling-group 命令會更新指定的 Auto Scaling 群組,以便使用指定啟動範本的初始版本。

aws autoscaling update-auto-scaling-group --auto-scaling-group-name my-asg \ --launch-template LaunchTemplateName=my-template-for-auto-scaling,Version='1'

如需使用 CLI 命令更新 Auto Scaling 群組以使用啟動範本的範例,請參閱 更新 Auto Scaling 群組以使用啟動範本

步驟 4:取代您的執行個體

使用啟動範本取代啟動組態後,任何新執行個體都會使用新啟動範本。現有的執行個體不受影響。

若要更新現有執行個體,您可以啟動執行個體重新整理來取代 Auto Scaling 群組中的執行個體,而不是一次手動取代一些執行個體。如需詳細資訊,請參閱 使用執行個體重新整理更新 Auto Scaling 群組中的執行個體。如果群組較大,執行個體重新整理可能特別有用。

或者,您也可以允許自動擴展功能,根據群組的終止政策逐漸將現有的執行個體取代為新執行個體,或是您也可以終止這些執行個體。手動終止會強制 Auto Scaling 群組啟動新執行個體,以維持群組的所需容量。如需詳細資訊,請參閱 Amazon EC2 使用者指南中的終止執行個體。

其他資訊

如需詳細資訊,請參閱 Amazon EC2 Auto Scaling 將不再為 AWS 運算部落格上的啟動組態新增對 EC2 功能的支援

如需如何將 AWS CloudFormation 堆疊從啟動設定移轉至啟動範本的主題,請參閱移轉 AWS CloudFormation 堆疊以啟動範本