Menandai sumber daya ElastiCache Anda - Amazon ElastiCache (Redis OSS)

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

Menandai sumber daya ElastiCache Anda

Untuk membantu Anda mengelola klaster dan sumber daya ElastiCache lainnya, Anda dapat menetapkan metadata Anda sendiri ke setiap sumber daya dalam bentuk tanda. Dengan tanda, Anda dapat mengategorikan sumber daya AWS Anda dengan berbagai cara, misalnya, berdasarkan tujuan, pemilik, atau lingkungan. Hal ini berguna ketika Anda memiliki banyak sumber daya dengan tipe yang sama—Anda dapat dengan cepat mengidentifikasi sumber daya tertentu berdasarkan tanda yang telah Anda tetapkan. Topik ini memberikan penjelasan tentang tanda dan menunjukkan cara membuatnya.

Awas

Sebagai praktik terbaik, sebaiknya Anda tidak menyertakan data sensitif ke dalam tanda.

Tanda merupakan label yang Anda tetapkan ke sumber daya AWS. Setiap tanda terdiri dari kunci dan nilai opsional, yang keduanya Anda tentukan. Tanda memungkinkan Anda mengategorikan sumber daya AWS Anda dengan berbagai cara, misalnya, berdasarkan tujuan atau pemilik. Misalnya, Anda dapat menentukan serangkaian tanda untuk klaster ElastiCache akun Anda yang dapat membantu melacak setiap pemilik dan grup pengguna dari setiap instans.

Sebaiknya rancang serangkaian kunci tanda yang memenuhi kebutuhan setiap tipe sumber daya. Penggunaan set kunci tanda yang konsisten akan memudahkan pengelolaan sumber daya Anda. Anda dapat mencari dan memfilter sumber daya berdasarkan tanda yang Anda tambahkan. Untuk informasi selengkapnya tentang cara mengimplementasikan strategi penandaan sumber daya yang efektif, lihat Laporan resmi AWS Praktik Terbaik Penandaan.

Tanda tidak memiliki makna semantik pada ElastiCache dan ditafsirkan sebagai string karakter. Selain itu, tanda tidak secara otomatis ditetapkan ke sumber daya Anda. Anda dapat mengedit kunci dan nilai tanda, serta menghapus tanda dari sumber daya kapan saja. Anda dapat menetapkan nilai tanda ke null. Jika Anda menambahkan tanda yang memiliki kunci yang sama dengan tanda yang telah ada di sumber daya tersebut, nilai yang baru akan menimpa nilai yang lama. Jika Anda menghapus sumber daya, semua tanda untuk sumber daya tersebut juga akan dihapus. Selain itu, jika Anda menambahkan atau menghapus tanda di grup replikasi, semua simpul di dalam grup replikasi itu juga akan mendapat penambahan atau penghapusan tanda yang sama.

Anda dapat bekerja dengan tanda menggunakan AWS Management Console, AWS CLI, dan API ElastiCache.

Jika menggunakan IAM, Anda dapat mengontrol pengguna mana di akun AWS Anda yang memiliki izin untuk membuat, mengedit, atau menghapus tanda. Untuk informasi selengkapnya, lihat Izin tingkat sumber daya.

Anda dapat menandai sebagian besar sumber daya ElastiCache yang sudah ada dalam akun Anda. Tabel di bawah ini mencantumkan sumber daya yang mendukung penandaan. Jika Anda menggunakan AWS Management Console, Anda dapat menerapkan tanda ke sumber daya dengan menggunakan Editor Tanda. Beberapa layar sumber daya memungkinkan Anda menentukan tanda untuk sebuah sumber daya saat sumber daya tersebut dibuat; misalnya, tanda dengan kunci Nama dan nilai yang Anda tentukan. Dalam kebanyakan kasus, konsol menerapkan tanda segera setelah sumber daya dibuat (alih-alih selama pembuatan sumber daya). Konsol dapat mengatur sumber daya sesuai dengan tanda Nama, tetapi tanda ini tidak memiliki makna semantik pada layanan ElastiCache.

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

