Memberi tag pada sumber daya Amazon RDS - Layanan Basis Data Relasional Amazon

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

Memberi tag pada sumber daya Amazon RDS

Tag Amazon RDS adalah pasangan nama-nilai yang Anda tentukan dan kaitkan dengan sumber daya Amazon RDS seperti instans DB atau snapshot DB. Nama ini disebut sebagai kunci. Secara opsional, Anda dapat memberikan nilai untuk kunci tersebut.

Anda dapat menggunakan, API AWS Management Console AWS CLI, atau Amazon RDS untuk menambahkan, membuat daftar, dan menghapus tag di sumber daya Amazon RDS. Saat menggunakan CLI atau API, pastikan untuk menyediakan Amazon Resource Name (ARN) agar sumber daya RDS dapat berfungsi. Untuk informasi selengkapnya tentang cara membuat konsep ARN, lihat Membuat konsep ARN untuk Amazon RDS.

Mengapa menggunakan tag sumber daya Amazon RDS?

Anda dapat menggunakan tag untuk melakukan hal berikut:

  • Kategorikan sumber daya RDS Anda berdasarkan aplikasi, proyek, departemen, lingkungan, dan sebagainya. Misalnya, Anda dapat menggunakan kunci tag untuk menentukan kategori, di mana nilai tag adalah item dalam kategori ini. Anda dapat membuat tagenvironment=prod. Atau Anda dapat menentukan kunci tag project dan nilai tagSalix, yang menunjukkan bahwa sumber daya Amazon RDS ditetapkan ke proyek Salix.

  • Otomatiskan tugas manajemen sumber daya. Misalnya, Anda dapat membuat jendela pemeliharaan untuk instance yang diberi tag environment=prod yang berbeda dari jendela untuk instance yang diberi tag. environment=test Anda juga dapat mengonfigurasi snapshot DB otomatis untuk instance yang ditandai. environment=prod

  • Kontrol akses ke sumber daya RDS dalam kebijakan IAM. Anda dapat melakukan ini dengan menggunakan kunci kondisi aws:ResourceTag/tag-key global. Misalnya, kebijakan mungkin hanya mengizinkan pengguna dalam DBAdmin grup untuk memodifikasi instans DB yang diberi tag. environment=prod Untuk informasi tentang mengelola akses ke sumber daya yang ditandai dengan kebijakan IAM, lihat Manajemen identitas dan akses untuk Amazon RDS dan Mengontrol akses ke AWS sumber daya di Panduan Pengguna AWS Identity and Access Management.

  • Pantau sumber daya berdasarkan tag. Misalnya, Anda dapat membuat CloudWatch dasbor Amazon untuk instans DB yang ditandai dengan. environment=prod

  • Lacak biaya dengan mengelompokkan biaya untuk sumber daya yang ditandai serupa. Misalnya, jika Anda menandai sumber daya RDS yang terkait dengan proyek Salixproject=Salix, Anda dapat menghasilkan laporan biaya dan mengalokasikan pengeluaran untuk proyek ini. Untuk informasi selengkapnya, lihat Cara kerja AWS penagihan dengan tag di Amazon RDS.

Cara kerja tag sumber daya Amazon RDS

AWS tidak menerapkan makna semantik apa pun pada tag Anda. Tanda ditafsirkan dengan ketat sebagai string karakter.

Set tag di Amazon RDS

Setiap sumber daya Amazon RDS memiliki wadah yang disebut set tag. Wadah mencakup semua tag yang ditetapkan ke sumber daya. Sumber daya memiliki tepat satu set tag.

Satu set tag berisi 0-50 tag. Jika Anda menambahkan sumber daya RDS dengan kunci yang sama dengan tag sumber daya yang sudah ada di sumber daya tersebut, nilai baru akan menimpa nilai lama.

Struktur tag di Amazon RDS

Struktur tag RDS adalah sebagai berikut:

Kunci tag

Kuncinya adalah nama tag yang diperlukan. Nilai string harus 1—128 karakter Unicode panjangnya dan tidak dapat diawali dengan atau. aws: rds: String hanya dapat berisi kumpulan huruf Unicode, digit, spasi putih,,,,_,., : /=, + dan. - @ Java regex adalah. "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" Kunci tag peka terhadap huruf besar dan kecil. Dengan demikian, kunci project dan Project berbeda.

