Menetapkan kebijakan penskalaan - Amazon ElastiCache untuk Redis

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 diwakili oleh blok JSON yang menetapkan metrik dan nilai target. Anda dapat menyimpan konfigurasi kebijakan penskalaan sebagai blok JSON dalam file teks. Anda menggunakan file teks tersebut saat memicu AWS CLI atau Application Auto Scaling API. Untuk informasi lebih lanjut tentang sintaks konfigurasi kebijakan, lihat TargetTrackingScalingPolicyConfigurationdalam Referensi API Application Auto Scaling.

Opsi berikut tersedia untuk menetapkan konfigurasi kebijakan penskalaan pelacakan target:

Menggunakan metrik yang sudah ditentukan sebelumnya

Dengan menggunakan metrik yang telah ditetapkan sebelumnya, Anda dapat dengan cepat menentukan kebijakan penskalaan pelacakan target untuk klaster ElastiCache for Redis yang bekerja dengan pelacakan target untuk Auto Scaling. ElastiCache

Saat ini, ElastiCache untuk Redis mendukung metrik yang telah ditetapkan sebelumnya berikut dalam NodeGroup Redis Auto ElastiCache Scaling:

  • ElastiCachePrimaryEngineCPUUtilization - Nilai rata-rata EngineCPUUtilization metrik di CloudWatch seluruh node utama di cluster ElastiCache for Redis.

  • ElastiCacheDatabaseMemoryUsageCountedForEvictPercentage- Nilai rata-rata DatabaseMemoryUsageCountedForEvictPercentage metrik CloudWatch di semua node utama di cluster ElastiCache for Redis.

  • ElastiCacheDatabaseCapacityUsageCountedForEvictPercentage- Nilai rata-rata ElastiCacheDatabaseCapacityUsageCountedForEvictPercentage metrik CloudWatch di semua node utama di cluster ElastiCache for Redis.

Untuk informasi selengkapnya tentangEngineCPUUtilization, DatabaseMemoryUsageCountedForEvictPercentage dan DatabaseCapacityUsageCountedForEvictPercentage metrik, lihatPemantauan penggunaan dengan CloudWatch Metrik. Untuk menggunakan metrik yang sudah ditentukan sebelumnya dalam kebijakan penskalaan, Anda membuat konfigurasi pelacakan target untuk kebijakan penskalaan Anda. Konfigurasi ini harus menyertakan PredefinedMetricSpecification untuk metrik yang sudah ditentukan sebelumnya dan TargetValue untuk nilai target metrik tersebut.

Contoh berikut menjelaskan konfigurasi kebijakan umum untuk penskalaan pelacakan target untuk klaster untuk Redis. ElastiCache Dalam konfigurasi ini, metrik ElastiCachePrimaryEngineCPUUtilization yang telah ditetapkan sebelumnya digunakan ElastiCache untuk menyesuaikan klaster Redis berdasarkan penggunaan CPU rata-rata sebesar 40 persen di seluruh node utama dalam klaster.

{ "TargetValue": 40.0, "PredefinedMetricSpecification": { "PredefinedMetricType": "ElastiCachePrimaryEngineCPUUtilization" } }

Menggunakan metrik khusus

Dengan menggunakan metrik khusus, Anda dapat menentukan kebijakan penskalaan pelacakan target yang memenuhi persyaratan kustom Anda. Anda dapat menentukan metrik kustom berdasarkan metrik Elasticache apa pun yang berubah proporsinya terhadap penskalaan. Tidak semua ElastiCache metrik berfungsi untuk pelacakan target. Metrik harus berupa metrik penggunaan yang valid dan menjelaskan seberapa sibuk suatu instans. Nilai metrik harus meningkat atau menurun proporsinya terhadap jumlah Pecahan dalam klaster. Peningkatan atau penurunan proporsional ini diperlukan untuk menggunakan data metrik untuk menskalakan keluar atau masuk jumlah pecahan.

Contoh berikut menjelaskan konfigurasi pelacakan target untuk kebijakan penskalaan. Dalam konfigurasi ini, metrik kustom menyesuaikan klaster ElastiCache untuk Redis berdasarkan penggunaan CPU rata-rata sebesar 50 persen di seluruh pecahan dalam klaster 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 jeda pakai

Anda dapat menentukan nilai, dalam detik, untuk menambahkan periode ScaleOutCooldown jeda pakai untuk menskalakan keluar klaster Anda. Demikian pula, Anda dapat menentukan nilai, dalam detik, ScaleInCooldown untuk menambahkan periode jeda pakai untuk menskalakan masuk klaster Anda. Untuk informasi lebih lanjut, lihat TargetTrackingScalingPolicyConfigurationdalam Referensi API Application Auto Scaling.

