标记 MemoryDB 资源 - 适用于 Redis 的 Amazon MemoryDB
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

标记 MemoryDB 资源

为了帮助您管理集群和其他 MemoryDB 资源,您可以标签的形式为每个资源分配您自己的元数据。标签可让您按各种标准(例如用途、所有者或环境)对 Amazon 资源进行分类。这在您具有相同类型的很多资源时会很有用—您可以根据分配给特定资源的标签快速识别该资源。本主题介绍标签并说明如何创建标签。

警告

作为最佳实践,我们建议您不要在标签中包含敏感数据。

标签是为 Amazon 资源分配的标记。每个标签都包含您定义的一个键 和一个可选值。标签可让您按各种标准(例如用途或拥有者)对 Amazon 资源进行分类。例如,您可以为账户中的 MemoryDB 集群定义一组标签,以帮助跟踪每个集群的拥有者和用户组。

我们建议您针对每类资源设计一组标签,以满足您的需要。使用一组连续的标签键,管理资源时会更加轻松。您可以根据添加的标签搜索和筛选资源。有关如何实施有效的资源标记策略的更多信息,请参阅 Amazon 白皮书标记最佳实践

标签对 MemoryDB 没有任何语义意义,应严格按字符串进行解析。同时,标签不会自动分配至您的资源。您可以修改标签的密钥和值,还可以随时删除资源的标签。您可以将标签的值设置为 null。如果您添加的标签的值与该实例上现有标签的值相同,新的值就会覆盖旧值。如果删除资源,资源的所有标签也会被删除。

可以使用 Amazon Web Services Management Console、Amazon CLI 和 MemoryDB API 处理标签。

如果您使用的是 IAM,则可以控制 Amazon 账户中的哪些用户拥有创建、编辑或删除标签的权限。有关更多信息,请参阅资源级权限

您可以标记您的账户中已存在的大多数 MemoryDB 资源。下表列出了支持标记的资源。如果您使用的是 Amazon Web Services Management Console,则可以使用标签编辑器向资源应用标签。在您创建资源时,某些资源屏幕支持为资源指定标签;例如,包含 Name 键和您指定的值的标签。在大多数情况下,控制台会在资源创建后 (而不是在资源创建期间) 立即应用标签。控制台可能根据 Name(名称)标签对资源进行组织,但此标签对 MemoryDB 服务没有任何语义意义。

此外,某些资源创建操作允许您在创建资源时为其指定标签。如果无法在资源创建期间应用标签,系统会回滚资源创建过程。这样可确保要么创建带有标签的资源,要么根本不创建资源,即任何时候都不会创建出未标记的资源。通过在创建时标记资源,您不需要在资源创建后运行自定义标记脚本。

如果您使用的是 Amazon MemoryDB API,Amazon CLI 或 Amazon 开发工具包,则可以使用相关 MemoryDB API 操作上的 Tags 参数来应用标签。它们是:

  • CreateCluster

  • CopySnapshot

  • CreateParameterGroup

  • CreateSubnetGroup

  • CreateSnapshot

  • CreateACL

  • CreateUser

下表描述了可以标记的 Amazon MemoryDB 资源以及可在创建时使用 MemoryDB API、 CLI 或 Amazon 软件开发工具包标记的资源。

MemoryDB 资源标记支持
资源 支持标签 支持在创建时标记
parametergroup
subnetgroup
集群
snapshot
user
acl

对于支持在创建时进行标记的 MemoryDB API 操作,您可以在 IAM policies 中应用基于标签的资源级权限,以对可在创建时标记资源的用户和组实施精细控制。资源从创建开始就会受到适当的保护 – 标签会立即应用于资源。因此,控制资源使用的任何基于标签的资源级权限都会立即生效。可以更准确地对您的资源进行跟踪和报告。您可以强制对新资源使用标记,可以控制对资源设置哪些标签键和值。

有关更多信息,请参阅标记资源示例

有关标记资源以便于计费的更多信息,请参阅 使用成本分配标签监控成本

以下规则适用于请求操作中的标记:

  • CreateCluster

    • 如果提供了 --cluster-name

      如果请求中包含标签,则对集群进行标记。

    • 如果提供了 --snapshot-name

      如果请求中包含标签,则仅使用这些标签对集群进行标记。如果请求中未包含任何标签,则将向集群添加快照标签。

  • CreateSnapshot

    • 如果提供了 --cluster-name

      如果请求中包含标签,则仅将请求标签添加到快照。如果请求中未包含任何标签,则集群标签将添加到快照。

    • 自动快照:

      标签将传播自集群标签。

  • CopySnapshot

    如果请求中包含标签,则仅将请求标签添加到快照。如果请求中未包含任何标签,则源快照标签将添加到复制的快照。

  • TagResourceUntagResource

    向资源添加/删除标签。

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

  • 每个资源的标签数上限 – 50

  • 对于每个资源,每个标签键都必须是唯一的,每个标签键只能有一个值。

  • 最大键长度 – 128 个 Unicode 字符 (采用 UTF-8 格式)。

  • 最大值长度 – 256 个 Unicode 字符 (采用 UTF-8 格式)。

  • 虽然 MemoryDB 允许在其标签中使用任何字符,但其他服务对此具有严格限制。允许在不同的服务中使用的字符包括:可以使用 UTF-8 表示的字母、数字和空格以及以下字符:+ - = . _ : / @

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

  • aws: 前缀专门预留供 Amazon 使用。如果某个标签具有带有此标签键,则您无法编辑该标签的键或值。具有 aws: 前缀的标签不计入每个资源的标签数限制。

您不能仅依据标签终止或删除资源,而必须指定资源的标识符。例如,要删除您使用名为 DeleteMe 的标签键标记的快照,您必须将 DeleteSnapshot 操作与快照的资源标识符 (如 snap-1234567890abcdef0) 结合使用。

有关可以标记的 MemoryDB 资源的详细信息,请参阅 您可以为之添加标签的资源

  • 向集群添加标签。

    aws memorydb tag-resource \ --resource-arn arn:aws:memorydb:us-east-1:111111222233:cluster/my-cluster \ --tags Key="project",Value="XYZ" Key="memorydb",Value="Service"
  • 使用标签创建集群。

    aws memorydb create-cluster \ --cluster-name testing-tags \ --description cluster-test \ --subnet-group-name test \ --node-type db.r6g.large \ --acl-name open-access \ --tags Key="project",Value="XYZ" Key="memorydb",Value="Service"
  • 创建具有标签的快照。

    在此情况下,如果您根据请求添加标签,即使集群包含标签,快照也将仅接收请求标签。

    aws memorydb create-snapshot \ --cluster-name testing-tags \ --snapshot-name bkp-testing-tags-mycluster \ --tags Key="work",Value="foo"