Amazon EC2 Auto Scaling
用户指南

Amazon EC2 Auto Scaling 的手动扩展

您可以随时手动更改现有 Auto Scaling 组的大小。您可以更新 Auto Scaling 组的所需容量,或更新附加到 Auto Scaling 组的实例。

更改您的 Auto Scaling 组的大小(控制台)

在更改 Auto Scaling 组的大小时,Amazon EC2 Auto Scaling 将管理启动或终止实例的过程以维护新的组大小。

以下示例假设您创建了一个 Auto Scaling 组,该组的最小大小为 1,最大大小为 5。因此,该组目前正在运行的实例是 1 个。

更改 Auto Scaling 组的大小

  1. 打开 Amazon EC2 控制台 https://console.aws.amazon.com/ec2/

  2. 在导航窗格上的 Auto Scaling 下,选择 Auto Scaling Groups (Auto Scaling 组)

  3. 选择您的 Auto Scaling 组。

  4. Details 选项卡上,选择 Edit

  5. 对于 Desired,将所需容量增加一。例如,如果当前值是 1,请键入 2

    理想容量必须小于或等于组的最大容量。如果您的 Desired 新值大于 Max,则必须更新 Max

    完成后,选择 Save

接下来,验证 Auto Scaling 组是否已另外启动一个实例。

验证 Auto Scaling 组的容量是否已更改

  1. Activity History 选项卡上,Status 列显示实例的当前状态。您可以使用刷新按钮,直至实例的状态更改为成功,这表示您的 Auto Scaling 组已成功启动新实例。

  2. Instances 选项卡上,Lifecycle 列显示实例的状态。启动实例只需很短的时间。实例启动后,其状态将更改为 InService。您可以看到 Auto Scaling 组启动了 1 个新实例,并且实例处于 InService 状态。

更改您的 Auto Scaling 组的大小 (AWS CLI)

在更改 Auto Scaling 组的大小时,Amazon EC2 Auto Scaling 将管理启动或终止实例的过程以维护新的组大小。默认设置是不等待默认冷却时间完成,但您可以覆盖默认行为并等待冷却时间完成。有关更多信息,请参阅适用于 Amazon EC2 Auto Scaling 的扩展冷却时间

以下示例假设您创建了一个 Auto Scaling 组,该组的最小大小为 1,最大大小为 5。因此,该组目前正在运行的实例是 1 个。

更改 Auto Scaling 组的大小

使用 set-desired-capacity 命令更改 Auto Scaling 组的大小,如以下示例所示。

aws autoscaling set-desired-capacity --auto-scaling-group-name my-asg \ --desired-capacity 2

如果您选择遵守 Auto Scaling 组的默认冷却时间,必须指定 –-honor-cooldown 选项,如以下示例所示。

aws autoscaling set-desired-capacity --auto-scaling-group-name my-asg \ --desired-capacity 2 --honor-cooldown

验证 Auto Scaling 组的大小

使用 describe-auto-scaling-groups 命令确认 Auto Scaling 组大小已更改,如以下示例所示:

aws autoscaling describe-auto-scaling-groups --auto-scaling-group-name my-asg

以下是示例输出,包含关于组和已启动实例的详细信息。

{ "AutoScalingGroups": [ { "AutoScalingGroupARN": "arn", "ServiceLinkedRoleARN": "arn", "TargetGroupARNs": [], "SuspendedProcesses": [], "LaunchTemplate": { "LaunchTemplateName": "my-launch-template", "Version": "1", "LaunchTemplateId": "lt-050555ad16a3f9c7f" }, "Tags": [], "EnabledMetrics": [], "LoadBalancerNames": [], "AutoScalingGroupName": "my-asg", "DefaultCooldown": 300, "MinSize": 1, "Instances": [ { "ProtectedFromScaleIn": false, "AvailabilityZone": "us-west-2a", "LaunchTemplate": { "LaunchTemplateName": "my-launch-template", "Version": "1", "LaunchTemplateId": "lt-050555ad16a3f9c7f" }, "InstanceId": "i-05b4f7d5be44822a6", "HealthStatus": "Healthy", "LifecycleState": "Pending" }, { "ProtectedFromScaleIn": false, "AvailabilityZone": "us-west-2a", "LaunchTemplate": { "LaunchTemplateName": "my-launch-template", "Version": "1", "LaunchTemplateId": "lt-050555ad16a3f9c7f" }, "InstanceId": "i-0c20ac468fa3049e8", "HealthStatus": "Healthy", "LifecycleState": "InService" } ], "MaxSize": 5, "VPCZoneIdentifier": "subnet-c87f2be0", "HealthCheckGracePeriod": 300, "TerminationPolicies": [ "Default" ], "CreatedTime": "2019-03-18T23:30:42.611Z", "AvailabilityZones": [ "us-west-2a" ], "HealthCheckType": "EC2", "NewInstancesProtectedFromScaleIn": false, "DesiredCapacity": 2 } ] }

注意 DesiredCapacity 显示了新值。Auto Scaling 组已启动实例。