Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Penskalaan otomatis jumlah replika di cluster DB Amazon Neptunus
Anda dapat menggunakan auto-scaling Neptunus untuk secara otomatis menyesuaikan jumlah replika Neptunus dalam cluster DB untuk memenuhi persyaratan konektivitas dan beban kerja Anda. Penskalaan otomatis memungkinkan cluster DB Neptunus Anda menangani peningkatan beban kerja, dan kemudian, ketika beban kerja berkurang, auto-scaling menghapus replika yang tidak perlu sehingga Anda tidak membayar untuk kapasitas yang tidak digunakan.
Anda hanya dapat menggunakan auto-scaling dengan cluster DB Neptunus yang sudah memiliki satu instance penulis utama dan setidaknya satu instance read-replica (lihat). Klaster dan Instans DB Amazon Neptune Selain itu, semua instance read-replica di cluster harus dalam keadaan tersedia. Jika ada replika baca dalam keadaan selain tersedia, penskalaan otomatis Neptunus tidak melakukan apa pun sampai setiap replika baca di cluster tersedia.
Lihat Buat cluster Neptunus apakah Anda perlu membuat cluster baru.
Dengan menggunakan AWS CLI, Anda menentukan dan menerapkan kebijakan penskalaan ke cluster DB. Anda juga dapat menggunakan AWS CLI untuk mengedit atau menghapus kebijakan auto-scaling Anda. Kebijakan menentukan parameter auto-scaling berikut:
Jumlah minimum dan maksimum replika yang ada di cluster.
ScaleOutCooldown
Interval antara aktivitas penskalaan penambahan replika, danScaleInCooldown
interval antara aktivitas penskalaan penghapusan replika.CloudWatch Metrik dan nilai pemicu metrik untuk penskalaan naik atau turun.
Frekuensi tindakan auto-scaling Neptunus diredam dalam beberapa cara:
Awalnya, untuk auto-scaling untuk menambah atau menghapus pembaca,
CPUUtilization
alarm tinggi harus dilanggar setidaknya selama 3 menit atau alarm rendah harus dilanggar setidaknya selama 15 menit.Setelah penambahan atau penghapusan pertama itu, frekuensi tindakan auto-scaling Neptunus berikutnya dibatasi oleh pengaturan dan dalam kebijakan penskalaan otomatis.
ScaleOutCooldown
ScaleInCooldown
Jika CloudWatch metrik yang Anda gunakan mencapai ambang batas tinggi yang Anda tentukan dalam kebijakan Anda, dan jika ScaleOutCooldown
interval telah berlalu sejak tindakan auto-scaling terakhir, dan jika cluster DB Anda belum memiliki jumlah replika maksimum yang Anda tetapkan, Neptunus auto-scaling akan membuat replika baru menggunakan jenis instance yang sama dengan instance utama cluster DB.
Demikian pula, jika metrik mencapai ambang rendah yang Anda tentukan dan jika ScaleInCooldown
interval telah berlalu sejak tindakan auto-scaling terakhir, dan jika cluster DB Anda memiliki lebih dari jumlah minimum replika yang Anda tentukan, auto-scaling Neptunus menghapus salah satu replika.
catatan
Neptunus auto-scaling hanya menghapus replika yang dibuatnya. Itu tidak menghapus replika yang sudah ada sebelumnya.
Dengan menggunakan parameter cluster neptune_autoscaling_config DB, Anda juga dapat menentukan jenis instance replika baca baru yang dibuat oleh auto-scaling Neptunus, jendela pemeliharaan untuk replika baca tersebut, dan tag yang akan dikaitkan dengan masing-masing replika baca baru. Anda memberikan pengaturan konfigurasi ini dalam string JSON sebagai nilai neptune_autoscaling_config
parameter, seperti ini:
"{ \"tags\": [ { \"key\" : \"
reader tag-0 key
\", \"value\" : \"reader tag-0 value
\" }, { \"key\" : \"reader tag-1 key
\", \"value\" : \"reader tag-1 value
\" }, ], \"maintenanceWindow\" : \"wed:12:03-wed:12:33
\", \"dbInstanceClass\" : \"db.r5.xlarge\" }"
Perhatikan bahwa tanda kutip dalam string JSON semua harus lolos dengan karakter garis miring terbalik (). \
Semua spasi dalam string adalah opsional, seperti biasa.
Salah satu dari tiga pengaturan konfigurasi yang tidak ditentukan dalam neptune_autoscaling_config
parameter disalin dari konfigurasi instance penulis utama cluster DB.
Ketika auto-scaling menambahkan instance read-replica baru, itu akan mengawali ID instans DB dengan (misalnya,). autoscaled-reader
autoscaled-reader-7r7t7z3lbd-20210828
Ini juga menambahkan tag ke setiap replika baca yang dibuatnya dengan kunci autoscaled-reader
dan nilai. TRUE
Anda dapat melihat tag ini pada tab Tag pada halaman detail instans DB di AWS Management Console.
"key" : "autoscaled-reader", "value" : "TRUE"
Tingkat promosi dari semua instance read-replica yang dibuat oleh auto-scaling adalah prioritas terendah, yang secara default. 15
Ini berarti bahwa selama failover, replika apa pun dengan prioritas yang lebih tinggi, seperti yang dibuat secara manual, akan dipromosikan terlebih dahulu. Lihat Toleransi kesalahan untuk cluster DB Neptunus.
Neptune auto-scaling diimplementasikan menggunakan Application Auto Scaling dengan kebijakan penskalaan pelacakan target yang menggunakan metrik Neptunus sebagai metrik yang telah ditentukan sebelumnya. CPUUtilization CloudWatch
Menggunakan auto-scaling di cluster DB tanpa server Neptunus
Neptune Serverless merespons jauh lebih cepat daripada auto-scaling Neptunus ketika permintaan melebihi kapasitas instans, dan meningkatkan skala instance alih-alih menambahkan instance lain. Jika auto-scaling dirancang agar sesuai dengan kenaikan atau penurunan beban kerja yang relatif stabil, tanpa server unggul dalam menangani lonjakan cepat dan kegelisahan dalam permintaan.
Memahami kekuatan mereka, Anda dapat menggabungkan auto-scaling dan serverless untuk menciptakan infrastruktur fleksibel yang akan menangani perubahan beban kerja Anda secara efisien dan memenuhi permintaan sambil meminimalkan biaya.
Agar auto-scaling bekerja secara efektif bersama tanpa server, penting untuk mengonfigurasi pengaturan klaster maxNCU tanpa server Anda yang cukup tinggi untuk mengakomodasi lonjakan dan perubahan permintaan singkat. Jika tidak, perubahan transien tidak memicu penskalaan tanpa server, yang dapat menyebabkan auto-scaling memutar banyak instance tambahan yang tidak perlu. Jika maxNCU
disetel cukup tinggi, penskalaan tanpa server dapat menangani perubahan tersebut lebih cepat dan lebih murah.
Cara mengaktifkan auto-scaling untuk Amazon Neptunus
Penskalaan otomatis hanya dapat diaktifkan untuk cluster DB Neptunus menggunakan file. AWS CLI Anda tidak dapat mengaktifkan auto-scaling menggunakan file. AWS Management Console
Selain itu, penskalaan otomatis tidak didukung di wilayah Amazon berikut:
Afrika (Cape Town):
af-south-1
Timur Tengah (UEA):
me-central-1
AWS GovCloud (AS-Timur):
us-gov-east-1
AWS GovCloud (AS-Barat):
us-gov-west-1
Mengaktifkan auto-scaling untuk cluster DB Neptunus melibatkan tiga langkah:
1. Daftarkan cluster DB Anda dengan Application Auto Scaling
Langkah pertama dalam mengaktifkan auto-scaling untuk cluster DB Neptune adalah mendaftarkan cluster dengan Application Auto Scaling, menggunakan atau AWS CLI salah satu SDK Application Auto Scaling. Cluster harus sudah memiliki satu instance utama dan setidaknya satu instance read-replica:
Misalnya, untuk mendaftarkan cluster yang akan diskalakan otomatis dengan dari satu hingga delapan replika tambahan, Anda dapat menggunakan AWS CLI register-scalable-target
perintah sebagai berikut:
aws application-autoscaling register-scalable-target \ --service-namespace neptune \ --resource-id cluster:
(your DB cluster name)
\ --scalable-dimension neptune:cluster:ReadReplicaCount \ --min-capacity 1 \ --max-capacity 8
Ini setara dengan menggunakan operasi RegisterScalableTarget
Application Auto Scaling API.
AWS CLI register-scalable-target
Perintah mengambil parameter berikut:
-
service-namespace
– Atur keneptune
.Parameter ini setara dengan
ServiceNamespace
parameter di Application Auto Scaling API. -
resource-id
— Setel ini ke pengidentifikasi sumber daya untuk cluster DB Neptunus Anda. Jenis sumber daya adalahcluster
, yang diikuti oleh titik dua (':
'), dan kemudian nama cluster DB Anda.Parameter ini setara dengan
ResourceID
parameter di Application Auto Scaling API. -
scalable-dimension
— Dimensi yang dapat diskalakan dalam hal ini adalah jumlah instance replika di cluster DB, jadi Anda mengatur parameter ini ke.neptune:cluster:ReadReplicaCount
Parameter ini setara dengan
ScalableDimension
parameter di Application Auto Scaling API. -
min-capacity
— Jumlah minimum instance replika DB pembaca yang akan dikelola oleh Application Auto Scaling. Nilai ini harus diatur dalam kisaran dari 0 hingga 15, dan harus sama dengan atau kurang dari nilai yang ditentukan untuk jumlah maksimum Replika Neptunus di.max-capacity
Harus ada setidaknya satu pembaca di cluster DB agar auto-scaling berfungsi.Parameter ini setara dengan
MinCapacity
parameter di Application Auto Scaling API. -
max-capacity
— Jumlah maksimum instans replika DB pembaca di cluster DB, termasuk instans yang sudah ada sebelumnya dan instans baru yang dikelola oleh Application Auto Scaling. Nilai ini harus diatur dalam kisaran dari 0 hingga 15, dan harus sama dengan atau lebih besar dari nilai yang ditentukan untuk jumlah minimum Replika Neptunus di.min-capacity
max-capacity
AWS CLI Parameter ini setara denganMaxCapacity
parameter di Application Auto Scaling API.
Saat Anda mendaftarkan cluster DB Anda, Application Auto Scaling membuat peran terkait AWSServiceRoleForApplicationAutoScaling_NeptuneCluster
layanan. Untuk informasi selengkapnya, lihat Peran terkait layanan untuk auto-scaling Aplikasi di Panduan Pengguna Application Auto Scaling.
2. Tentukan kebijakan penskalaan otomatis untuk digunakan dengan cluster DB Anda
Kebijakan penskalaan pelacakan target didefinisikan sebagai objek teks JSON yang juga dapat disimpan dalam file teks. Untuk Neptunus kebijakan ini saat ini hanya dapat menggunakan metrik CPUUtilization CloudWatch Neptunus sebagai metrik yang telah ditentukan sebelumnya. NeptuneReaderAverageCPUUtilization
Berikut adalah contoh kebijakan konfigurasi penskalaan pelacakan target untuk Neptunus:
{ "PredefinedMetricSpecification": { "PredefinedMetricType": "NeptuneReaderAverageCPUUtilization" }, "TargetValue": 60.0, "ScaleOutCooldown" : 600, "ScaleInCooldown" : 600 }
TargetValue
Elemen di sini berisi persentase pemanfaatan CPU di atas yang skala auto-scaling keluar (yaitu, menambahkan lebih banyak replika) dan di bawahnya diskalakan (yaitu, menghapus replika). Dalam hal ini, persentase target yang memicu penskalaan adalah%. 60.0
ScaleInCooldown
Elemen menentukan jumlah waktu, dalam detik, setelah aktivitas scale-in selesai sebelum scale-in lain dapat dimulai. Waktu default adalah 300 detik. Di sini, nilai 600 menentukan bahwa setidaknya sepuluh menit harus berlalu antara penyelesaian satu penghapusan replika dan awal yang lain.
ScaleOutCooldown
Elemen menentukan jumlah waktu, dalam detik, setelah aktivitas scale-out selesai sebelum scale-out lainnya dapat dimulai. Waktu default adalah 300 detik. Di sini, nilai 600 menentukan bahwa setidaknya sepuluh menit harus berlalu antara penyelesaian satu penambahan replika dan awal yang lain.
DisableScaleIn
Elemennya adalah Boolean yang jika ada dan disetel untuk true
menonaktifkan scale-in sepenuhnya, yang berarti bahwa auto-scaling dapat menambahkan replika tetapi tidak akan pernah menghapusnya. Secara default, scale-in diaktifkan, dan DisableScaleIn
sedang. false
Setelah mendaftarkan cluster DB Neptune Anda dengan Application Auto Scaling dan menentukan kebijakan penskalaan JSON dalam file teks, selanjutnya terapkan kebijakan penskalaan ke cluster DB terdaftar. Anda dapat menggunakan AWS CLI put-scaling-policy
perintah untuk melakukan ini, dengan parameter seperti berikut:
aws application-autoscaling put-scaling-policy \ --policy-name
(name of the scaling policy)
\ --policy-type TargetTrackingScaling \ --resource-id cluster:(name of your Neptune DB cluster)
\ --service-namespace neptune \ --scalable-dimension neptune:cluster:ReadReplicaCount \ --target-tracking-scaling-policy-configuration file://(path to the JSON configuration file)
Bila Anda telah menerapkan kebijakan auto-scaling, auto-scaling diaktifkan pada cluster DB Anda.
Anda juga dapat menggunakan AWS CLI put-scaling-policy
perintah untuk memperbarui kebijakan auto-scaling yang ada.
Lihat juga PutScalingKebijakan di Referensi API Application Auto Scaling.
Menghapus auto-scaling dari cluster DB Neptunus
Untuk menghapus auto-scaling dari cluster DB Neptunus, gunakan perintah delete-scaling-policy dan deregister-scalable-target. AWS CLI