翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Auto Scaling グループの予測スケーリングポリシーを作成する
次の手順は、 AWS Management Console または を使用して予測スケーリングポリシーを作成するのに役立ちます AWS CLI。
Auto Scaling グループが新しい場合は、Amazon EC2 Auto Scaling が予測を生成する前に、少なくとも 24 時間分のデータを提供する必要があります。
予測スケーリングポリシーを作成する (コンソール)
予測スケーリングポリシーを初めて作成する場合は、 コンソールを使用して、予測専用モードで複数の予測スケーリングポリシーを作成することをお勧めします。これにより、さまざまなメトリクスとターゲット値による潜在的な影響をテストできます。Auto Scaling グループごとに複数の予測スケーリングポリシーを作成できますが、アクティブなスケーリングに使用できるポリシーは 1 つだけです。
以下の手順を使用して、事前定義されたメトリクス (CPU、ネットワーク I/O、またはターゲットあたりの Application Load Balancer リクエスト数) を使用して予測スケーリングポリシーを作成します。予測スケーリングポリシーを作成する最も簡単な方法は、事前定義されたメトリクスを使用することです。その代わりにカスタムメトリクスを使用する場合は、「コンソールで予測スケーリングポリシーを作成する (カスタムメトリクス)」を参照してください。
予測スケーリングポリシーを作成する
で Amazon EC2コンソールを開きhttps://console.aws.amazon.com/ec2/
、ナビゲーションペインから Auto Scaling Groups を選択します。 -
Auto Scaling グループの横にあるチェックボックスを選択します。
ページの下部に分割されたペインが開きます。
-
[Automatic scaling] (自動スケーリング) タブの [Scaling policies] (スケーリングポリシー) で、[Create predictive scaling policy] (予測スケーリングポリシーの作成) を選択します。
-
ポリシーの名前を入力します。
-
予測に基づいて Scale をオンにして、Amazon EC2 Auto Scaling にスケーリングをすぐに開始するアクセス許可を付与します。
ポリシーを予測のみモードにしておくには、[Scale based on forecast] (予測に基づくスケーリング) をオフのままにします。
-
[Metrics] (メトリクス) で、オプションのリストからメトリクスを選択します。オプションにはCPU、、Network In 、Network Out 、Application Load Balancer リクエスト数、カスタムメトリクスペア が含まれます。
[Application Load Balancer request count per target] (ターゲットあたりの Application Load Balancer リクエスト数) を選択した場合、[Target group] (ターゲットグループ) のターゲットグループを選択します。[Application Load Balancer request count per target] (ターゲットあたりの Application Load Balancer リクエスト数) は、Application Load Balancer ターゲットグループを Auto Scaling グループにアタッチしている場合にのみサポートされます。
[Custom metric pair] (カスタムメトリクスペア) を選択した場合、[Load metric] (負荷のメトリクス) と [Scaling metric] (スケーリングのメトリクス) のドロップダウンリストから個々のメトリクスを選択します。
-
ターゲット使用率 には、Amazon EC2 Auto Scaling が維持する必要があるターゲット値を入力します。Amazon EC2 Auto Scaling は、平均使用率が目標使用率に達するか、指定したインスタンスの最大数に達するまで容量をスケールアウトします。
スケーリングメトリクスが以下である場合..。 ターゲット使用率は以下の内容になります。 CPU 各インスタンスCPUが理想的に使用する の割合。
ネットワーク入力 各インスタンスが受信する理想的な 1 分あたりの平均バイト数。
ネットワーク出力 各インスタンスが送信する理想的な 1 分あたりの平均バイト数。
ターゲットあたりの Application Load Balancer リクエスト数 各インスタンスが受信する理想的な 1 分あたりの平均リクエスト数。
-
(オプション) [Pre-launch instances] (インスタンスの事前起動) で、予測によって負荷の増加が必要とされる際、どれくらい前にインスタンスを起動しておくかを選択します。
-
(オプション) 最大容量動作 で、予測容量が定義された最大容量を超えたときに Amazon EC2 Auto Scaling がグループの最大容量よりも大きくスケールアウトするかどうかを選択します。この設定をオンにすると、トラフィックが最高になると予測される期間中にスケールアウトが実行されます。
-
(オプション) [Buffer maximum capacity above the forecasted capacity] (予測キャパシティーを超える最大キャパシティーのバッファ) で、予測キャパシティーが最大キャパシティーに近づいたか、それを超えたときに使用する追加キャパシティーを選択します。この値は予測キャパシティーに対する割合 (%) として指定されます。たとえば、バッファが 10 の場合、バッファは 10% です。従って、予測キャパシティーが 50 で最大キャパシティーが 40 の場合、有効な最大キャパシティーは 55 です。
0 に設定すると、Amazon EC2 Auto Scaling は最大容量よりも大きい容量を予測容量と等しくなるが、超えないようにスケーリングする場合があります。
-
[Create predictive scaling policy] (予測スケーリングポリシーを作成) を選択します。
カスタムメトリクスを使用して予測スケーリングポリシーを作成するには、以下の手順を実行します。カスタムメトリクスには、 が提供する他のメトリクス CloudWatch や、 に発行するメトリクスを含めることができます CloudWatch。CPU、ネットワーク I/O、またはターゲットあたりの Application Load Balancer リクエスト数を使用するには、「」を参照してくださいコンソールで予測スケーリングポリシーを作成する (事前定義されたメトリクス)。
カスタムメトリクスを使用して予測スケーリングポリシーを作成するには、以下を実行する必要があります。
-
Amazon EC2 Auto Scaling が のメトリクスとやり取りできるようにする raw クエリを指定する必要があります CloudWatch。詳細については、「カスタムメトリクスを使用した高度な予測スケーリングポリシー」を参照してください。Amazon EC2 Auto Scaling が からメトリクスデータを抽出できるようにするには CloudWatch、各クエリがデータポイントを返すことを確認します。 CloudWatch コンソールまたは APIオペレーションを使用してこれを確認します CloudWatch GetMetricData。
注記
Amazon EC2 Auto Scaling コンソールのJSONエディタにサンプルJSONペイロードが用意されています。これらの例では、 によって提供される他の CloudWatch メトリクス、 AWS または以前に に公開したメトリクスを追加するために必要なキーと値のペアのリファレンスを提供します CloudWatch。これらを開始点として使用してから、必要に応じてカスタマイズすることができます。
-
メトリクス数学を使用する場合は、独自のシナリオJSONに合わせて を手動で構築する必要があります。詳細については、「Metric Math 式を使用する」を参照してください。ポリシーでメトリクス計算を使用する前に、メトリクス数式に基づくメトリクスクエリが有効であり、単一の時系列を返すことを確認してください。 CloudWatch コンソールまたは APIオペレーションを使用してこれを確認します CloudWatch GetMetricData。
誤ったデータ (間違った Auto Scaling グループ名など) を提供することによってクエリでエラーが発生した場合、予測にはデータがありません。カスタムメトリクス問題のトラブルシューティングについては、「予測スケーリングポリシーのカスタムメトリクスに関する考慮事項」を参照してください。
予測スケーリングポリシーを作成する
で Amazon EC2コンソールを開きhttps://console.aws.amazon.com/ec2/
、ナビゲーションペインから Auto Scaling Groups を選択します。 -
Auto Scaling グループの横にあるチェックボックスを選択します。
ページの下部に分割されたペインが開きます。
-
[Automatic scaling] (自動スケーリング) タブの [Scaling policies] (スケーリングポリシー) で、[Create predictive scaling policy] (予測スケーリングポリシーの作成) を選択します。
-
ポリシーの名前を入力します。
-
予測に基づいて Scale をオンにして、Amazon EC2 Auto Scaling にスケーリングをすぐに開始するアクセス許可を付与します。
ポリシーを予測のみモードにしておくには、[Scale based on forecast] (予測に基づくスケーリング) をオフのままにします。
-
[Metrics] (メトリクス) では、[Custom metric pair] (カスタムメトリクスのペア) を選択します。
-
ロードメトリクス で、カスタム CloudWatch メトリクスを使用するカスタムメトリクスを選択します。ポリシーのロードメトリクス定義を含むJSONペイロードを構築し、JSONエディタボックスに貼り付けて、すでにボックスに含まれているものを置き換えます。
-
スケーリングメトリクス で、カスタム CloudWatch メトリクスを使用するカスタムメトリクスを選択します。ポリシーのスケーリングメトリクス定義を含むJSONペイロードを構築し、JSONエディタボックスに貼り付けて、すでにボックスに含まれているものを置き換えます。
-
(オプション) カスタム容量メトリクスを追加するには、[Add custom capacity metric] (カスタム容量メトリクスを追加する) のチェックボックスをオンにします。ポリシーの容量メトリクス定義を含むJSONペイロードを作成し、JSONエディタボックスに貼り付けて、すでにボックスに含まれているものを置き換えます。
このオプションを有効にする必要があるのは、容量メトリクスデータが複数の Auto Scaling グループにまたがる場合に容量の新しい時系列を作成するためのみです。この場合は、メトリクス計算を使用してデータを単一の時系列に集計する必要があります。
-
-
ターゲット使用率 には、Amazon EC2 Auto Scaling が維持する必要があるターゲット値を入力します。Amazon EC2 Auto Scaling は、平均使用率が目標使用率に達するか、指定したインスタンスの最大数に達するまで容量をスケールアウトします。
-
(オプション) [Pre-launch instances] (インスタンスの事前起動) で、予測によって負荷の増加が必要とされる際、どれくらい前にインスタンスを起動しておくかを選択します。
-
(オプション) 最大容量動作 で、予測容量が定義された最大容量を超えたときに Amazon EC2 Auto Scaling がグループの最大容量よりも大きくスケールアウトするかどうかを選択します。この設定をオンにすると、トラフィックが最高になると予測される期間中にスケールアウトが実行されます。
-
(オプション) [Buffer maximum capacity above the forecasted capacity] (予測キャパシティーを超える最大キャパシティーのバッファ) で、予測キャパシティーが最大キャパシティーに近づいたか、それを超えたときに使用する追加キャパシティーを選択します。この値は予測キャパシティーに対する割合 (%) として指定されます。たとえば、バッファが 10 の場合、バッファは 10% です。従って、予測キャパシティーが 50 で最大キャパシティーが 40 の場合、有効な最大キャパシティーは 55 です。
0 に設定すると、Amazon EC2 Auto Scaling は最大容量よりも大きい容量を予測容量と等しくなるが、超えないようにスケーリングする場合があります。
-
Create predictive scaling policy[] (予測スケーリングポリシーの作成) を選択します。
予測スケーリングポリシーの作成 (AWS CLI)
AWS CLI 次のように を使用して、Auto Scaling グループの予測スケーリングポリシーを設定します。各 を置き換える user input placeholder
自分の情報を入力します。
指定できる CloudWatch メトリクスの詳細については、「Amazon EC2 Auto Scaling APIリファレンスPredictiveScalingMetricSpecification」の「」を参照してください。
例 1: 予測を作成するが、スケーリングしない予測スケーリングポリシー
次のポリシー例は、ターゲットCPU使用率が の予測スケーリングに使用率メトリクスを使用する完全なポリシー設定を示しています40
。使用するForecastOnly
モードを明示的に指定しない限り、 モードはデフォルトで使用されます。この設定を config.json
という名前のファイルに保存してください。
{ "MetricSpecifications": [ { "TargetValue":
40
, "PredefinedMetricPairSpecification": { "PredefinedMetricType": "ASGCPUUtilization
" } } ] }
コマンドラインからポリシーを作成するには、次の例に示すように、 設定ファイルを指定して put-scaling-policy コマンドを実行します。
aws autoscaling put-scaling-policy --policy-name
cpu40-predictive-scaling-policy
\ --auto-scaling-group-namemy-asg
--policy-type PredictiveScaling \ --predictive-scaling-configurationfile://config.json
成功すると、このコマンドはポリシーの Amazon リソースネーム () を返しますARN。
{
"PolicyARN": "arn:aws:autoscaling:region:account-id:scalingPolicy:2f4f5048-d8a8-4d14-b13a-d1905620f345:autoScalingGroupName/my-asg:policyName/cpu40-predictive-scaling-policy",
"Alarms": []
}
例 2: 予測とスケーリングを行う予測スケーリングポリシー
Amazon EC2 Auto Scaling に予測とスケーリングを許可するポリシーの場合は、 プロパティを の値Mode
で追加しますForecastAndScale
。次の例は、Application Load Balancer リクエスト数メトリクスを使用するポリシー設定を示しています。ターゲット使用率は 1000
で、予測スケーリングは ForecastAndScale
モードに設定されています。
{ "MetricSpecifications": [ { "TargetValue":
1000
, "PredefinedMetricPairSpecification": { "PredefinedMetricType": "ALBRequestCount
", "ResourceLabel": "app/my-alb/778d41231b141a0f/targetgroup/my-alb-target-group/943f017f100becff
" } } ], "Mode": "ForecastAndScale" }
このポリシーを作成するには、次の例に示すように、 設定ファイルを指定して put-scaling-policy コマンドを実行します。
aws autoscaling put-scaling-policy --policy-name
alb1000-predictive-scaling-policy
\ --auto-scaling-group-namemy-asg
--policy-type PredictiveScaling \ --predictive-scaling-configurationfile://config.json
成功すると、このコマンドはポリシーの Amazon リソースネーム () を返しますARN。
{
"PolicyARN": "arn:aws:autoscaling:region:account-id:scalingPolicy:19556d63-7914-4997-8c81-d27ca5241386:autoScalingGroupName/my-asg:policyName/alb1000-predictive-scaling-policy",
"Alarms": []
}
例 3: 最大キャパシティーを超えてスケーリングできる予測スケーリングポリシー
次の例は、通常よりも高い負荷を処理する必要がある場合に、グループの最大サイズ制限を超えてスケーリングできるポリシーを作成する方法を示しています。デフォルトでは、Amazon EC2 Auto Scaling は定義された最大EC2容量よりも容量をスケールしません。しかし、パフォーマンスや可用性の問題を回避するために、キャパシティーを少し増やしてスケーリングすると便利な場合があります。
キャパシティがグループの最大サイズまたはそれに近いことが予測されるときに、Amazon EC2 Auto Scaling が追加のキャパシティをプロビジョニングするスペースを提供するには、次の例に示すように、 MaxCapacityBreachBehavior
および MaxCapacityBuffer
プロパティを指定します。MaxCapacityBreachBehavior
に値 IncreaseMaxCapacity
を指定する必要があります。グループに含めることができるインスタンスの最大数は、MaxCapacityBuffer
の値によって異なります。
{ "MetricSpecifications": [ { "TargetValue":
70
, "PredefinedMetricPairSpecification": { "PredefinedMetricType": "ASGCPUUtilization
" } } ], "MaxCapacityBreachBehavior": "IncreaseMaxCapacity
", "MaxCapacityBuffer":10
}
この例では、10% のバッファ ("MaxCapacityBuffer": 10
) を使用するようにポリシーが設定されています。したがって、予測キャパシティーが 50、最大キャパシティーが 40 の場合、有効な最大キャパシティーは 55 です。キャパシティーを最大キャパシティーを超えてスケーリングし、予測キャパシティーに等しくするが、予測キャパシティーを超えないようにするポリシーでは、バッファは 0 です ("MaxCapacityBuffer":
0
)。
このポリシーを作成するには、次の例に示すように、 設定ファイルを指定して put-scaling-policy コマンドを実行します。
aws autoscaling put-scaling-policy --policy-name
cpu70-predictive-scaling-policy
\ --auto-scaling-group-namemy-asg
--policy-type PredictiveScaling \ --predictive-scaling-configurationfile://config.json
成功すると、このコマンドはポリシーの Amazon リソースネーム () を返しますARN。
{
"PolicyARN": "arn:aws:autoscaling:region:account-id:scalingPolicy:d02ef525-8651-4314-bf14-888331ebd04f:autoScalingGroupName/my-asg:policyName/cpu70-predictive-scaling-policy",
"Alarms": []
}