Auto Scaling
用户指南
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。请点击 Amazon AWS 入门,可查看中国地区的具体差异

使用 EC2 实例创建 Auto Scaling 组

创建 Auto Scaling 组时,您必须指定配置 Auto Scaling 实例所需的信息以及您的组必须始终保持的最小实例数。

要配置 Auto Scaling 实例,您可以指定启动配置、启动模板或 EC2 实例。以下过程演示如何使用 EC2 实例创建 Auto Scaling 组。要使用启动配置或启动模板,请参阅使用启动配置创建 Auto Scaling 组使用启动模板创建 Auto Scaling 组

当您使用 EC2 实例创建 Auto Scaling 组时,Auto Scaling 自动创建启动配置并将其与 Auto Scaling 组关联。该启动配置的名称与 Auto Scaling 组相同,同时它从指定实例派生其属性,如 AMI ID、实例类型和可用区。

限制

以下是使用 EC2 实例创建 Auto Scaling 组的限制条件:

  • 如果识别的实例有标签,标签不会复制到新 Auto Scaling 组的 Tags 属性。

  • Auto Scaling 组包括 AMI 的块储存设备映射,用来启动实例;不包括实例启动后挂载的任何块储存设备。

  • 如果识别的实例在一个以上的负载均衡器注册,负载均衡器名称不会复制到新 Auto Scaling 组的 LoadBalancerNames 属性。

先决条件

开始之前,请使用 Amazon EC2 控制台或者 describe-instances 命令 (AWS CLI) 查找 EC2 实例的 ID。EC2 实例必须符合以下标准:

  • 实例位于您要创建 Auto Scaling 组的可用区中。

  • 实例不是其他 Auto Scaling 组的成员。

  • 实例处于 running 状态。

  • 用于启动实例的 AMI 必须仍然存在。

通过控制台使用 EC2 实例创建 Auto Scaling 组

您可以使用该控制台从运行中的 EC2 实例创建一个 Auto Scaling 组并将该实例添加到新的 Auto Scaling 组。有关更多信息,请参阅 将 EC2 实例附加到 Auto Scaling 组

使用 AWS CLI 从 EC2 实例创建 Auto Scaling 组

使用以下 create-auto-scaling-group 命令,从 EC2 实例 i-7f12e649 创建 Auto Scaling 组 my-asg-from-instance

Copy
aws autoscaling create-auto-scaling-group --auto-scaling-group-name my-asg-from-instance --instance-id i-7f12e649 --min-size 1 --max-size 2 --desired-capacity 2

使用以下 describe-auto-scaling-groups 命令可创建 Auto Scaling 组。

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

如以下示例响应所示,该组的所需容量为 2,有 2 个运行实例,启动配置同样命名为my-asg-from-instance

{
    "AutoScalingGroups": [
        {
            "AutoScalingGroupARN": "arn",
            "HealthCheckGracePeriod": 0,
            "SuspendedProcesses": [],
            "DesiredCapacity": 2,
            "Tags": [],
            "EnabledMetrics": [],
            "LoadBalancerNames": [],
            "AutoScalingGroupName": "my-asg-from-instance",
            "DefaultCooldown": 300,
            "MinSize": 1,
            "Instances": [
                {
                    "InstanceId": "i-6bd79d87",
                    "AvailabilityZone": "us-west-2a",
                    "HealthStatus": "Healthy",
                    "LifecycleState": "InService",
                    "LaunchConfigurationName": "my-asg-from-instance"
                },
                {
                    "InstanceId": "i-6cd79d80",
                    "AvailabilityZone": "us-west-2a",
                    "HealthStatus": "Healthy",
                    "LifecycleState": "InService",
                    "LaunchConfigurationName": "my-asg-from-instance"
                }
            ],
            "MaxSize": 2,
            "VPCZoneIdentifier": "subnet-6bea5f06",
            "TerminationPolicies": [
                "Default"
            ],
            "LaunchConfigurationName": "my-asg-from-instance",
            "CreatedTime": "2014-12-29T16:14:50.397Z",
            "AvailabilityZones": [
                "us-west-2a"
            ],
            "HealthCheckType": "EC2"
        }
    ]
}

使用以下 describe-launch-configs 命令描述启动配置 my-asg-from-instance

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