Kunci unik untuk set tag. Misalnya, Anda tidak dapat memiliki pasangan kunci dalam set tag dengan kunci yang sama tetapi dengan nilai yang berbeda, seperti project=Trinity dan. project=Xanadu

Nilai tag

Nilai adalah nilai string opsional dari tag. Nilai string harus 1-256 karakter Unicode panjangnya. String hanya dapat berisi kumpulan huruf Unicode, digit, spasi putih,,,,_,., : /=, + dan. - @ Java regex adalah. "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" Kunci dan nilai tag peka terhadap huruf besar dan kecil. Dengan demikian, nilai-nilai prod dan Prod berbeda.

Nilai tidak perlu unik dalam satu set tag dan bisa null. Misalnya, Anda dapat menggunakan pasangan kunci-nilai dalam satu rangkaian tag project=Trinity dan cost-center=Trinity.

Sumber daya Amazon RDS memenuhi syarat untuk penandaan

Anda dapat memberi tag pada sumber daya Amazon RDS berikut:

  • Instans DB

  • Klaster DB

  • Titik akhir cluster DB

  • Replika baca

  • Snapshot DB

  • Snapshot klaster DB

  • Instans DB terpesan

  • Langganan peristiwa

  • Grup opsi DB

  • Grup parameter DB

  • Grup parameter klaster DB

  • Grup subnet DB

  • Proksi RDS

  • Titik akhir Proksi RDS

    catatan

    Saat ini, Anda tidak dapat memberi tag pada Proksi RDS dan titik akhir Proksi RDS dengan menggunakan AWS Management Console.

  • Deployment blue/green

  • Integrasi nol-ETL (pratinjau)

Cara kerja AWS penagihan dengan tag di Amazon RDS

Gunakan tag untuk mengatur AWS tagihan Anda untuk mencerminkan struktur biaya Anda sendiri. Untuk melakukan ini, daftar untuk mendapatkan Akun AWS tagihan Anda dengan nilai kunci tag disertakan. Kemudian, untuk melihat biaya sumber daya gabungan, atur informasi penagihan Anda sesuai dengan sumber daya Anda dengan nilai kunci tag yang sama. Misalnya, Anda dapat memberi tag pada beberapa sumber daya dengan nama aplikasi tertentu, kemudian mengatur informasi penagihan Anda untuk melihat biaya total aplikasi tersebut di beberapa layanan. Untuk informasi selengkapnya, lihat Menggunakan Tag Alokasi Biaya dalam Panduan Pengguna AWS Billing .

Bagaimana tag alokasi biaya bekerja dengan snapshot DB

Anda dapat menambahkan tag ke snapshot DB. Namun, tagihan Anda tidak akan mencerminkan pengelompokan ini. Agar tag alokasi biaya diterapkan ke snapshot DB, kondisi berikut harus dipenuhi:

  • Tag harus dilampirkan ke instance DB induk.

  • Instance DB induk harus ada Akun AWS sama dengan snapshot DB.

  • Instance DB induk harus ada Wilayah AWS sama dengan snapshot DB.

Snapshot DB dianggap yatim piatu jika tidak ada di Wilayah yang sama dengan instans DB induk. Biaya untuk snapshot yatim piatu digabungkan dalam satu item baris yang tidak ditandai. Snapshot DB lintas akun tidak dianggap yatim piatu ketika kondisi berikut terpenuhi:

  • Mereka ada di Wilayah yang sama dengan instans DB induk.

  • Instance DB induk dimiliki oleh akun sumber.

    catatan

    Jika instans DB induk dimiliki oleh akun lain, tag alokasi biaya tidak berlaku untuk snapshot lintas akun di akun tujuan.

Praktik terbaik untuk menandai sumber daya Amazon RDS