Jika Anda menggunakan API Amazon ElastiCache, CLI AWS, atau SDK AWS, Anda dapat menggunakan parameter Tags pada tindakan ElastiCache API yang relevan untuk menerapkan tanda. File tersebut adalah:

  • CreateServerlessCache

  • CreateCacheCluster

  • CreateReplicationGroup

  • CopyServerlessCacheSnapshot

  • CopySnapshot

  • CreateCacheParameterGroup

  • CreateCacheSecurityGroup

  • CreateCacheSubnetGroup

  • CreateServerlessCacheSnapshot

  • CreateSnapshot

  • CreateUserGroup

  • CreateUser

  • PurchaseReservedCacheNodesOffering

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

Dukungan penandaan untuk sumber daya ElastiCache
Sumber daya Mendukung tanda Mendukung penandaan saat pembuatan
cachenirserver Ya Ya
grupparameter Ya Ya
grupkeamanan Ya Ya
grupsubnet Ya Ya
grupreplikasi Ya Ya
Klaster Ya Ya
instans-cadangan Ya Ya
serverlesscachesnapshot Ya Ya
snapshot Ya Ya
pengguna Ya Ya
gruppengguna Ya Ya
catatan

Anda tidak dapat menandai Penyimpanan Data Global.

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

Untuk informasi selengkapnya, lihat Contoh penandaan sumber daya.

Untuk informasi selanjutnya tentang penandaan sumber daya Anda untuk penagihan, lihat Memantau biaya dengan tag alokasi biaya.

Aturan berikut berlaku untuk penandaan sebagai bagian dari operasi permintaan:

  • CreateReplicationGroup:

    • Jika parameter --primary-cluster-id dan --tags termasuk dalam permintaan, tanda permintaan akan ditambahkan ke grup replikasi dan disebarkan ke semua klaster cache di grup replikasi. Jika klaster cache primer sebelumnya sudah memiliki tanda, tanda ini akan ditimpa dengan tanda permintaan agar tanda menjadi konsisten di semua simpul.

      Jika tidak ada tanda permintaan, tanda klaster cache primer akan ditambahkan ke grup replikasi dan disebarkan ke semua klaster cache.

    • 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 klaster cache.

  • CreateCacheCluster :

    • Jika --replication-group-id disediakan:

      Jika tanda disertakan dalam permintaan, klaster cache akan ditandai hanya dengan tanda tersebut. Jika tidak ada tanda yang disertakan dalam permintaan, klaster cache akan mewarisi tanda grup replikasi, bukan tanda dari klaster cache primer.

    • Jika --snapshot-name disediakan:

      Jika tanda disertakan dalam permintaan, klaster cache akan ditandai hanya dengan tanda tersebut. Jika tidak ada tanda yang disertakan dalam permintaan, tanda snapshot akan ditambahkan ke klaster cache.

  • CreateServerlessCache:

    • Jika tag disertakan dalam permintaan, hanya tag permintaan yang akan ditambahkan ke cache nirserver.

  • CreateSnapshot :

    • Jika --replication-group-id disediakan:

      Jika tanda disertakan dalam permintaan, hanya tanda permintaan yang akan ditambahkan ke snapshot. Jika tidak ada tanda yang disertakan dalam permintaan, tanda grup replikasi akan ditambahkan ke snapshot.

    • Jika --cache-cluster-id disediakan:

      Jika tanda disertakan dalam permintaan, hanya tanda permintaan yang akan ditambahkan ke snapshot. Jika tidak ada tanda yang disertakan dalam permintaan, tanda klaster cache akan ditambahkan ke snapshot.

    • Untuk snapshot otomatis:

      Tanda akan disebarkan dari tanda grup replikasi.

  • CreateServerlessCacheSnapshot:

    • Jika tag disertakan dalam permintaan, hanya tag permintaan yang akan ditambahkan ke snapshot cache nirserver.

  • CopySnapshot :

    • Jika tanda disertakan dalam permintaan, hanya tanda permintaan yang akan ditambahkan ke snapshot. Jika tidak ada tanda yang disertakan dalam permintaan, tanda 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 :

    • Tanda akan ditambahkan/dihapus dari grup replikasi dan tindakan akan disebarkan ke semua klaster dalam grup replikasi.

    catatan

    AddTagsToResource dan RemoveTagsFromResource tidak dapat digunakan untuk parameter dan grup keamanan default.

  • IncreaseReplicaCount dan ModifyReplicationGroupShardConfiguration:

    • Semua klaster baru yang ditambahkan ke grup replikasi akan memiliki tag yang sama dengan grup replikasi.

