Identifikasi sumber daya Anda yang tidak digunakan di DynamoDB - Amazon DynamoDB

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

Identifikasi sumber daya Anda yang tidak digunakan di DynamoDB

Bagian ini memberikan gambaran umum tentang cara mengevaluasi sumber daya yang Anda tidak terpakai secara berkala. Seiring berkembangnya persyaratan aplikasi Anda, Anda harus memastikan tidak ada sumber daya yang tidak terpakai dan berkontribusi terhadap biaya Amazon DynamoDB yang tidak diperlukan. Prosedur yang dijelaskan di bawah ini akan menggunakan CloudWatch metrik Amazon untuk mengidentifikasi sumber daya yang tidak digunakan dan akan membantu Anda mengidentifikasi dan mengambil tindakan terhadap sumber daya tersebut untuk mengurangi biaya.

Anda dapat memantau DynamoDB CloudWatch menggunakan, yang mengumpulkan dan memproses data mentah dari DynamoDB menjadi metrik yang dapat dibaca, mendekati real-time. Statistik ini disimpan selama jangka waktu tertentu, sehingga Anda dapat mengakses informasi historis untuk lebih memahami pemanfaatan Anda. Secara default, data metrik DynamoDB dikirim secara otomatis. CloudWatch Untuk informasi selengkapnya, lihat Apa itu Amazon CloudWatch? dan Retensi metrik di Panduan CloudWatch Pengguna Amazon.

Cara mengidentifikasi sumber daya yang tidak terpakai

Untuk mengidentifikasi tabel atau indeks yang tidak digunakan, kita akan melihat CloudWatch metrik berikut selama periode 30 hari untuk memahami apakah ada pembacaan atau penulisan aktif di tabel atau pembacaan apa pun pada indeks sekunder global (): GSIs

ConsumedReadCapacityUnits

Jumlah unit kapasitas baca yang terpakai selama jangka waktu tertentu, sehingga Anda dapat melacak jumlah kapasitas terpakai yang telah Anda gunakan. Anda dapat mengambil total kapasitas baca yang digunakan untuk tabel dan semua indeks sekunder globalnya, atau untuk indeks sekunder global tertentu.

ConsumedWriteCapacityUnits

Jumlah unit kapasitas tulis yang terpakai selama jangka waktu tertentu, sehingga Anda dapat melacak jumlah kapasitas terpakai yang telah Anda gunakan. Anda dapat mengambil total kapasitas tulis yang digunakan untuk tabel dan semua indeks sekunder globalnya, atau untuk indeks sekunder global tertentu.

Mengidentifikasi sumber daya tabel yang tidak terpakai

Amazon CloudWatch adalah layanan pemantauan dan observabilitas yang menyediakan metrik tabel DynamoDB yang akan Anda gunakan untuk mengidentifikasi sumber daya yang tidak digunakan. CloudWatch metrik dapat dilihat melalui AWS Management Console maupun melalui. AWS Command Line Interface

AWS Command Line Interface

Untuk melihat metrik tabel Anda melalui AWS Command Line Interface, Anda dapat menggunakan perintah berikut.

  1. Pertama, evaluasi pembacaan tabel Anda:

    aws cloudwatch get-metric-statistics --metric-name ConsumedReadCapacityUnits --start-time <start-time> --end-time <end- time> --period <period> --namespace AWS/DynamoDB --statistics Sum -- dimensions Name=TableName,Value=<table-name>

    Untuk menghindari kesalahan dalam mengidentifikasi tabel sebagai tidak terpakai, evaluasi metrik dalam jangka waktu yang lebih lama. Pilih rentang waktu mulai dan waktu berakhir yang sesuai, seperti 30 hari, dan periode yang sesuai, seperti 86400.

    Dalam data yang dikembalikan, setiap Jumlah di atas 0 menunjukkan bahwa tabel yang Anda evaluasi menerima lalu lintas baca selama periode tersebut.

    Hasil berikut menunjukkan tabel yang menerima lalu lintas baca pada periode yang dievaluasi:

    { "Timestamp": "2022-08-25T19:40:00Z", "Sum": 36023355.0, "Unit": "Count" }, { "Timestamp": "2022-08-12T19:40:00Z", "Sum": 38025777.5, "Unit": "Count" },

    Hasil berikut menunjukkan tabel yang tidak menerima lalu lintas baca pada periode yang dievaluasi:

    { "Timestamp": "2022-08-01T19:50:00Z", "Sum": 0.0, "Unit": "Count" }, { "Timestamp": "2022-08-20T19:50:00Z", "Sum": 0.0, "Unit": "Count" },
  2. Selanjutnya, evaluasi penulisan tabel Anda:

    aws cloudwatch get-metric-statistics --metric-name ConsumedWriteCapacityUnits --start-time <start-time> --end-time <end- time> --period <period> --namespace AWS/DynamoDB --statistics Sum -- dimensions Name=TableName,Value=<table-name>

    Untuk menghindari kesalahan dalam mengidentifikasi tabel sebagai tidak terpakai, sebaiknya Anda mengevaluasi metrik dalam jangka waktu yang lebih lama. Pilih rentang waktu mulai dan waktu berakhir yang sesuai, seperti 30 hari, dan periode yang sesuai, seperti 86400.

    Dalam data yang dikembalikan, setiap Jumlah di atas 0 menunjukkan bahwa tabel yang Anda evaluasi menerima lalu lintas baca selama periode tersebut.

    Hasil berikut menunjukkan tabel yang menerima lalu lintas tulis pada periode yang dievaluasi:

    { "Timestamp": "2022-08-19T20:15:00Z", "Sum": 41014457.0, "Unit": "Count" }, { "Timestamp": "2022-08-18T20:15:00Z", "Sum": 40048531.0, "Unit": "Count" },

    Hasil berikut menunjukkan tabel yang tidak menerima lalu lintas tulis pada periode yang dievaluasi:

    { "Timestamp": "2022-07-31T20:15:00Z", "Sum": 0.0, "Unit": "Count" }, { "Timestamp": "2022-08-19T20:15:00Z", "Sum": 0.0, "Unit": "Count" },
