Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Membuat kebijakan penskalaan pelacakan target untuk Application Auto Scaling menggunakan AWS CLI
Contoh ini menggunakan AWS CLI perintah untuk membuat kebijakan racking target untuk Armada EC2 Spot Amazon. Untuk target skalabel yang berbeda, tentukan namespace di--service-namespace, dimensi yang dapat diskalakan di--scalable-dimension, dan ID sumber dayanya di. --resource-id
Saat menggunakan AWS CLI, ingatlah bahwa perintah Anda berjalan di Wilayah AWS konfigurasi untuk profil Anda. Jika Anda ingin menjalankan perintah di Wilayah yang berbeda, ubah Wilayah default untuk profil Anda, atau gunakan parameter --region bersama perintah tersebut.
Tugas
Langkah 1: Daftarkan target yang dapat diskalakan
Jika Anda belum melakukannya, daftarkan target yang dapat diskalakan. Gunakan perintah register-scalable-target untuk mendaftar sumber daya tertentu dalam layanan target sebagai target yang dapat diskalakan. Contoh berikut meregistrasikan permintaan Armada Spot dengan Application Auto Scaling. Application Auto Scaling dapat menskalakan jumlah kasus di Armada Spot pada minimum 2 instans dan maksimum 10 instans. Ganti masing-masing user input
placeholder dengan informasi Anda sendiri.
Linux, macOS, atau Unix
aws application-autoscaling register-scalable-target --service-namespaceec2\ --scalable-dimensionec2:spot-fleet-request:TargetCapacity\ --resource-idspot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE\ --min-capacity2--max-capacity10
Windows
aws application-autoscaling register-scalable-target --service-namespaceec2^ --scalable-dimensionec2:spot-fleet-request:TargetCapacity^ --resource-idspot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE^ --min-capacity2--max-capacity10
Output
Jika berhasil, perintah ini mengembalikan ARN dari target yang dapat diskalakan. Berikut ini adalah output contoh.
{
"ScalableTargetARN": "arn:aws:application-autoscaling:region:account-id:scalable-target/1234abcd56ab78cd901ef1234567890ab123"
}
Langkah 2: Buat kebijakan penskalaan pelacakan target
Untuk membuat kebijakan penskalaan pelacakan target, Anda dapat menggunakan contoh berikut untuk membantu Anda memulai.
Untuk membuat kebijakan penskalaan pelacakan target
-
Gunakan
catperintah berikut untuk menyimpan nilai target untuk kebijakan penskalaan Anda dan spesifikasi metrik yang telah ditentukan sebelumnya dalam file JSON yang diberi namaconfig.jsondi direktori home Anda. Berikut ini adalah contoh konfigurasi pelacakan target yang menjaga pemanfaatan CPU rata-rata sebesar 50 persen.$ cat ~/config.json { "TargetValue":50.0, "PredefinedMetricSpecification": { "PredefinedMetricType": "EC2SpotFleetRequestAverageCPUUtilization" } }Untuk informasi lebih lanjut, lihat PredefinedMetricSpecification dalam Referensi API Application Auto Scaling.
Atau, Anda dapat menggunakan metrik khusus untuk penskalaan dengan membuat spesifikasi metrik yang disesuaikan dan menambahkan nilai untuk setiap parameter dari CloudWatch. Berikut ini adalah contoh konfigurasi pelacakan target yang menjaga pemanfaatan rata-rata metrik yang ditentukan pada 100.
$ cat ~/config.json { "TargetValue":100.0, "CustomizedMetricSpecification":{ "MetricName": "MyUtilizationMetric", "Namespace": "MyNamespace", "Dimensions": [ { "Name": "MyOptionalMetricDimensionName", "Value": "MyOptionalMetricDimensionValue" } ], "Statistic": "Average", "Unit": "Percent" } }Untuk informasi lebih lanjut, lihat CustomizedMetricSpecification dalam Referensi API Application Auto Scaling.
-
Gunakan perintah berikut ini put-scaling-policy, beserta
config.jsonfile yang Anda buat, untuk membuat kebijakan penskalaan yang dinamaicpu50-target-tracking-scaling-policy.Linux, macOS, atau Unix
aws application-autoscaling put-scaling-policy --service-namespaceec2\ --scalable-dimensionec2:spot-fleet-request:TargetCapacity\ --resource-idspot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE\ --policy-namecpu50-target-tracking-scaling-policy--policy-type TargetTrackingScaling \ --target-tracking-scaling-policy-configurationfile://config.jsonWindows
aws application-autoscaling put-scaling-policy --service-namespaceec2^ --scalable-dimensionec2:spot-fleet-request:TargetCapacity^ --resource-idspot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE^ --policy-namecpu50-target-tracking-scaling-policy--policy-type TargetTrackingScaling ^ --target-tracking-scaling-policy-configurationfile://config.jsonOutput
Jika berhasil, perintah ini mengembalikan ARNs dan nama dari dua CloudWatch alarm yang dibuat atas nama Anda. Berikut ini adalah output contoh.
{ "PolicyARN": "arn:aws:autoscaling:region:account-id:scalingPolicy:policy-id:resource/ec2/spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE:policyName/cpu50-target-tracking-scaling-policy", "Alarms": [ { "AlarmARN": "arn:aws:cloudwatch:region:account-id:alarm:TargetTracking-spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE-AlarmHigh-d4f0770c-b46e-434a-a60f-3b36d653feca", "AlarmName": "TargetTracking-spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE-AlarmHigh-d4f0770c-b46e-434a-a60f-3b36d653feca" }, { "AlarmARN": "arn:aws:cloudwatch:region:account-id:alarm:TargetTracking-spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE-AlarmLow-1b437334-d19b-4a63-a812-6c67aaf2910d", "AlarmName": "TargetTracking-spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE-AlarmLow-1b437334-d19b-4a63-a812-6c67aaf2910d" } ] }
Langkah 3: Jelaskan kebijakan penskalaan pelacakan target
Anda dapat mendeskripsikan semua kebijakan penskalaan untuk spacename layanan yang ditentukan dengan menggunakan perintah describe-scaling-policies berikut.
aws application-autoscaling describe-scaling-policies --service-namespaceec2
Anda dapat memfilter hasil hanya untuk kebijakan penskalaan pelacakan target menggunakan parameter --query. Untuk informasi lebih lanjut tentang sintaks untuk query, lihat Mengontrol output perintah dari AWS CLI di AWS Command Line Interface Panduan Pengguna.
Linux, macOS, atau Unix
aws application-autoscaling describe-scaling-policies --service-namespaceec2\ --query 'ScalingPolicies[?PolicyType==`TargetTrackingScaling`]'
Windows
aws application-autoscaling describe-scaling-policies --service-namespaceec2^ --query "ScalingPolicies[?PolicyType==`TargetTrackingScaling`]"
Output
Berikut ini adalah output contoh.
[
{
"PolicyARN": "PolicyARN",
"TargetTrackingScalingPolicyConfiguration": {
"PredefinedMetricSpecification": {
"PredefinedMetricType": "EC2SpotFleetRequestAverageCPUUtilization"
},
"TargetValue": 50.0
},
"PolicyName": "cpu50-target-tracking-scaling-policy",
"ScalableDimension": "ec2:spot-fleet-request:TargetCapacity",
"ServiceNamespace": "ec2",
"PolicyType": "TargetTrackingScaling",
"ResourceId": "spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE",
"Alarms": [
{
"AlarmARN": "arn:aws:cloudwatch:region:account-id:alarm:TargetTracking-spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE-AlarmHigh-d4f0770c-b46e-434a-a60f-3b36d653feca",
"AlarmName": "TargetTracking-spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE-AlarmHigh-d4f0770c-b46e-434a-a60f-3b36d653feca"
},
{
"AlarmARN": "arn:aws:cloudwatch:region:account-id:alarm:TargetTracking-spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE-AlarmLow-1b437334-d19b-4a63-a812-6c67aaf2910d",
"AlarmName": "TargetTracking-spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE-AlarmLow-1b437334-d19b-4a63-a812-6c67aaf2910d"
}
],
"CreationTime": 1515021724.807
}
]