Batasan dasar berikut berlaku untuk tanda:

  • Jumlah maksimum tanda per sumber daya – 50

  • Untuk setiap sumber daya, setiap kunci tanda harus unik, dan setiap kunci tanda hanya dapat memiliki satu nilai.

  • Panjang kunci maksimum – 128 karakter Unicode dalam UTF-8.

  • Panjang nilai maksimum – 256 karakter Unicode dalam UTF-8.

  • Meskipun ElastiCache memungkinkan karakter apa pun dalam tandanya, layanan lain mungkin lebih terbatas. Karakter yang diizinkan di semua layanan adalah huruf, angka, dan spasi yang dapat direpresentasikan dalam UTF-8, serta karakter berikut: + - = . _ : / @

  • Kunci dan nilai tanda peka huruf besar dan kecil.

  • Prefiks aws: disimpan untuk penggunaan AWS. Jika tanda memiliki kunci tanda dengan prefiks ini, Anda tidak dapat mengedit atau menghapus kunci atau nilai tanda tersebut. Tanda dengan prefiks aws: tidak dihitung terhadap tanda 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 tandai dengan tanda kunci yang disebut DeleteMe, Anda harus menggunakan tindakan DeleteSnapshot dengan pengidentifikasi sumber daya snapshot tersebut, seperti snap-1234567890abcdef0.

Untuk informasi selengkapnya tentang sumber daya ElastiCache yang dapat ditandai, lihat Sumber daya yang dapat Anda tandai.

  • Membuat cache nirserver menggunakan tanda

    aws elasticache create-serverless-cache \ --serverless-cache-name CacheName \ --engine redis --tags Key="Cost Center", Value="1110001" Key="project",Value="XYZ"
  • Menambahkan tanda 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 redis \ --tags Key="project",Value="XYZ" Key="Elasticache",Value="Service"
  • Membuat snapshot nirserver dengan tag.

    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 tanda.

    Untuk kasus ini, jika Anda menambahkan tanda pada permintaan, bahkan jika grup replikasi berisi tanda, snapshot hanya akan menerima tanda permintaan.

    aws elasticache create-snapshot \ --replication-group-id testing-tags \ --snapshot-name bkp-testing-tags-rg \ --tags Key="work",Value="foo"
  1. Mengizinkan tindakan AddTagsToResource untuk klaster hanya jika klaster memiliki tanda Project=XYZ.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "elasticache:AddTagsToResource", "Resource": [ "arn:aws:elasticache:*:*:cluster:*" ], "Condition": { "StringEquals": { "aws:ResourceTag/Project": "XYZ" } } } ] }
  2. Mengizinkan tindakan RemoveTagsFromResource dari grup replikasi jika grup berisi tanda Project dan Service serta kunci yang berbeda dari Project dan Service.

    { "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" ] } } } ] }
  3. Mengizinkan AddTagsToResource untuk sumber daya apa pun hanya jika tanda berbeda dari Project dan Service.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "elasticache:AddTagsToResource", "Resource": [ "arn:aws:elasticache:*:*:*:*" ], "Condition": { "ForAnyValue:StringNotEqualsIgnoreCase": { "aws:TagKeys": [ "Service", "Project" ] } } } ] }
  4. Menolak tindakan CreateReplicationGroup jika permintaan memiliki Tag Project=Foo.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "elasticache:CreateReplicationGroup", "Resource": [ "arn:aws:elasticache:*:*:replicationgroup:*" ], "Condition": { "StringEquals": { "aws:RequestTag/Project": "Foo" } } } ] }
  5. Menolak tindakan CopySnapshot jika sumber snapshot memiliki tanda Project=XYZ dan tanda permintaan adalah Service=Elasticache.

    { "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" } } } ] }
  6. Menolak CreateCacheCluster tindakan jika tag permintaan Project hilang atau tidak sama dengan Dev, QA atau Prod.

    { "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 syarat ini, lihat Menggunakan kunci kondisi.