Amazon Elastic Compute Cloud
Windows 实例用户指南
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。请点击 Amazon AWS 入门,可查看中国地区的具体差异

标记 Amazon EC2 资源

为了方便管理您的实例、映像以及其他 Amazon EC2 资源,您可以选择通过标签的形式为每个资源分配您自己的元数据。本主题介绍标签并说明如何创建标签。

有关标签的基本知识

标签可让您按各种标准 (例如用途、所有者或环境) 对 AWS 资源进行分类。这在您具有相同类型的许多资源时会很有用 — 您可以根据分配给资源的标签快速识别特定资源。每个标签都包含您定义的一个 和一个可选。例如,您可以为账户中的 Amazon EC2 实例定义一组标签,以跟踪每个实例的所有者和堆栈级别。我们建议您针对每类资源设计一组标签,以满足您的需要。使用一组连续的标签键,管理资源时会更加轻松。您可以根据添加的标签搜索和筛选资源。

下图说明了标签的工作方式。在此示例中,您为每个实例分配了两个标签,一个是 Owner,另一个是 Stack。每个标签都有一个关联的值。

 标签示例

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

可以使用 AWS 管理控制台、AWS CLI 和 Amazon EC2 API 处理标签。

如果您使用的是 AWS Identity and Access Management (IAM),则可以控制 AWS 账户中的哪个用户拥有创建、修改和删除标签的权限。有关更多信息,请参阅 控制对 Amazon EC2 资源的访问

标记您的成员资源

您可以标记您账户中已存在的大多数 Amazon EC2 资源。下列出了支持标记的资源。

如果使用的是 Amazon EC2 控制台,则您可以使用相关资源屏幕上的 Tags 选项卡或使用 Tags 屏幕向资源应用标签。在您创建资源时,某些资源屏幕能让您为资源指定标签;例如,具有 Name 键并且具有您指定的值的标签。在大多数情况下,控制台会在资源创建后 (而不是在资源创建期间) 立即应用标签。控制台可能根据 Name 标签对资源进行组织,但此标签对 Amazon EC2 服务没有任何语义意义。

如果使用的是 Amazon EC2 API、AWS CLI 或 AWS 软件开发工具包,则您可以使用 CreateTags EC2 API 操作向现有资源应用标签。此外,某些资源创建操作允许您在创建资源时为其指定标签。如果无法在资源创建期间应用标签,系统会回滚资源创建过程。这有助于确保要么创建带有标签的资源,要么根本不创建资源,即任何时候都不会创建出未标记的资源。通过在创建时标记资源,您不需要在资源创建后运行自定义标记脚本。

下表描述了可以标记的 Amazon EC2 资源以及可在创建时标记的资源。

Amazon EC2 资源标记支持

资源 支持标签 支持在创建时加标签 (Amazon EC2 API、AWS CLI、AWS 软件开发工具包)

AFI

AMI

捆绑任务

客户网关

专用主机

DHCP 选项

EBS 快照

EBS 卷

仅出口 Internet 网关

弹性 IP 地址

实例

实例存储卷

不适用

不适用

Internet 网关

密钥对

NAT 网关

网络 ACL

网络接口

置放群组

Reserved Instance

Reserved Instance清单

路由表

竞价型实例请求

安全组 – EC2-Classic

安全组 – VPC

子网

虚拟专用网关

VPC

VPC 终端节点

VPC 流日志

VPC 对等连接

VPN 连接

要在创建时标记资源或卷,您可以使用 Amazon EC2 控制台中的 Amazon EC2 启动实例向导、RunInstances Amazon EC2 API 或 CreateVolume Amazon EC2 API。您可以使用 Amazon EC2 控制台中的卷屏幕,在创建 EBS 卷时标记该卷。

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

此外,您还可以在 IAM 策略中对 CreateTagsDeleteTags Amazon EC2 API 操作应用资源级权限,从而控制对现有资源设置哪些标签键和值。有关更多信息,请参阅 Amazon EC2 API 操作支持的资源级权限适用于 AWS CLI 或 AWS 开发工具包的策略示例

