翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWS CLIを使用して 1 つのステップスケーリングポリシーを作成する
次の設定タスクにを使用して、アプリケーションの Auto Scaling AWS CLI のステップスケーリングポリシーを作成できます。
-
スケーラブルターゲットを登録します。
-
スケーラブルターゲットに対するステップスケーリングポリシーを追加します。
-
CloudWatch ポリシーのアラームを作成します。
簡略化のため、このトピックの例では、Amazon ECS サービス用の CLI コマンドを例示しています。別のスケーラブルターゲットを指定するには、--service-namespace
でその名前空間、--scalable-dimension
でそのスケーラブルディメンション、--resource-id
でそのリソース ID を指定します。各サービスの詳細情報および例については、AWS Application Auto Scaling で使用できる のサービス のトピックを参照してください。
を使用するときは AWS CLI、 AWS リージョン プロファイルに設定されているコマンドが実行されることに注意してください。別のリージョンでコマンドを実行する場合は、プロファイルのデフォルトのリージョンを変更するか、コマンドに --region
パラメータを使用します。
コンテンツ
スケーラブルターゲットを登録する
まだ登録していない場合は、スケーラブルターゲットを登録します。register-scalable-targetコマンドを使用して、特定のリソースをスケーラブルターゲットとしてターゲットサービスに登録します。以下の例は、Amazon ECS サービスを Application Auto Scaling に登録します。Application Auto Scaling は、タスクの数を最小 2 タスク、および最大 10 タスクにスケールできます。各ユーザー入力プレースホルダー
を独自の情報に置き換えます。
Linux、macOS、または Unix
aws application-autoscaling register-scalable-target --service-namespace
ecs
\ --scalable-dimensionecs:service:DesiredCount
\ --resource-idservice/my-cluster/my-service
\ --min-capacity2
--max-capacity10
Windows
aws application-autoscaling register-scalable-target --service-namespace
ecs
--scalable-dimensionecs:service:DesiredCount
--resource-idservice/my-cluster/my-service
--min-capacity2
--max-capacity10
成功した場合、このコマンドはスケーラブルターゲットの ARN を返します。
{
"ScalableTargetARN": "arn:aws:application-autoscaling:region
:account-id
:scalable-target/1234abcd56ab78cd901ef1234567890ab123"
}
ステップスケーリングポリシーを作成する
スケーラブルターゲット用のステップスケーリングポリシーを作成するには、以下の例を参考にしてください。
スケーリングポリシーを呼び出すアラームを作成する
最後に、 CloudWatch put-metric-alarm以下のコマンドを使用して、ステップスケーリングポリシーで使用するアラームを作成します。この例では、CPU の平均利用率に基づくアラームもあります。アラームは、少なくとも 2 つの連続する 60 秒の評価期間に 70 パーセントのしきい値に達した場合に、ALARM 状態となるよう設定されます。 CloudWatch 別のメトリックスを指定したり、独自のカスタムメトリックスを使用したりするには、--metric-name
にその名前を指定し、に名前空間を指定します。--namespace
Linux、macOS、または Unix
aws cloudwatch put-metric-alarm --alarm-name
Step-Scaling-AlarmHigh-ECS:service/my-cluster/my-service
\ --metric-nameCPUUtilization
--namespaceAWS/ECS
--statistic Average \ --period60
--evaluation-periods2
--threshold70
\ --comparison-operator GreaterThanOrEqualToThreshold \ --dimensions Name=ClusterName,Value=default
Name=ServiceName,Value=sample-app-service
\ --alarm-actionsPolicyARN
Windows
aws cloudwatch put-metric-alarm --alarm-name
Step-Scaling-AlarmHigh-ECS:service/my-cluster/my-service
--metric-nameCPUUtilization
--namespaceAWS/ECS
--statistic Average --period60
--evaluation-periods2
--threshold70
--comparison-operator GreaterThanOrEqualToThreshold --dimensions Name=ClusterName,Value=default
Name=ServiceName,Value=sample-app-service
--alarm-actionsPolicyARN
ステップスケーリングポリシーを記述する
describe-scaling-policies次のコマンドを使用して、指定したサービス名前空間のすべてのスケーリングポリシーを記述できます。
aws application-autoscaling describe-scaling-policies --service-namespace
ecs
--query
パラメータを使用して、結果をステップスケーリングポリシーのみにフィルタリングすることができます。query
用の構文の詳細については、AWS Command Line Interface ユーザーガイドの「AWS CLIからのコマンド出力の制御」を参照してください。
Linux、macOS、または Unix
aws application-autoscaling describe-scaling-policies --service-namespace
ecs
\ --query 'ScalingPolicies[?PolicyType==`StepScaling`]'
Windows
aws application-autoscaling describe-scaling-policies --service-namespace
ecs
--query "ScalingPolicies[?PolicyType==`StepScaling`]"
以下は出力例です。
[
{
"PolicyARN": "PolicyARN",
"StepScalingPolicyConfiguration": {
"MetricAggregationType": "Average",
"Cooldown": 60,
"StepAdjustments": [
{
"MetricIntervalLowerBound": 0.0,
"MetricIntervalUpperBound": 15.0,
"ScalingAdjustment": 1
},
{
"MetricIntervalLowerBound": 15.0,
"MetricIntervalUpperBound": 25.0,
"ScalingAdjustment": 2
},
{
"MetricIntervalLowerBound": 25.0,
"ScalingAdjustment": 3
}
],
"AdjustmentType": "ChangeInCapacity"
},
"PolicyType": "StepScaling",
"ResourceId": "service/my-cluster/my-service",
"ServiceNamespace": "ecs",
"Alarms": [
{
"AlarmName": "Step-Scaling-AlarmHigh-ECS:service/my-cluster/my-service",
"AlarmARN": "arn:aws:cloudwatch:region:012345678910:alarm:Step-Scaling-AlarmHigh-ECS:service/my-cluster/my-service"
}
],
"PolicyName": "my-step-scaling-policy",
"ScalableDimension": "ecs:service:DesiredCount",
"CreationTime": 1515024099.901
}
]
ステップスケーリングポリシーを削除する
不要になったステップのスケーリングポリシーは削除できます。 CloudWatch スケーリングポリシーとアラームの両方を削除するには、以下のタスクを実行します。
スケーリングポリシーを削除する
次の delete-scaling-policy コマンドを使用します。
Linux、macOS、または Unix
aws application-autoscaling delete-scaling-policy --service-namespace
ecs
\ --scalable-dimensionecs:service:DesiredCount
\ --resource-idservice/my-cluster/my-service
\ --policy-namemy-step-scaling-policy
Windows
aws application-autoscaling delete-scaling-policy --service-namespace
ecs
--scalable-dimensionecs:service:DesiredCount
--resource-idservice/my-cluster/my-service
--policy-namemy-step-scaling-policy
CloudWatch アラームを削除するには
delete-alarms コマンドを使用します。1 つ以上のアラームを一度に削除することができます。例えば、次のコマンドを使用して Step-Scaling-AlarmHigh-ECS:service/my-cluster/my-service
アラームおよび Step-Scaling-AlarmLow-ECS:service/my-cluster/my-service
アラームを削除します。
aws cloudwatch delete-alarms --alarm-name
Step-Scaling-AlarmHigh-ECS:service/my-cluster/my-service
Step-Scaling-AlarmLow-ECS:service/my-cluster/my-service