AWS Management Console

Langkah-langkah berikut akan memungkinkan Anda untuk mengevaluasi penggunaan sumber daya Anda melalui AWS Management Console.

  1. Masuk ke AWS konsol dan arahkan ke halaman CloudWatch layanan di https://console.aws.amazon.com/cloudwatch/. Pilih AWS wilayah yang sesuai di kanan atas konsol, jika perlu.

  2. Di bilah navigasi kiri, cari bagian Metrik lalu pilih Semua metrik.

  3. Tindakan di atas akan membuka dashboard dengan dua panel. Di panel atas, Anda akan melihat metrik bergrafik saat ini. Di bagian bawah, Anda akan memilih metrik yang tersedia untuk dibuat grafik. Pilih DynamoDB di panel bawah.

  4. Di panel pemilihan metrik DynamoDB, pilih kategori Metrik Tabel untuk menampilkan metrik tabel Anda di wilayah saat ini.

  5. Identifikasi nama tabel Anda dengan menggulir ke bawah menu, lalu pilih metrik ConsumedReadCapacityUnits dan ConsumedWriteCapacityUnits untuk tabel Anda.

  6. Pilih tab Metrik bergrafik (2) dan sesuaikan kolom Statistik menjadi Jumlah.

    Tab metrik grafik. Statistik diatur ke Jumlah untuk melihat data penggunaan sumber daya di konsol.
  7. Untuk menghindari kesalahan dalam mengidentifikasi tabel sebagai tidak terpakai, sebaiknya Anda mengevaluasi metrik dalam jangka waktu yang lebih lama. Di bagian atas panel grafik, pilih kerangka waktu yang sesuai, seperti 1 bulan, untuk mengevaluasi tabel Anda. Pilih Kustom, pilih 1 Bulan di dropdown, lalu pilih Terapkan.

    CloudWatch konsol. Kerangka waktu khusus 1 bulan dipilih untuk mengevaluasi metrik.
  8. Evaluasi metrik bergrafik untuk tabel Anda guna menentukan apakah tabel sedang digunakan. Metrik di atas 0 menunjukkan bahwa tabel telah digunakan selama jangka waktu evaluasi. Grafik datar pada 0 untuk baca dan tulis menunjukkan tabel yang tidak terpakai.

    Gambar berikut menunjukkan tabel dengan lalu lintas baca:

    Grafik yang menunjukkan ConsumedReadCapacityUnits untuk tabel DynamoDB, menunjukkan tabel sedang digunakan.

    Gambar berikut menunjukkan tabel tanpa lalu lintas baca:

    Grafik yang menunjukkan tidak ada aktivitas baca untuk tabel DynamoDB, menunjukkan tabel tidak digunakan.

Membersihkan sumber daya tabel yang tidak terpakai

Jika Anda telah mengidentifikasi sumber daya tabel yang tidak terpakai, Anda dapat mengurangi biaya berkelanjutannya dengan cara berikut.

catatan

