Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Tutorial: Menggunakan tag untuk menentukan klaster DB Aurora yang akan dihentikan.
Misalkan Anda membuat sejumlah klaster DB Aurora dalam lingkungan pengembangan atau pengujian. Anda perlu menyimpan semua klaster ini selama beberapa hari. Beberapa klaster menjalankan pengujian di malam hari. Klaster lainnya dapat dihentikan di malam hari dan dimulai lagi keesokan harinya. Contoh berikut menunjukkan cara menetapkan tag untuk klaster yang cocok untuk dihentikan di malam hari. Kemudian contoh berikut menunjukkan bagaimana skrip dapat mendeteksi klaster yang memiliki tag dan kemudian menghentikan klaster tersebut. Dalam contoh ini, porsi nilai dari pasangan kunci-nilai tidaklah penting. Keberadaan tag stoppable menandakan bahwa klaster memiliki properti yang ditetapkan pengguna ini.
Untuk menentukan klaster DB Aurora yang akan dihentikan
-
Tentukan ARN klaster yang ingin ditentukan sebagai dapat dihentikan.
Perintah dan APIs untuk penandaan berfungsi dengan ARNs. Dengan begitu, mereka dapat bekerja dengan lancar di seluruh AWS Wilayah, AWS akun, dan berbagai jenis sumber daya yang mungkin memiliki nama pendek yang identik. Anda dapat menentukan ARN, bukan ID klaster dalam perintah CLI yang beroperasi pada klaster. Gantikan nama cluster Anda sendiri
dev-test-cluster. Dalam perintah berikutnya yang menggunakan parameter ARN, ganti ARN klaster Anda sendiri. ARN menyertakan ID AWS akun Anda sendiri dan nama AWS Wilayah tempat cluster Anda berada.$aws rds describe-db-clusters --db-cluster-identifierdev-test-cluster\ --query "*[].{DBClusterArn:DBClusterArn}" --output textarn:aws:rds:us-east-1:123456789:cluster:dev-test-cluster -
Tambahkan tag
stoppableke klaster ini.Pilih nama untuk tag ini. 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. Karena memperlakukan tag sebagai atribut yang ada atau tidak ada, contoh ini menghilangkan bagian
Value=dari parameter--tags.$aws rds add-tags-to-resource \ --resource-namearn:aws:rds:us-east-1:123456789:cluster:dev-test-cluster\ --tags Key=stoppable -
Konfirmasi bahwa tag tersebut ada dalam klaster.
Perintah ini mengambil informasi tag untuk klaster dalam format JSON dan dalam bentuk teks biasa yang dipisahkan tab.
$aws rds list-tags-for-resource \ --resource-namearn:aws:rds:us-east-1:123456789:cluster:dev-test-cluster{ "TagList": [ { "Key": "stoppable", "Value": "" } ] }$aws rds list-tags-for-resource \ --resource-namearn:aws:rds:us-east-1:123456789:cluster:dev-test-cluster--output textTAGLIST stoppable -
Untuk menghentikan semua klaster yang ditunjuk sebagai
stoppable, siapkan daftar semua klaster Anda. Lihat daftar dan periksa apakah setiap klaster diberi tag dengan atribut yang relevan.Contoh Linux ini menggunakan skrip shell untuk menyimpan daftar cluster ARNs ke file sementara dan kemudian melakukan perintah CLI untuk setiap cluster.
$aws rds describe-db-clusters --query "*[].[DBClusterArn]" --output text >/tmp/cluster_arns.lst$for arn in $(cat /tmp/cluster_arns.lst) do match="$(aws rds list-tags-for-resource --resource-name $arn --output text | grep 'TAGLIST\tstoppable')" if [[ ! -z "$match" ]] then echo "Cluster $arn is tagged as stoppable. Stopping it now." # Note that you can specify the full ARN value as the parameter instead of the short ID 'dev-test-cluster'. aws rds stop-db-cluster --db-cluster-identifier $arn fi doneCluster arn:aws:rds:us-east-1:123456789:cluster:dev-test-cluster is tagged as stoppable. Stopping it now. { "DBCluster": { "AllocatedStorage": 1, "AvailabilityZones": [ "us-east-1e", "us-east-1c", "us-east-1d" ], "BackupRetentionPeriod": 1, "DBClusterIdentifier": "dev-test-cluster", ...
Anda dapat menjalankan skrip seperti ini pada akhir setiap hari untuk memastikan bahwa klaster yang tidak penting dihentikan. Anda juga dapat menjadwalkan pekerjaan menggunakan utilitas seperti cron melakukan pemeriksaan setiap malam. Misalnya, Anda mungkin melakukan ini jika beberapa klaster dibiarkan berjalan secara tidak sengaja. Di sini, Anda dapat menyesuaikan perintah yang mempersiapkan daftar klaster yang akan diperiksa.
Perintah berikut menghasilkan daftar klaster, tetapi hanya yang berada dalam status available. Skrip ini dapat mengabaikan klaster yang sudah dihentikan, karena klaster tersebut akan memiliki nilai status yang berbeda seperti stopped atau stopping.
$aws rds describe-db-clusters \ --query '*[].{DBClusterArn:DBClusterArn,Status:Status}|[?Status == `available`]|[].{DBClusterArn:DBClusterArn}' \ --output textarn:aws:rds:us-east-1:123456789:cluster:cluster-2447 arn:aws:rds:us-east-1:123456789:cluster:cluster-3395 arn:aws:rds:us-east-1:123456789:cluster:dev-test-cluster arn:aws:rds:us-east-1:123456789:cluster:pg2-cluster
Tip
Anda dapat menggunakan penetapan tag dan pencarian klaster dengan tag tersebut untuk mengurangi biaya dengan cara lain. Misalnya, gunakan skenario ini dengan klaster DB Aurora yang digunakan untuk pengembangan dan pengujian. Di sini, Anda dapat menunjuk beberapa klaster untuk dihapus di akhir setiap hari, atau hanya instans DB pembaca saja yang dihapus. Atau Anda dapat menunjuk beberapa klaster agar instans DB-nya diubah menjadi kelas instans DB kecil selama waktu penggunaan rendah yang diharapkan.