

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Menandai sumber daya Anda ElastiCache
<a name="Tagging-Resources"></a>

Untuk membantu mengelola cluster dan ElastiCache sumber daya lainnya, Anda dapat menetapkan metadata Anda sendiri ke setiap sumber daya dalam bentuk tag. Tag memungkinkan Anda untuk mengkategorikan AWS sumber daya Anda dengan cara yang berbeda, misalnya, berdasarkan tujuan, pemilik, atau lingkungan. Hal ini berguna ketika Anda memiliki banyak sumber daya dengan jenis yang sama—Anda dapat dengan cepat mengidentifikasi sumber daya tertentu berdasarkan tag yang telah Anda tetapkan. Topik ini menjelaskan tag dan menunjukkan cara membuatnya.

**Awas**  
Sebagai praktik terbaik, sebaiknya Anda tidak menyertakan data sensitif ke dalam tag.

## Dasar-dasar tag
<a name="Tagging-basics"></a>

Tag adalah label yang Anda tetapkan ke AWS sumber daya. Setiap tag terdiri dari satu kunci dan satu nilai opsional, yang keduanya Anda tentukan sendiri. Tag memungkinkan Anda untuk mengkategorikan AWS sumber daya Anda dengan cara yang berbeda, misalnya, berdasarkan tujuan atau pemilik. Misalnya, Anda dapat menentukan satu set tag untuk ElastiCache klaster akun Anda yang membantu Anda melacak pemilik dan grup pengguna setiap instans.

