Amazon EC2 Auto Scaling
用户指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

标记 Auto Scaling 组和实例

通过以标签 的形式将自己的元数据分配给每个组,您可以对 Auto Scaling 组进行组织和管理。可为每个标签指定。键可以是具有特定关联值的一般类别,例如“project”、“owner”或“environment”。例如,要区分测试环境和生产环境,您可以为每个 Auto Scaling 组分配一个标签,其键为“environment”,值为“test”(指示测试环境) 或“production”(指示生产环境)。建议您使用一组具有一致性的标签来更轻松地跟踪您的 Auto Scaling 组。

您可以指定应将 Auto Scaling 组的标签添加到它启动的 EC2 实例。当实例处于 Pending 生命周期状态时,Auto Scaling 组将应用标签。如果您具有生命周期挂钩,则标签在实例进入 Pending:Wait 生命周期状态时可用。有关更多信息,请参阅 Auto Scaling 生命周期

通过标记 EC2 实例,您可以在 AWS 账单中按标签查看实例成本分配。有关更多信息,请参阅 AWS Billing and Cost Management 用户指南 中的使用成本分配标签

标签限制

下面是适用于标签的基本限制:

  • 每个资源的最大标签数是 50。

  • 可以使用单个调用添加或删除的标签的最大数目为 25。

  • 最大键长度为 127 个 Unicode 字符。

  • 最大值长度为 255 个 Unicode 字符。

  • 标签密钥和值要区分大小写。

  • 请勿在标签名称或值中使用 aws: 前缀,因为它预留给 AWS 使用。您不能编辑或删除具有此前缀的标签名称或值,它们不计入每个 Auto Scaling 组的标签数限制。

您可以在创建或更新 Auto Scaling 组时向其添加标签。可以随时删除 Auto Scaling 组的标签。有关在您创建 Auto Scaling 组时分配标签的信息,请参阅步骤 2:创建 Auto Scaling 组

标记生命周期

如果您选择将标签传播到您的 Auto Scaling 实例,标签是通过以下方式进行管理的:

  • Auto Scaling 组在启动实例时,将向实例添加标签。此外,它还添加关键字为 aws:autoscaling:groupName、值为 Auto Scaling 组名称的标签。

  • 您在附加现有实例时,Auto Scaling 组就会向这些实例添加标签,覆盖具有相同标签关键字的现有标签。此外,它还添加关键字为 aws:autoscaling:groupName、值为 Auto Scaling 组名称的标签。

  • 将实例从 Auto Scaling 组中分离时,它仅删除 aws:autoscaling:groupName 标签。

  • 在您手动收缩或 Auto Scaling 组自动收缩时,它会删除将要终止的实例的所有标签。

对 Auto Scaling 组添加或修改标签

当您向 Auto Scaling 组添加标签时,可以指定是否应将其添加到在 Auto Scaling 组中启动的实例。如果修改标签,在更改后,标签的更新版本将添加到在 Auto Scaling 组中启动的实例。如果创建或修改 Auto Scaling 组的标签,不会对已经在 Auto Scaling 组中运行的实例进行这些更改。

使用 AWS 管理控制台添加或修改标签

使用 Amazon EC2 控制台添加或修改标签。

添加或修改标签

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

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

  3. 选择您的 Auto Scaling 组。

  4. Tags 选项卡上,选择 Add/Edit tagsAdd/Edit Auto Scaling Group Tags 页面列出了 Auto Scaling 组的任何现有标签。

  5. 要修改现有标签,请编辑 KeyValue

  6. 要添加新标签,请选择 Add tag,然后编辑 KeyValue。您可以使 Tag New Instances 保持选中状态,以便自动将标签添加到在 Auto Scaling 组启动的实例,否则取消选中它。

  7. 添加完标签后,选择 Save

使用 AWS CLI 添加或修改标签

使用 create-or-update-tags 命令创建或修改标签。例如,以下命令添加键为“environment”、值为“test”的标签,在进行此更改后,该标签还将被添加到在 Auto Scaling 组中启动的实例。如果具有此键的标签已经存在,则会替换现有标签。

aws autoscaling create-or-update-tags --tags "ResourceId=my-asg,ResourceType=auto-scaling-group,Key=environment,Value=test,PropagateAtLaunch=true"

以下为响应示例:

OK-Created/Updated tags

使用以下 describe-tags 命令来列出用于指定 Auto Scaling 组的标签。

aws autoscaling describe-tags --filters Name=auto-scaling-group,Values=my-asg

以下为响应示例:

{ "Tags": [ { "ResourceType": "auto-scaling-group", "ResourceId": "my-asg", "PropagateAtLaunch": true, "Value": "test", "Key": "environment" } ] }

或者,使用以下 describe-auto-scaling-groups 命令来验证是否已将标签添加到了 Auto Scaling 组。

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

以下为响应示例:

{ "AutoScalingGroups": [ { "AutoScalingGroupARN": "arn", "HealthCheckGracePeriod": 0, "SuspendedProcesses": [], "DesiredCapacity": 1, "Tags": [ { "ResourceType": "auto-scaling-group", "ResourceId": "my-asg", "PropagateAtLaunch": true, "Value": "test", "Key": "environment" } ], "EnabledMetrics": [], "LoadBalancerNames": [], "AutoScalingGroupName": "my-asg", ... } ] }

删除标签

您可以随时删除与 Auto Scaling 组关联的标签。

使用 AWS 管理控制台删除标签

使用控制台删除标签

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

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

  3. 选择您的 Auto Scaling 组。

  4. Tags 选项卡上,选择 Add/Edit tagsAdd/Edit Auto Scaling Group Tags 页面列出了 Auto Scaling 组的任何现有标签。

  5. 选择标签旁边的删除图标。

  6. 选择 Save

使用 AWS CLI删除标签

使用 delete-tags 命令删除标签。例如,以下命令删除键为“environment”的标签。

aws autoscaling delete-tags --tags "ResourceId=my-asg,ResourceType=auto-scaling-group,Key=environment"

注意,您必须指定标签键,但无需指定值。如果您指定了一个值,并且该值不正确,则不会删除标签。