Mengelola klaster DAX - Amazon DynamoDB

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

Mengelola klaster DAX

Bagian ini membahas beberapa tugas manajemen umum untuk klaster Amazon DynamoDB Accelerator (DAX).

Izin IAM untuk mengelola klaster DAX

Saat Anda mengelola klaster DAX menggunakan AWS Management Console atau AWS Command Line Interface (AWS CLI), kami sangat menyarankan agar Anda mempersempit cakupan tindakan yang dapat dilakukan pengguna. Dengan demikian, Anda membantu mengurangi risiko sekaligus mengikuti prinsip hak akses paling rendah.

Diskusi berikut berfokus pada kontrol akses untuk API manajemen DAX. Untuk informasi selengkapnya, lihat Amazon DynamoDB Accelerator di Referensi API Amazon DynamoDB.

catatan

Untuk informasi lebih rinci tentang mengelola izin AWS Identity and Access Management (IAM), lihat berikut ini:

Untuk API manajemen DAX, Anda tidak dapat mencakup tindakan API ke sumber daya tertentu. Elemen Resource harus diatur ke "*". Hal ini berbeda dari operasi API bidang data DAX, seperti GetItem, Query, dan Scan. Operasi bidang data terekspos melalui klien DAX dan operasi tersebut dapat dicakup untuk sumber daya tertentu.

Untuk menggambarkannya, pertimbangkan dokumen kebijakan IAM berikut.

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "dax:*" ], "Effect": "Allow", "Resource": [ "arn:aws:dax:us-west-2:123456789012:cache/DAXCluster01" ] } ] }

Anggaplah maksud dari kebijakan ini adalah untuk mengizinkan panggilan API manajemen DAX untuk klaster DAXCluster01 dan hanya klaster tersebut.

Sekarang anggaplah bahwa pengguna mengeluarkan AWS CLI perintah berikut.

aws dax describe-clusters

Perintah ini gagal dengan pengecualian yang Tidak Diizinkan karena panggilan API DescribeClusters dasar tidak dapat dicakup ke klaster tertentu. Meskipun kebijakan valid secara sintaksis, perintah gagal karena elemen Resource harus diatur ke "*". Namun, jika pengguna menjalankan program yang mengirimkan panggilan bidang data DAX (seperti GetItem atau Query) ke DAXCluster01, panggilan tersebut akan berhasil. Hal ini karena API bidang data DAX dapat dicakup ke sumber daya tertentu (dalam hal ini, DAXCluster01).

Jika ingin menulis kebijakan IAM komprehensif tunggal untuk mencakup API manajemen DAX dan API bidang data DAX, sebaiknya Anda menyertakan dua pernyataan yang berbeda dalam dokumen kebijakan. Salah satu pernyataan harus membahas API bidang data DAX, sementara pernyataan lainnya membahas API manajemen DAX.

Contoh kebijakan berikut menunjukkan pendekatan ini. Perhatikan bagaimana DAXDataAPIs dicakup ke sumber daya DAXCluster01, tetapi sumber daya untuk DAXManagementAPIs harus "*". Tindakan yang ditampilkan dalam setiap pernyataan hanya sebagai ilustrasi. Anda dapat menyesuaikan semuanya sesuai kebutuhan untuk aplikasi Anda.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "DAXDataAPIs", "Action": [ "dax:GetItem", "dax:BatchGetItem", "dax:Query", "dax:Scan", "dax:PutItem", "dax:UpdateItem", "dax:DeleteItem", "dax:BatchWriteItem" ], "Effect": "Allow", "Resource": [ "arn:aws:dax:us-west-2:123456789012:cache/DAXCluster01" ]}, { "Sid": "DAXManagementAPIs", "Action": [ "dax:CreateParameterGroup", "dax:CreateSubnetGroup", "dax:DecreaseReplicationFactor", "dax:DeleteCluster", "dax:DeleteParameterGroup", "dax:DeleteSubnetGroup", "dax:DescribeClusters", "dax:DescribeDefaultParameters", "dax:DescribeEvents", "dax:DescribeParameterGroups", "dax:DescribeParameters", "dax:DescribeSubnetGroups", "dax:IncreaseReplicationFactor", "dax:ListTags", "dax:RebootNode", "dax:TagResource", "dax:UntagResource", "dax:UpdateCluster", "dax:UpdateParameterGroup", "dax:UpdateSubnetGroup" ], "Effect": "Allow", "Resource": [ "*" ] } ] }

