Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Penskalaan untuk cluster Memcached
ElastiCache untuk Memcached menawarkan layanan caching dalam memori yang dikelola sepenuhnya yang menyebarkan, mengoperasikan, dan menskalakan Memcached secara vertikal di cloud. AWS
Penskalaan vertikal sesuai permintaan
Dengan penskalaan vertikal, ElastiCache untuk Memcached menyediakan sistem caching memori terdistribusi berkinerja tinggi yang banyak digunakan untuk mempercepat aplikasi dinamis dengan mengurangi beban database. Ini menyimpan data dan objek dalam RAM, mengurangi kebutuhan untuk membaca dari sumber data eksternal.
Anda dapat menggunakan cluster yang dirancang sendiri ElastiCache untuk memcached untuk penskalaan vertikal. Anda dapat menerapkan penskalaan vertikal ke cluster yang ada serta yang baru. Ini dapat memberikan fleksibilitas dalam alokasi sumber daya, memungkinkan pengguna untuk secara efisien beradaptasi dengan perubahan beban kerja tanpa mengubah arsitektur cluster. Kemampuan untuk menskalakan ini meningkatkan kinerja dengan meningkatkan kapasitas cache selama periode permintaan tinggi, dan mengurangi untuk mengoptimalkan biaya selama periode permintaan rendah. Ini menyederhanakan operasi, menghilangkan kebutuhan untuk membuat cluster baru untuk menggeser kebutuhan sumber daya, dan memungkinkan respons cepat terhadap fluktuasi lalu lintas. Secara keseluruhan, penskalaan vertikal untuk cache yang dirancang sendiri Memcached dapat membantu meningkatkan efisiensi biaya, meningkatkan pemanfaatan sumber daya, dan bahkan memungkinkan pengguna mengubah jenis instance Memcached mereka. Semua memudahkan pengguna untuk menyelaraskan infrastruktur caching mereka dengan kebutuhan aplikasi yang sebenarnya.
catatan
Cache yang dirancang sendiri dan modifikasi tipe node hanya tersedia untuk mesin Memcached versi 1.5 atau yang lebih baru.
Penemuan Otomatis harus diaktifkan untuk memanfaatkan penskalaan vertikal.
Menyiapkan penskalaan vertikal sesuai permintaan untuk cluster Memcached ElastiCache
Anda dapat mengonfigurasi penskalaan vertikal sesuai permintaan untuk Memcached withscale-config
, yang berisi dua parameter:
ScaleIntervalMinutes: Waktu (dalam hitungan menit) antara penskalaan batch selama proses upgrade Memcached
ScalePercentage: Persentase node untuk diskalakan secara bersamaan selama proses pemutakhiran Memcached
Mengonversi tipe node Memcached yang ada ke cache yang dapat menskalakan secara vertikal melalui CLI
Untuk mengonversi cache yang dirancang sendiri Memcached yang ada ke cache yang dapat menskalakan secara vertikal, Anda dapat menggunakan melalui elasticache modify-cache-cluster
CLI.
aws elasticache modify-cache-cluster \ --cache-cluster-id <your-cluster-id> \ --cache-node-type <new-node-type> \ --scale-config <scale-config> \ --apply-immediately
Menyiapkan penskalaan vertikal dengan CLI
Untuk mengatur penskalaan vertikal untuk cache yang dirancang sendiri Memcached Anda melalui CLI, gunakan elasticache modify-cache-cluster
dengan dan parameternya dan. scale-config
ScalePercentage
ScaleIntervalMinutes
scale-interval-minutes: Ini menentukan waktu (dalam menit) antara batch penskalaan. Pengaturan ini dapat berkisar dari 2-30 menit. Jika tidak ada nilai yang ditentukan, nilai default 5 menit diterapkan.
scale-percentage: Ini menentukan persentase node untuk skala secara bersamaan di setiap batch. Pengaturan ini dapat berkisar dari 10-100. Pengaturan dibulatkan saat membagi, jadi misalnya jika hasilnya adalah 49,5 pengaturan 50 diterapkan. Jika tidak ada nilai yang ditentukan, nilai default 20 diterapkan.
Opsi konfigurasi ini akan memungkinkan Anda untuk menyempurnakan proses penskalaan sesuai dengan kebutuhan spesifik Anda, menyeimbangkan antara meminimalkan gangguan cluster dan mengoptimalkan kecepatan penskalaan. Parameter scale-config hanya akan berlaku untuk tipe engine Memcached dan akan diabaikan untuk mesin cache lainnya, memastikan kompatibilitas mundur dengan penggunaan API yang ada untuk cluster lain.
Panggilan API
aws elasticache modify-cache-cluster \ --cache-cluster-id <your-cluster-id> \ --cache-node-type <new-node-type> \ --scale-config '{ "ScalePercentage": 30, "ScaleIntervalMinutes": 2 }' --apply-immediately
Hasil:
Mengembalikan ID cache cluster dan perubahan yang tertunda.
{ "CacheCluster": { "CacheNodeType": "old_insance_type", ... ... "PendingModifiedValues": { "CacheNodeType": "new_instance_type" }, } }
Buat daftar pengaturan penskalaan vertikal cache Memcached Anda
Anda dapat mengambil opsi penskalaan untuk cache Memcached Anda, dan melihat opsi mereka saat ini untuk penskalaan vertikal.
Panggilan API
aws elasticache list-allowed-node-type-modifications --cache-cluster-id <your-cluster-id>
Hasil:
{ "ScaleUpModifications": [ "cache.x.xxxx", "cache.x.xxxx" ], "ScaleDownModifications": [ "cache.x.xxxx", "cache.x.xxxx", "cache.x.xxxx" ] }
Penskalaan vertikal untuk Memcached dengan AWS Management Console
Untuk mengonversi cache yang dirancang sendiri Memcached yang sudah ada menjadi cache yang dapat menskalakan secara vertikal https://console.aws.amazon.com/elasticache/
Masuk ke AWS Management Console dan buka ElastiCache konsol di https://console.aws.amazon.com/elasticache/
. Pilih cache Memcached untuk dikonversi.
Pilih tab Modify.
Buka bagian Pengaturan cache, dan pilih jenis Node yang diinginkan.
Pilih Pratinjau perubahan, dan tinjau perubahannya.
Pilih Ubah.
Penskalaan horizontal otomatis untuk Memcached
ElastiCache sekarang terintegrasi dengan layanan AWS Application Auto Scaling (AAS) untuk menyertakan penskalaan horizontal otomatis untuk cluster Memcached. Anda dapat menentukan kebijakan penskalaan melalui layanan AWS Application Auto Scaling, dan secara otomatis menyesuaikan jumlah node dalam klaster Memcached sesuai kebutuhan, berdasarkan metrik atau jadwal yang telah ditentukan sebelumnya.
catatan
Penskalaan horizontal otomatis saat ini tidak tersedia di Wilayah Beijing dan Ningxia.
Ini adalah metode yang tersedia untuk secara otomatis menskalakan cache yang dirancang sendiri secara horizontal.
Penskalaan Terjadwal: Penskalaan berdasarkan jadwal memungkinkan Anda mengatur jadwal penskalaan Anda sendiri untuk perubahan beban yang dapat diprediksi. Misalnya, setiap pekan lalu lintas ke aplikasi web Anda mulai meningkat pada hari Rabu, tetap tinggi pada hari Kamis, dan mulai berkurang pada hari Jumat. Anda dapat mengonfigurasi Auto Scaling untuk meningkatkan kapasitas pada hari Rabu dan mengurangi kapasitas pada hari Jumat.
Pelacakan Target: Dengan kebijakan penskalaan pelacakan target, Anda memilih metrik penskalaan dan menetapkan nilai target. Application Auto Scaling membuat dan mengelola CloudWatch alarm yang memicu kebijakan penskalaan dan menghitung penyesuaian penskalaan berdasarkan metrik dan nilai target. Kebijakan penskalaan menambah atau menghapus kapasitas yang diperlukan untuk menjaga metrik berada pada, atau mendekati, nilai target yang ditentukan.
Cara mengatur penskalaan horizontal untuk cache yang dirancang sendiri ElastiCache untuk Memcached melalui CLI
Untuk penskalaan horizontal dengan ElastiCache Memcached, Anda dapat memiliki kebijakan pelacakan target, kebijakan terjadwal, atau keduanya.
Daftarkan sumber daya sebagai target yang dapat diskalakan
Panggil
RegisterScalableTarget
API di AWS Application Auto Scaling untuk mendaftarkan target untuk dimensi yang dapat diskalakan.elasticache:cache-cluster:Nodes
API: ApplicationAutoScaling. RegisterScalableTarget
Masukan:
{ "ScalableDimension": "elasticache:cache-cluster:Nodes", "ResourceId": "cache-cluster/test-cluster-1", "ServiceNamespace": "elasticache", "MinCapacity": 20, "MaxCapacity": 50 }
Membuat kebijakan penskalaan pelacakan Target
Selanjutnya, Anda dapat membuat kebijakan penskalaan pelacakan target untuk sumber daya dengan memanggil API kebijakan penskalaan put.
Metrik yang telah ditentukan
Berikut ini adalah kebijakan yang menskalakan sepanjang dimensi Cache Node, menggunakan metrik yang telah ditentukan
ElastiCacheCPUUtilization
, ditetapkan pada 50 untuk cache cluster test-cluster-1. Saat menghapus node untuk scale-in, n node terakhir akan dihapus.API: ApplicationAutoScaling. PutScalingPolicy
Masukan:
{ "PolicyName": "cpu50-target-tracking-scaling-policy", "PolicyType": "TargetTrackingScaling", "TargetTrackingScalingPolicyConfiguration": { "TargetValue": 50, "PredefinedMetricSpecification": { "PredefinedMetricType": "ElastiCacheCPUUtilization" }, "ScaleOutCooldown": 600, "ScaleInCooldown": 600 }, "ServiceNamespace": "elasticache", "ScalableDimension": "elasticache:cache-cluster:Nodes", "ResourceId": "cache-cluster/test-cluster-1" }
Output:
{ "PolicyARN": "arn:aws:autoscaling:us-west-2:012345678910:scalingPolicy:6d8972f3-efc8-437c-92d1-6270f29a66e7:resource/elasticache/cache-cluster/test-cluster-1:policyName/cpu50-target-tracking-scaling-policy", "Alarms": [ { "AlarmARN": "arn:aws:cloudwatch:us-west-2:012345678910:alarm:TargetTracking-elasticache/cache-cluster/test-cluster-1-AlarmHigh-d4f0770c-b46e-434a-a60f-3b36d653feca", "AlarmName": "TargetTracking-elasticache/cache-cluster/test-cluster-1-AlarmHigh-d4f0770c-b46e-434a-a60f-3b36d653feca" }, { "AlarmARN": "arn:aws:cloudwatch:us-west-2:012345678910:alarm:TargetTracking-elasticache/cache-cluster/test-cluster-1-AlarmLow-1b437334-d19b-4a63-a812-6c67aaf2910d", "AlarmName": "TargetTracking-elasticache/cache-cluster/test-cluster-1-AlarmLow-1b437334-d19b-4a63-a812-6c67aaf2910d" } ] }
Metrik Kustom
Anda juga dapat menyetel kebijakan penskalaan pada dimensi dengan menggunakan persentase kustom yang didasarkan pada metrik Cloudwatch.
Masukan:
{ "PolicyName": "cpu50-target-tracking-scaling-policy", "PolicyType": "TargetTrackingScaling", "TargetTrackingScalingPolicyConfiguration": { "CustomizedMetricSpecification": { "Dimensions": [ { "Name": "MyMetricDimension", "Value": "DimensionValue" } ], "MetricName": "MyCustomMetric", "Namespace": "MyNamespace", "Statistic": "Average", "Unit": "Percent" }, "TargetValue": 40, "ScaleOutCooldown": 600, "ScaleInCooldown": 600 }, "ServiceNamespace": "elasticache", "ScalableDimension": "elasticache:cache-cluster:Nodes", "ResourceId": "cache-cluster/test-cluster-1" }
Tindakan Terjadwal
Saat Anda perlu skala untuk acara tertentu dan kemudian menskalakan setelah acara, Anda dapat membuat dua tindakan terjadwal dengan memanggil
PutScheduledAction
API.Kebijakan 1: Penskalaan
at
Perintah dalam--schedule
menjadwalkan tindakan yang akan dijalankan sekali pada tanggal dan waktu yang ditentukan di masa depan. Bidang jadwal juga mendukung laju (menit, jam, hari dll) dan cron (untuk ekspresi cron).Pada tanggal dan waktu yang ditentukan, Application Auto Scaling memperbarui nilai
MinCapacity
danMaxCapacity
. Application Auto Scaling MinCapacity menskalakan untuk menempatkan node cache ke 70.API: ApplicationAutoScaling. PutScheduledAction
Masukan:
{ "ResourceId": "elasticache:ache-cluster:test-cluster-1", "ScalableDimension": "elasticache:cache-cluster:Nodes", "ScalableTargetAction": { "MaxCapacity": 100, "MinCapacity": 70 }, "Schedule": "at(2020-05-20T17:05:00)", "ScheduledActionName": "ScalingOutScheduledAction", "ServiceNamespace": "elasticache", }
Kebijakan 2: Penskalaan
Pada tanggal dan waktu yang ditentukan, Application Auto Scaling memperbarui tabel
MinCapacity
danMaxCapacity
, dan skalaMaxCapacity
untuk mengembalikan node cache ke 60.API: ApplicationAutoScaling. PutScheduledAction
Masukan:
{ "ResourceId": "elasticache:cache-cluster:test-cluster-1", "ScalableDimension": "elasticache:cache-cluster:Nodes", "ScalableTargetAction": { "MaxCapacity": 60, "MinCapacity": 40 }, "Schedule": "at(2020-05-21T17:05:00)", "ScheduledActionName": "ScalingInScheduledAction", "ServiceNamespace": "elasticache", }
Lihat Aktivitas Penskalaan
Anda dapat melihat aktivitas penskalaan menggunakan
DescribeScalingActivities
API.API: ApplicationAutoScaling. DescribeScalingActivities
Output:
{ "ScalingActivities": [ { "ScalableDimension": "elasticache:elasticache:DesiredCount", "Description": "Setting desired count to 30.", "ResourceId": "elasticache/cache-cluster/test-cluster-1", "ActivityId": "4d759079-a31f-4d0c-8468-504c56e2eecf", "StartTime": 1462574194.658, "elasticacheNamespace": "elasticache", "EndTime": 1462574276.686, "Cause": "monitor alarm TargetTracking-elasticache/cache-cluster/test-cluster-1-AlarmHigh-d4f0770c-b46e-434a-a60f-3b36d653feca in state ALARM triggered policy cpu50-target-tracking-scaling-policy", "StatusMessage": "Failed to set desired count to 30", "StatusCode": "Failed" }, { "ScalableDimension": "elasticache:elasticache:DesiredCount", "Description": "Setting desired count to 25.", "ResourceId": "elasticache/cache-cluster/test-cluster-1", "ActivityId": "90aff0eb-dd6a-443c-889b-b809e78061c1", "StartTime": 1462574254.223, "elasticacheNamespace": "elasticache", "EndTime": 1462574333.492, "Cause": "monitor alarm TargetTracking-elasticache/cache-cluster/test-cluster-1-AlarmHigh-d4f0770c-b46e-434a-a60f-3b36d653feca in state ALARM triggered policy cpu50-target-tracking-scaling-policy", "StatusMessage": "Successfully set desired count to 25. Change successfully fulfilled by elasticache.", "StatusCode": "Successful" } ] }
Edit/Hapus Kebijakan Penskalaan
Anda dapat mengedit atau menghapus kebijakan dengan memanggil
PutScalingPolicy
API lagi, atau dengan memanggilDeleteScalingPolicy
atauDeleteScheduled
Tindakan.De-register target yang dapat diskalakan
Anda dapat membatalkan pendaftaran target yang dapat diskalakan melalui API.
DeregisterScalableTarget
Membatalkan pendaftaran target yang dapat diskalakan akan menghapus kebijakan penskalaan dan tindakan terjadwal yang terkait dengannya.API: ApplicationAutoScaling. DeregisterScalableTarget
Masukan:
{ "ResourceId": "elasticache/cache-cluster/test-cluster-1", "ServiceNamespace": "elasticache", "ScalableDimension": "elasticache:cache-cluster:Nodes" }
Pembersihan Kebijakan Penskalaan
Beberapa Kebijakan Penskalaan
Anda dapat membuat beberapa kebijakan penskalaan. Berikut ini adalah info kunci tentang perilaku dari pelacakan target penskalaan otomatis.
Anda dapat memiliki beberapa kebijakan penskalaan pelacakan target untuk target yang dapat diskalakan, asalkan setiapnya menggunakan metrik yang berbeda.
Tujuan Application Auto Scaling adalah untuk selalu memprioritaskan ketersediaan, sehingga perilakunya berbeda tergantung pada apakah kebijakan pelacakan target siap untuk diperkecil atau diperbesar. Hal ini akan memperkecil skala target yang dapat diskala jika salah satu kebijakan pelacakan target siap untuk diperkecil skalanya, tetapi hanya akan memperbesar skala jika semua kebijakan pelacakan target (dengan penskalaan dalam porsi aktif) siap untuk diperbesar skalanya.
Jika beberapa kebijakan menginstruksikan target yang dapat diskalakan untuk memperbesar atau memperkecil skalanya di saat yang sama, Application Auto Scaling akan menskalakan berdasarkan kebijakan yang menyediakan kapasitas terbesar untuk pembesaran dan pengecilan skala. Hal ini memberikan fleksibilitas yang lebih besar untuk mencakup beberapa skenario dan memastikan bahwa selalu ada kapasitas yang cukup untuk memproses beban kerja aplikasi Anda.
catatan
AWS Application Auto Scaling tidak mengantri kebijakan penskalaan. Application Auto Scaling akan menunggu penskalaan pertama selesai, lalu cooldown, dan kemudian ulangi algoritma di atas.
Secara otomatis menskalakan cache Memcached secara horizontal melalui AWS Management Console
Untuk mengonversi cache yang dirancang sendiri Memcached yang sudah ada menjadi cache yang dapat menskalakan secara horizontal https://console.aws.amazon.com/elasticache/
Masuk ke AWS Management Console dan buka ElastiCache konsol di https://console.aws.amazon.com/elasticache/
. Pilih cache Memcached untuk dikonversi.
Buka tab Autoscaling.
Pilih kebijakan penskalaan yang akan diterapkan, dengan memilih Tambahkan penskalaan dinamis atau Tambahkan penskalaan terjadwal.
Isi detail untuk kebijakan yang dipilih sesuai kebutuhan.
Klik Buat.