Sebaiknya rancang serangkaian kunci tag yang memenuhi kebutuhan setiap jenis sumber daya. Penggunaan set kunci tag yang konsisten akan memudahkan manajemen sumber daya Anda. Anda dapat mencari dan memfilter sumber daya berdasarkan tag yang Anda tambahkan. Untuk informasi selengkapnya tentang cara mengimplementasikan strategi pemberian tag sumber daya yang efektif, lihat [Laporan resmi AWS Praktik Terbaik Pemberian Tag](https://d1.awsstatic.com/whitepapers/aws-tagging-best-practices.pdf).

Tag tidak memiliki arti semantik ElastiCache dan ditafsirkan secara ketat sebagai serangkaian karakter. Selain itu, tag tidak secara otomatis ditetapkan ke sumber daya Anda. Anda dapat mengedit kunci dan nilai tag, serta menghapus tag dari sumber daya kapan saja. Anda dapat menetapkan nilai tag ke `null`. Jika Anda menambahkan tag yang memiliki kunci yang sama dengan tag yang sudah ada di sumber daya tersebut, nilai yang baru akan menimpa nilai yang lama. Jika Anda menghapus sumber daya, semua tag untuk sumber daya tersebut juga akan dihapus. Selain itu, jika Anda menambahkan atau menghapus tag di grup replikasi, semua simpul dalam grup replikasi itu juga akan mendapatkan penambahan atau penghapusan tag yang sama.

 Anda dapat bekerja dengan tag menggunakan Konsol Manajemen AWS, the AWS CLI, dan ElastiCache API.

Jika Anda menggunakan IAM, Anda dapat mengontrol pengguna mana di AWS akun Anda yang memiliki izin untuk membuat, mengedit, atau menghapus tag. Untuk informasi selengkapnya, lihat [Resource-level izin](IAM.ResourceLevelPermissions.md).

## Sumber daya yang dapat Anda beri tag
<a name="Tagging-your-resources"></a>

Anda dapat menandai sebagian besar ElastiCache sumber daya yang sudah ada di akun Anda. Tabel di bawah ini mencantumkan sumber daya yang mendukung pemberian tag. Jika Anda menggunakan Konsol Manajemen AWS, Anda dapat menerapkan tag ke sumber daya dengan menggunakan [Editor Tag](https://docs.aws.amazon.com/ARG/latest/userguide/tag-editor.html). Beberapa layar sumber daya memungkinkan Anda menentukan tag untuk sebuah sumber daya saat sumber daya tersebut dibuat; misalnya, tag dengan kunci Nama dan nilai yang Anda tentukan. Dalam kebanyakan kasus, konsol menerapkan tag segera setelah sumber daya dibuat (bukan selama pembuatan sumber daya). Konsol dapat mengatur sumber daya sesuai dengan tag **Nama**, tetapi tag ini tidak memiliki arti semantik untuk layanan. ElastiCache 

 Selain itu, beberapa tindakan pembuatan sumber daya memungkinkan Anda menentukan tag untuk sumber daya saat sumber daya tersebut dibuat. Jika tag tidak dapat diterapkan selama pembuatan sumber daya, kami akan mengembalikan proses pembuatan sumber daya. Hal ini untuk memastikan bahwa sumber daya dibuat dengan tag atau tidak akan dibuat sama sekali, dan tidak akan ada sumber daya yang dibiarkan tidak bertanda. Dengan memberikan tag pada sumber daya saat pembuatan, Anda tidak perlu menjalankan skrip pemberian tag kustom setelah pembuatan sumber daya. 

 Jika Anda menggunakan Amazon ElastiCache API, AWS CLI, atau AWS SDK, Anda dapat menggunakan `Tags` parameter pada tindakan ElastiCache API yang relevan untuk menerapkan tag. File tersebut adalah:
+ `CreateServerlessCache`
+ `CreateCacheCluster`
+ `CreateReplicationGroup`
+ `CopyServerlessCacheSnapshot`
+ `CopySnapshot`
+ `CreateCacheParameterGroup`
+ `CreateCacheSecurityGroup`
+ `CreateCacheSubnetGroup`
+ `CreateServerlessCacheSnapshot`
+ `CreateSnapshot`
+ `CreateUserGroup`
+ `CreateUser`
+ `PurchaseReservedCacheNodesOffering`

Tabel berikut menjelaskan ElastiCache sumber daya yang dapat diberi tag, dan sumber daya yang dapat diberi tag saat pembuatan menggunakan ElastiCache API, AWS CLI, atau SDK. AWS 


**Menandai dukungan untuk sumber daya ElastiCache**  

| Sumber daya | Mendukung tag | Mendukung pemberian tag saat pembuatan | 
| --- | --- | --- | 
| serverlesscache | Ya | Ya | 
| parametergroup | Ya | Ya | 
| securitygroup | Ya | Ya | 
| subnetgroup | Ya | Ya | 
| replicationgroup | Ya | Ya | 
| cluster | Ya | Ya | 
| reserved-instance | Ya | Ya | 
| serverlesscachesnapshot | Ya | Ya | 
| snapshot | Ya | Ya | 
| user | Ya | Ya | 
| usergroup | Ya | Ya | 

**catatan**  
Anda tidak dapat memberikan tag pada Penyimpanan Data Global.

Anda dapat menerapkan izin tingkat sumber daya berbasis tag dalam kebijakan IAM Anda ke tindakan ElastiCache API yang mendukung penandaan pada pembuatan untuk menerapkan kontrol terperinci atas pengguna dan grup yang dapat menandai sumber daya saat pembuatan. Sumber daya Anda diamankan secara tepat sejak pembuatan—tag yang diterapkan segera ke sumber daya Anda. Oleh karena itu, izin tingkat sumber daya berbasis tag apa pun yang mengontrol penggunaan sumber daya akan langsung diterapkan. Sumber daya Anda dapat dilacak dan dilaporkan dengan lebih akurat. Anda dapat menerapkan penggunaan pemberian tag pada sumber daya baru serta mengontrol kunci dan nilai tag mana yang ditetapkan pada sumber daya Anda.

Untuk informasi selengkapnya, lihat [Contoh pemberian tag sumber daya](#Tagging-your-resources-example).

 Untuk informasi selanjutnya tentang pemberian tag sumber daya Anda untuk penagihan, lihat [Memantau biaya dengan tag alokasi biaya](Tagging.md).

## Memberi tag pada cache dan snapshot
<a name="Tagging-replication-groups-snapshots"></a>

Aturan berikut berlaku untuk pemberian tag sebagai bagian dari operasi permintaan:
+ **CreateReplicationGroup**: 
  + Jika `--tags` parameter `--primary-cluster-id` dan disertakan dalam permintaan, tag permintaan akan ditambahkan ke grup replikasi dan disebarkan ke semua cluster dalam grup replikasi. Jika cluster utama memiliki tag yang ada, ini akan ditimpa dengan tag permintaan untuk memiliki tag yang konsisten di semua node.

    Jika tidak ada tag permintaan, tag cluster utama akan ditambahkan ke grup replikasi dan disebarkan ke semua cluster.
  + Jika `--snapshot-name` atau `--serverless-cache-snapshot-name` disediakan:

    Jika tag disertakan dalam permintaan, grup replikasi hanya akan ditandai dengan tag tersebut. Jika tidak ada tag yang disertakan dalam permintaan, tag snapshot akan ditambahkan ke grup replikasi.
  + Jika `--global-replication-group-id` disediakan:

    Jika tag disertakan dalam permintaan, tag permintaan akan ditambahkan ke grup replikasi dan disebarkan ke semua cluster. 
+ **CreateCacheCluster** : 
  +  Jika `--replication-group-id` disediakan:

    Jika tag disertakan dalam permintaan, cluster hanya akan diberi tag dengan tag tersebut. Jika tidak ada tag yang disertakan dalam permintaan, cluster akan mewarisi tag grup replikasi alih-alih tag cluster utama.
  + Jika `--snapshot-name` disediakan:

    Jika tag disertakan dalam permintaan, cluster hanya akan diberi tag dengan tag tersebut. Jika tidak ada tag yang disertakan dalam permintaan, tag snapshot akan ditambahkan ke cluster.
+ **CreateServerlessCache** : 
  + Jika tag disertakan dalam permintaan, hanya tag permintaan yang akan ditambahkan ke cache nirserver.
+ **CreateSnapshot** : 
  +  Jika `--replication-group-id` disediakan:

    Jika tag disertakan dalam permintaan, hanya tag permintaan yang akan ditambahkan ke snapshot. Jika tidak ada tag yang disertakan dalam permintaan, tag grup replikasi akan ditambahkan ke snapshot. 
  + Jika `--cache-cluster-id` disediakan:

    Jika tag disertakan dalam permintaan, hanya tag permintaan yang akan ditambahkan ke snapshot. Jika tidak ada tag yang disertakan dalam permintaan, tag cluster akan ditambahkan ke snapshot. 
  + Untuk snapshot otomatis:

    Tag akan disebarkan dari tag grup replikasi. 
+ **CreateServerlessCacheSnapshot** : 
  + Jika tag disertakan dalam permintaan, hanya tag permintaan yang akan ditambahkan ke snapshot cache nirserver.
+ **CopySnapshot** : 
  + Jika tag disertakan dalam permintaan, hanya tag permintaan yang akan ditambahkan ke snapshot. Jika tidak ada tag yang disertakan dalam permintaan, tag snapshot sumber akan ditambahkan ke snapshot salinan.
+ **CopyServerlessCacheSnapshot** : 
  + Jika tag disertakan dalam permintaan, hanya tag permintaan yang akan ditambahkan ke snapshot cache nirserver.
+ **AddTagsToResource**dan **RemoveTagsFromResource**: 
  + Tag akan added/removed berasal dari grup replikasi dan tindakan akan disebarkan ke semua cluster di grup replikasi.
**catatan**  
**AddTagsToResource**dan **RemoveTagsFromResource**tidak dapat digunakan untuk parameter default dan grup keamanan.
+ **IncreaseReplicaCount** dan **ModifyReplicationGroupShardConfiguration**: 
  + Semua klaster baru yang ditambahkan ke grup replikasi akan memiliki tag yang sama dengan grup replikasi. 

## Batasan tag
<a name="Tagging-restrictions"></a>

Batasan dasar berikut berlaku untuk tag:
+ Jumlah maksimum tag per sumber daya – 50
+ Untuk setiap sumber daya, setiap kunci tag harus unik, dan setiap kunci tag hanya dapat memuat satu nilai.
+ Panjang kunci maksimum - 128 karakter Unicode masuk UTF-8.
+ Panjang nilai maksimum - 256 karakter Unicode di UTF-8.
+ Meskipun ElastiCache memungkinkan karakter apa pun dalam tagnya, layanan lain dapat membatasi. Karakter yang diizinkan di seluruh layanan adalah: huruf, angka, dan spasi yang dapat direpresentasikan dalam UTF-8, dan karakter berikut: \+ - =. \_:/@
+ Kunci dan nilai tag peka terhadap huruf besar dan kecil.
+ `aws:`Awalan dicadangkan untuk AWS digunakan. Jika tag memiliki kunci tag dengan awalan ini, Anda tidak dapat mengedit atau menghapus kunci atau nilai tag tersebut. Tag dengan awalan `aws:` tidak dihitung terhadap tag per batas sumber daya.

Anda tidak dapat mengakhiri, menghentikan, atau menghapus sumber daya berdasarkan tandanya saja; Anda harus menentukan pengidentifikasi sumber daya tersebut. Misalnya, untuk menghapus snapshot yang Anda beri tag dengan tag kunci yang disebut `DeleteMe`, Anda harus menggunakan tindakan `DeleteSnapshot` dengan pengidentifikasi sumber daya snapshot tersebut, seperti `snap-1234567890abcdef0`.

Untuk informasi selengkapnya tentang ElastiCache sumber daya yang dapat Anda beri tag, lihat[Sumber daya yang dapat Anda beri tag](#Tagging-your-resources).

## Contoh pemberian tag sumber daya
<a name="Tagging-your-resources-example"></a>
+ Membuat cache tanpa server menggunakan tag. Contoh ini menggunakan Memcached sebagai mesin.

  ```
  aws elasticache create-serverless-cache \
      --serverless-cache-name CacheName \
      --engine memcached
      --tags Key="Cost Center", Value="1110001" Key="project",Value="XYZ"
  ```
+ Menambahkan tag ke cache nirserver

  ```
  aws elasticache add-tags-to-resource \
  --resource-name arn:aws:elasticache:us-east-1:111111222233:serverlesscache:my-cache \
  --tags Key="project",Value="XYZ" Key="Elasticache",Value="Service"
  ```
+ Menambahkan tanda ke Grup Replikasi.

  ```
  aws elasticache add-tags-to-resource \
  --resource-name arn:aws:elasticache:us-east-1:{{111111222233}}:replicationgroup:my-rg \
  --tags Key="project",Value="XYZ" Key="Elasticache",Value="Service"
  ```
+ Membuat Klaster Cache menggunakan tanda.

  ```
  aws elasticache create-cache-cluster \
  --cluster-id testing-tags \
  --cluster-description cluster-test \
  --cache-subnet-group-name test \
  --cache-node-type cache.t2.micro \
  --engine valkey \
  --tags Key="project",Value="XYZ" Key="Elasticache",Value="Service"
  ```
+ Membuat Klaster Cache menggunakan tag. Contoh ini menggunakan Redis sebagai mesin.

  ```
  aws elasticache create-cache-cluster \
  --cluster-id testing-tags \
  --cluster-description cluster-test \
  --cache-subnet-group-name test \
  --cache-node-type cache.t2.micro \
  --engine valkey \
  --tags Key="project",Value="XYZ" Key="Elasticache",Value="Service"
  ```
+ Membuat snapshot nirserver dengan tag. Contoh ini menggunakan Memcached sebagai mesin.

  ```
  aws elasticache create-serverless-cache-snapshot \
  --serverless-cache-name testing-tags \
  --serverless-cache-snapshot-name bkp-testing-tags-scs \
  --tags Key="work",Value="foo"
  ```
+ Membuat Snapshot dengan tag.

  Snapshot saat ini hanya tersedia untuk Redis. Untuk kasus ini, jika Anda menambahkan tag pada permintaan, bahkan jika grup replikasi berisi tag, snapshot hanya akan menerima tag permintaan. 

  ```
  aws elasticache create-snapshot \
  --replication-group-id testing-tags \
  --snapshot-name bkp-testing-tags-rg \
  --tags Key="work",Value="foo"
  ```

## Tag-Based contoh kebijakan kontrol akses
<a name="Tagging-access-control"></a>

1. Mengizinkan tindakan `AddTagsToResource` untuk klaster hanya jika klaster memiliki tag Project=XYZ.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": "elasticache:AddTagsToResource",
               "Resource": [
                   "arn:aws:elasticache:*:*:cluster:*"
               ],
               "Condition": {
                   "StringEquals": {
                       "aws:ResourceTag/Project": "XYZ"
                   }
               }
           }
       ]
   }
   ```

------

1. Mengizinkan tindakan `RemoveTagsFromResource` dari grup replikasi jika grup berisi tag Project dan Service serta kunci yang berbeda dari Project dan Service.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": "elasticache:RemoveTagsFromResource",
               "Resource": [
                   "arn:aws:elasticache:*:*:replicationgroup:*"
               ],
               "Condition": {
                   "StringEquals": {
                       "aws:ResourceTag/Service": "Elasticache",
                       "aws:ResourceTag/Project": "XYZ"
                   },                
                   "ForAnyValue:StringNotEqualsIgnoreCase": {
                       "aws:TagKeys": [
                           "Project",
                           "Service"
                       ]
                   }
               }
           }
       ]
   }
   ```

------

1. Mengizinkan `AddTagsToResource` untuk sumber daya apa pun hanya jika tag berbeda dari Project dan Service.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": "elasticache:AddTagsToResource",
               "Resource": [
                   "arn:aws:elasticache:*:*:*:*"
               ],
               "Condition": {
                   "ForAnyValue:StringNotEqualsIgnoreCase": {
                       "aws:TagKeys": [ 
                           "Service", 
                           "Project" 
                       ]
                   }
               }
           }
       ]
   }
   ```

------

1. Menolak tindakan `CreateReplicationGroup` jika permintaan memiliki `Tag Project=Foo`.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Deny",
               "Action": "elasticache:CreateReplicationGroup",
               "Resource": [
                   "arn:aws:elasticache:*:*:replicationgroup:*"
               ],
               "Condition": {
                   "StringEquals": {
                       "aws:RequestTag/Project": "Foo"
                   }
               }
           }
       ]
   }
   ```