Saat Anda menggunakan tag, kami sarankan Anda mematuhi praktik terbaik berikut:

  • Konvensi dokumen untuk penggunaan tag yang diikuti oleh semua tim di organisasi Anda. Secara khusus, pastikan nama-nama itu deskriptif dan konsisten. Misalnya, standarisasi pada format environment:prod daripada menandai beberapa sumber daya dengan. env:production

    penting

    Jangan menyimpan informasi pengenal pribadi (PII) atau informasi rahasia atau sensitif lainnya dalam tag.

  • Otomatiskan penandaan untuk memastikan konsistensi. Misalnya, Anda dapat menggunakan teknik berikut:

    • Sertakan tag dalam AWS CloudFormation templat. Saat Anda membuat sumber daya dengan templat, sumber daya ditandai secara otomatis.

    • Tentukan dan terapkan tag menggunakan AWS Lambda fungsi.

    • Buat dokumen SSM yang menyertakan langkah-langkah untuk menambahkan tag ke sumber daya RDS Anda.

  • Gunakan tag hanya jika diperlukan. Anda dapat menambahkan hingga 50 tag untuk satu sumber daya RDS, tetapi praktik terbaik adalah menghindari proliferasi dan kompleksitas tag yang tidak perlu.

  • Tinjau tag secara berkala untuk relevansi dan akurasi. Hapus atau ubah tag usang sesuai kebutuhan.

  • Pertimbangkan untuk membuat AWS tag dengan Editor Tag di AWS Management Console. Anda dapat menggunakan Editor Tag untuk menambahkan tag ke beberapa AWS sumber daya yang didukung, termasuk sumber daya RDS, secara bersamaan. Untuk informasi selengkapnya, lihat Editor Tag di Panduan Pengguna AWS .

Mengelola tag di Amazon RDS

Anda dapat melakukan tindakan berikut:

  • Buat tag saat Anda membuat sumber daya, misalnya, saat Anda menjalankan AWS CLI perintahcreate-db-instance.

  • Tambahkan tag ke sumber daya yang ada menggunakan perintahadd-tags-to-resource.

  • Daftar tag yang terkait dengan sumber daya tertentu menggunakan perintahlist-tags-for-resource.

  • Perbarui tag menggunakan perintahadd-tags-to-resource.

  • Hapus tag dari sumber daya menggunakan perintahremove-tags-from-resource.

Prosedur berikut menunjukkan bagaimana Anda dapat melakukan operasi penandaan khas pada sumber daya yang terkait dengan instans DB dan cluster DB. Perhatikan bahwa tag disimpan di cache untuk diotorisasi. Untuk alasan ini, ketika Anda menambahkan atau memperbarui tag pada sumber daya Amazon RDS, beberapa menit dapat berlalu sebelum modifikasi tersedia.

Proses pemberian tag pada sumber daya Amazon RDS untuk semua sumber daya sama. Prosedur berikut menunjukkan cara memberi tag pada instans DB Amazon RDS.

Untuk menambahkan tag ke instans DB
  1. Masuk ke AWS Management Console dan buka konsol Amazon RDS di https://console.aws.amazon.com/rds/.

  2. Di panel navigasi, pilih Basis Data.

    catatan

    Untuk memfilter daftar instans DB di panel Basis data, masukkan string teks untuk Filter basis data. Hanya instans DB yang berisi string yang muncul.

  3. Pilih nama instans DB yang ingin diberi tag untuk menampilkan detailnya.

  4. Di bagian detail, gulir ke bawah hingga bagian Tag.

  5. Pilih Tambahkan. Jendela Tambahkan tag akan muncul.

    Jendela Tambahkan tag
  6. Masukkan nilai untuk Kunci tag dan Nilai.

  7. Untuk menambahkan tag lain, Anda dapat memilih Tambahkan Tag lain dan memasukkan nilai untuk Kunci tag dan Nilai-nya.

    Ulangi langkah ini seperlunya.

  8. Pilih Tambahkan.

Untuk menghapus tag dari instans DB
  1. Masuk ke AWS Management Console dan buka konsol Amazon RDS di https://console.aws.amazon.com/rds/.

  2. Di panel navigasi, pilih Basis Data.

    catatan

    Untuk memfilter daftar instans DB di panel Basis data, masukkan string teks dalam kotak Filter basis data. Hanya instans DB yang berisi string yang muncul.

  3. Pilih nama instans DB untuk menampilkan detailnya.

  4. Di bagian detail, gulir ke bawah hingga bagian Tag.

  5. Pilih tag yang ingin dihapus.

    Bagian Tag
  6. Pilih Hapus, lalu pilih Hapus di jendela Hapus tag.

