AWS CLI のスケーリングポリシーの例 - Amazon EC2 Auto Scaling

AWS CLI のスケーリングポリシーの例

Amazon EC2 Auto Scaling のスケーリングポリシーは、AWS マネジメントコンソール、AWS Command Line Interface (AWS CLI)、または SDK を使用して作成できます。

以下の例では、Amazon EC2 Auto Scaling のスケーリングポリシーを作成する方法を示しています。AWS CLI put-scolicy コマンドを実行します。各ユーザー入力プレースホルダーを独自の情報に置き換えます。

AWS CLI を使用してスケーリングポリシーの記述を開始するには、「ターゲット追跡スケーリングポリシー」および「ステップスケーリングポリシーおよび簡易スケーリングポリシー」の入門演習を参照してください。

例 1: 事前定義されたメトリクス指定を使用してターゲット追跡スケーリングポリシーを適用するには

aws autoscaling put-scaling-policy --policy-name cpu50-target-tracking-scaling-policy \ --auto-scaling-group-name my-asg --policy-type TargetTrackingScaling \ --target-tracking-configuration file://config.json { "TargetValue": 50.0, "PredefinedMetricSpecification": { "PredefinedMetricType": "ASGAverageCPUUtilization" } }

詳細については、Amazon EC2 Auto Scaling API リファレンスの「PredefinedMetricSpecification」を参照してください。

注記

ファイルが現在のディレクトリにない場合は、ファイルへのフルパスを入力します。ファイルから AWS CLI パラメータ値を読み取る方法の詳細については、「AWS Command Line Interface ユーザーガイド」のファイルからの AWS CLI パラメータの読み取りに関するページを参照してください。

例 2: カスタマイズされたメトリクス仕様を使用してターゲット追跡スケーリングポリシーを適用するには

aws autoscaling put-scaling-policy --policy-name sqs100-target-tracking-scaling-policy \ --auto-scaling-group-name my-asg --policy-type TargetTrackingScaling \ --target-tracking-configuration file://config.json { "TargetValue": 100.0, "CustomizedMetricSpecification": { "MetricName": "MyBacklogPerInstance", "Namespace": "MyNamespace", "Dimensions": [{ "Name": "MyOptionalMetricDimensionName", "Value": "MyOptionalMetricDimensionValue" }], "Statistic": "Average", "Unit": "None" } }

詳細については、Amazon EC2 Auto Scaling API リファレンスの「CustomizedMetricSpecification」を参照してください。

例 3: スケールアウトにのみターゲット追跡スケーリングポリシーを適用するには

aws autoscaling put-scaling-policy --policy-name alb1000-target-tracking-scaling-policy \ --auto-scaling-group-name my-asg --policy-type TargetTrackingScaling \ --target-tracking-configuration file://config.json { "TargetValue": 1000.0, "PredefinedMetricSpecification": { "PredefinedMetricType": "ALBRequestCountPerTarget", "ResourceLabel": "app/my-alb/778d41231b141a0f/targetgroup/my-alb-target-group/943f017f100becff" }, "DisableScaleIn": true }

例 4: スケールアウトにステップスケーリングポリシーを適用するには

aws autoscaling put-scaling-policy \ --auto-scaling-group-name my-asg \ --policy-name my-step-scale-out-policy \ --policy-type StepScaling \ --adjustment-type PercentChangeInCapacity \ --metric-aggregation-type Average \ --step-adjustments MetricIntervalLowerBound=10.0,MetricIntervalUpperBound=20.0,ScalingAdjustment=10 \ MetricIntervalLowerBound=20.0,MetricIntervalUpperBound=30.0,ScalingAdjustment=20 \ MetricIntervalLowerBound=30.0,ScalingAdjustment=30 \ --min-adjustment-magnitude 1

ポリシーの Amazon リソースネーム (ARN) を記録します。CloudWatch アラームの作成時にこの ARN が必要となります。

例 5: スケールインにステップスケーリングポリシーを適用するには

aws autoscaling put-scaling-policy \ --auto-scaling-group-name my-asg \ --policy-name my-step-scale-in-policy \ --policy-type StepScaling \ --adjustment-type ChangeInCapacity \ --step-adjustments MetricIntervalUpperBound=0.0,ScalingAdjustment=-2

ポリシーの Amazon リソースネーム (ARN) を記録します。CloudWatch アラームの作成時にこの ARN が必要となります。

例 6: スケールアウトに単純なスケーリングポリシーを適用するには

aws autoscaling put-scaling-policy --policy-name my-simple-scale-out-policy \ --auto-scaling-group-name my-asg --scaling-adjustment 30 \ --adjustment-type PercentChangeInCapacity --min-adjustment-magnitude 2

ポリシーの Amazon リソースネーム (ARN) を記録します。CloudWatch アラームの作成時にこの ARN が必要となります。

例 7: スケールに簡易スケーリングポリシーを適用するには

aws autoscaling put-scaling-policy --policy-name my-simple-scale-in-policy \ --auto-scaling-group-name my-asg --scaling-adjustment -1 \ --adjustment-type ChangeInCapacity --cooldown 180

ポリシーの Amazon リソースネーム (ARN) を記録します。CloudWatch アラームの作成時にこの ARN が必要となります。