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

标记 Auto Scaling 组和实例

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

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

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

标签限制

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

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

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

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

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

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

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

创建或更新 Auto Scaling 组时,您可以创建标签并分配给 Auto Scaling 组。您可以随时删除 Auto Scaling 组标签。有关在您创建 Auto Scaling 组时分配标签的信息,请参阅Create Auto Scaling Group

标记生命周期

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

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

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

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

  • 在手动收缩或 Auto Scaling 自动收缩时,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 Groups

  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 组中启动的实例。如果具有此键的标签已经存在,则会替换现有标签。

Copy
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 组的标签。

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

Copy
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 Groups

  3. 选择您的 Auto Scaling 组。

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

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

  6. 选择 Save

使用 AWS CLI删除标签

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

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

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