Mengelola kebijakan penskalaan Amazon Keyspaces dengan CLI - Amazon Keyspaces (untuk Apache Cassandra)

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

Mengelola kebijakan penskalaan Amazon Keyspaces dengan CLI

Untuk memperbarui dan mengelola pengaturan penskalaan otomatis Amazon Keyspaces secara terprogram, Anda dapat menggunakan AWS Command Line Interface () AWS CLI atau API. AWS Untuk mengelola kebijakan penskalaan otomatis Amazon Keyspaces menggunakan Cassandra Query Language (CQL), lihat. Mengelola penskalaan otomatis Amazon Keyspaces dengan Cassandra Query Language (CQL) Topik ini memberikan ikhtisar tugas penskalaan otomatis yang dapat Anda kelola secara terprogram menggunakan. AWS CLI

Untuk informasi selengkapnya tentang AWS CLI perintah Amazon Keyspaces yang dijelaskan dalam topik ini, lihat Referensi AWS CLI Perintah.

Sebelum Anda memulai

Anda harus menyelesaikan tugas-tugas berikut sebelum Anda dapat memulai.

Konfigurasi izin

Jika Anda belum melakukannya, Anda harus mengonfigurasi izin yang sesuai bagi pengguna untuk membuat dan mengelola pengaturan penskalaan otomatis. Di AWS Identity and Access Management (IAM), kebijakan AWS terkelola AmazonKeyspacesFullAccess diperlukan untuk mengelola kebijakan penskalaan Amazon Keyspaces. Untuk langkah mendetail, lihat Sebelum Anda mulai: Memberikan izin pengguna untuk penskalaan otomatis Amazon Keyspaces.

Instal AWS CLI

Jika belum, Anda harus menginstal dan mengonfigurasi AWS CLI. Untuk melakukan ini, buka Panduan AWS Command Line Interface Pengguna dan ikuti petunjuk ini:

Buat tabel baru dengan penskalaan otomatis menggunakan AWS CLI

Saat membuat tabel Amazon Keyspaces baru, Anda dapat secara otomatis mengaktifkan penskalaan otomatis untuk kapasitas tulis atau baca tabel dalam operasi. CreateTable Hal ini memungkinkan Amazon Keyspaces menghubungi Application Auto Scaling atas nama Anda untuk mendaftarkan tabel yang Anda tentukan sebagai target yang dapat diskalakan, dan menyesuaikan kapasitas tulis atau baca yang disediakan.

Untuk informasi selengkapnya tentang cara membuat tabel Multi-wilayah dengan konfigurasi penskalaan otomatis, lihat. Membuat tabel Multi-wilayah baru dalam mode yang disediakan dengan penskalaan otomatis (CLI)

catatan

Penskalaan otomatis Amazon Keyspaces memerlukan kehadiran peran (AWSServiceRoleForApplicationAutoScaling_CassandraTable) terkait layanan untuk melakukan tindakan penskalaan otomatis atas nama Anda. Peran ini dibuat secara otomatis untuk Anda. Untuk informasi selengkapnya, lihat Menggunakan peran terkait layanan untuk Amazon Keyspaces.

Untuk mengonfigurasi pengaturan penskalaan otomatis untuk tabel secara terprogram, Anda menggunakan autoScalingSpecification tindakan yang menentukan parameter untuk penskalaan otomatis Amazon Keyspaces. Parameter menentukan kondisi yang mengarahkan Amazon Keyspaces untuk menyesuaikan throughput yang disediakan tabel Anda, dan tindakan opsional tambahan apa yang harus diambil. Dalam contoh ini, Anda menentukan pengaturan penskalaan otomatis untuk mytable.