Menskalakan klaster DAX

Ada dua opsi yang tersedia untuk menskalakan klaster DAX. Pilihan pertama adalah penskalaan horizontal, dengan menambahkan replika baca ke klaster. Pilihan kedua adalah penskalaan vertikal, dengan memilih jenis simpul yang berbeda. Untuk memperoleh saran tentang cara memilih ukuran klaster dan jenis simpul yang sesuai untuk aplikasi Anda, lihat Panduan pengukuran klaster DAX.

Penskalaan horizontal

Dengan penskalaan horizontal, Anda dapat meningkatkan throughput untuk operasi baca dengan menambahkan lebih banyak replika baca ke klaster. Satu klaster DAX mendukung hingga 10 replika baca dan Anda dapat menambahkan atau menghapus replika saat klaster sedang berjalan.

Ketika Anda menambahkan node baru, Anda harus menyinkronkan data cache dari node peer. Oleh karena itu, waktu penambahan bervariasi berdasarkan ukuran cache dan beban kerja aplikasi Anda. Sebagai praktik terbaik, kami menyarankan Anda melakukan pra-skala cluster Anda untuk memenuhi puncak lalu lintas yang diharapkan. Untuk informasi tentang pedoman ukuran kanan dan rekomendasi pemantauan, lihat. Panduan pengukuran klaster DAX

AWS CLI Contoh berikut menunjukkan cara menambah atau mengurangi jumlah node. Argumen --new-replication-factor menentukan jumlah total simpul di klaster. Salah satu simpul adalah simpul primer, dan simpul lainnya adalah replika baca.

aws dax increase-replication-factor \ --cluster-name MyNewCluster \ --new-replication-factor 5
aws dax decrease-replication-factor \ --cluster-name MyNewCluster \ --new-replication-factor 3
catatan

Status klaster berubah menjadi modifying ketika Anda mengubah faktor replikasi. Status berubah menjadi available ketika modifikasi selesai.

Penskalaan vertikal

Jika Anda memiliki set data kerja yang besar, mungkin akan lebih bermanfaat jika aplikasi Anda menggunakan jenis simpul yang lebih besar. Simpul yang lebih besar memungkinkan klaster menyimpan lebih banyak data dalam memori, mengurangi cache miss, dan meningkatkan performa penerapan aplikasi secara keseluruhan. (Semua simpul dalam klaster DAX harus dari jenis yang sama).

Jika klaster DAX Anda memiliki tingkat operasi tulis atau cache miss tinggi, penggunaan jenis simpul yang lebih besar mungkin juga akan bermanfaat bagi aplikasi Anda. Operasi tulis dan cache miss menggunakan sumber daya pada simpul primer klaster. Oleh karena itu, menggunakan jenis simpul yang lebih besar mungkin akan meningkatkan performa simpul primer dan memungkinkan throughput yang lebih tinggi untuk jenis operasi ini.

Anda tidak dapat mengubah jenis simpul di klaster DAX yang sedang berjalan. Sebagai gantinya, Anda harus membuat klaster baru dengan jenis simpul yang diinginkan. Untuk daftar jenis simpul yang didukung, lihat Simpul.

Anda dapat membuat cluster DAX baru menggunakan AWS Management Console, AWS CloudFormation AWS CLI, atau AWS SDK. (Untuk AWS CLI, gunakan --node-type parameter untuk menentukan jenis node.)

