Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menetapkan kebijakan penskalaan
Konfigurasi kebijakan penskalaan pelacakan target direpresentasikan oleh blok JSON yang digunakan untuk mendefinisikan metrik dan nilai target. Anda dapat menyimpan konfigurasi kebijakan penskalaan sebagai blok JSON dalam file teks. Anda menggunakan file teks tersebut saat menjalankan AWS CLI atau Application Auto Scaling API. Untuk informasi selengkapnya tentang sintaks konfigurasi kebijakan, lihat TargetTrackingScalingPolicyConfigurationdi Referensi API Application Auto Scaling.
Opsi berikut tersedia untuk menetapkan konfigurasi kebijakan penskalaan pelacakan target:
Topik
Menggunakan metrik standar
Dengan menggunakan metrik yang telah ditentukan sebelumnya, Anda dapat dengan cepat menentukan kebijakan penskalaan pelacakan target untuk klaster ElastiCache (Redis OSS) yang berfungsi dengan pelacakan target di Auto Scaling ( ElastiCache Redis OSS).
Saat ini, ElastiCache (Redis OSS) mendukung metrik standar berikut di Auto Scaling ElastiCache (Redis OSS): NodeGroup
-
ElastiCachePrimaryEngineCPUUutilization — Nilai rata-rata
EngineCPUUtilization
metrik di CloudWatch seluruh node primer di cluster ElastiCache (Redis OSS). -
ElastiCacheDatabaseMemoryUsageCountedForEvictPercentage— Nilai rata-rata
DatabaseMemoryUsageCountedForEvictPercentage
metrik di CloudWatch seluruh node primer di cluster ElastiCache (Redis OSS). -
ElastiCacheDatabaseCapacityUsageCountedForEvictPercentage— Nilai rata-rata
ElastiCacheDatabaseCapacityUsageCountedForEvictPercentage
metrik di CloudWatch seluruh node primer di cluster ElastiCache (Redis OSS).
Untuk informasi selengkapnya tentang metrik EngineCPUUtilization
, DatabaseMemoryUsageCountedForEvictPercentage
dan DatabaseCapacityUsageCountedForEvictPercentage
, lihat Memantau penggunaan dengan Metrik CloudWatch. Untuk menggunakan metrik standar dalam kebijakan penskalaan, Anda mengonfigurasi pelacakan target untuk kebijakan penskalaan Anda. Konfigurasi ini harus menyertakan a PredefinedMetricSpecification
untuk metrik yang telah ditentukan dan a TargetValue untuk nilai target metrik tersebut.
Contoh berikut menjelaskan konfigurasi kebijakan tipikal untuk penskalaan pelacakan target untuk klaster ElastiCache (Redis OSS). Dalam konfigurasi ini, metrik yang ElastiCachePrimaryEngineCPUUtilization
telah ditentukan digunakan untuk menyesuaikan cluster ElastiCache (Redis OSS) berdasarkan pemanfaatan CPU rata-rata 40 persen di semua node primer di cluster.
{ "TargetValue": 40.0, "PredefinedMetricSpecification": { "PredefinedMetricType": "ElastiCachePrimaryEngineCPUUtilization" } }
Menggunakan metrik kustom
Dengan metrik kustom, Anda dapat menentukan kebijakan penskalaan pelacakan target yang memenuhi persyaratan kustom Anda. Anda dapat menentukan metrik kustom berdasarkan ElastiCache metrik apa pun yang berubah sebanding dengan penskalaan. Tidak semua ElastiCache metrik berfungsi untuk pelacakan target. Metrik harus berupa metrik pemanfaatan yang valid dan menjelaskan seberapa sibuk suatu instans. Nilai metrik harus meningkat atau menurun secara berbanding lurus dengan jumlah Serpihan dalam klaster. Peningkatan atau penurunan proporsional ini diperlukan untuk menggunakan data metrik untuk menskalakan jumlah serpihan ke luar atau ke dalam secara proporsional.
Contoh berikut menjelaskan konfigurasi pelacakan target untuk kebijakan penskalaan. Dalam konfigurasi ini, metrik khusus menyesuaikan cluster ElastiCache (Redis OSS) berdasarkan pemanfaatan CPU rata-rata 50 persen di semua pecahan dalam cluster bernama. my-db-cluster
{ "TargetValue": 50, "CustomizedMetricSpecification": { "MetricName": "EngineCPUUtilization", "Namespace": "AWS/ElastiCache", "Dimensions": [ { "Name": "RelicationGroup","Value": "my-db-cluster" }, { "Name": "Role","Value": "PRIMARY" } ], "Statistic": "Average", "Unit": "Percent" } }
Menggunakan periode pendinginan
Anda dapat menentukan nilai, dalam detik, untuk ScaleOutCooldown
guna menambahkan periode pendinginan untuk menskalakan klaster Anda ke luar. Demikian pula, Anda dapat menentukan nilai, dalam detik, untuk ScaleInCooldown
guna menambahkan periode pendinginan untuk menskalakan klaster Anda ke dalam. Untuk informasi selengkapnya, lihat TargetTrackingScalingPolicyConfigurationdi Referensi API Application Auto Scaling.
Contoh berikut menjelaskan konfigurasi pelacakan target untuk kebijakan penskalaan. Dalam konfigurasi ini, metrik yang ElastiCachePrimaryEngineCPUUtilization
telah ditentukan digunakan untuk menyesuaikan cluster ElastiCache (Redis OSS) berdasarkan pemanfaatan CPU rata-rata 40 persen di semua node utama di cluster itu. Konfigurasi ini menyediakan periode pendinginan penskalaan ke dalam selama 10 menit dan periode pendinginan penskalaan ke luar selama 5 menit.
{ "TargetValue": 40.0, "PredefinedMetricSpecification": { "PredefinedMetricType": "ElastiCachePrimaryEngineCPUUtilization" }, "ScaleInCooldown": 600, "ScaleOutCooldown": 300 }
Menonaktifkan aktivitas penskalaan ke dalam
Anda dapat mencegah konfigurasi kebijakan penskalaan pelacakan target dari penskalaan di klaster ElastiCache (Redis OSS) Anda dengan menonaktifkan aktivitas penskalaan. Menonaktifkan aktivitas penskalaan ke dalam mencegah kebijakan penskalaan menghapus serpihan, namun masih memungkinkan kebijakan penskalaan untuk membuatnya sesuai kebutuhan.
Anda dapat menentukan nilai Boolean untuk DisableScaleIn
guna mengaktifkan atau menonaktifkan aktivitas penskalaan ke dalam untuk klaster Anda. Untuk informasi selengkapnya, lihat TargetTrackingScalingPolicyConfigurationdi Referensi API Application Auto Scaling.
Contoh berikut menjelaskan konfigurasi pelacakan target untuk kebijakan penskalaan. Dalam konfigurasi ini, metrik yang ElastiCachePrimaryEngineCPUUtilization
telah ditentukan menyesuaikan cluster ElastiCache (Redis OSS) berdasarkan pemanfaatan CPU rata-rata 40 persen di semua node utama di cluster itu. Konfigurasi ini menonaktifkan aktivitas penskalaan ke dalam untuk kebijakan penskalaan.
{ "TargetValue": 40.0, "PredefinedMetricSpecification": { "PredefinedMetricType": "ElastiCachePrimaryEngineCPUUtilization" }, "DisableScaleIn": true }
Menerapkan kebijakan penskalaan
Setelah mendaftarkan klaster Anda dengan penskalaan otomatis ElastiCache (Redis OSS) dan menentukan kebijakan penskalaan, Anda menerapkan kebijakan penskalaan ke klaster terdaftar. Untuk menerapkan kebijakan penskalaan ke klaster ElastiCache (Redis OSS), Anda dapat menggunakan Application Auto Scaling API AWS CLI atau Application Auto Scaling.
Menerapkan kebijakan penskalaan menggunakan AWS CLI
Untuk menerapkan kebijakan penskalaan ke klaster ElastiCache (Redis OSS) Anda, gunakan put-scaling-policyperintah dengan parameter berikut:
-
--policy-name – Nama kebijakan penskalaan.
-
--policy-name – Atur nilai ini ke
TargetTrackingScaling
. -
--resource-id — Pengidentifikasi sumber daya untuk (Redis OSS). ElastiCache Untuk parameter ini, tipe sumber daya adalah
ReplicationGroup
dan pengidentifikasi unik adalah nama cluster ElastiCache (Redis OSS), misalnya.replication-group/myscalablecluster
-
--service-namespace – Atur nilai ini ke
elasticache
. -
--scalable-dimension – Atur nilai ini ke
elasticache:replication-group:NodeGroups
. -
-- target-tracking-scaling-policy -konfigurasi - Konfigurasi kebijakan penskalaan pelacakan target yang akan digunakan untuk klaster ElastiCache (Redis OSS).
Dalam contoh berikut, Anda menerapkan kebijakan penskalaan pelacakan target yang diberi nama myscalablepolicy
ke klaster ElastiCache (Redis OSS) yang diberi nama myscalablecluster
dengan penskalaan otomatis ( ElastiCache Redis OSS). Untuk melakukannya, Anda menggunakan konfigurasi kebijakan yang disimpan dalam file bernama config.json
.
Untuk Linux, macOS, atau Unix:
aws application-autoscaling put-scaling-policy \ --policy-name myscalablepolicy \ --policy-type TargetTrackingScaling \ --resource-id replication-group/myscalablecluster \ --service-namespace elasticache \ --scalable-dimension elasticache:replication-group:NodeGroups \ --target-tracking-scaling-policy-configuration file://config.json
Untuk Windows:
aws application-autoscaling put-scaling-policy ^ --policy-name myscalablepolicy ^ --policy-type TargetTrackingScaling ^ --resource-id replication-group/myscalablecluster ^ --service-namespace elasticache ^ --scalable-dimension elasticache:replication-group:NodeGroups ^ --target-tracking-scaling-policy-configuration file://config.json
Menerapkan kebijakan penskalaan menggunakan API
Untuk menerapkan kebijakan penskalaan ke klaster ElastiCache (Redis OSS) Anda, gunakan PutScalingPolicy AWS CLI perintah dengan parameter berikut:
--policy-name – Nama kebijakan penskalaan.
--resource-id — Pengidentifikasi sumber daya untuk (Redis OSS). ElastiCache Untuk parameter ini, tipe sumber daya adalah
ReplicationGroup
dan pengidentifikasi unik adalah nama cluster ElastiCache (Redis OSS), misalnya.replication-group/myscalablecluster
--service-namespace – Atur nilai ini ke
elasticache
.--scalable-dimension – Atur nilai ini ke
elasticache:replication-group:NodeGroups
.-- target-tracking-scaling-policy -konfigurasi - Konfigurasi kebijakan penskalaan pelacakan target yang akan digunakan untuk klaster ElastiCache (Redis OSS).
Dalam contoh berikut, Anda menerapkan kebijakan penskalaan pelacakan target yang diberi nama myscalablepolicy
ke klaster ElastiCache (Redis OSS) yang diberi nama myscalablecluster
dengan penskalaan otomatis ( ElastiCache Redis OSS). Anda menggunakan konfigurasi kebijakan berdasarkan pada metrik standar ElastiCachePrimaryEngineCPUUtilization
.
POST / HTTP/1.1 Host: autoscaling.us-east-2.amazonaws.com Accept-Encoding: identity Content-Length: 219 X-Amz-Target: AnyScaleFrontendService.PutScalingPolicy X-Amz-Date: 20160506T182145Z User-Agent: aws-cli/1.10.23 Python/2.7.11 Darwin/15.4.0 botocore/1.4.8 Content-Type: application/x-amz-json-1.1 Authorization: AUTHPARAMS { "PolicyName": "myscalablepolicy", "ServiceNamespace": "elasticache", "ResourceId": "replication-group/myscalablecluster", "ScalableDimension": "elasticache:replication-group:NodeGroups", "PolicyType": "TargetTrackingScaling", "TargetTrackingScalingPolicyConfiguration": { "TargetValue": 40.0, "PredefinedMetricSpecification": { "PredefinedMetricType": "ElastiCachePrimaryEngineCPUUtilization" } } }