Anda dapat menambahkan, mencantumkan, atau menghapus tag untuk instans DB menggunakan AWS CLI.

  • Untuk menambahkan satu atau beberapa tag ke sumber daya Amazon RDS, gunakan AWS CLI perintah add-tags-to-resource.

  • Untuk membuat daftar tag pada sumber daya Amazon RDS, gunakan AWS CLI perintah list-tags-for-resource.

  • Untuk menghapus satu atau beberapa tag dari sumber daya Amazon RDS, gunakan AWS CLI perintah remove-tags-from-resource.

Untuk mempelajari lebih lanjut tentang cara membuat ARN yang diperlukan, lihat Membuat konsep ARN untuk Amazon RDS.

Anda dapat menambahkan, mencantumkan, atau menghapus tag untuk instans DB menggunakan Amazon RDS API.

Untuk mempelajari lebih lanjut tentang cara membuat konsep ARN yang diperlukan, lihat Membuat konsep ARN untuk Amazon RDS.

Saat bekerja dengan XML menggunakan Amazon RDS API, tag menggunakan skema berikut:

<Tagging> <TagSet> <Tag> <Key>Project</Key> <Value>Trinity</Value> </Tag> <Tag> <Key>User</Key> <Value>Jones</Value> </Tag> </TagSet> </Tagging>

Tabel berikut menyediakan daftar tag XML yang diizinkan beserta karakteristiknya. Nilai untuk Key dan Value peka huruf besar/kecil. Misalnya, project=Trinity dan PROJECT=Trinity merupakan tag yang berbeda.

Elemen pemberian tag Deskripsi
TagSet Rangkaian tag adalah wadah untuk semua tag yang ditetapkan ke sumber daya Amazon RDS. Hanya ada satu rangkaian tag per sumber daya. Anda bekerja dengan TagSet hanya melalui Amazon RDS API.
Tag Tag adalah pasangan kunci-nilai yang ditentukan pengguna. Satu rangkaian tag bisa berisi 1 hingga 50 tag.
Kunci

Kunci adalah nama tag yang wajib diisi. Untuk pembatasan, lihatStruktur tag di Amazon RDS.

Nilai string dapat terdiri dari 1 hingga 128 karakter Unicode dan tidak boleh diawali dengan aws: atau rds:. String hanya boleh berisi kumpulan huruf Unicode, angka, ruang kosong, '_', '.', '/', '=', '+', '-' (Java regex: "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-]*)$").

Kunci dalam rangkaian tag harus unik. Misalnya, Anda tidak dapat memiliki pasangan kunci dalam satu rangkaian tag dengan kunci yang sama tetapi dengan nilai yang berbeda, seperti project/Trinity dan project/Xanadu.

Nilai

Nilai adalah nilai tag opsional. Untuk pembatasan, lihatStruktur tag di Amazon RDS.

Nilai string dapat terdiri dari 1 hingga 256 karakter Unicode dan tidak boleh diawali dengan aws: atau rds:. String hanya boleh berisi kumpulan huruf Unicode, angka, ruang kosong, '_', '.', '/', '=', '+', '-' (Java regex: "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-]*)$").

Nilai rangkaian tag tidak harus unik dan bisa nol. Misalnya, Anda dapat menggunakan pasangan kunci-nilai dalam satu rangkaian tag project/Trinity dan cost-center/Trinity.

Menyalin tag ke snapshot DB

Saat membuat atau memulihkan instans DB, Anda dapat menentukan bahwa tag dari instans DB disalin ke snapshot instans DB. Penyalinan tag memastikan bahwa metadata untuk snapshot DB cocok dengan metadata instans DB sumber. Ini juga memastikan bahwa kebijakan akses apa pun untuk snapshot DB juga cocok dengan kebijakan akses instans DB sumber.

