Amazon EC2 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 组时,Amazon EC2 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

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 组。

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

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