Contoh Paket Auto Scaling menggunakan AWS CLI - AWS SDKContoh Kode

Ada lebih banyak AWS SDK contoh yang tersedia di GitHub repo SDKContoh AWS Dokumen.

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Contoh Paket Auto Scaling menggunakan AWS CLI

Contoh kode berikut menunjukkan cara melakukan tindakan dan mengimplementasikan skenario umum dengan menggunakan Paket Auto Scaling AWS Command Line Interface with.

Tindakan adalah kutipan kode dari program yang lebih besar dan harus dijalankan dalam konteks. Sementara tindakan menunjukkan cara memanggil fungsi layanan individual, Anda dapat melihat tindakan dalam konteks dalam skenario terkait.

Setiap contoh menyertakan tautan ke kode sumber lengkap, di mana Anda dapat menemukan instruksi tentang cara mengatur dan menjalankan kode dalam konteks.

Tindakan

Contoh kode berikut menunjukkan cara menggunakancreate-scaling-plan.

AWS CLI

Untuk membuat rencana penskalaan

create-scaling-planContoh berikut membuat rencana penskalaan bernama my-scaling-plan menggunakan JSON file yang sudah dibuat (bernama config.json). Struktur rencana penskalaan mencakup instruksi penskalaan untuk grup Auto Scaling bernama. my-asg Ini menentukan TagFilters properti sebagai sumber aplikasi dan memungkinkan penskalaan prediktif dan penskalaan dinamis.

aws autoscaling-plans create-scaling-plan \ --scaling-plan-name my-scaling-plan \ --cli-input-json file://~/config.json

Isi config.json file:

{ "ApplicationSource": { "TagFilters": [ { "Key": "purpose", "Values": [ "my-application" ] } ] }, "ScalingInstructions": [ { "ServiceNamespace": "autoscaling", "ResourceId": "autoScalingGroup/my-asg", "ScalableDimension": "autoscaling:autoScalingGroup:DesiredCapacity", "ScheduledActionBufferTime": 300, "PredictiveScalingMaxCapacityBehavior": "SetForecastCapacityToMaxCapacity", "PredictiveScalingMode": "ForecastAndScale", "PredefinedLoadMetricSpecification": { "PredefinedLoadMetricType": "ASGTotalCPUUtilization" }, "ScalingPolicyUpdateBehavior": "ReplaceExternalPolicies", "MinCapacity": 1, "MaxCapacity": 4, "TargetTrackingConfigurations": [ { "PredefinedScalingMetricSpecification": { "PredefinedScalingMetricType": "ASGAverageCPUUtilization" }, "TargetValue": 50 } ] } ] }

Output:

{ "ScalingPlanVersion": 1 }

Untuk informasi selengkapnya, lihat Panduan Pengguna AWS Auto Scaling.

Contoh kode berikut menunjukkan cara menggunakandelete-scaling-plan.

AWS CLI

Untuk menghapus rencana penskalaan

delete-scaling-planContoh berikut menghapus rencana penskalaan yang ditentukan.

aws autoscaling-plans delete-scaling-plan \ --scaling-plan-name my-scaling-plan \ --scaling-plan-version 1

Perintah ini tidak menghasilkan output.

Untuk informasi selengkapnya, lihat Panduan Pengguna AWS Auto Scaling.

Contoh kode berikut menunjukkan cara menggunakandescribe-scaling-plan-resources.

AWS CLI

Untuk menggambarkan sumber daya yang dapat diskalakan untuk rencana penskalaan

describe-scaling-plan-resourcesContoh berikut menampilkan detail tentang sumber daya tunggal yang dapat diskalakan (grup Auto Scaling) yang terkait dengan rencana penskalaan yang ditentukan.

aws autoscaling-plans describe-scaling-plan-resources \ --scaling-plan-name my-scaling-plan \ --scaling-plan-version 1

Output:

{ "ScalingPlanResources": [ { "ScalableDimension": "autoscaling:autoScalingGroup:DesiredCapacity", "ScalingPlanVersion": 1, "ResourceId": "autoScalingGroup/my-asg", "ScalingStatusCode": "Active", "ScalingStatusMessage": "Target tracking scaling policies have been applied to the resource.", "ScalingPolicies": [ { "PolicyName": "AutoScaling-my-asg-b1ab65ae-4be3-4634-bd64-c7471662b251", "PolicyType": "TargetTrackingScaling", "TargetTrackingConfiguration": { "PredefinedScalingMetricSpecification": { "PredefinedScalingMetricType": "ALBRequestCountPerTarget", "ResourceLabel": "app/my-alb/f37c06a68c1748aa/targetgroup/my-target-group/6d4ea56ca2d6a18d" }, "TargetValue": 40.0 } } ], "ServiceNamespace": "autoscaling", "ScalingPlanName": "my-scaling-plan" } ] }

Untuk informasi selengkapnya, lihat Apa itu AWS Auto Scaling? di Panduan Pengguna AWS Auto Scaling.

Contoh kode berikut menunjukkan cara menggunakandescribe-scaling-plans.

AWS CLI

