使用 EC2 執行個體建立 Auto Scaling 群組 - Amazon EC2 Auto Scaling

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

使用 EC2 執行個體建立 Auto Scaling 群組

建立 Auto Scaling 群組可能需要您先設定和配置 Amazon EC2 執行個體。例如,您可能想要測試一切是否如您預期運作。若要建立 EC2 執行個體,需要多個屬性,例如 AMI ID、執行個體類型、金鑰對和安全群組。需要擴展時,Amazon EC2 Auto Scaling 也需要所有此資訊來代表您推出執行個體。此資訊儲存在發行範本或發行組態中。

您可以使用現有 EC2 執行個體以三種方法之一建立 Auto Scaling 群組。

  • 從現有的 EC2 執行個體建立推出範本。然後使用發行範本建立新的 Auto Scaling 群組。對於此程序,請查看 從現有執行個體建立推出範本 (主控台)

  • 使用主控台從執行中的 EC2 執行個體建立 Auto Scaling 群組。當您執行此作業時,Amazon EC2 Auto Scaling 會為您建立推出組態,並將其與 Auto Scaling 群組建立關聯。如果要將執行個體新增到新的 Auto Scaling 群組,而該群組可由 Amazon EC2 Auto Scaling 管理,則此方法非常有效。如需詳細資訊,請參閱「將 EC2 執行個體連接到您的 Auto Scaling 群組.

  • 在建立 Auto Scaling 群組的 API 呼叫中指定現有 EC2 執行個體的 ID。此方法是下列程序的主旨。

當您指定現有執行個體的 ID 時,Amazon EC2 Auto Scaling 會為您建立發行組態,並將其與 Auto Scaling 群組建立關聯。此發行組態的名稱與 Auto Scaling 群組相同,而且會從指定的執行個體衍生其屬性,包括 AMI ID、執行個體類型、金鑰對和安全群組。區塊型儲存設備來自用來起始執行個體的 AMI,而非執行個體。

限制與事前準備

使用下列程序從 EC2 執行個體建立 Auto Scaling 群組時,會有下列限制:

  • 如果已識別的執行個體具有標籤,則此標籤並不會複製到新 Tags 群組的 Auto Scaling 屬性。

  • 群組包括了來自可用來推出執行個體的 AMI 的區塊型設備映射。Auto Scaling它不包含執行個體推出後連接的任何區塊型儲存設備。

  • 如果已識別的執行個體註冊一個或多個負載平衡器,則負載平衡器的相關資訊不會複製到新 Auto Scaling 群組的負載平衡器或目標群組屬性。

在開始前,請先使用 Amazon EC2 主控台或 describe-instances 命令 (AWS CLI).) 找到 EC2 執行個體的 ID。EC2 執行個體必須符合下列標準:

  • 該執行個體位於您要建立 Auto Scaling 群組的子網路和可用區域中。

  • 該執行個體非為另一個 Auto Scaling 群組的一員。

  • 執行個體的狀態為 running

  • 用來執行執行個體的 AMI 必須仍然存在。

從 EC2 執行個體建立 Auto Scaling 群組 (AWS CLI)

下列範例示範如何使用 AWS CLI 從 EC2 執行個體建立 Auto Scaling 群組。

從 EC2 執行個體建立 Auto Scaling 群組

  • 使用以下 create-auto-scaling-group 命令,從 EC2 執行個體 Auto Scaling 建立 my-asg-from-instance 群組 i-0e69cc3f05f825f4f

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

驗證您的 Auto Scaling 群組是否已推出執行個體

  • 使用以下 describe-auto-scaling-groups 命令,確認已成功建立 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-06905f55584de02da", "InstanceType":"t2.micro", "AvailabilityZone":"us-west-2a", "LifecycleState":"InService", "HealthStatus":"Healthy", "LaunchConfigurationName":"my-asg-from-instance", "ProtectedFromScaleIn":false }, { "InstanceId":"i-087b42219468eacde", "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-6bea5f06", "EnabledMetrics":[ ], "Tags":[ ], "TerminationPolicies":[ "Default" ], "NewInstancesProtectedFromScaleIn":false, "ServiceLinkedRoleARN":"arn" } ] }

檢視推出組態

  • 使用下列 describe-launch-configurations 命令檢視發行組態的詳細資訊。

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

    下列為範例輸出:

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

終止執行個體