

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

# 標記 Auto Scaling 群組和執行個體
<a name="ec2-auto-scaling-tagging"></a>

*標籤*是您指派或 AWS 指派給 AWS 資源的自訂屬性標籤。每個 標籤都有兩個部分：
+ 標籤鍵 (例如 `costcenter`、`environment` 或 `project`)。
+ 選用欄位，稱為標籤值 (例如 `111122223333` 或 `production`)。

標籤可協助您執行以下操作：
+ 追蹤您的 AWS 成本。您可以在 AWS 帳單與成本管理 儀表板上啟用這些標籤。 AWS 使用標籤來分類您的成本，並為您提供每月成本分配報告。如需詳細資訊，請參閱《AWS Billing 使用者指南》**中的[使用成本分配標籤](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html)。
+ 根據標籤控制對 Auto Scaling 群組的存取。您可以在 IAM 政策中使用條件，根據該群組的標籤來控制對 Auto Scaling 群組的存取。如需詳細資訊，請參閱[安全標籤](tag-security.md)。
+ 根據您所新增的標籤篩選和搜索 Auto Scaling 群組。如需詳細資訊，請參閱[使用標籤篩選 Auto Scaling 群組](use-tag-filters-aws-cli.md)。
+ 識別和組織您的 AWS 資源。許多 AWS 服務 支援標記，因此您可以將相同的標籤指派給來自不同 服務的資源，以指出資源相關。

您可以標記新的或現有 Auto Scaling 群組。您也可以從 Auto Scaling 群組傳播標籤到該群組啟動的 EC2 執行個體。

標籤不會傳播到 Amazon EBS 磁碟區。若要新增標籤至 Amazon EBS 磁碟區，請在啟動範本中指定標籤。如需詳細資訊，請參閱[為 Auto Scaling 群組建立啟動範本](create-launch-template.md)。

您可以透過 AWS 管理主控台 AWS CLI或 SDKs 建立和管理標籤。

