本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
在 CodeDeploy 中为部署组标记实例
要帮助管理 Amazon EC2 实例和本地实例,则可以使用标签为每个资源分配您自己的元数据。您可使用标签按各种标准 (例如用途、所有者或环境) 对实例进行分类。如果您拥有许多实例,这种方法就很有用。您可以根据为实例分配的标签快速确定某个实例或一组实例。每个标签都包含您定义的一个键 和一个可选值。有关更多信息,请参阅 。标记 Amazon EC2 资源.
要指定 CodeDeploy 部署组中包含的实例,则需在一个或多个中指定标签。标签组. 针对部署组创建部署时,将在满足标签条件的实例上安装最新的应用程序修订。
注意
您还可以在部署组中包含 Amazon EC2 Auto Scaling 组,但这些组是根据其名称识别的,而不是根据应用于实例的标签识别。有关信息,请参阅 将 CodeDeploy 与 Amazon EC2 Auto Scaling 集成。
部署组中最简单的实例条件可以是唯一标签组中的唯一标签。复杂的条件可以在最多三个标签组中每组添加 10 个标签。
如果使用唯一标签组,该组中至少一个标签标记的实例即会包括在部署组中。如果使用多个标签组,只有由每个 标签组中至少一个标签标记的实例才会包括在内。
以下示例说明如何使用标签和标签组为部署组选择实例。
示例 1:单个标签组,单个标签
您可以在唯一标签组中指定唯一标签:
标签组 1 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
密钥 | 值 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
名称 | AppVersion-ABC |
具有 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-ABC |
标签组 2 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
密钥 | 值 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
区域 | 北部 |
标签组 3 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
密钥 | 值 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
类型 | t2.medium |
可能在许多区域中都有具有 Name=AppVersion-ABC
标签的各种实例类型的实例。在此示例中,部署组中只包含也具有 Region=North
和 Type=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 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
密钥 | 值 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Environment(环境) | 测试版 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Environment(环境) | 生产前调试 |
标签组 2 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
密钥 | 值 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
区域 | 北部 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
区域 | 南部 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
区域 | 东部 |
标签组 3 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
密钥 | 值 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
类型 | t2.medium | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Type | t2.large |
在此示例中,实例要包含在部署组中,必须具有 (1) Environment=Beta
或 Environment=Staging
标签;(2) Region=North
、Region=South
或 Region=East
标签;以及 (3) Type=t2.medium
或 Type=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=Staging
,Region=East
,类型 =t2.micro -
环境 =生产,
Region=South
,Type=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" } ], ] },