标签 Auto Scaling 组和实例 - Amazon EC2 Auto Scaling
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

标签 Auto Scaling 组和实例

标签有助于按各种标准对 Auto Scaling 组进行分类,例如按用途、所有者或环境。

您可以为每个 Auto Scaling 组添加多个标签。此外,您可以将 Auto Scaling 组中的标签传播到它启动的 Amazon EC2 实例。通过标记实例,您可以在Amazon账单。有关更多信息,请参阅 Amazon Billing and Cost Management 用户指南中的使用成本分配标签

您还可以控制账户中的哪些 IAM 用户和组拥有创建、编辑或删除标签的权限。有关更多信息,请参阅 控制可以使用哪些标签键和标签值。但请记住,限制您的用户在 Auto Scaling 组上执行标记操作的策略不会防止阻止他们在实例启动后手动更改其上的标签。有关标记(或取消标记)Amazon EC2 资源的 IAM 策略的信息,请参阅示例:为资源添加标签中的适用于 Linux 实例的 Amazon EC2 用户指南.

标签不会传播到 Amazon EBS 卷。要向 Amazon EBS 卷添加标签,请在启动模板中指定标签,但在启动模板中配置实例标签时要小心。如果启动模板使用同样为 Auto Scaling 组指定的密钥指定实例标签,Amazon EC2 Auto Scaling 将使用 Auto Scaling 组指定的值覆盖该实例标签的值。有关在启动模板中指定标签的信息,请参阅为 Auto Scaling 组创建启动模板

标签限制

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

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

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

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

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

  • 标签键和值区分大小写。

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

标记生命周期

如果您选择将标签传播到 Amazon EC2 实例,则按以下方式管理标签:

  • 当 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 组中已经运行的实例进行这些更改。

添加或修改标签(控制台)

使用 Amazon EC2 控制台:

  • 创建 Auto Scaling 组后,将标签添加到这些组

  • 添加、修改或删除现有 Auto Scaling 组的标签

创建时标记 Auto Scaling group

当您使用 Amazon EC2 控制台创建 Auto Scaling 组时,您可以在添加标签页面上的创建 Auto Scaling 组向导。要将标签传播到 Auto Scaling 组中启动的实例,请确保您保持标记新实例。选项,以便选择该标记。否则,您可以取消选择它。

添加或修改现有 Auto Scaling 组的标签

  1. 打开 Amazon EC2 Auto Scaling 控制台:以下网址:https://console.aws.amazon.com/ec2autoscaling/.

  2. 选中 Auto Scaling 组旁边的复选框。

    将在 Auto Scaling groups (Auto Scaling 组) 页面底部打开一个拆分窗格,其中显示有关所选组的信息。

  3. Details (详细信息) 选项卡上,选择 Tags (标签)Edit (编辑)

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

  5. 要添加新标签,请选择 Add tag,然后编辑 KeyValue。您可以保留标记新实例。选中,以便自动将标签添加到在 Auto Scaling 组启动的实例,否则取消选中它。

  6. 添加完标签后,选择 Update (更新)

添加或修改标签 (Amazon CLI)

下面的示例演示如何使用Amazon CLI在您创建 Auto Scaling 组时添加标签,以及添加或修改现有 Auto Scaling 组的标签。

创建时标记 Auto Scaling group

  • 使用create-auto-scaling-group命令创建一个新的 Auto Scaling 组并添加一个标签,例如env=prod添加到 Auto Scaling 组。该标签还会添加到在 Auto Scaling 组中启动的任何实例。

    aws autoscaling create-auto-scaling-group --auto-scaling-group-name my-asg \ --launch-configuration-name my-launch-config --min-size 1 --max-size 3 \ --vpc-zone-identifier "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782" \ --tags Key=env,Value=prod,PropagateAtLaunch=true

创建或修改现有 Auto Scaling 组的标签

  • 使用 create-or-update-tags 命令创建或修改标签。例如,以下命令将添加 Name=my-asgcost-center=cc123 标签。在进行该更改后,还会将标签添加到 Auto Scaling 组中启动的任何实例。如果具有任一键的标签已经存在,则会替换现有标签。Amazon EC2 控制台将每个实例的显示名称与为Name键(区分大小写)。

    aws autoscaling create-or-update-tags \ --tags ResourceId=my-asg,ResourceType=auto-scaling-group,Key=Name,Value=my-asg,PropagateAtLaunch=true \ ResourceId=my-asg,ResourceType=auto-scaling-group,Key=cost-center,Value=cc123,PropagateAtLaunch=true

列出 Auto Scaling 组的所有标签

  • 请使用以下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": "prod", "Key": "env" } ] }
  • 或者,使用以下Auto Scaling group命令以验证是否已将标签添加到 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": "prod", "Key": "env" } ], "EnabledMetrics": [], "LoadBalancerNames": [], "AutoScalingGroupName": "my-asg", ... } ] }

删除标签

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

删除标签 (控制台)

删除标签

  1. 打开 Amazon EC2 Auto Scaling 控制台:以下网址:https://console.aws.amazon.com/ec2autoscaling/.

  2. 选中现有组旁边的复选框。

    将在 Auto Scaling groups (Auto Scaling 组) 页面底部打开一个拆分窗格,其中显示有关所选组的信息。

  3. Details (详细信息) 选项卡上,选择 Tags (标签)Edit (编辑)

  4. 选择标签旁边的 Remove (删除)

  5. 选择 Update

删除标签 (Amazon CLI)

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

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

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