在中为部署组标记实例 CodeDeploy - Amazon CodeDeploy
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

在中为部署组标记实例 CodeDeploy

可以使用标签为每个资源分配您自己的元数据,这有助于管理您的 Amazon EC2 实例和本地实例。您可使用标签按各种标准(例如用途、所有者或环境)对实例进行分类。如果您拥有许多实例,这种方法就很有用。您可以根据为实例分配的标签快速确定某个实例或一组实例。每个标签都包含定义的一个密钥和一个可选值。有关更多信息,请参阅标记 Amazon EC2 资源

要指定 CodeDeploy 部署组中包含哪些实例,可以在一个或多个标签组中指定标签。针对部署组创建部署时,将在满足标签条件的实例上安装最新的应用程序修订。

注意

您还可以在部署组中包含 Amazon EC2 Auto Scaling 组,但这些组是根据其名称识别的,而不是根据应用于实例的标签识别。有关信息,请参阅 CodeDeploy 与 Amazon EC2 集成 Auto Scaling

部署组中最简单的实例条件可以是唯一标签组中的唯一标签。复杂的条件可以在最多三个标签组中每组添加 10 个标签。

如果使用唯一标签组,该组中至少一个标签标记的实例即会包括在部署组中。如果使用多个标签组,只有由每个 标签组中至少一个标签标记的实例才会包括在内。

以下示例说明如何使用标签和标签组为部署组选择实例。

示例 1:唯一标签组,唯一标签

您可以在唯一标签组中指定唯一标签:

标签组 1
名称 AppVersion-美国广播公司

具有 Name=AppVersion-ABC 标签的每个实例都是部署组中的一部分,即使它也应用了其他标签。

CodeDeploy 控制台设置视图:

JSON 结构:

"ec2TagSet": { "ec2TagSetList": [ [ { "Type": "KEY_AND_VALUE", "Key": "Name", "Value": "AppVersion-ABC" } ] ] },

示例 2:唯一标签组,多个标签

您也可以在唯一标签组中指定多个标签:

标签组 1
区域 北部
区域 南部
区域 东部

具有这三个标签之一的实例即属于部署组,即使它也应用了其他标签。例如,如果有其他实例具有 Region=West 标签,这些实例将不会包含在部署组中。

CodeDeploy 控制台设置视图:

JSON 结构:

"ec2TagSet": { "ec2TagSetList": [ [ { "Type": "KEY_AND_VALUE", "Key": "Region", "Value": "North" }, { "Type": "KEY_AND_VALUE", "Key": "Region", "Value": "South" }, { "Type": "KEY_AND_VALUE", "Key": "Region", "Value": "East" } ] ] },

示例 3:多个标签组,单个标签

您还可以使用多组标签组,每个标签组中只有唯一的键值对,指定部署组中实例的条件。如果在部署组中使用多个标签组,只有所有标签组均标记出的实例才会包含在部署组中。

标签组 1
名称 AppVersion-美国广播公司
标签组 2
区域 北部
标签组 3
类型 t2.medium

可能在许多区域中都有具有 Name=AppVersion-ABC 标签的各种实例类型的实例。在此示例中,部署组中只包含也具有 Region=NorthType=t2.medium 标签的实例。

CodeDeploy 控制台设置视图:

JSON 结构:

"ec2TagSet": { "ec2TagSetList": [ [ { "Type": "KEY_AND_VALUE", "Key": "Name", "Value": "AppVersion-ABC" } ], [ { "Type": "KEY_AND_VALUE", "Key": "Region", "Value": "North" } ], [ { "Type": "KEY_AND_VALUE", "Key": "Type", "Value": "t2.medium" } ], ] },

示例 4:多个标签组,多个标签

如果使用多个标签组,一个或多个组中具有多个标签,实例必须与每个组中的至少一个标签匹配。

标签组 1
环境 测试版
环境 生产前调试
标签组 2
区域 北部
区域 南部
区域 东部
标签组 3
类型 t2.medium
Type t2.large

在此示例中,实例要包含在部署组中,必须具有(1)Environment=BetaEnvironment=Staging 标签;(2)Region=NorthRegion=SouthRegion=East 标签;以及(3)Type=t2.mediumType=t2.large 标签。

例如,具有以下标签组的实例将会 包含在部署组中:

  • Environment=Beta, Region=North,Type=t2.medium

  • Environment=Staging,Region=East,Type=t2.large

  • Environment=Staging,Region=South,Type=t2.large

具有以下标签组的实例不会 包含在部署组中。突出显示的键值使这些实例被排除在外:

  • Environment=Beta,区域 =西部Type=t2.medium

  • Environment=StagingRegion=East,类型 =t2.micro

  • 环境 =生产Region=SouthType=t2.large

CodeDeploy 控制台设置视图:

JSON 结构:

"ec2TagSet": { "ec2TagSetList": [ [ { "Type": "KEY_AND_VALUE", "Key": "Environment", "Value": "Beta" }, { "Type": "KEY_AND_VALUE", "Key": "Environment", "Value": "Staging" } ], [ { "Type": "KEY_AND_VALUE", "Key": "Region", "Value": "North" }, { "Type": "KEY_AND_VALUE", "Key": "Region", "Value": "South" }, { "Type": "KEY_AND_VALUE", "Key": "Region", "Value": "East" } ], [ { "Type": "KEY_AND_VALUE", "Key": "Type", "Value": "t2.medium" }, { "Type": "KEY_AND_VALUE", "Key": "Type", "Value": "t2.large" } ], ] },