Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Penskalaan otomatis lebih cepat dengan metrik resolusi tinggi
Secara default, Amazon ECS menerbitkan CPUUtilization dan MemoryUtilization metrik pada resolusi 60 detik. Anda dapat mengonfigurasi resolusi 20 detik untuk mendorong penskalaan otomatis layanan yang lebih cepat.
Metrik standar resolusi tinggi berikut tersedia untuk kebijakan penskalaan pelacakan target:
| PredefinedMetricType | Deskripsi |
|---|---|
ECSServiceAverageCPUUtilizationHighResolution |
Pemanfaatan CPU rata-rata pada resolusi 20 detik |
ECSServiceAverageMemoryUtilizationHighResolution |
Pemanfaatan memori rata-rata pada resolusi 20 detik |
Buat layanan baru dengan metrik resolusi tinggi untuk penskalaan otomatis yang lebih cepat
-
Pada halaman Cluster, pilih cluster tempat Anda ingin membuat layanan.
-
Di bagian Layanan, pilih Buat.
-
Di formulir Buat Layanan, di bagian Konfigurasi pem antauan, pilih Tambahkan konfigurasi metrik.
-
Untuk Nama metrik, pilih metrik yang ingin Anda kumpulkan pada resolusi tinggi. Pilih
CPUUtilizationatauMemoryUtilization. -
Untuk Resolusi (detik), pilih 20.
-
(Opsional) Untuk menambahkan kedua metrik pada resolusi tinggi, pilih Tambah konfigurasi metrik lagi dan ulangi dua langkah sebelumnya untuk metrik lainnya.
-
Di bagian Penskalaan otomatis layanan, pilih Gunakan penskalaan otomatis layanan.
-
Untuk Jumlah tugas minimum, masukkan batas bawah jumlah tugas untuk penskalaan otomatis layanan yang akan digunakan. Jumlah yang diinginkan tidak akan turun di bawah hitungan ini.
-
Untuk Jumlah tugas maksimum, masukkan batas atas jumlah tugas untuk penskalaan otomatis layanan yang akan digunakan. Jumlah yang diinginkan tidak akan melebihi hitungan ini.
-
Untuk Jenis kebijakan penskalaan, pilih Pelacakan target.
-
Untuk Jenis metrik, pilih metrik resolusi tinggi yang sesuai. Misalnya, pilih
ECSServiceAverageCPUUtilizationHighResolutionapakah Anda mengonfigurasiCPUUtilizationpada resolusi 20 detik, atauECSServiceAverageMemoryUtilizationHighResolutionjika Anda mengonfigurasiMemoryUtilizationpada resolusi 20 detik. -
Untuk Nilai target, masukkan persentase pemanfaatan target. Penskalaan otomatis layanan meningkatkan kapasitas Anda hingga pemanfaatan rata-rata mencapai nilai target, atau hingga mencapai jumlah tugas maksimum yang Anda tentukan.
-
Di bawah Pengaturan Tam bahan, konfigurasikan yang berikut:
-
Untuk periode Scale-out cooldown, masukkan jumlah waktu dalam detik untuk menunggu aktivitas scale-out sebelumnya berlaku.
-
Untuk periode Scale-in cooldown, masukkan jumlah waktu dalam detik setelah aktivitas scale-in selesai sebelum aktivitas scale-in lainnya dapat dimulai.
-
-
Pilih Buat untuk membuat layanan.
-
Buat layanan dengan konfigurasi pemantauan menggunakan perintah create-service.
aws ecs create-service --regionus-east-1\ --clustermy-cluster\ --service-namemy-service\ --task-definitionmy-app:1\ --desired-count 2 \ --monitoring "metricConfigurations=[{metricNames=[CPUUtilization,MemoryUtilization],resolutionSeconds=20}]" -
Daftarkan layanan sebagai target yang dapat diskalakan menggunakan perintah register-scal able-target.
aws application-autoscaling register-scalable-target \ --service-namespace ecs \ --resource-id service/my-cluster/my-service\ --scalable-dimension ecs:service:DesiredCount \ --min-capacity1\ --max-capacity10\ --regionus-east-1 -
Buat kebijakan penskalaan pelacakan target dengan metrik standar resolusi tinggi menggunakan perintah put-scaling- policy.
aws application-autoscaling put-scaling-policy \ --service-namespace ecs \ --resource-id service/my-cluster/my-service\ --scalable-dimension ecs:service:DesiredCount \ --policy-namemy-highres-cpu-policy\ --policy-type TargetTrackingScaling \ --target-tracking-scaling-policy-configuration '{ "TargetValue":50.0, "PredefinedMetricSpecification": { "PredefinedMetricType": "ECSServiceAverageCPUUtilizationHighResolution" } }' \ --regionus-east-1 -
Verifikasi kebijakan dibuat menggunakan perintah describe-scal ing-policies.
aws application-autoscaling describe-scaling-policies \ --service-namespace ecs \ --resource-id service/my-cluster/my-service\ --scalable-dimension ecs:service:DesiredCount \ --regionus-east-1
Memperbarui layanan yang ada untuk menggunakan metrik resolusi tinggi untuk penskalaan otomatis yang lebih cepat
Memperbarui layanan yang ada untuk menggunakan metrik resolusi tinggi untuk penskalaan otomatis layanan yang lebih cepat adalah proses dua langkah. Anda harus terlebih dahulu memperbarui resolusi pemantauan, yang memicu penyebaran layanan. Setelah penerapan selesai dengan sukses dan semua tugas memancarkan metrik pada resolusi 20 detik, Anda kemudian dapat mengonfigurasi kebijakan penskalaan resolusi tinggi.
penting
Jika layanan Anda sebelumnya menggunakan resolusi metrik 60 detik, metrik resolusi tinggi untuk kebijakan penskalaan hanya akan tersedia di konsol Amazon ECS setelah Anda memperbarui layanan untuk menggunakan resolusi metrik 20 detik dan penerapan layanan selesai.
Langkah 1: Perbarui resolusi pemantauan
-
Pada halaman Cluster, pilih cluster yang berisi layanan yang ingin Anda perbarui.
-
Di bagian Layanan, pilih layanan dan pilih Per barui.
-
Di formulir Layanan Pembaruan, di bagian Konfigurasi Pem antauan, pilih Tambahkan konfigurasi metrik.
-
Untuk Nama metrik, pilih metrik yang ingin Anda kumpulkan pada resolusi tinggi. Pilih
CPUUtilizationatauMemoryUtilization. -
Untuk Resolusi (detik), pilih 20.
-
(Opsional) Untuk menambahkan kedua metrik pada resolusi tinggi, pilih Tambah konfigurasi metrik lagi dan ulangi dua langkah sebelumnya untuk metrik lainnya.
-
Pilih Perbarui untuk mengirimkan perubahan. Ini memicu penyebaran layanan.
-
Tunggu hingga penerapan selesai. Anda dapat memantau kemajuan di halaman detail layanan di tab Deployments.
catatan
Opsi metrik penskalaan resolusi tinggi berwarna abu-abu di bagian penskalaan otomatis layanan hingga penerapan berhasil dan semua tugas dipancarkan pada resolusi 20 detik.
Langkah 2: Konfigurasikan kebijakan penskalaan resolusi tinggi
Setelah penerapan selesai, konfigurasikan kebijakan penskalaan menggunakan salah satu metode berikut:
- Opsi A: Halaman detail layanan
-
-
Pada halaman detail layanan, pilih tab Service auto scaling.
-
Pilih Buat kebijakan penskalaan (atau edit kebijakan yang ada).
-
Untuk Jenis kebijakan penskalaan, pilih Pelacakan target.
-
Untuk Jenis metrik, pilih metrik resolusi tinggi. Misalnya,
ECSServiceAverageCPUUtilizationHighResolutionatauECSServiceAverageMemoryUtilizationHighResolution. -
Untuk Nilai target, masukkan persentase pemanfaatan target.
-
Di bawah Pengaturan Tam bahan, konfigurasikan yang berikut:
-
Untuk periode Scale-out cooldown, masukkan jumlah waktu dalam detik untuk menunggu aktivitas scale-out sebelumnya berlaku.
-
Untuk periode Scale-in cooldown, masukkan jumlah waktu dalam detik setelah aktivitas scale-in selesai sebelum aktivitas scale-in lainnya dapat dimulai.
-
-
Pilih Buat kebijakan penskalaan.
-
- Opsi B: Perbarui formulir Layanan
-
-
Pada halaman detail layanan, pilih Per barui.
-
Di bagian Penskalaan otomatis layanan, pilih Gunakan penskalaan otomatis layanan (jika belum diaktifkan).
-
Untuk Jumlah tugas minimum, masukkan batas bawah.
-
Untuk Jumlah tugas maksimum, masukkan batas atas.
-
Untuk Jenis kebijakan penskalaan, pilih Pelacakan target.
-
Untuk jenis metrik, pilih metrik resolusi tinggi (sekarang diaktifkan setelah penerapan selesai).
-
Untuk Nilai target, masukkan persentase pemanfaatan target.
-
Di bawah Pengaturan Tam bahan, atur periode Scale-out cooldown dan periode Scale-in cooldown.
-
Pilih Perbarui untuk mengirimkan perubahan.
-
Langkah 1: Perbarui resolusi pemantauan
-
Perbarui layanan dengan konfigurasi pemantauan menggunakan perintah update-service.
aws ecs update-service --regionus-east-1\ --clustermy-cluster\ --servicemy-service\ --monitoring "metricConfigurations=[{metricNames=[CPUUtilization,MemoryUtilization],resolutionSeconds=20}]" -
Tunggu hingga penerapan selesai. Anda dapat memantau kemajuan menggunakan perintah describe-services dan memeriksa status penerapan.
aws ecs describe-services --regionus-east-1\ --clustermy-cluster\ --servicesmy-service -
Setelah penerapan selesai, verifikasi konfigurasi pemantauan aktif dengan menjelaskan revisi layanan. Dapatkan ARN revisi layanan aktif dari
describe-servicesoutput, lalu jalankan:aws ecs describe-service-revisions --regionus-east-1\ --service-revision-arnsarn:aws:ecs:us-east-1:012345678910:service-revision/my-cluster/my-service/1234567890123456789Konfirmasikan konfigurasi pemantauan muncul dalam respons:
{ "serviceRevisions": [ { ... "monitoring": { "metricConfigurations": [ { "metricNames": ["CPUUtilization", "MemoryUtilization"], "resolutionSeconds": 20 } ] } } ] }
Langkah 2: Konfigurasikan kebijakan penskalaan resolusi tinggi
-
Daftarkan layanan sebagai target yang dapat diskalakan jika belum terdaftar, menggunakan perintah register-scal able-target.
aws application-autoscaling register-scalable-target \ --service-namespace ecs \ --resource-id service/my-cluster/my-service\ --scalable-dimension ecs:service:DesiredCount \ --min-capacity1\ --max-capacity10\ --regionus-east-1 -
Buat kebijakan penskalaan pelacakan target dengan metrik standar resolusi tinggi menggunakan perintah put-scaling- policy. Contoh berikut menargetkan penggunaan CPU 50%:
aws application-autoscaling put-scaling-policy \ --service-namespace ecs \ --resource-id service/my-cluster/my-service\ --scalable-dimension ecs:service:DesiredCount \ --policy-namemy-highres-cpu-policy\ --policy-type TargetTrackingScaling \ --target-tracking-scaling-policy-configuration '{ "TargetValue":50.0, "PredefinedMetricSpecification": { "PredefinedMetricType": "ECSServiceAverageCPUUtilizationHighResolution" } }' \ --regionus-east-1 -
Verifikasi kebijakan telah dibuat:
aws application-autoscaling describe-scaling-policies \ --service-namespace ecs \ --resource-id service/my-cluster/my-service\ --scalable-dimension ecs:service:DesiredCount \ --regionus-east-1
Validasi penskalaan otomatis layanan yang lebih cepat
Bagian 1: Verifikasi metrik resolusi tinggi sedang diterbitkan
-
Arahkan ke CloudWatch konsol.
-
Di panel navigasi, pilih Metrik, lalu pilih Semua metrik.
-
Pilih AWS/ECS namespace.
-
Pilih ClusterName, ServiceName.
-
Temukan
CPUUtilizationdanMemoryUtilizationmetrik untuk layanan Anda. -
Atur periode menjadi 20 detik. Anda akan melihat titik data pada interval 20 detik, mengonfirmasi bahwa metrik resolusi tinggi aktif.
Bagian 2: Verifikasi kebijakan penskalaan menggunakan metrik resolusi tinggi
-
Pada halaman detail layanan, pilih tab Service auto scaling.
-
Lihat kebijakan penskalaan yang ada dan konfirmasikan metrik disetel ke varian resolusi tinggi (
ECSServiceAverageCPUUtilizationHighResolutionatauECSServiceAverageMemoryUtilizationHighResolution). -
Atau, verifikasi menggunakan CLI:
aws application-autoscaling describe-scaling-policies \ --service-namespace ecs \ --resource-id service/my-cluster/my-service\ --scalable-dimension ecs:service:DesiredCount \ --regionus-east-1Konfir
PredefinedMetricTypemasikan respons diatur ke metrik resolusi tinggi.
Pertimbangan-pertimbangan
-
Pemantauan perubahan konfigurasi membuat revisi layanan baru dan memerlukan penyebaran layanan. Metrik penskalaan resolusi tinggi tidak tersedia sampai penerapan selesai dan semua tugas dipancarkan pada resolusi 20 detik.
-
High-resolution metrik didukung untuk layanan yang menggunakan Application Load Balancers dan Network Load Balancers. Layanan yang menggunakan Classic Load Balancers tanpa kelompok target tidak didukung.
-
High-resolution metrik tidak didukung untuk layanan yang menggunakan jenis pengontrol
EXTERNALpenerapanCODE_DEPLOYatau. -
Anda dapat melihat konfigurasi pemantauan untuk layanan Anda menggunakan
DescribeServiceRevisions. Konfigurasi pemantauan tidak dikembalikanCreateServiceatau menangUpdateServicegapi.