

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# CodeDeploy 中部署群組的標記執行個體
<a name="instances-tagging"></a>

為了協助管理您的 Amazon EC2 執行個體和內部部署執行個體，您可以使用標籤將自己的中繼資料指派給每個資源。標籤可讓您以不同的方式分類您的執行個體，(例如依據目的、擁有者或環境)。當您有許多執行個體時，這很實用。基於指派的標籤，您可以快速鑑別一個執行個體或一群執行個體之功用。每個標籤皆包含由您定義的一個金鑰與一個選用值。如需詳細資訊，請參閱[標記 Amazon EC2 資源](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html)。

若要指定 CodeDeploy 部署群組中包含的執行個體，您可以在一或多個標籤*群組中指定標籤*。符合您標籤準則的執行個體，是該部署群組的部署建立時，安裝最新版應用程式修訂的那些。

**注意**  
您也可以在部署群組中包含 Amazon EC2 Auto Scaling 群組，但它們是透過名稱來識別，而不是透過套用至執行個體的標籤來識別。如需相關資訊，請參閱[將 CodeDeploy 與 Amazon EC2 Auto Scaling 整合](integrations-aws-auto-scaling.md)。

部署群組中執行個體的條件可以跟單一標籤群組裡的單一標籤一樣簡單。也可以最多有三個標籤群組，每個標籤群組最多 10 個標籤。

若您使用單一標籤群組，任何可透過群組中至少一個標籤識別的執行個體都會包含在部署群組中。若您使用多個標籤群組，僅由包含 *每一個* 標籤群組中辨識出至少一個標籤的執行個體。

以下範例說明如何使用標籤和標籤群組可用來選擇執行個體部署群組。

**Topics**
+ [範例 1：單一標籤群組、單一標籤](#instances-tagging-example-1)
+ [範例 2：單一標籤群組、多個標籤](#instances-tagging-example-2)
+ [範例 3：多個標籤群組、單一標籤](#instances-tagging-example-3)
+ [範例 4：多個標籤群組、多個標籤](#instances-tagging-example-4)

## 範例 1：單一標籤群組、單一標籤
<a name="instances-tagging-example-1"></a>

您可以指定單一標籤在單一標籤群組：


**標籤群組 1**  

| 金鑰 | 值 | 
| --- | --- | 
| 名稱 | AppVersion-ABC | 

每個使用 `Name=AppVersion-ABC` 標籤的執行個體，是部署群組的一部分，即使其已套用其他標籤了。

CodeDeploy 主控台設定檢視：

![\[CodeDeploy 主控台顯示一個具有一個標籤的標籤群組。\]](http://docs.aws.amazon.com/zh_tw/codedeploy/latest/userguide/images/TaggingExample1-polaris.png)


JSON 結構：

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

## 範例 2：單一標籤群組、多個標籤
<a name="instances-tagging-example-2"></a>

您可以指定多個標籤在單一標籤群組：


**標籤群組 1**  

| 金鑰 | 值 | 
| --- | --- | 
| 區域 | 北 | 
| 區域 | 南 | 
| 區域 | 東 | 

一個執行個體與部屬群組的某部分被標籤，即使如果它有其他標籤已套用。例如，如果您有其他 `Region=West` 標籤的執行個體，他們仍不包含在此部署群組。

CodeDeploy 主控台設定檢視：

![\[CodeDeploy 主控台顯示一個具有三個標籤的標籤群組。\]](http://docs.aws.amazon.com/zh_tw/codedeploy/latest/userguide/images/TaggingExample2-polaris.png)


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：多個標籤群組、單一標籤
<a name="instances-tagging-example-3"></a>

您也可以使用有單一金鑰值對的標籤群組之多個組合，在每一個中為部署群組的執行個體指定標準。當您在部署群組中使用多個標籤群組，只有所有標籤群組識別出的執行個體會包含在部署群組中。


**標籤群組 1**  

| 金鑰 | 值 | 
| --- | --- | 
| 名稱 | AppVersion-ABC | 


**標籤群組 2**  

| 金鑰 | 值 | 
| --- | --- | 
| 區域 | 北 | 


**標籤群組 3**  

| 金鑰 | 值 | 
| --- | --- | 
| Type | t2.medium | 

您可能在許多區域有執行個體，和許多有 `Name=AppVersion-ABC` 標籤的執行個體類型。在此範例中，只有含有 `Region=North` 和 `Type=t2.medium` 的執行個體是部署群組的一部分。

CodeDeploy 主控台設定檢視：

![\[CodeDeploy 主控台會顯示三個標籤群組，每個群組各有一個標籤。\]](http://docs.aws.amazon.com/zh_tw/codedeploy/latest/userguide/images/TaggingExample3-polaris.png)


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：多個標籤群組、多個標籤
<a name="instances-tagging-example-4"></a>

當您使用多個標籤群組與一個或多個群組中的多個標籤，執行個體必須與每個群組至少一個標籤相符。


**標籤群組 1**  

| 金鑰 | 值 | 
| --- | --- | 
| Environment | 試用版 | 
| Environment | 安裝 | 


**標籤群組 2**  

| 金鑰 | 值 | 
| --- | --- | 
| 區域 | 北 | 
| 區域 | 南 | 
| 區域 | 東 | 


**標籤群組 3**  

| 金鑰 | 值 | 
| --- | --- | 
| Type | t2.medium | 
| 類型 | 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 主控台設定檢視：

![\[CodeDeploy 主控台顯示三個標籤群組，每個群組都有多個標籤。\]](http://docs.aws.amazon.com/zh_tw/codedeploy/latest/userguide/images/TaggingExample4-polaris.png)


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"
               }
            ],
         ]
      },
```