Contoh berikut menjelaskan konfigurasi pelacakan target untuk kebijakan penskalaan. Dalam konfigurasi ini, metrik ElastiCachePrimaryEngineCPUUtilization yang telah ditetapkan sebelumnya digunakan untuk menyesuaikan klaster Redis berdasarkan penggunaan CPU rata-rata sebesar 40 persen di seluruh node utama dalam klaster tersebut. ElastiCache Konfigurasi ini menyediakan periode jeda pakai skala masuk selama 10 menit dan periode jeda pakai skala keluar selama 5 menit.

{ "TargetValue": 40.0, "PredefinedMetricSpecification": { "PredefinedMetricType": "ElastiCachePrimaryEngineCPUUtilization" }, "ScaleInCooldown": 600, "ScaleOutCooldown": 300 }

Menonaktifkan aktivitas skala masuk

Anda dapat mencegah konfigurasi kebijakan penskalaan pelacakan target dari penskalaan dalam klaster ElastiCache for Redis dengan menonaktifkan aktivitas skala masuk. Menonaktifkan aktivitas skala masuk mencegah kebijakan penskalaan menghapus pecahan, namun masih memungkinkan kebijakan penskalaan untuk membuatnya sesuai kebutuhan.

Anda dapat menentukan nilai Boolean DisableScaleIn untuk mengaktifkan atau menonaktifkan skala dalam aktivitas untuk klaster Anda. Untuk informasi lebih lanjut, lihat TargetTrackingScalingPolicyConfigurationdalam Referensi API Application Auto Scaling.

Contoh berikut menjelaskan konfigurasi pelacakan target untuk kebijakan penskalaan. Dalam konfigurasi ini, metrik yang ElastiCachePrimaryEngineCPUUtilization telah ditetapkan sebelumnya, metrik yang ElastiCache telah ditetapkan sebelumnya, metrik yang telah ditetapkan sebelumnya, metrik yang telah ditetapkan sebelumnya, metrik yang telah ditetapkan sebelumnya. Konfigurasi ini menonaktifkan aktivitas skala masuk untuk kebijakan penskalaan.

{ "TargetValue": 40.0, "PredefinedMetricSpecification": { "PredefinedMetricType": "ElastiCachePrimaryEngineCPUUtilization" }, "DisableScaleIn": true }

Menerapkan kebijakan penskalaan

Setelah mendaftarkan klaster Anda ElastiCache untuk Redis auto scaling dan menentukan kebijakan penskalaan, Anda menerapkan kebijakan penskalaan untuk klaster terdaftar. Untuk menerapkan kebijakan penskalaan untuk klaster Redis, Anda dapat menggunakan AWS CLI atau Application Auto Scaling API. ElastiCache

Menerapkan kebijakan penskalaan menggunakan AWS CLI

Untuk menerapkan kebijakan penskalaan ElastiCache untuk klaster Redis Anda, gunakan put-scaling-policyperintah dengan parameter berikut:

  • Nama policy-name — Nama kebijakan penskalaan.

  • --policy-type - Tetapkan nilai ini ke. TargetTrackingScaling

  • ----resource-id — Pengidentifikasi sumber daya untuk Redis. ElastiCache Untuk parameter ini, jenis sumber daya adalah ReplicationGroup dan identifier unik adalah nama ElastiCache untuk Redis cluster, 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 -configuration — Konfigurasi kebijakan penskalaan pelacakan target untuk digunakan pada klaster Redis. ElastiCache

Dalam contoh berikut, Anda menerapkan kebijakan penskalaan pelacakan target yang disebut pada klaster untuk Redis bernama dengan myscalablepolicy ElastiCache untuk penskalaan auto Redis. myscalablecluster ElastiCache 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 for Redis Anda, gunakan PutScalingPolicyAWS CLIperintah dengan parameter berikut:

  • Nama policy-name — Nama kebijakan penskalaan.

  • ----resource-id — Pengidentifikasi sumber daya untuk Redis. ElastiCache Untuk parameter ini, jenis sumber daya adalah ReplicationGroup dan identifier unik adalah nama ElastiCache untuk Redis cluster, 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 -configuration — Konfigurasi kebijakan penskalaan pelacakan target untuk digunakan pada klaster Redis. ElastiCache

Dalam contoh berikut, Anda menerapkan kebijakan penskalaan pelacakan target yang disebut pada klaster untuk Redis bernama dengan myscalablepolicy ElastiCache untuk penskalaan auto Redis. myscalablecluster ElastiCache Anda menggunakan konfigurasi kebijakan berdasarkan pada metrik ElastiCachePrimaryEngineCPUUtilization yang ditetapkan sebelumnya.

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" } } }