Jika Anda telah mengidentifikasi tabel yang tidak terpakai tetapi masih ingin tetap tersedia jika tabel tersebut perlu diakses di masa mendatang, pertimbangkan untuk mengalihkannya ke mode sesuai permintaan. Atau, Anda dapat mempertimbangkan untuk membuat cadangan dan menghapus tabel sepenuhnya.

Mode kapasitas

DynamoDB mengenakan biaya untuk membaca, menulis, dan menyimpan data dalam tabel DynamoDB Anda.

DynamoDB memiliki dua mode kapasitas, yang dilengkapi dengan opsi penagihan khusus untuk memproses baca dan tulis pada tabel Anda: sesuai permintaan dan disediakan. Mode kapasitas baca/tulis mengontrol cara Anda dikenakan biaya untuk throughput baca dan tulis serta cara Anda mengelola kapasitas.

Untuk tabel mode sesuai permintaan, Anda tidak perlu menentukan jumlah throughput baca dan tulis yang Anda harapkan untuk dijalankan oleh aplikasi Anda. DynamoDB membebankan biaya bagi Anda atas baca dan tulis yang dilakukan aplikasi Anda pada tabel Anda dalam hal unit permintaan baca dan unit permintaan tulis. Jika tidak ada aktivitas di tabel/indeks Anda, Anda tidak perlu membayar throughput tetapi Anda masih akan dikenakan biaya penyimpanan.

Kelas tabel

DynamoDB juga menawarkan dua kelas tabel yang didesain untuk membantu Anda mengoptimalkan biaya. Kelas tabel DynamoDB Standard adalah defaultnya dan direkomendasikan untuk sebagian besar beban kerja. Kelas tabel DynamoDB Standard-Infrequent Access (DynamoDB Standard-IA) dioptimalkan untuk tabel yang biayanya didominasi oleh penyimpanan.

Jika tidak ada aktivitas di tabel atau indeks Anda, penyimpanan kemungkinan akan menjadi biaya yang dominan dan mengubah kelas tabel akan menghasilkan penghematan yang signifikan.

Menghapus tabel

Jika telah menemukan tabel yang tidak terpakai dan ingin menghapusnya, sebaiknya Anda mencadangkan atau mengekspor datanya terlebih dahulu.

Pencadangan yang diambil melalui AWS Backup dapat memanfaatkan tiering cold storage, yang selanjutnya mengurangi biaya. Lihat Menggunakan AWS Backup dengan DynamoDB dokumentasi untuk informasi tentang cara mengaktifkan pencadangan melalui AWS Backup serta dokumentasi Mengelola rencana cadangan untuk informasi tentang cara menggunakan siklus hidup untuk memindahkan cadangan Anda ke penyimpanan dingin.

Atau, Anda dapat mengekspor data tabel ke S3. Untuk melakukannya, lihat dokumentasi Mengekspor ke Amazon S3. Setelah data Anda diekspor, jika Anda ingin memanfaatkan S3 Glacier Instant Retrieval, S3 Glacier Flexile Retrieval, atau S3 Glacier Deep Archive untuk semakin mengurangi biaya, lihat Mengelola siklus hidup penyimpanan Anda.

Setelah tabel Anda telah dicadangkan, Anda dapat menghapusnya melalui AWS Management Console atau AWS Command Line Interface.

Mengidentifikasi sumber daya yang tidak digunakan GSI

Langkah-langkah untuk mengidentifikasi sekunder global yang tidak terpakai sama dengan langkah-langkah untuk mengidentifikasi tabel yang tidak terpakai. Karena DynamoDB mereplikasi item yang ditulis ke tabel dasar GSI Anda ke dalam jika berisi atribut yang digunakan sebagai GSI kunci partisi, yang GSI tidak terpakai masih cenderung ConsumedWriteCapacityUnits memiliki di atas 0 jika tabel dasarnya sedang digunakan. Akibatnya, Anda hanya akan mengevaluasi ConsumedReadCapacityUnits metrik untuk menentukan apakah metrik Anda tidak GSI digunakan.

Untuk melihat GSI metrik Anda melalui AWS AWS CLI, Anda dapat menggunakan perintah berikut untuk mengevaluasi tabel Anda berbunyi:

aws cloudwatch get-metric-statistics --metric-name ConsumedReadCapacityUnits --start-time <start-time> --end-time <end- time> --period <period> --namespace AWS/DynamoDB --statistics Sum -- dimensions Name=TableName,Value=<table-name> Name=GlobalSecondaryIndexName,Value=<index-name>

