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