**Topics**
+ [標籤命名和使用限制](#tag_restrictions)
+ [EC2 執行個體標記生命週期](#tag-lifecycle)
+ [標記 Auto Scaling 群組](add-tags.md)
+ [刪除標籤](delete-tag.md)
+ [安全標籤](tag-security.md)
+ [控制對標籤的存取](tag-permissions.md)
+ [使用標籤篩選 Auto Scaling 群組](use-tag-filters-aws-cli.md)

## 標籤命名和使用限制
<a name="tag_restrictions"></a>

以下基本限制適用於 標籤：
+ 每一資源標籤數最多為 50。
+ 單一呼叫中，您所能新增或移除最多的標籤數量為 25。
+ 鍵長度上限為 128 個 Unicode 字元。
+ 值長度上限為 256 個 Unicode 字元。
+ 標籤鍵與值皆區分大小寫。作為最佳實務，請決定大寫標籤的策略，並一致地在所有資源類型中實作該策略。
+ 請勿在標籤名稱或值中使用 `aws:`字首，因為它已保留供 AWS 使用。您不能編輯和刪除具有此字首的標籤名稱或值，它們不會計算在每個資源配額的標籤之內。

## EC2 執行個體標記生命週期
<a name="tag-lifecycle"></a>

如果您已選用將標籤傳播到您的 EC2 執行個體，標籤會依以下方式管理：
+ 當 Auto Scaling 群組啟動執行個體時，其會在建立資源期間 (而非在建立資源後) 對執行個體新增標籤。
+ Auto Scaling 群組會自動將標籤新增至執行個體，且該執行個體具有 `aws:autoscaling:groupName` 鍵和 Auto Scaling 群組名稱值。
+ 如果在啟動範本中指定執行個體標籤，並選擇將群組的標籤傳播到其執行個體，則會合併所有標籤。如果為啟動範本中的標籤和 Auto Scaling 群組中的標籤指定了相同的標籤鍵，則以群組中的標籤值為優先。
+ 在連接現有執行個體時，Auto Scaling 群組會為執行個體新增標籤，以相同標籤鍵覆寫現有執行個體的標籤。它還會新增具有 `aws:autoscaling:groupName` 鍵和 Auto Scaling 群組名稱值的標籤。
+ 從 Auto Scaling 群組分離執行個體時，它只會移除 `aws:autoscaling:groupName` 標籤。

# 標記 Auto Scaling 群組
<a name="add-tags"></a>

在將標籤新增到 Auto Scaling 群組時，您可以選擇是否要新增已啟動的執行個體到 Auto Scaling 群組。假設您修改了標籤，在變更後完成後，標籤的更新版本會新增到 Auto Scaling 群組中已啟動的執行個體。如果您建立或修改 Auto Scaling 群組的標籤，這些變更不會套用到已在 Auto Scaling 群組中執行的執行個體。

**Topics**
+ [新增或修改標籤 (主控台)](#add-tags-console)
+ [新增或修改標籤 (AWS CLI)](#add-tags-aws-cli)

## 新增或修改標籤 (主控台)
<a name="add-tags-console"></a>

**若要在建立時標記 Auto Scaling 群組**  
在使用 Amazon EC2 主控台建立 Auto Scaling 群組時，您可以在 Create Auto Scaling Group (建立 Auto Scaling 群組) 精靈中的 **Add tags** (新增標籤) 頁面上指定標籤鍵和值。若要將標籤傳播至 Auto Scaling 群組中啟動的執行個體，請確定您有保留選取該標籤的 **Tag new instances** (標記新的執行個體) 選項。否則，您可加以取消選取。

**在現有 Auto Scaling 群組中新增或修改標籤**

1. 前往網址 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) 開啟 Amazon EC2 主控台，然後從導覽窗格中選擇 **Auto Scaling 群組**。

1. 選取 Auto Scaling 群組旁的核取方塊。

   **Auto Scaling groups** (Auto Scaling 群組) 頁面底部會開啟一個分割窗格。

1. 在 **Details** (詳細資訊) 索引標籤上，依次選擇 **Tags** (標籤)、**Edit** (編輯)。

1. 若要修改現有標籤，請編輯 **Key (鍵)** 和 **Value (值)**。

1. 若要新增標籤，請選擇 **Add tag (新增標籤)**，然後編輯 **Key (鍵)** 和 **Value (值)**。您可以繼續選取 **Tag new instances** (標記新的執行個體)，以自動將標籤新增到 Auto Scaling 群組中啟動的執行個體。否則，請取消該選取。

1. 當您完成新增標籤的作業時，請選擇 **Update** (更新)。

## 新增或修改標籤 (AWS CLI)
<a name="add-tags-aws-cli"></a>

下列範例示範如何在建立 Auto Scaling 群組時使用 AWS CLI 新增標籤，以及新增或修改現有 Auto Scaling 群組的標籤。

**若要在建立時標記 Auto Scaling 群組**  
使用 [create-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/create-auto-scaling-group.html) 命令來建立新的 Auto Scaling 群組並新增標籤，例如新增 **environment=production** 至 Auto Scaling 群組。此標籤也會新增至 Auto Scaling 群組中啟動的任何執行個體。

```
aws autoscaling create-auto-scaling-group --auto-scaling-group-name my-asg \
  --launch-configuration-name my-launch-config --min-size 1 --max-size 3 \
  --vpc-zone-identifier "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782" \
  --tags Key=environment,Value=production,PropagateAtLaunch=true
```

**在現有 Auto Scaling 群組中建立或修改標籤**  
使用 [create-or-update-tags](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/create-or-update-tags.html) 命令來建立或修改標籤。例如，以下命令會新增 `Name=my-asg` 和 `costcenter=cc123` 標籤。在此變更之後，這兩個標籤也會新增至 Auto Scaling 群組中啟動的任何執行個體。如果具有任一鍵的標籤已存在，則現有的標籤會被取代。Amazon EC2 主控台會將每個執行個體的顯示名稱關聯至為 `Name` 鍵指定的名稱 (區分大小寫)。

```
aws autoscaling create-or-update-tags \
  --tags ResourceId=my-asg,ResourceType=auto-scaling-group,Key=Name,Value=my-asg,PropagateAtLaunch=true \
  ResourceId=my-asg,ResourceType=auto-scaling-group,Key=costcenter,Value=cc123,PropagateAtLaunch=true
```

### 描述 Auto Scaling 群組 (AWS CLI) 的標籤
<a name="describe-tags-aws-cli"></a>

如果您要檢視已套用至特定 Auto Scaling 群組的標籤，可使用以下其中一個 API 命令：
+ [describe-tags](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/describe-tags.html) – 您可以提供 Auto Scaling 群組名稱，以檢視指定群組的標籤清單。

  ```
  aws autoscaling describe-tags --filters Name=auto-scaling-group,Values=my-asg
  ```

  以下是回應範例。

  ```
  {
      "Tags": [
          {
              "ResourceType": "auto-scaling-group",
              "ResourceId": "my-asg",
              "PropagateAtLaunch": true,
              "Value": "production",
              "Key": "environment"
          }
      ]
  }
  ```
+ [describe-auto-scaling-groups](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/describe-auto-scaling-groups.html) – 您可以提供 Auto Scaling 群組名稱，以檢視指定群組的屬性，包括任何標籤。

  ```
  aws autoscaling describe-auto-scaling-groups --auto-scaling-group-name my-asg
  ```

  以下是回應範例。

  ```
  {
      "AutoScalingGroups": [
          {
              "AutoScalingGroupName": "my-asg",
              "AutoScalingGroupARN": "arn",
              "LaunchTemplate": {
                  "LaunchTemplateId": "lt-0b97f1e282EXAMPLE",
                  "LaunchTemplateName": "my-launch-template",
                  "Version": "$Latest"
              },
              "MinSize": 1,
              "MaxSize": 5,
              "DesiredCapacity": 1,
              ...
              "Tags": [
                  {
                      "ResourceType": "auto-scaling-group",
                      "ResourceId": "my-asg",
                      "PropagateAtLaunch": true,
                      "Value": "production",
                      "Key": "environment"
                  }
              ],
              ...
          }
      ]
  }
  ```

# 刪除標籤
<a name="delete-tag"></a>

您隨時都可以刪除與 Auto Scaling 群組有關聯的標籤。

**Topics**
+ [刪除標籤 (主控台)](#delete-tag-console)
+ [刪除標籤 (AWS CLI)](#delete-tag-aws-cli)

## 刪除標籤 (主控台)
<a name="delete-tag-console"></a>

**若要刪除標籤**

1. 前往網址 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) 開啟 Amazon EC2 主控台，然後從導覽窗格中選擇 **Auto Scaling 群組**。

1. 選取現有群組旁邊的核取方塊。

   **Auto Scaling groups** (Auto Scaling 群組) 頁面底部會開啟一個分割窗格。

1. 在 **Details** (詳細資訊) 索引標籤上，依次選擇 **Tags** (標籤)、**Edit** (編輯)。

1. 選擇標籤旁的 **Remove** (移除)。

1. 選擇**更新**。

## 刪除標籤 (AWS CLI)
<a name="delete-tag-aws-cli"></a>

使用 [delete-tags](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/delete-tags.html) 命令來刪除標籤。例如，以下命令會刪除包含 `environment` 鍵的標籤。

```
aws autoscaling delete-tags --tags "ResourceId=my-asg,ResourceType=auto-scaling-group,Key=environment"
```

您必須指定標籤鍵，但不需要指定值。如果您指定的值不正確，則此不會刪除此標籤。

# 安全標籤
<a name="tag-security"></a>

使用標籤來確認請求者 (例如 IAM 使用者或角色) 具有建立、修改或刪除特定 Auto Scaling 群組的許可。使用下列一個或多個條件金鑰，在 IAM 政策的條件元素中提供標籤資訊：
+ 使用 `autoscaling:ResourceTag/tag-key: tag-value` 允許 (或拒絕) 在有特定標籤的 Auto Scaling 群組上的使用者動作。
+ 使用 `aws:RequestTag/tag-key: tag-value` 要求在請求中出現 (或不出現) 特定標籤。
+ 使用 `aws:TagKeys [tag-key, ...]` 要求在請求中出現 (或不出現) 特定標籤鍵。

例如，您可以拒絕所有 Auto Scaling 群組的存取，該群組包含鍵 `environment` 和值 `production`，如下列範例所示。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Deny",
            "Action": [        
                "autoscaling:CreateAutoScalingGroup",
                "autoscaling:UpdateAutoScalingGroup",
                "autoscaling:DeleteAutoScalingGroup"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {"autoscaling:ResourceTag/environment": "production"}
            }
        }
    ]
}
```

------

如需使用條件金鑰來控制存取 Auto Scaling 群組的詳細資訊，請參閱 [Amazon EC2 Auto Scaling 與 IAM 搭配運作的方式](control-access-using-iam.md)。

# 控制對標籤的存取
<a name="tag-permissions"></a>

使用標籤來確認請求者 (例如 IAM 使用者或角色) 具有新增、修改或刪除 Auto Scaling 群組之標籤的許可。

以下範例 IAM 政策授予主體僅從 Auto Scaling 群組中刪除帶有 `temporary` 金鑰的標籤的權限。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "autoscaling:DeleteTags",
            "Resource": "*",
            "Condition": {
                "ForAllValues:StringEquals": { "aws:TagKeys": ["temporary"] }
            }
        }
    ]
}
```

------

如需針對 Auto Scaling 群組指定的標籤強制執行限制的 IAM 政策的更多範例，請參閱 [控制可以使用哪些標籤鍵和標籤值](security_iam_id-based-policy-examples.md#policy-example-tags)。

**注意**  
即使政策可以限制使用者對 Auto Scaling 群組執行標記 (或取消標記) 操作，這也無法阻止在執行個體啟動後對其上面的標籤進行手動變更。如需控制 EC2 執行個體上標籤存取的範例，請參閱《*Amazon EC2 使用者指南*》中的[範例：標記資源](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ExamplePolicies_EC2.html#iam-example-taggingresources)。

# 使用標籤篩選 Auto Scaling 群組
<a name="use-tag-filters-aws-cli"></a>

以下範例會顯示如何使用具有 [describe-auto-scaling-groups](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/describe-auto-scaling-groups.html) 命令的篩選條件，來描述具有特定標籤的 Auto Scaling 群組。依標籤篩選僅限於 AWS CLI 或 SDK，而且無法從 主控台使用。

**篩選考量**
+ 您可以在單一請求中指定多個篩選條件和多個篩選條件值。
+ 您無法使用萬用字元搭配篩選條件值。
+ 篩選條件值區分大小寫。

**範例：描述具有特定標籤鍵值對的 Auto Scaling 群組**  
以下命令顯示如何篩選結果，以便僅顯示具有 **`environment=production`** 鍵值對的 Auto Scaling 群組。

```
aws autoscaling describe-auto-scaling-groups \
  --filters Name=tag-key,Values=environment Name=tag-value,Values=production
```

以下是回應範例。

```
{
    "AutoScalingGroups": [
        {
            "AutoScalingGroupName": "my-asg",
            "AutoScalingGroupARN": "arn",
            "LaunchTemplate": {
                "LaunchTemplateId": "lt-0b97f1e282EXAMPLE",
                "LaunchTemplateName": "my-launch-template",
                "Version": "$Latest"
            },
            "MinSize": 1,
            "MaxSize": 5,
            "DesiredCapacity": 1,
            ...
            "Tags": [
                {
                    "ResourceType": "auto-scaling-group",
                    "ResourceId": "my-asg",
                    "PropagateAtLaunch": true,
                    "Value": "production",
                    "Key": "environment"
                }
            ],
            ...
        },

    ... additional groups ...

    ]
}
```

或者，您也可以使用 `tag:<key>` 篩選條件指定標籤。例如，以下命令顯示如何篩選結果，以便僅顯示具有 **`environment=production`** 鍵值對的 Auto Scaling 群組。此篩選條件的格式如下所示：`Name=tag:<key>,Values=<value>`，使用 **<key>** 和 **<value>** 表示標籤鍵值對。

```
aws autoscaling describe-auto-scaling-groups \
  --filters Name=tag:environment,Values=production
```

您也可以使用 `--query`選項篩選 AWS CLI 輸出。下列範例顯示如何將先前命令的 AWS CLI 輸出限制為僅群組名稱、最小大小、最大大小和所需的容量屬性。

```
aws autoscaling describe-auto-scaling-groups \
  --filters Name=tag:environment,Values=production \
  --query "AutoScalingGroups[].{AutoScalingGroupName: AutoScalingGroupName, MinSize: MinSize, MaxSize: MaxSize, DesiredCapacity: DesiredCapacity}"
```

以下是回應範例。

```
[
    {
        "AutoScalingGroupName": "my-asg",
        "MinSize": 0,
        "MaxSize": 10,
        "DesiredCapacity": 1
    },

    ... additional groups ...

]
```

如需篩選的詳細資訊，請參閱*AWS Command Line Interface 《 使用者指南*》中的[篩選 AWS CLI 輸出](https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-filter.html)。

**範例：描述具有與指定標籤鍵相符之標籤的 Auto Scaling 群組**  
以下命令顯示如何篩選結果，以僅顯示具有 `environment` 標籤的 Auto Scaling 群組，而不考慮標籤值。

```
aws autoscaling describe-auto-scaling-groups \
  --filters Name=tag-key,Values=environment
```

**範例：描述具有與指定標籤鍵集相符之標籤的 Auto Scaling 群組**  
以下命令顯示如何篩選結果，以僅顯示具有 `environment` 和 `project` 標籤的 Auto Scaling 群組，而不考慮標籤值。

```
aws autoscaling describe-auto-scaling-groups \
  --filters Name=tag-key,Values=environment Name=tag-key,Values=project
```

**範例：描述具有至少一個與指定標籤鍵相符之標籤的 Auto Scaling 群組**  
以下命令顯示如何篩選結果，以僅顯示具有 `environment` 或 `project` 標籤的 Auto Scaling 群組，而不考慮標籤值。

```
aws autoscaling describe-auto-scaling-groups \
  --filters Name=tag-key,Values=environment,project
```

**範例：描述具有指定標籤值的 Auto Scaling 群組**  
以下命令顯示如何篩選結果，以僅顯示具有 `production` 標籤值的 Auto Scaling 群組，而不考慮標籤鍵。

```
aws autoscaling describe-auto-scaling-groups \
  --filters Name=tag-value,Values=production
```

**範例：描述具有指定標籤值集的 Auto Scaling 群組**  
以下命令顯示如何篩選結果，以僅顯示具有標籤值 `production` 和 `development` 的 Auto Scaling 群組，而不考慮標籤鍵。

```
aws autoscaling describe-auto-scaling-groups \
  --filters Name=tag-value,Values=production Name=tag-value,Values=development
```

**範例：描述具有至少一個與指定標籤值相符之標籤的 Auto Scaling 群組**  
以下命令顯示如何篩選結果，以僅顯示具有標籤值 `production` 或 `development` 的 Auto Scaling 群組，而不考慮標籤鍵。

```
aws autoscaling describe-auto-scaling-groups \
  --filters Name=tag-value,Values=production,development
```

**範例：描述具有與多個標籤鍵和值相符之標籤的 Auto Scaling 群組**  
您還可以組合篩選條件來建立自訂 AND 和 OR 邏輯，以執行更複雜的篩選。

以下命令顯示如何篩選結果，以僅顯示具有指定標籤集的 Auto Scaling 群組。一個標籤鍵是 `environment` AND 標籤值是 (`production` OR `development`) AND 另一個標籤鍵是 `costcenter` AND 標籤值是 `cc123`。

```
aws autoscaling describe-auto-scaling-groups \
  --filters Name=tag:environment,Values=production,development Name=tag:costcenter,Values=cc123
```