Kebijakan tersebut berisi elemen berikut:

  • autoScalingSpecification— Menentukan apakah Amazon Keyspaces diizinkan untuk menyesuaikan throughput kapasitas atas nama Anda. Anda dapat mengaktifkan penskalaan otomatis untuk membaca dan untuk kapasitas tulis secara terpisah. Maka Anda harus menentukan parameter berikut untukautoScalingSpecification:

    • writeCapacityAutoScaling— Unit kapasitas tulis maksimum dan minimum.

    • readCapacityAutoScaling— Unit kapasitas baca maksimum dan minimum.

    • scalingPolicy— Amazon Keyspaces mendukung kebijakan pelacakan target. Untuk menentukan kebijakan pelacakan target, Anda mengonfigurasi parameter berikut.

      • targetValue— Penskalaan otomatis Amazon Keyspaces memastikan bahwa rasio kapasitas yang dikonsumsi terhadap kapasitas yang disediakan tetap pada atau mendekati nilai ini. Anda mendefinisikan targetValue sebagai persentase.

      • disableScaleIn: (Opsional) A boolean yang menentukan scale-in apakah dinonaktifkan atau diaktifkan untuk tabel. Parameter ini dinonaktifkan secara default. Untuk menghidupkanscale-in, atur boolean nilainya keFALSE. Ini berarti bahwa kapasitas secara otomatis diperkecil untuk tabel atas nama Anda.

      • scaleOutCooldown— Aktivitas scale-out meningkatkan throughput yang disediakan dari tabel Anda. Untuk menambahkan periode cooldown untuk aktivitas scale-out, tentukan nilai, dalam detik, untuk. ScaleOutCooldown Nilai default-nya adalah 0. Untuk informasi selengkapnya tentang pelacakan target dan periode cooldown, lihat Kebijakan Penskalaan Pelacakan Target di Panduan Pengguna Application Auto Scaling.

      • scaleInCooldown— Aktivitas scale-in mengurangi throughput yang disediakan dari tabel Anda. Untuk menambahkan periode cooldown untuk aktivitas penskalaan, tentukan nilai, dalam detik, untuk. ScaleInCooldown Nilai default-nya adalah 0. Untuk informasi selengkapnya tentang pelacakan target dan periode cooldown, lihat Kebijakan Penskalaan Pelacakan Target di Panduan Pengguna Application Auto Scaling.

catatan

Untuk lebih memahami cara kerja TargetValue, misalkan Anda memiliki sebuah tabel dengan pengaturan throughput yang disediakan sebanyak 200 unit kapasitas tulis. Anda memutuskan untuk membuat kebijakan penskalaan untuk tabel ini, dengan TargetValue sebesar 70 persen.

Sekarang anggaplah Anda mulai mendorong lalu lintas tulis ke tabel sehingga throughput tulis aktual adalah sebesar 150 unit kapasitas. consumed-to-provisioned Rasionya sekarang (150/200), atau 75 persen. Rasio ini melebihi target Anda, jadi penskalaan otomatis meningkatkan kapasitas tulis yang disediakan menjadi 215 sehingga rasionya (150/215), atau 69,77 persen—sedekat mungkin dengan Anda, tetapi tidak melebihi itu. TargetValue

Untuk mytable, Anda mengatur TargetValue kapasitas baca dan tulis hingga 50 persen. Penskalaan otomatis Amazon Keyspaces menyesuaikan throughput yang disediakan tabel dalam kisaran 5-10 unit kapasitas sehingga rasionya tetap pada atau mendekati 50 persen. consumed-to-provisioned Untuk kapasitas baca, Anda mengatur nilai untuk ScaleOutCooldown dan ScaleInCooldown ke 60 detik.

Saat membuat tabel dengan pengaturan penskalaan otomatis yang kompleks, akan sangat membantu untuk memuat pengaturan penskalaan otomatis dari file JSON. Untuk contoh berikut, Anda dapat men-download contoh file JSON dari auto-scaling.zip dan ekstrakauto-scaling.json, mencatat path ke file. Dalam contoh ini, file JSON terletak di direktori saat ini. Untuk opsi jalur file yang berbeda, lihat Cara memuat parameter dari file.

aws keyspaces create-table --keyspace-name mykeyspace --table-name mytable \ --schema-definition 'allColumns=[{name=pk,type=int},{name=ck,type=int}],partitionKeys=[{name=pk},{name=ck}]' \ --capacity-specification throughputMode=PROVISIONED,readCapacityUnits=1,writeCapacityUnits=1 \ --auto-scaling-specification file://auto-scaling.json

Aktifkan penskalaan otomatis pada tabel yang ada menggunakan AWS CLI