有关标记资源以便于计费的更多信息,请参阅 AWS Billing and Cost Management 用户指南 中的使用成本分配标签

标签限制

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

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

  • 最大密钥长度 - 127 个 Unicode 字符 (采用 UTF-8 格式)

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

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

  • 请勿在标签名称或值中使用 aws: 前缀,因为它专为 AWS 使用预留。您无法编辑或删除带此前缀的标签名称或值。具有此前缀的标签不计入每个资源的标签数限制。

  • 如果您的标记方案将在多个服务和资源中使用,请记得其他服务可能对允许使用的字符有限制。通常允许使用的字符包括:可用 UTF-8 格式表示的字母、空格和数字以及特殊字符 + - = ._ : / @。

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

您可以为公有或共享资源添加标签,但是您分配的标签仅对您的 AWS 账户可用,而对其他共享该资源的账户不可用。

您无法标记所有资源。有关更多信息,请参阅 Amazon EC2 资源标记支持

标记资源以便于计费

您可以使用标签来管理 AWS 账单,使其反映您的成本结构。要执行此操作,请注册以获取包含标签键值的 AWS 账户账单。有关设置包含标签的成本分配报告的更多信息,请参阅 AWS Billing and Cost Management 用户指南 中的月度成本分配报告。如需查看组合资源的成本,请按具有相同标签键值的资源组织您的账单信息。例如,您可以将特定的应用程序名称用作几个资源的标签,然后组织账单信息,以查看在数个服务中的使用该应用程序的总成本。有关更多信息,请参阅 AWS Billing and Cost Management 用户指南 中的使用成本分配标签

成本分配标签可指示哪些资源导致产生成本,而删除或停用资源并不总是能降低成本。例如,即使删除包含原始数据的快照,其他快照引用的快照数据也将保留。有关更多信息,请参阅 AWS Billing and Cost Management 用户指南 中的 Amazon Elastic Block Store 卷和快照

注意

如果您已启用报告,则可以在 24 小时后查看当月的数据。

通过控制台使用标签

通过 Amazon EC2 控制台,您可以查看同一区域中哪些标签是所有 Amazon EC2 资源都使用的。您可以按资源和资源类型来查看资源,也可以查看与指定标签相关的每种资源类型的项目数量。您还可以通过 Amazon EC2 控制台同时在一个或多个资源中应用或删除标签。

要了解有关使用筛选条件列出资源的更多信息,请参阅 列出并筛选您的资源

为便于使用并取得最佳结果,请使用 AWS 管理控制台中的标签编辑器,此编辑器提供了一种用于创建和管理标签的集中而统一的方法。有关更多信息,请参阅 开始使用 AWS 管理控制台 中的使用标签编辑器

显示标签

您可以在 Amazon EC2 控制台中以两种不同的方式显示标签。您可以显示单个资源或所有资源的标签。

显示单个资源的标签

当您在 Amazon EC2 控制台中选择特定资源页面时,它会显示这些资源列表。例如,如果您在导航窗格中选择 Instances,则控制台会显示 Amazon EC2 实例列表。当您从其中一个列表中选择一种资源时 (例如,实例),如果该资源支持标签,则您可以查看和管理标签。在大多数资源页面上,您可以在详细信息窗格的 Tags (标签) 选项卡中查看标签。

您可以在资源列表中添加列,以显示密钥相同的标签的所有值。通过该列,您可以按照标签对资源列表进行分类和筛选。资源列表中添加新列以显示标签的方法有两种。

  • Tags 选项卡上,选择 Show Column。新列将添加到控制台中。

  • 选择 Show/Hide Columns 齿轮状图标,然后在 Show/Hide Columns 对话框中的 Your Tag Keys 下选择标签键。

显示所有资源的标签