Menyesuaikan pengaturan klaster DAX

Ketika Anda membuat klaster DAX, pengaturan default berikut digunakan:

  • Pengosongan cache otomatis diaktifkan dengan Time to Live (TTL) selama 5 menit

  • Tidak ada preferensi untuk Zona Ketersediaan

  • Tidak ada preferensi untuk periode pemeliharaan

  • Notifikasi dinonaktifkan

Untuk klaster baru, Anda dapat menyesuaikan pengaturan pada saat pembuatan. Untuk melakukannya di AWS Management Console, hapus Gunakan pengaturan default untuk mengubah pengaturan berikut:

  • Jaringan dan Keamanan —Memungkinkan Anda menjalankan node cluster DAX individual di Availability Zone yang berbeda dalam Region saat ini AWS . Jika Anda memilih Tidak Ada Preferensi, simpul akan didistribusikan di antara Zona Ketersediaan secara otomatis.

  • Grup Parameter—set parameter bernama yang diterapkan untuk setiap simpul di klaster. Anda dapat menggunakan grup parameter untuk menentukan perilaku TTL cache. Anda dapat mengubah nilai dari setiap parameter yang diberikan dalam grup parameter (kecuali grup parameter default default.dax.1.0) kapan pun.

  • Periode Pemeliharaan—Adalah periode waktu mingguan untuk menerapkan peningkatan dan patch perangkat lunak ke simpul dalam klaster. Anda dapat memilih hari mulai, waktu mulai, dan durasi periode pemeliharaan. Jika Anda memilih Tidak Ada Preferensi, jendela pemeliharaan dipilih secara acak dari blok waktu 8 jam per Wilayah. Untuk informasi selengkapnya, lihat Periode pemeliharaan.

catatan

Grup Parameter dan Periode Pemeliharaan juga dapat diubah kapan pun pada klaster yang berjalan.

Ketika proses pemeliharaan berlangsung, DAX dapat memberi tahu Anda menggunakan Amazon Simple Notification Service (Amazon SNS). Untuk mengonfigurasi notifikasi, pilih opsi dari pemilih Topik untuk notifikasi SNS. Anda dapat membuat topik Amazon SNS baru atau menggunakan topik yang sudah ada.

Untuk informasi selengkapnya tentang cara mengatur dan berlangganan topik SNS, lihat Mulai menggunakan Amazon SNS dalam Panduan Developer Amazon Simple Notification Service.

Mengonfigurasi pengaturan TTL

DAX mengelola dua cache untuk data yang dibaca dari DynamoDB:

  • Cache item—Untuk item yang diambil menggunakan GetItem atau BatchGetItem.

  • Cache kueri—Untuk set hasil yang diambil menggunakan Query atau Scan.

Untuk informasi selengkapnya, lihat Cache Item dan Cache kueri.

TTL default untuk masing-masing cache ini adalah 5 menit. Jika ingin menggunakan pengaturan TTL yang berbeda, Anda dapat meluncurkan klaster DAX menggunakan grup parameter kustom. Untuk melakukannya di konsol, pilih DAX | Grup parameter di panel navigasi.

Anda juga dapat melakukan tugas ini menggunakan AWS CLI. Contoh berikut menunjukkan cara meluncurkan klaster DAX baru menggunakan grup parameter kustom. Dalam contoh ini, TTL cache item diatur ke 10 menit dan TTL cache kueri diatur ke 3 menit.

  1. Buat grup parameter baru.

    aws dax create-parameter-group \ --parameter-group-name custom-ttl
  2. Atur TTL cache item ke 10 menit (600000 milidetik).

    aws dax update-parameter-group \ --parameter-group-name custom-ttl \ --parameter-name-values "ParameterName=record-ttl-millis,ParameterValue=600000"
  3. Atur TTL cache kueri ke 3 menit (180000 milidetik).

    aws dax update-parameter-group \ --parameter-group-name custom-ttl \ --parameter-name-values "ParameterName=query-ttl-millis,ParameterValue=180000"
  4. Verifikasi bahwa parameter telah diatur dengan benar.

    aws dax describe-parameters --parameter-group-name custom-ttl \ --query "Parameters[*].[ParameterName,Description,ParameterValue]"

