Amazon EC2 Auto Scaling 的手动扩展 - Amazon EC2 Auto Scaling
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Amazon EC2 Auto Scaling 的手动扩展

您可以随时手动更改现有 Auto Scaling 组的大小。您可以更新 Auto Scaling 组的所需容量,或更新附加到 Auto Scaling 组的实例。当不需要自动扩展或需要将容量保持为固定数量的实例时,手动扩展组非常有用。

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

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

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

更改 Auto Scaling 组的大小

  1. 以下网址打开 Amazon EC2 Auto Scaling 控制台:https://console.aws.amazon.com/ec2autoscaling/.

  2. 选中 Auto Scaling 组旁的复选框。

    将在 Auto Scaling groups (Auto Scaling 组) 页面底部打开一个拆分窗格,其中显示有关所选组的信息。

  3. Details (详细信息) 选项卡上,选择 Group details (组详细信息)Edit (编辑)

  4. 对于 Desired capacity (所需容量),请将所需容量增加一。例如,如果当前值是 1,请输入 2

    理想容量必须小于或等于组的最大容量。如果 Desired capacity (所需容量) 的新值大于 Maximum capacity (最大容量),则必须更新 Maximum capacity (最大容量)

  5. 完成后,选择 Update (更新)

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

验证 Auto Scaling 组的大小是否已更改

  1. Activity (活动) 选项卡上的 Activity history (活动历史状态) 中,Status (状态) 列显示实例的当前状态。使用刷新按钮,直到您看到实例的状态更改为 Successful (成功)。这表明 Auto Scaling 组已成功启动新实例。

    注意

    如果实例无法启动,您可以在Amazon EC2 Auto Scaling中找到问题排查提示。

  2. Instance management (实例管理) 选项卡的 Instances (实例) 中,Lifecycle (生命周期) 列显示实例的状态。启动实例只需很短的时间。实例启动后,其状态将更改为 InService。您可以看到您的 Auto Scaling 组已启动1新实例,并且它位于InService状态。

更改 Auto Scaling 组的大小Amazon CLI)

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

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

更改 Auto Scaling 组的大小

使用设置所需容量命令更改 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 组的大小

使用Auto Scaling 组命令确认 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 组已启动一个额外的实例。