您可以通过选择 Amazon EC2 控制台导航窗格中的 Tags (标签),显示所有资源的标签。下图显示了 Tags (标签) 窗格,其中按资源类型列出了所有正在使用的标签。

Amazon EC2 控制台中的“标签”窗格

为单个资源添加和删除标签

您可以直接在资源页面管理单个资源的标签。

向单个资源添加标签

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

  2. 从导航栏,选择符合需要的地区。这一选择很重要,这是因为有些 Amazon EC2 资源可以在区域之间共享,另一些却不能。有关更多信息,请参阅资源位置

  3. 在导航窗格中,选择资源类型 (例如,Instances)。

  4. 从资源列表中选择资源。

  5. 在详细信息窗格中,选择 Tags (标签) 选项卡。

  6. 选择 Add/Edit Tags 按钮。

  7. Add/Edit Tags 对话框中,为每个标签指定密钥和值,然后选择 Save

删除单个资源的标签

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

  2. 从导航栏,选择符合需要的地区。这一选择很重要,这是因为有些 Amazon EC2 资源可以在区域之间共享,另一些却不能。有关更多信息,请参阅资源位置

  3. 在导航窗格中,选择资源类型 (例如,Instances)。

  4. 从资源列表中选择资源。

  5. 在详细信息窗格中,选择 Tags (标签) 选项卡。

  6. 依次选择 Add/Edit Tags、与标签对应的 Delete 图标和 Save

为一组资源添加和删除标签

为一组资源添加标签

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

  2. 从导航栏,选择符合需要的地区。这一选择很重要,这是因为有些 Amazon EC2 资源可以在区域之间共享,另一些却不能。有关更多信息,请参阅资源位置

  3. 在导航窗格中,选择 Tags

  4. 在内容窗格的顶部,选择 Manage Tags

  5. 对于 Filter,选择要添加标签的资源的类型 (如实例)。

  6. 在资源列表中,选中要添加标签的资源旁边的复选框。

  7. Add Tag 下的 KeyValue 中,键入标签键和值,然后选择 Add Tag

    注意

    如果您添加的新标签的标签键与现有标签的相同,则新标签将覆盖现有标签。

删除一组资源的标签

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

  2. 从导航栏,选择符合需要的地区。这一选择很重要,这是因为有些 Amazon EC2 资源可以在区域之间共享,另一些却不能。有关更多信息,请参阅资源位置

  3. 在导航窗格中,依次选择 TagsManage Tags

  4. 要查看正在使用的标签,请选择 Show/Hide Columns 齿轮状图标,然后在 Show/Hide Columns 对话框中,选择要查看的标签键,然后选择 Close

  5. 对于 Filter,选择要删除标签的资源的类型 (如实例)。

  6. 在资源列表中,选中要删除标签的资源旁边的复选框。

  7. Remove Tag 下的 Key 中键入标签的名称,然后选择 Remove Tag

在启动实例时添加标签

通过“启动向导”添加标签

  1. 从导航栏中选择实例地区。该选择很重要,这是因为有些 Amazon EC2 资源可以在区域间共享,另一些却不能。请选择能满足您的需求的区域。有关更多信息,请参阅 资源位置

  2. 选择 Launch Instance

  3. Choose an Amazon Machine Image (AMI) (选择Amazon 系统映像 (AMI)) 页面会显示称为“Amazon 系统映像 (AMI)”的基本配置的列表。选择要使用的 AMI,然后选择 Select。有关选择 AMI 的更多信息,请参阅 查找 Windows AMI

  4. Configure Instance Details 页面上,根据需要配置实例设置,然后选择 Next: Add Storage

  5. Add Storage (添加存储) 页面上,您可以为实例指定额外的存储卷。完成后,选择 Next: Add Tags

  6. Add Tags 页面上,为实例、卷或两者指定标签。选择 Add another tag 以向您的实例添加多个标签。完成时选择 Next: Configure Security Group

  7. Configure Security Group (配置安全组) 页面上,您可以从您所拥有的现有安全组中进行选择,或根据向导的指示创建新的安全组。完成操作后,选择 Review and Launch

  8. 检视您的设置。在您确认选择无误之后,选择 Launch。选择现有密钥对或创建新的密钥对,选中确认复选框,然后选择 Launch Instances