Anda dapat menentukan bahwa tag disalin ke snapshot DB untuk tindakan berikut:

  • Membuat instans DB.

  • Memulihkan instans DB.

  • Membuat replika baca.

  • Menyalin snapshot DB.

Dalam kebanyakan kasus, tag tidak disalin secara default. Namun, saat Anda memulihkan instans DB dari snapshot DB, RDS memeriksa apakah Anda menentukan tag baru. Jika ya, tag baru akan ditambahkan ke instans DB yang dipulihkan. Jika tidak ada tag baru, RDS akan menambahkan tag dari instans DB sumber pada saat pembuatan snapshot ke instans DB yang dipulihkan.

Untuk mencegah tag dari instans DB sumber ditambahkan ke instans DB yang dipulihkan, sebaiknya Anda menentukan tag baru saat memulihkan instans DB.

catatan

Dalam beberapa kasus, Anda mungkin menyertakan nilai untuk --tags parameter perintah AWS CLI create-db-snapshot. Atau Anda mungkin memasukkan setidaknya satu tag ke operasi CreateDBSnapshot API. Dalam kasus ini, RDS tidak menyalin tag dari instans DB sumber ke snapshot DB baru. Fungsi ini berlaku meskipun opsi --copy-tags-to-snapshot (CopyTagsToSnapshot) di instans DB sumber diaktifkan.

Jika menggunakan pendekatan ini, Anda dapat membuat salinan instans DB dari snapshot DB. Pendekatan ini menghindari penambahan tag yang tidak berlaku untuk instans DB baru. Anda membuat snapshot DB menggunakan AWS CLI create-db-snapshot perintah (atau operasi CreateDBSnapshot RDS API). Setelah membuat snapshot DB, Anda dapat menambahkan tag seperti yang dijelaskan nanti dalam topik ini.

Tutorial: Tentukan instance DB mana yang harus dihentikan dengan menggunakan tag

Tutorial ini mengasumsikan bahwa Anda memiliki beberapa instance DB dalam lingkungan pengembangan atau pengujian. Anda perlu menyimpan instans DB ini selama beberapa hari. Beberapa instans DB menjalankan tes dalam semalam, sedangkan yang lain dapat dihentikan dalam semalam dan dimulai lagi pada hari berikutnya.

Tutorial berikut menunjukkan cara menetapkan tag ke instans DB yang cocok untuk berhenti dalam semalam. Tutorial menunjukkan bagaimana skrip dapat mendeteksi instance DB mana yang memiliki tag dan kemudian menghentikan instance DB yang ditandai. Dalam contoh ini, porsi nilai dari pasangan kunci-nilai tidaklah penting. Keberadaan tag stoppable menandakan bahwa instans DB memiliki properti yang ditetapkan pengguna ini.

Dalam tutorial berikut, perintah dan API untuk penandaan bekerja dengan ARN, yang memungkinkan RDS bekerja dengan mulus di seluruh AWS Wilayah, AWS akun, dan berbagai jenis sumber daya yang mungkin memiliki nama pendek yang identik. Anda dapat menentukan ARN, bukan ID instans DB, dalam perintah CLI yang beroperasi pada instans DB.

