

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

# 標記您的 MemoryDB 資源
<a name="tagging-resources"></a>

為了協助您管理叢集和其他 MemoryDB 資源，您可以將自己的中繼資料以標籤形式指派給每個資源。標籤可讓您以不同的方式分類 AWS 資源，例如依用途、擁有者或環境。當您有許多相同類型的資源時，這將會很有用，因為—您可以依據先前指派的標籤，快速識別特定的資源。本主題說明標籤並示範如何建立它們。

**警告**  
根據最佳實務，建議您不要在標籤中包含敏感資料。

## 標籤基本概念
<a name="tagging-basics"></a>

標籤是您指派給 AWS 資源的標籤。每個標籤皆包含由您定義的一個金鑰與一個選用值。標籤可讓您以不同的方式分類 AWS 資源，例如依用途或擁有者。例如，您可以為帳戶的 MemoryDB 叢集定義一組標籤，協助您追蹤每個叢集的擁有者和使用者群組。

我們建議您為每種資源類型建立符合您需求的標籤金鑰。使用一致的標籤金鑰組可讓您更輕鬆管理您的 資源。您可以根據您新增的標籤搜尋和篩選資源。如需如何實作有效資源標記策略的詳細資訊，請參閱 [AWS 白皮書標記最佳實務](https://d1.awsstatic.com/whitepapers/aws-tagging-best-practices.pdf)。

標籤對 MemoryDB 沒有任何語意意義，並嚴格解譯為字元字串。此外，標籤不會自動指派給您的資源。您可以編輯標籤金鑰和值，並且可以隨時從資源移除標籤。您可以將標籤的值設為 `null`。若您將與現有標籤具有相同鍵的標籤新增到該資源，則新值會覆寫舊值。如果您刪除資源，也會刪除任何該資源的標籤。

 您可以使用 AWS 管理主控台、 AWS CLI和 MemoryDB API 來使用標籤。

如果您使用的是 IAM，您可以控制 AWS 帳戶中哪些使用者具有建立、編輯或刪除標籤的許可。如需詳細資訊，請參閱[資源層級許可](iam.resourcelevelpermissions.md)。

## 您可以標記的資源
<a name="tagging-your-resources"></a>

您可以標記帳戶中已存在的大多數 MemoryDB 資源。下表列出支援標籤建立的資源。如果您使用的是 AWS 管理主控台，您可以使用標籤[編輯器將標籤](https://docs.aws.amazon.com/ARG/latest/userguide/tag-editor.html)套用至資源。有些資源畫面可讓您在建立資源時指定資源的標籤；例如，具有 Name 索引鍵和您指定值的標籤。在大多數的案例中，主控台會立即在建立資源後套用標籤 (而非在資源建立過程時)。主控台可能會根據**名稱**標籤組織資源，但此標籤對 MemoryDB 服務沒有任何語意意義。

 此外，有些資源建立動作可讓您在建立資源時指定資源的標籤。若標籤無法在資源建立時套用，我們會轉返資源建立程序。這可確保資源不是具有標籤建立，就是不會建立，因此無論何時都不會有不具有標籤的資源。藉由在建立時為資源建立標籤，您可以消除在資源建立後執行自訂標籤指令碼的必要。

 如果您使用的是 Amazon MemoryDB API、 CLI AWS 或 AWS SDK，您可以使用相關 MemoryDB API 動作上的 `Tags` 參數來套用標籤。這些類別為：
+ `CreateCluster`
+ `CopySnapshot`
+ `CreateParameterGroup`
+ `CreateSubnetGroup`
+ `CreateSnapshot`
+ `CreateACL`
+ `CreateUser`
+ `CreateMultiRegionCluster`

下表說明可標記的 MemoryDB 資源，以及可使用 MemoryDB API、CLI AWS 或 AWS SDK 建立時可標記的資源。


**MemoryDB 資源的標記支援**  

| 資源 | 支援標籤 | 支援在建立時標記 | 
| --- | --- | --- | 
| parametergroup | 是 | 是 | 
| subnetgroup | 是 | 是 | 
| 叢集 | 是 | 是 | 
| 快照 | 是 | 是 | 
| 使用者 | 是 | 是 | 
| acl | 是 | 是 | 
| 多區域叢集 | 是 | 是 | 

您可以在 IAM 政策中將標籤型資源層級許可套用至支援建立時標記的 MemoryDB API 動作，以對可在建立時標記資源的使用者和群組實作精細控制。您的資源從建立時便已獲得妥善的保護，標籤會立即套用到您的資源。因此，控制資源使用情況的任何標籤式資源層級許可都會立即生效。您可以更準確的追蹤和報告您的資源。您可以強制新資源使用標籤，並控制哪些標籤金鑰和值會在您的資源上設定。

如需詳細資訊，請參閱[為資源加上標籤的範例](#tagging-your-resources-example)。

 如需為資源加上標籤以便計費的詳細資訊，請參閱「[使用成本配置標籤監控成本](tagging.md)」。

## 標記叢集和快照，以及多區域叢集
<a name="tagging-clusters-snapshots"></a>

以下規則適用於屬於請求作業一部分的標記程序：
+ **CreateCluster**：
  +  如果提供 `--cluster-name`：

    如果請求中包含標籤，則會標記叢集。
  + 如果提供 `--snapshot-name`：

    如果請求中包含標籤，則只會使用這些標籤來標記叢集。如果請求中未包含任何標籤，快照標籤將新增至叢集。
+ **CreateSnapshot**：
  +  如果提供 `--cluster-name`：

    如果請求中包含標籤，就只會將這些請求標籤新增至快照。如果請求中未包含任何標籤，叢集標籤將新增至快照。
  + 針對自動快照：

    標籤會從叢集標籤傳播。
+ **CopySnapshot**：

  如果請求中包含標籤，就只會將這些請求標籤新增至快照。如果請求中不含任何標籤，就會將來源快照標籤新增至複製的快照。
+ **TagResource** 和 **UntagResource**：

  標籤將從資源新增/移除。

## 標記多區域叢集
<a name="tagging-multi-region-clusters"></a>

MemoryDB 多大型叢集是全域資源。因此，可以透過在支援 MemoryDB Multi-Region 的任何指定區域中調用相關 APIs，在多區域叢集上指定、修改或列出標籤。如需區域支援的詳細資訊，請參閱 [先決條件和限制](multi-region.prereq.md)。

多區域叢集上的標籤獨立於區域叢集上的標籤。您可以在多區域叢集上指定不同的標籤集，其中包含區域叢集。這些標籤之間沒有階層連線，而且不會透過這些資源類型之間的階層進行複製。

當您透過 `TagResource`和 `UntagResource` APIs 新增或移除標籤時，您可能不會在 ListTags API 回應中立即看到最新的有效標籤，因為標籤最終會特別針對多區域叢集保持一致。

## 標籤限制
<a name="tagging-restrictions"></a>

以下基本限制適用於標籤：
+ 每一資源最多標籤數 – 50
+ 對於每一個資源，每個標籤金鑰必須是唯一的，且每個標籤金鑰只能有一個值。
+ 索引鍵長度上限 - 128 個 UTF-8 Unicode 字元。
+ 值長度上限 - 256 個 UTF-8 Unicode 字元。
+ 雖然 MemoryDB 允許其標籤中的任何字元，但其他服務可能具有限制性。服務間允許的字元包括：可用 UTF-8 表示的英文字母、數字和空格，還有以下字元：\+ - = . \_ : / @
+ 標籤金鑰與值皆區分大小寫。
+ 字`aws:`首會保留供 AWS 使用。如果標籤具有此字首的標籤金鑰，則您無法編輯或刪除標籤的金鑰或值。具 `aws:` 字首的標籤，不算在受資源限制的標籤計數內。

您無法僅根據標籤終止、停止或刪除資源。您必須指定資源識別符。例如，若要刪除您套用稱為 `DeleteMe` 標籤金鑰的快照，您必須搭配快照的資源識別符 (例如 `DeleteSnapshot`) 使用 `snap-1234567890abcdef0` 動作。

如需您可以標記的 MemoryDB 資源的詳細資訊，請參閱 [您可以標記的資源](#tagging-your-resources)。

## 為資源加上標籤的範例
<a name="tagging-your-resources-example"></a>
+ 將標籤新增至叢集。

  ```
  aws memorydb tag-resource \
  --resource-arn arn:aws:memorydb:us-east-1:{{111111222233}}:cluster/my-cluster \
  --tags Key="project",Value="XYZ" Key="memorydb",Value="Service"
  ```
+ 使用標籤建立叢集。

  ```
  aws memorydb create-cluster \
  --cluster-name testing-tags \
  --description cluster-test \
  --subnet-group-name test \
  --node-type db.r6g.large \
  --acl-name open-access \
  --tags Key="project",Value="XYZ" Key="memorydb",Value="Service"
  ```
+ 使用標籤建立快照。

  在這種情況下，如果您在請求時新增標籤，即使叢集包含標籤，快照將只會收到請求標籤。

  ```
  aws memorydb create-snapshot \
  --cluster-name testing-tags \
  --snapshot-name bkp-testing-tags-mycluster \
  --tags Key="work",Value="foo"
  ```