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

使用 EC2 实例创建 Auto Scaling 组

Auto Scaling 为您提供了一个选项,即通过指定 EC2 实例(而不是启动配置)并指定 Auto Scaling 组的属性(如 EC2 实例的最小、最大和所需数量)创建 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