Untuk menentukan instans DB yang akan dihentikan
  1. Tentukan ARN instans DB yang ingin ditentukan sebagai dapat dihentikan.

    Dalam contoh berikut, ganti nama instans DB Anda sendiri untuk dev-test-db-instance. Dalam perintah berikutnya yang menggunakan parameter ARN, ganti ARN instans DB Anda sendiri. ARN menyertakan ID AWS akun Anda sendiri dan nama AWS Wilayah tempat instans DB Anda berada.

    $ aws rds describe-db-instances --db-instance-identifier dev-test-db-instance \ --query "*[].{DBInstance:DBInstanceArn}" --output text arn:aws:rds:us-east-1:123456789102:db:dev-test-db-instance
  2. Tambahkan tag stoppable ke instans DB ini.

    Pilih nama untuk tag ini. Karena memperlakukan tag sebagai atribut yang ada atau tidak ada, contoh ini menghilangkan bagian Value= dari parameter --tags. Pendekatan ini berarti Anda dapat menghindari merancang konvensi penamaan yang mengenkode semua informasi yang relevan dalam nama. Dalam konvensi tersebut, Anda dapat mengenkode informasi dalam nama instans DB atau nama-nama sumber daya lainnya.

    $ aws rds add-tags-to-resource \ --resource-name arn:aws:rds:us-east-1:123456789102:db:dev-test-db-instance \ --tags Key=stoppable
  3. Konfirmasi bahwa tag tersebut ada dalam instans DB.

    Perintah berikut mengambil informasi tag untuk instance DB dalam format JSON dan teks yang dipisahkan tab biasa.

    $ aws rds list-tags-for-resource \ --resource-name arn:aws:rds:us-east-1:123456789102:db:dev-test-db-instance { "TagList": [ { "Key": "stoppable", "Value": "" } ] } aws rds list-tags-for-resource \ --resource-name arn:aws:rds:us-east-1:123456789102:db:dev-test-db-instance --output text TAGLIST stoppable
  4. Hentikan semua instans DB yang ditetapkan sebagaistoppable.

    Contoh berikut membuat file teks yang mencantumkan semua instance DB Anda. Perintah shell melakukan loop melalui daftar dan memeriksa apakah setiap instans DB ditandai dengan atribut yang relevan dan menjalankan perintah aws rds stop-db-instance untuk setiap instans DB.

    $ aws rds describe-db-instances --query "*[].[DBInstanceArn]" --output text >/tmp/db_instance_arns.lst $ for arn in $(cat /tmp/db_instance_arns.lst) do match="$(aws rds list-tags-for-resource --resource-name $arn --output text | grep stoppable)" if [[ ! -z "$match" ]] then echo "DB instance $arn is tagged as stoppable. Stopping it now." # Note that you need to get the DB instance identifier from the ARN. dbid=$(echo $arn | sed -e 's/.*://') aws rds stop-db-instance --db-instance-identifier $dbid fi done DB instance arn:arn:aws:rds:us-east-1:123456789102:db:dev-test-db-instance is tagged as stoppable. Stopping it now. { "DBInstance": { "DBInstanceIdentifier": "dev-test-db-instance", "DBInstanceClass": "db.t3.medium", ...

Anda dapat menjalankan skrip seperti yang sebelumnya di akhir setiap hari untuk memastikan bahwa instans DB yang tidak penting dihentikan. Anda juga dapat menjadwalkan pekerjaan menggunakan utilitas seperti cron melakukan pemeriksaan setiap malam. Misalnya, Anda mungkin melakukan ini jika beberapa instans DB dibiarkan berjalan secara tidak sengaja. Di sini, Anda dapat menyempurnakan perintah yang mempersiapkan daftar instans DB untuk diperiksa.

Perintah berikut menghasilkan daftar instans DB, tetapi hanya yang berada dalam status available. Skrip ini dapat mengabaikan instans DB yang sudah dihentikan, karena instans tersebut akan memiliki nilai status yang berbeda seperti stopped atau stopping.

$ aws rds describe-db-instances \ --query '*[].{DBInstanceArn:DBInstanceArn,DBInstanceStatus:DBInstanceStatus}|[?DBInstanceStatus == `available`]|[].{DBInstanceArn:DBInstanceArn}' \ --output text arn:aws:rds:us-east-1:123456789102:db:db-instance-2447 arn:aws:rds:us-east-1:123456789102:db:db-instance-3395 arn:aws:rds:us-east-1:123456789102:db:dev-test-db-instance arn:aws:rds:us-east-1:123456789102:db:pg2-db-instance
Tip

Anda dapat menggunakan penetapan tag dan pencarian instans DB dengan tag tersebut untuk mengurangi biaya dengan cara lain. Misalnya, gunakan skenario ini dengan instans DB yang digunakan untuk pengembangan dan pengujian. Dalam hal ini, Anda dapat menunjuk beberapa instans DB yang akan dihapus pada akhir setiap hari. Atau Anda dapat menunjuk instans tersebut agar instans DB-nya diubah menjadi kelas instans DB kecil selama waktu penggunaan rendah yang diharapkan.