标签 - AWS OpsWorks

标签

标签可以帮助您对 Chef 11.10、Chef 12 和 Chef 12.2 堆栈中的资源进行分组,并跟踪在 AWS Billing and Cost Management 中使用这些资源的成本。

您可以在堆栈和层级别应用标签。当您创建一个标签后,您将对标记的结构范围内的每个资源应用该标签。例如,如果您向某个层应用标签,该标签将应用于层中的每个实例、Amazon EBS 卷(不包括根)或 Elastic Load Balancing 负载均衡器。标签当前不能应用于实例的根,或默认的 EBS 卷。

标签是您分配给 AWS OpsWorks Stacks 中堆栈或层的键值对。创建标签后,打开 Billing and Cost Management 控制台以激活用户定义的标签。有关如何激活标签以及用其跟踪和管理 AWS OpsWorks Stacks 资源成本的更多信息,请参阅 Billing and Cost Management 用户指南 中的使用成本分配标签激活用户定义的成本分配标签

标签的工作方式类似于 AWS OpsWorks Stacks 中的自定义属性。您应用于堆栈的标签将由该堆栈中的每个层继承。在层级别,您可以覆盖所继承标签的值(而不是键名称)并添加新层特定的标签。AWS OpsWorks 将生成的标签集应用于该层中的所有资源。当您创建新资源或将现有资源分配到某个层时,该层中的新资源将用相同的标签集进行标记。

在堆栈级别设置标签

在堆栈级别,您可以通过在堆栈主页上选择 Tags 来添加和管理标签。

Tags 页面上,将标签添加为键值对。以下屏幕截图显示了一些示例标签。您可以通过选择键值对右侧的红色 X 来删除标签。

在层级别设置标签

在层级别,通过选择 Tags 选项卡来设置标签。您可以在 Layers (层) 主页以及每个层的主页上找到此选项卡。

在层级别更改或添加标签时,请注意,已在父堆栈级别添加的标签将由该层及其资源继承。虽然您可以更改继承标签的值,但无法更改键名称或删除继承标签。可在堆栈设置中更改键名称或删除从父堆栈继承的标签。以下屏幕截图显示了从堆栈级别继承的标签示例。继承标签将灰显。

有关向堆栈添加标签的更多信息,请参阅创建新堆栈。有关向层添加标签的更多信息,请参阅编辑 OpsWorks 层 的配置

使用 AWS CLI 管理标签

您也可以使用 AWS CLI 命令在堆栈和层级别添加和删除标签。有关下载和安装 AWS CLI 的更多信息,请参阅安装 AWS 命令行界面。请记住,如果要标记的堆栈不在默认区域内,则将 --region 参数添加到您的命令中。层 ARN 当前不显示在 AWS 管理控制台 中。要获取层的 ARN,请运行 describe-layers 命令。

使用 AWS CLI 添加标签

  • 在 AWS CLI 命令提示符处,键入以下命令以替换 stack_or_layer_ARN 并指定键值对标签,然后按 Enter。使用反斜杠转义双引号。

    aws opsworks tag-resource --resource-arn stack_or_layer_ARN --tags "{\"key\":\"value\",\"key\":\"value\"}"

    以下是示例。

    aws opsworks tag-resource --resource-arn arn:aws:opsworks:us-east-2:800000000003:stack/500b99c0-ec00-4cgg-8a0d-1000000jjd1b --tags "{\"Stage\":\"Production\",\"Organization\":\"Mobile\"}"

使用 AWS CLI 删除标签

  • 在 AWS CLI 命令提示符处,键入以下命令,然后按 Enter

    aws opsworks untag-resource --resource-arn stack_or_layer_ARN --tag-keys "[\"key\",\"key\"]"

    要删除标签,您只需指定要删除的标签的键即可。以下是示例。

    aws opsworks untag-resource --resource-arn arn:aws:opsworks:us-east-2:800000000003:stack/500b99c0-ec00-4cgg-8a0d-1000000jjd1b --tag-keys "[\"Stage\",\"Organization\"]"
    注意

    您无法从层中删除继承的标签 (在父堆栈级别添加的标签);应该从堆栈中删除继承的标签。

标签限制

创建标签时,请注意以下限制。

  • AWS OpsWorks Stacks 将堆栈和层级别的用户定义标签的数量限制为 40 个,包括从父级别继承的用户定义标签。这为前缀为 opsworks: 的默认标签以及由其他 AWS 进程设置的标签留下 10 个可用空位。一个资源最多允许 50 个标签,包括由 AWS 创建的用户定义的标签和默认标签。

  • 标签键不得以 aws:opsworks:rds: 开头。请勿使用 nameName 作为标签键,因为 Name 由 AWS OpsWorks Stacks 预留。

  • 一个键最多可包含 127 个字符,并且只能包含 Unicode 字母、数字或分隔符,或以下特殊字符:+ - = . _ : /

  • 一个值最多可包含 255 个字符,并且只能包含 Unicode 字母、数字或分隔符,或以下特殊字符:+ - = . _ : /