------

1. Menolak tindakan `CopySnapshot` jika sumber snapshot memiliki tag Project=XYZ dan tag permintaan adalah Service=Elasticache.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Deny",
               "Action": "elasticache:CopySnapshot",
               "Resource": [
                   "arn:aws:elasticache:*:*:snapshot:*"
               ],
               "Condition": {
                   "StringEquals": {
                       "aws:ResourceTag/Project": "XYZ",
                       "aws:RequestTag/Service": "Elasticache"
                   }
               }
           }
       ]
   }
   ```

------

1. Menolak `CreateCacheCluster` tindakan jika tag permintaan `Project` hilang atau tidak sama dengan `Dev`, `QA` atau `Prod`.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
             {
               "Effect": "Allow",
               "Action": [
                   "elasticache:CreateCacheCluster"
               ],
               "Resource": [
                   "arn:aws:elasticache:*:*:parametergroup:*",
                   "arn:aws:elasticache:*:*:subnetgroup:*",
                   "arn:aws:elasticache:*:*:securitygroup:*",
                   "arn:aws:elasticache:*:*:replicationgroup:*"
               ]
           },
           {
               "Effect": "Deny",
               "Action": [
                   "elasticache:CreateCacheCluster"
               ],
               "Resource": [
                   "arn:aws:elasticache:*:*:cluster:*"
               ],
               "Condition": {
                   "Null": {
                       "aws:RequestTag/Project": "true"
                   }
               }
           },
           {
               "Effect": "Allow",
               "Action": [
                   "elasticache:CreateCacheCluster",
                   "elasticache:AddTagsToResource"
               ],
               "Resource": "arn:aws:elasticache:*:*:cluster:*",
               "Condition": {
                   "StringEquals": {
                       "aws:RequestTag/Project": [
                           "Dev",
                           "Prod",
                           "QA"
                       ]
                   }
               }
           }
       ]
   }
   ```

------

Untuk informasi terkait kunci kondisi ini, lihat [Menggunakan kunci kondisi](IAM.ConditionKeys.md).