Untuk menggambarkan rencana penskalaan

describe-scaling-plansContoh berikut menampilkan rincian rencana penskalaan yang ditentukan.

aws autoscaling-plans describe-scaling-plans \ --scaling-plan-names scaling-plan-with-asg-and-ddb

Output:

{ "ScalingPlans": [ { "LastMutatingRequestTime": 1565388443.963, "ScalingPlanVersion": 1, "CreationTime": 1565388443.963, "ScalingInstructions": [ { "ScalingPolicyUpdateBehavior": "ReplaceExternalPolicies", "ScalableDimension": "autoscaling:autoScalingGroup:DesiredCapacity", "TargetTrackingConfigurations": [ { "PredefinedScalingMetricSpecification": { "PredefinedScalingMetricType": "ASGAverageCPUUtilization" }, "TargetValue": 50.0, "EstimatedInstanceWarmup": 300, "DisableScaleIn": false } ], "ResourceId": "autoScalingGroup/my-asg", "DisableDynamicScaling": false, "MinCapacity": 1, "ServiceNamespace": "autoscaling", "MaxCapacity": 10 }, { "ScalingPolicyUpdateBehavior": "ReplaceExternalPolicies", "ScalableDimension": "dynamodb:table:ReadCapacityUnits", "TargetTrackingConfigurations": [ { "PredefinedScalingMetricSpecification": { "PredefinedScalingMetricType": "DynamoDBReadCapacityUtilization" }, "TargetValue": 50.0, "ScaleInCooldown": 60, "DisableScaleIn": false, "ScaleOutCooldown": 60 } ], "ResourceId": "table/my-table", "DisableDynamicScaling": false, "MinCapacity": 5, "ServiceNamespace": "dynamodb", "MaxCapacity": 10000 }, { "ScalingPolicyUpdateBehavior": "ReplaceExternalPolicies", "ScalableDimension": "dynamodb:table:WriteCapacityUnits", "TargetTrackingConfigurations": [ { "PredefinedScalingMetricSpecification": { "PredefinedScalingMetricType": "DynamoDBWriteCapacityUtilization" }, "TargetValue": 50.0, "ScaleInCooldown": 60, "DisableScaleIn": false, "ScaleOutCooldown": 60 } ], "ResourceId": "table/my-table", "DisableDynamicScaling": false, "MinCapacity": 5, "ServiceNamespace": "dynamodb", "MaxCapacity": 10000 } ], "ApplicationSource": { "TagFilters": [ { "Values": [ "my-application-id" ], "Key": "application" } ] }, "StatusStartTime": 1565388455.836, "ScalingPlanName": "scaling-plan-with-asg-and-ddb", "StatusMessage": "Scaling plan has been created and applied to all resources.", "StatusCode": "Active" } ] }

Untuk informasi selengkapnya, lihat Apa itu AWS Auto Scaling? di Panduan Pengguna AWS Auto Scaling.

Contoh kode berikut menunjukkan cara menggunakanget-scaling-plan-resource-forecast-data.

AWS CLI

Untuk mengambil data perkiraan beban

Contoh ini mengambil data perkiraan beban untuk sumber daya yang dapat diskalakan (grup Auto Scaling) yang terkait dengan rencana penskalaan yang ditentukan.

aws autoscaling-plans get-scaling-plan-resource-forecast-data \ --scaling-plan-name my-scaling-plan \ --scaling-plan-version 1 \ --service-namespace "autoscaling" \ --resource-id autoScalingGroup/my-asg \ --scalable-dimension "autoscaling:autoScalingGroup:DesiredCapacity" \ --forecast-data-type "LoadForecast" \ --start-time "2019-08-30T00:00:00Z" \ --end-time "2019-09-06T00:00:00Z"

Output:

{ "Datapoints": [...] }

Untuk informasi selengkapnya, lihat Apa Itu AWS Auto Scaling di Panduan Pengguna Auto AWS Scaling.

Contoh kode berikut menunjukkan cara menggunakanupdate-scaling-plan.

AWS CLI

Untuk memperbarui rencana penskalaan

update-scaling-planContoh berikut memodifikasi metrik penskalaan untuk grup Auto Scaling dalam rencana penskalaan yang ditentukan.

aws autoscaling-plans update-scaling-plan \ --scaling-plan-name my-scaling-plan \ --scaling-plan-version 1 \ --scaling-instructions '{"ScalableDimension":"autoscaling:autoScalingGroup:DesiredCapacity","ResourceId":"autoScalingGroup/my-asg","ServiceNamespace":"autoscaling","TargetTrackingConfigurations":[{"PredefinedScalingMetricSpecification": {"PredefinedScalingMetricType":"ALBRequestCountPerTarget","ResourceLabel":"app/my-alb/f37c06a68c1748aa/targetgroup/my-target-group/6d4ea56ca2d6a18d"},"TargetValue":40.0}],"MinCapacity": 1,"MaxCapacity": 10}'

Perintah ini tidak menghasilkan output.

Untuk informasi selengkapnya, lihat Apa itu AWS Auto Scaling? di Panduan Pengguna AWS Auto Scaling.