按标签筛选资源列表

您可以基于一个或多个标签键和标签值来筛选资源列表。

按标签筛选资源列表

  1. 标签列显示如下:

    1. 选择资源。

    2. 在详细信息窗格中,选择 Tags

    3. 在列表中查找标签,然后选择 Show Column

  2. 选择标签列右上角的筛选图标,以显示筛选列表。

  3. 选择标签值,然后选择 Apply Filter 以筛选结果列表。

    注意

    有关筛选条件的更多信息,请参阅列出并筛选您的资源

通过 CLI 或 API 使用标签

使用以下命令添加、更新、列出和删除资源标签。相应文档提供了示例。

任务 AWS CLI 适用于 Windows PowerShell 的 AWS 工具 API 操作

添加或覆盖一个或多个标签。

create-tags

New-EC2Tag

CreateTags

删除一个或多个标签。

delete-tags

Remove-EC2Tag

DeleteTags

描述一个或多个标签。

describe-tags

Get-EC2Tag

DescribeTags

您还可以根据标签筛选资源列表。以下示例演示了如何通过 describe-instances 命令使用标签来筛选实例。

示例 1:描述具有指定标签键的实例

以下命令描述了具有 Stack 标签 (无论标签的值如何) 的实例。

aws ec2 describe-instances --filters Name=tag-key,Values=Stack

示例 2:描述具有指定标签的实例

以下命令描述了具有标签 Stack=production 的实例。

aws ec2 describe-instances --filters Name=tag:Stack,Values=production

示例 3:描述具有指定标签值的实例

以下命令描述了具有值为 production 的标签 (无论标签键如何) 的实例。

aws ec2 describe-instances --filters Name=tag-value,Values=production

某些资源创建操作允许您在创建资源时指定标签。以下操作支持在创建时进行标记。

任务 AWS CLI 适用于 Windows PowerShell 的 AWS 工具 API 操作

启动一个或多个实例。

run-instances

New-EC2Instance

RunInstances

创建 EBS 卷。

create-volume

New-EC2Volume

CreateVolume

以下示例说明如何在创建资源时应用标签。

示例 4:启动实例并向实例和卷应用标签

下面的命令启动一个实例并向此实例应用键为 webserver、值为 production 的标签。此命令还向创建的任何 EBS 卷 (此示例中为根卷) 应用键为 cost-center、值为 cc123 的标签。

aws ec2 run-instances --image-id ami-abc12345 --count 1 --instance-type t2.micro --key-name MyKeyPair --subnet-id subnet-6e7f829e --tag-specifications 'ResourceType=instance,Tags=[{Key=webserver,Value=production}]' 'ResourceType=volume,Tags=[{Key=cost-center,Value=cc123}]'

您可以在启动时向实例和卷应用相同的标签键和值。下面的命令启动一个实例并向此实例和创建的任何 EBS 卷应用键为 cost-center、值为 cc123 的标签。

aws ec2 run-instances --image-id ami-abc12345 --count 1 --instance-type t2.micro --key-name MyKeyPair --subnet-id subnet-6e7f829e --tag-specifications 'ResourceType=instance,Tags=[{Key=cost-center,Value=cc123}]' 'ResourceType=volume,Tags=[{Key=cost-center,Value=cc123}]'

示例 5:创建卷并应用标签

下面的命令创建一个卷并应用两个标签:purpose = productioncost-center = cc123

aws ec2 create-volume --availability-zone us-east-1a --volume-type gp2 --size 80 --tag-specifications 'ResourceType=volume,Tags=[{Key=purpose,Value=production},{Key=cost-center,Value=cc123}]'