Untuk menghindari kesalahan dalam mengidentifikasi tabel sebagai tidak terpakai, sebaiknya Anda mengevaluasi metrik dalam jangka waktu yang lebih lama. Pilih rentang waktu mulai dan waktu berakhir yang sesuai, seperti 30 hari, dan periode yang sesuai, seperti 86400.

Dalam data yang dikembalikan, setiap Jumlah di atas 0 menunjukkan bahwa tabel yang Anda evaluasi menerima lalu lintas baca selama periode tersebut.

Hasil berikut menunjukkan lalu lintas baca GSI penerima dalam periode yang dievaluasi:

{ "Timestamp": "2022-08-17T21:20:00Z", "Sum": 36319167.0, "Unit": "Count" }, { "Timestamp": "2022-08-11T21:20:00Z", "Sum": 1869136.0, "Unit": "Count" },

Hasil berikut menunjukkan GSI menerima lalu lintas baca minimal dalam periode yang dievaluasi:

{ "Timestamp": "2022-08-28T21:20:00Z", "Sum": 0.0, "Unit": "Count" }, { "Timestamp": "2022-08-15T21:20:00Z", "Sum": 2.0, "Unit": "Count" },

Hasil berikut menunjukkan GSI penerimaan tidak membaca lalu lintas dalam periode yang dievaluasi:

{ "Timestamp": "2022-08-17T21:20:00Z", "Sum": 0.0, "Unit": "Count" }, { "Timestamp": "2022-08-11T21:20:00Z", "Sum": 0.0, "Unit": "Count" },

Membersihkan sumber daya yang tidak terpakai GSI

Jika Anda telah mengidentifikasi yang tidak digunakanGSI, Anda dapat memilih untuk menghapusnya. Karena semua data yang ada dalam a GSI juga ada di tabel dasar, cadangan tambahan tidak diperlukan sebelum menghapus file. GSI Jika di masa depan GSI sekali lagi diperlukan, itu dapat ditambahkan kembali ke tabel.

Jika Anda telah mengidentifikasi yang jarang digunakanGSI, Anda harus mempertimbangkan perubahan desain dalam aplikasi Anda yang memungkinkan Anda untuk menghapusnya atau mengurangi biayanya. Misalnya, sementara pemindaian DynamoDB harus digunakan dengan hemat karena mereka dapat mengkonsumsi sejumlah besar sumber daya sistem, mereka mungkin lebih hemat biaya daripada jika pola akses GSI yang didukungnya jarang digunakan.

Selain itu, jika GSI diperlukan untuk mendukung pola akses yang jarang, pertimbangkan untuk memproyeksikan serangkaian atribut yang lebih terbatas. Meskipun mungkin memerlukan kueri berikutnya terhadap tabel dasar untuk mendukung pola akses yang jarang, hal ini berpotensi memberikan pengurangan yang signifikan dalam biaya penyimpanan dan penulisan.

Membersihkan tabel global yang tidak terpakai

Tabel global Amazon DynamoDB menyediakan solusi terkelola penuh untuk men-deploy basis data multi-Wilayah dan multi-aktif, tanpa harus membangun dan memelihara solusi replikasi Anda sendiri.

Tabel global ideal untuk menyediakan akses latensi rendah ke data yang dekat dengan pengguna dan juga wilayah sekunder untuk pemulihan bencana.

Jika opsi tabel global diaktifkan untuk sumber daya dalam upaya menyediakan akses latensi rendah ke data tetapi bukan bagian dari strategi pemulihan bencana Anda, validasi bahwa kedua replika secara aktif melayani lalu lintas baca dengan mengevaluasi metriknya. CloudWatch Jika satu replika tidak melayani lalu lintas baca, replika tersebut mungkin merupakan sumber daya yang tidak terpakai.

Jika tabel global adalah bagian dari strategi pemulihan bencana Anda, satu replika yang tidak menerima lalu lintas baca mungkin terjadi dalam pola aktif/siaga.

Membersihkan cadangan atau point-in-time pemulihan yang tidak digunakan () PITR

DynamoDB menawarkan dua gaya cadangan. Point-in-timepemulihan menyediakan pencadangan berkelanjutan selama 35 hari untuk membantu Anda melindungi dari penulisan atau penghapusan yang tidak disengaja sementara cadangan sesuai permintaan memungkinkan pembuatan snapshot yang dapat disimpan dalam jangka panjang. Kedua jenis pencadangan ini memiliki biaya yang terkait dengannya.

Lihat dokumentasi untuk Backup dan restore untuk DynamoDB dan oint-in-time Backup P untuk DynamoDB untuk menentukan apakah tabel Anda mengaktifkan cadangan yang mungkin tidak diperlukan lagi.