Untuk tabel Amazon Keyspaces yang ada, Anda dapat mengaktifkan penskalaan otomatis untuk kapasitas tulis atau baca tabel menggunakan operasi. UpdateTable Untuk informasi selengkapnya tentang cara memperbarui pengaturan penskalaan otomatis untuk tabel Multi-wilayah, lihat. Memperbarui kapasitas yang disediakan dan pengaturan penskalaan otomatis dari tabel Multi-wilayah (CLI)

catatan

Penskalaan otomatis Amazon Keyspaces memerlukan keberadaan peran terkait layanan (AWSServiceRoleForApplicationAutoScaling_CassandraTable) yang melakukan tindakan penskalaan otomatis atas nama Anda. Peran ini dibuat secara otomatis untuk Anda. Untuk informasi selengkapnya, lihat Menggunakan peran terkait layanan untuk Amazon Keyspaces.

Anda dapat menggunakan perintah berikut untuk mengaktifkan penskalaan otomatis Amazon Keyspaces untuk tabel yang ada. Pengaturan penskalaan otomatis untuk tabel dimuat dari file JSON. Untuk contoh berikut, Anda dapat men-download contoh file JSON dari auto-scaling.zip dan ekstrakauto-scaling.json, mencatat path ke file. Dalam contoh ini, file JSON terletak di direktori saat ini. Untuk opsi jalur file yang berbeda, lihat Cara memuat parameter dari file.

Untuk informasi selengkapnya tentang pengaturan penskalaan otomatis yang digunakan dalam contoh berikut, lihatBuat tabel baru dengan penskalaan otomatis menggunakan AWS CLI.

aws keyspaces update-table --keyspace-name mykeyspace --table-name mytable \ --capacity-specification throughputMode=PROVISIONED,readCapacityUnits=1,writeCapacityUnits=1 \ --auto-scaling-specification file://auto-scaling.json

Lihat konfigurasi penskalaan otomatis Amazon Keyspaces tabel Anda menggunakan AWS CLI

Untuk melihat konfigurasi penskalaan otomatis tabel, Anda dapat menggunakan get-table-auto-scaling-settings operasi. Perintah CLI berikut adalah contohnya.

aws keyspaces get-table-auto-scaling-settings --keyspace-name mykeyspace --table-name mytable

Output untuk perintah ini terlihat seperti ini.

{ "keyspaceName": "mykeyspace", "tableName": "mytable", "resourceArn": "arn:aws:cassandra:us-east-1:5555-5555-5555:/keyspace/mykeyspace/table/mytable", "autoScalingSpecification": { "writeCapacityAutoScaling": { "autoScalingDisabled": false, "minimumUnits": 5, "maximumUnits": 10, "scalingPolicy": { "targetTrackingScalingPolicyConfiguration": { "disableScaleIn": false, "scaleInCooldown": 0, "scaleOutCooldown": 0, "targetValue": 50.0 } } }, "readCapacityAutoScaling": { "autoScalingDisabled": false, "minimumUnits": 5, "maximumUnits": 10, "scalingPolicy": { "targetTrackingScalingPolicyConfiguration": { "disableScaleIn": false, "scaleInCooldown": 60, "scaleOutCooldown": 60, "targetValue": 50.0 } } } } }

Matikan penskalaan otomatis Amazon Keyspaces untuk tabel menggunakan AWS CLI

Anda dapat menonaktifkan penskalaan otomatis Amazon Keyspaces untuk tabel Anda kapan saja. Jika Anda tidak perlu lagi menskalakan kapasitas baca atau tulis tabel Anda, Anda harus mempertimbangkan untuk mematikan penskalaan otomatis sehingga Amazon Keyspaces tidak terus memodifikasi pengaturan kapasitas baca atau tulis tabel Anda. Anda dapat memperbarui tabel dengan UpdateTable operasi.

Perintah berikut mematikan penskalaan otomatis untuk kapasitas baca tabel. Ini juga menghapus CloudWatch alarm yang dibuat atas nama Anda.

aws keyspaces update-table --keyspace-name mykeyspace --table-name mytable \ --auto-scaling-specification readCapacityAutoScaling={autoScalingDisabled=true}
catatan

Untuk menghapus peran terkait layanan yang digunakan Application Auto Scaling, Anda harus menonaktifkan penskalaan otomatis pada semua tabel di akun. Wilayah AWS