Auto Scaling
用户指南
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。点 击 Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

手动扩展

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

使用控制台更改 Auto Scaling 组的大小

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

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

更改 Auto Scaling 组的大小

  1. 打开 Amazon EC2 控制台 https://console.amazonaws.cn/ec2/

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

  3. 选择您的 Auto Scaling 组。

  4. Details 选项卡上,选择 Edit

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

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

    完成后,选择 Save

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

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

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

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

使用 AWS CLI 更改 Auto Scaling 组的大小

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

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

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

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

默认情况下,此命令不等待为该组指定的冷却时间完成。您可以通过指定 –-honor-cooldown 选项来覆盖默认行为并等待冷却时间完成,如以下示例所示。有关更多信息,请参阅 Auto Scaling 冷却时间

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

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

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

作为响应,Auto Scaling 提供关于组和已启动实例的详细信息。该响应类似于以下示例:

{
    "AutoScalingGroups": [
        {
            "AutoScalingGroupARN": "arn",
            "HealthCheckGracePeriod": 300,
            "SuspendedProcesses": [],
            "DesiredCapacity": 2,
            "Tags": [],
            "EnabledMetrics": [],
            "LoadBalancerNames": [],
            "AutoScalingGroupName": "my-asg",
            "DefaultCooldown": 300,
            "MinSize": 1,
            "Instances": [
                {
                    "InstanceId": "i-33388a3f",
                    "AvailabilityZone": "us-west-2a",
                    "HealthStatus": "Healthy",
                    "LifecycleState": "InService",
                    "LaunchConfigurationName": "my-lc"
                }
            ],
            "MaxSize": 5,
            "VPCZoneIdentifier": "subnet-e4f33493",
            "TerminationPolicies": [
                "Default"
            ],
            "LaunchConfigurationName": "my-lc",
            "CreatedTime": "2014-12-12T23:30:42.611Z",
            "AvailabilityZones": [
                "us-west-2a"
            ],
            "HealthCheckType": "EC2"
        }
    ]
}

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