Sekarang Anda dapat meluncurkan klaster DAX baru dengan grup parameter ini.

aws dax create-cluster \ --cluster-name MyNewCluster \ --node-type dax.r3.large \ --replication-factor 3 \ --iam-role-arn arn:aws:iam::123456789012:role/DAXServiceRole \ --parameter-group custom-ttl
catatan

Anda tidak dapat mengubah grup parameter yang sedang digunakan oleh instans DAX berjalan.

Dukungan penandaan untuk DAX

Banyak AWS layanan, termasuk DynamoDB, mendukung penandaan — kemampuan untuk memberi label sumber daya dengan nama yang ditentukan pengguna. Anda dapat menetapkan tag ke kluster DAX, memungkinkan Anda mengidentifikasi dengan cepat semua AWS sumber daya yang memiliki tag yang sama, atau untuk mengkategorikan AWS tagihan berdasarkan tag yang Anda tetapkan.

Untuk informasi selengkapnya, lihat Menambahkan tag dan label ke sumber daya.

Menggunakan AWS Management Console

Cara mengelola tanda klaster DAX
  1. Buka konsol DynamoDB di https://console.aws.amazon.com/dynamodb/.

  2. Pada panel navigasi, di bawah DAX, pilih Klaster.

  3. Pilih klaster yang ingin Anda gunakan.

  4. Pilih tab Tanda. Anda dapat menambahkan, mencantumkan, mengedit, atau menghapus tanda di sini.

    Jika pengaturan sudah sesuai keinginan Anda, pilih Terapkan Perubahan.

Menggunakan AWS CLI

Saat Anda menggunakan tag klaster AWS CLI untuk mengelola DAX, Anda harus terlebih dahulu menentukan Nama Sumber Daya Amazon (ARN) untuk klaster. Contoh berikut menunjukkan cara menentukan ARN untuk klaster bernama MyDAXCluster.

aws dax describe-clusters \ --cluster-name MyDAXCluster \ --query "Clusters[*].ClusterArn"

Dalam output, ARN akan tampak mirip dengan ini: arn:aws:dax:us-west-2:123456789012:cache/MyDAXCluster

Contoh berikut menunjukkan cara menandai klaster.

aws dax tag-resource \ --resource-name arn:aws:dax:us-west-2:123456789012:cache/MyDAXCluster \ --tags="Key=ClusterUsage,Value=prod"

Daftar semua tanda untuk klaster.

aws dax list-tags \ --resource-name arn:aws:dax:us-west-2:123456789012:cache/MyDAXCluster

Untuk menghapus tanda, tentukan kuncinya.

aws dax untag-resource \ --resource-name arn:aws:dax:us-west-2:123456789012:cache/MyDAXCluster \ --tag-keys ClusterUsage

AWS CloudTrail integrasi

DAX terintegrasi dengan AWS CloudTrail, memungkinkan Anda untuk mengaudit aktivitas cluster DAX. Anda dapat menggunakan CloudTrail log untuk melihat semua perubahan yang telah dibuat di tingkat cluster. Anda juga dapat melihat perubahan untuk komponen klaster seperti simpul, grup subnet, dan grup parameter. Untuk informasi selengkapnya, lihat Pencatatan log operasi DynamoDB menggunakan AWS CloudTrail.

Menghapus klaster DAX

Jika tidak lagi menggunakan klaster DAX, Anda harus menghapusnya untuk menghindari tagihan biaya atas sumber daya yang tidak digunakan.

Anda dapat menghapus klaster DAX menggunakan konsol atau AWS CLI. Berikut adalah contohnya.

aws dax delete-cluster --cluster-name mydaxcluster