翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
スケーリングプランを移行する
スケーリングプランから Amazon EC2 Auto Scaling および Application Auto Scaling スケーリングポリシーに移行できます。
移行プロセス
重要
スケーリングプランを移行するには、複数のステップを正確な順序で実行する必要があります。スケーリングプランを移行している間は、 を更新しないでください。オペレーションの順序が崩れ、望ましくない動作が発生する可能性があります。
ステップ 1: 既存の設定を確認する
どのスケーリング設定を移動する必要があるかを判断するには、describe-scaling-plans コマンドを使用します。
aws autoscaling-plans describe-scaling-plans \ --scaling-plan-names
my-scaling-plan
既存のスケーリングプランから保持する項目を書き留めます。これには、以下が含まれる場合があります。
-
MinCapacity
– スケーラブルリソースの最小容量。 -
MaxCapacity
– スケーラブルリソースの最大容量。 -
PredefinedLoadMetricType
– 予測スケーリングの負荷メトリクス。 -
PredefinedScalingMetricType
– ターゲット追跡 (動的) スケーリングと予測スケーリングのスケーリングメトリクス。 -
TargetValue
– スケーリングメトリクスのターゲット値。
スケーリングプランとスケーリングポリシーの違い
スケーリングプランとスケーリングポリシーには、いくつかの重要な違いがあります。
-
スケーリングポリシーは、ターゲット追跡スケーリングまたは予測スケーリングのいずれかの 1 つのタイプのスケーリングのみを有効にできます。両方のスケーリング方法を使用するには、個別のポリシーを作成する必要があります。
-
同様に、予測スケーリングのスケーリングメトリクスとターゲット追跡スケーリングのスケーリングメトリクスをそれぞれのポリシー内で個別に定義する必要があります。
ステップ 2: 予測スケーリングポリシーを作成する
予測スケーリングを使用しない場合は、「」に進みますステップ 4: スケーリングプランを削除する準備をする。
予測を評価する時間を確保するために、他のスケーリングポリシーよりも先に予測スケーリングポリシーを作成することをお勧めします。
既存のロードメトリクス仕様を持つ Auto Scaling グループの場合は、次の操作を実行して Amazon EC2 Auto Scaling ベースの予測スケーリングポリシーにします。
予測スケーリングポリシーを作成するには
-
JSON ファイルで、次の例に示すように
MetricSpecifications
構造を定義します。{ "MetricSpecifications":[ {
...
} ] } -
MetricSpecifications
構造で、スケーリングプランの負荷メトリクスごとに、スケーリングプランの同等の設定CustomizedLoadMetricSpecification
を使用してPredefinedLoadMetricSpecification
または を作成します。ロードメトリクスセクションの構造の例を次に示します。
-
スケーリングメトリクスの仕様を に追加
MetricSpecifications
し、ターゲット値を定義します。以下は、スケーリングメトリクスセクションとターゲット値セクションの構造の例です。
-
予測のみを行うには、 プロパティを の値
Mode
で追加しますForecastOnly
。予測スケーリングの移行を完了し、予測が正確で信頼性があることを確認したら、スケーリングを許可するようにモードを変更できます。詳細については、「ステップ 7: 予測スケーリングを再アクティブ化する」を参照してください。{ "MetricSpecifications":[
...
], "Mode":"ForecastOnly",...
}詳細については、Amazon EC2 Auto Scaling API リファレンス」のPredictiveScaling「設定」を参照してください。
-
スケーリングプランに
ScheduledActionBufferTime
プロパティが存在する場合は、その値を予測スケーリングポリシーのSchedulingBufferTime
プロパティにコピーします。{ "MetricSpecifications":[
...
], "Mode":"ForecastOnly","SchedulingBufferTime":300, ...
}詳細については、Amazon EC2 Auto Scaling API リファレンス」のPredictiveScaling「設定」を参照してください。
-
PredictiveScalingMaxCapacityBehavior
およびPredictiveScalingMaxCapacityBuffer
プロパティがスケーリングプランに存在する場合は、予測スケーリングポリシーでMaxCapacityBreachBehavior
およびMaxCapacityBuffer
プロパティを設定できます。これらのプロパティは、予測キャパシティが Auto Scaling グループに指定された最大キャパシティに近づいた場合、または超えた場合に何が起こるかを定義します。警告
MaxCapacityBreachBehavior
プロパティを に設定するとIncreaseMaxCapacity
、増加した最大容量を監視および管理しない限り、意図したよりも多くのインスタンスが起動する可能性があります。最大容量の増加は、手動で更新するまで Auto Scaling グループの新しい通常の最大容量になります。最大容量は自動的に元の最大容量まで減少しません。{ "MetricSpecifications":[
...
], "Mode":"ForecastOnly", "SchedulingBufferTime":300,"MaxCapacityBreachBehavior": "IncreaseMaxCapacity", "MaxCapacityBuffer": 10
}詳細については、Amazon EC2 Auto Scaling API リファレンス」のPredictiveScaling「設定」を参照してください。
-
JSON ファイルを一意の名前で保存します。ファイル名を書き留めます。これは次のステップで必要であり、予測スケーリングポリシーを再アクティブ化するときに移行手順の最後に再度必要になります。詳細については、「ステップ 7: 予測スケーリングを再アクティブ化する」を参照してください。
-
JSON ファイルを保存したら、put-scaling-policy コマンドを実行します。次の例では、各
ユーザー入力プレースホルダー
を独自の情報に置き換えます。aws autoscaling put-scaling-policy --policy-name
my-predictive-scaling-policy
\ --auto-scaling-group-namemy-asg
--policy-type PredictiveScaling \ --predictive-scaling-configurationfile://my-predictive-scaling-config.json
成功した場合、このコマンドはポリシーの Amazon リソースネーム (ARN) を返します。
{ "PolicyARN": "arn:aws:autoscaling:region:account-id:scalingPolicy:2f4f5048-d8a8-4d14-b13a-d1905620f345:autoScalingGroupName/my-asg:policyName/my-predictive-scaling-policy", "Alarms": [] }
-
Amazon EC2 Auto Scaling ベースの予測スケーリングポリシーに移行するロードメトリクス仕様ごとに、これらのステップを繰り返します。
ステップ 3: 予測スケーリングポリシーが生成する予測を確認する
予測スケーリングを使用しない場合は、次の手順をスキップします。
予測は、予測スケーリングポリシーを作成した後すぐに使用できます。Amazon EC2 Auto Scaling が予測を生成したら、Amazon EC2 Auto Scaling コンソールを使用してポリシーの予測を確認し、必要に応じて調整できます。
予測スケーリングポリシーの予測を確認するには
-
Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/
) を開きます。 -
ナビゲーションペインで、Auto Scaling Groups を選択し、リストから Auto Scaling グループの名前を選択します。
-
自動スケーリングタブの予測スケーリングポリシー で、ポリシーを選択します。
-
[モニタリング] セクションでは、ポリシーの負荷およびキャパシティに関する過去および今後の予測を実際の値と比較できます。
詳細については、Amazon EC2 Auto Scaling ユーザーガイド」の「予測スケーリングモニタリンググラフを確認する」を参照してください。
-
作成した予測スケーリングポリシーごとに、これらのステップを繰り返します。
ステップ 4: スケーリングプランを削除する準備をする
既存のターゲット追跡スケーリング設定を持つリソースについては、以下を実行して、スケーリングプランから削除する前に必要な追加情報を収集します。
スケーリングプランからスケーリングポリシー情報を記述するには、describe-scaling-plan-resources コマンドを使用します。次のコマンド例では、my-scaling-plan
を独自の情報に置き換えます。
aws autoscaling-plans describe-scaling-plan-resources \ --scaling-plan-name
my-scaling-plan
\ --scaling-plan-version 1
出力を確認し、説明されているスケーリングポリシーを移行することを確認します。この情報を使用して、 で新しい Amazon EC2 Auto Scaling および Application Auto Scaling ベースのターゲット追跡スケーリングポリシーを作成しますステップ 6: 動的スケーリングを再アクティブ化する。
ステップ 5: スケーリングプランを削除する
新しいターゲット追跡スケーリングポリシーを作成する前に、スケーリングプランを削除して、作成したスケーリングポリシーを削除する必要があります。
スケーリングプランを削除するには、delete-scaling-plan コマンドを使用します。次のコマンド例では、my-scaling-plan
を独自の情報に置き換えます。
aws autoscaling-plans delete-scaling-plan \ --scaling-plan-name
my-scaling-plan
\ --scaling-plan-version 1
スケーリングプランを削除すると、動的スケーリングは無効になります。したがって、トラフィックやワークロードが突然急増しても、スケーラブルなリソースごとに使用可能な容量は単独で増加しません。予防策として、短期間でスケーラブルリソースの容量を手動で増やすことができます。
Auto Scaling グループの容量を増やすには
-
Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/
) を開きます。 -
ナビゲーションペインで、Auto Scaling グループ を選択し、リストから Auto Scaling グループの名前を選択します。
-
[詳細] タブで、[グループの詳細]、[編集] の順に選択します。
-
希望する容量 では、希望する容量を増やします。
-
完了したら、 の更新 を選択します。
Aurora レプリカを DB クラスターに追加するには
-
Amazon RDS コンソール (https://console.aws.amazon.com/rds/
) を開きます。 -
ナビゲーションペインで、データベース を選択し、DB クラスターを選択します。
-
クラスターとプライマリインスタンスの両方が [使用可能] 状態であることを確認します。
-
アクション 、リーダーの追加 を選択します。
-
リーダーの追加ページで、新しい Aurora レプリカのオプションを指定します。
-
リーダーの追加 を選択します。
DynamoDB テーブルまたはグローバルセカンダリインデックスのプロビジョニングされた読み取りおよび書き込み容量を増やすには
DynamoDB コンソール (https://console.aws.amazon.com/dynamodb/
) を開きます。 -
ナビゲーションペインで、テーブル を選択し、リストからテーブルの名前を選択します。
-
追加設定タブで、読み取り/書き込み容量 、編集 を選択します。
-
読み取り/書き込み容量の編集ページの読み取り容量 、プロビジョンドキャパシティユニット で、テーブルのプロビジョンド読み取り容量を増やします。
-
(オプション) グローバルセカンダリインデックスでベーステーブルと同じ読み込み容量設定を使用する場合は、すべてのグローバルセカンダリインデックスに同じ読み込み容量設定を使用するチェックボックスをオンにします。
-
書き込み容量 、プロビジョンドキャパシティーユニット では、テーブルのプロビジョンド書き込み容量を増やします。
-
(オプション) グローバルセカンダリインデックスでベーステーブルと同じ書き込み容量設定を使用する場合は、「すべてのグローバルセカンダリインデックスに同じ書き込み容量設定を使用する」チェックボックスをオンにします。
-
ステップ 5 または 7 でチェックボックスを選択しなかった場合は、ページを下にスクロールして、グローバルセカンダリインデックスの読み取りおよび書き込み容量を更新します。
-
変更を保存を選択して続行します。
Amazon ECS サービスの実行中のタスク数を増やすには
コンソールをhttps://console.aws.amazon.com/ecs/v2
で開きます。 -
ナビゲーションペインで、クラスター を選択し、リストからクラスターの名前を選択します。
-
サービス セクションで、サービスの横にあるチェックボックスをオンにし、 の更新 を選択します。
-
[必要なタスク] で、サービスのために実行するタスクの数を入力します。
-
[更新] を選択します。
スポットフリートの容量を増やすには
-
Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/
) を開きます。 -
ナビゲーションペインで、スポットリクエスト を選択し、スポットフリートリクエストを選択します。
-
[Actions]、[Modify target capacity] の順に選択します。
-
「ターゲット容量の変更」に、新しいターゲット容量とオンデマンドインスタンス部分を入力します。
-
[送信] を選択します。
ステップ 6: 動的スケーリングを再アクティブ化する
ターゲット追跡スケーリングポリシーを作成して、動的スケーリングを再度有効にします。
Auto Scaling グループのターゲット追跡スケーリングポリシーを作成するときは、それをグループに直接追加します。他のスケーラブルリソースのターゲット追跡スケーリングポリシーを作成するときは、まずリソースをスケーラブルターゲットとして登録し、次にターゲット追跡スケーリングポリシーをスケーラブルターゲットに追加します。
Auto Scaling グループのターゲット追跡スケーリングポリシーを作成する
Auto Scaling グループのターゲット追跡スケーリングポリシーを作成するには
-
JSON ファイルで、スケーリングプランの同等の設定
CustomizedMetricSpecification
を使用してPredefinedMetricSpecification
または を作成します。ターゲット追跡設定の例を次に示します。これらの例では、各
ユーザー入力プレースホルダー
を独自の情報に置き換えます。 -
スケーリングポリシーを作成するには、前のステップで作成した JSON ファイルとともに put-scaling-policy コマンドを使用します。次の例では、各
ユーザー入力プレースホルダー
を独自の情報に置き換えます。aws autoscaling put-scaling-policy --policy-name
my-target-tracking-scaling-policy
\ --auto-scaling-group-namemy-asg
--policy-type TargetTrackingScaling \ --target-tracking-configurationfile://config.json
-
Amazon EC2 Auto Scaling ベースのターゲット追跡スケーリングポリシーに移行するスケーリングプランベースのスケーリングポリシーごとに、このプロセスを繰り返します。
他のスケーラブルリソースのターゲット追跡スケーリングポリシーを作成する
次に、次の設定タスクを実行して、他のスケーラブルリソースのターゲット追跡スケーリングポリシーを作成します。
-
Application Auto Scaling サービスに、自動スケーリング用のスケーラブルターゲットを登録します。
-
スケーラブルターゲットに対するターゲット追跡スケーリングポリシーを追加します。
他のスケーラブルリソースのターゲット追跡スケーリングポリシーを作成するには
-
register-scalable-target コマンドを使用して、リソースをスケーラブルターゲットとして登録し、スケーリングポリシーのスケーリング制限を定義します。
次の例では、各
ユーザー入力プレースホルダー
を独自の情報に置き換えます。コマンドオプションには、次の情報を指定します。-
--service-namespace
– ターゲットサービスの名前空間 (例:
)。サービス名前空間を取得するには、RegisterScalable「ターゲットリファレンス」を参照してください。ecs
-
--scalable-dimension
– ターゲットリソースに関連付けられたスケーラブルなディメンション (例:
)。スケーラブルなディメンションを取得するには、RegisterScalable「ターゲットリファレンス」を参照してください。ecs:service:DesiredCount
-
--resource-id
– ターゲットリソースのリソース ID (例:
)。特定のリソース IDsRegisterScalable「ターゲットリファレンス」を参照してください。service/
my-cluster
/my-service
aws application-autoscaling register-scalable-target --service-namespace
namespace
\ --scalable-dimensiondimension
\ --resource-ididentifier
\ --min-capacity1
--max-capacity10
成功した場合、このコマンドはスケーラブルターゲットの ARN を返します。
{ "ScalableTargetARN": "arn:aws:application-autoscaling:
region
:account-id
:scalable-target/1234abcd56ab78cd901ef1234567890ab123" } -
-
JSON ファイルで、スケーリングプランの同等の設定
CustomizedMetricSpecification
を使用してPredefinedMetricSpecification
または を作成します。ターゲット追跡設定の例を次に示します。
-
スケーリングポリシーを作成するには、前のステップで作成した JSON ファイルとともに put-scaling-policy コマンドを使用します。
aws application-autoscaling put-scaling-policy --service-namespace
namespace
\ --scalable-dimensiondimension
\ --resource-ididentifier
\ --policy-namemy-target-tracking-scaling-policy
--policy-typeTargetTrackingScaling
\ --target-tracking-scaling-policy-configurationfile://config.json
-
Application Auto Scaling ベースのターゲット追跡スケーリングポリシーに移行するスケーリングプランベースのスケーリングポリシーごとに、このプロセスを繰り返します。
ステップ 7: 予測スケーリングを再アクティブ化する
予測スケーリングを使用しない場合は、このステップをスキップします。
予測スケーリングを予測とスケーリングに切り替えることで、予測スケーリングを再有効化します。
この変更を行うには、 で作成した JSON ファイルを更新ステップ 2: 予測スケーリングポリシーを作成するし、次の例ForecastAndScale
のように Mode
オプションの値 を に変更します。
"Mode":"ForecastAndScale"
次に、put-scaling-policy コマンドを使用して各予測スケーリングポリシーを更新します。この例では、各ユーザー入力プレースホルダー
をユーザー自身の情報に置き換えます。
aws autoscaling put-scaling-policy --policy-name
my-predictive-scaling-policy
\ --auto-scaling-group-namemy-asg
--policy-type PredictiveScaling \ --predictive-scaling-configurationfile://my-predictive-scaling-config.json
または、予測設定に基づいてスケールをオンにすることで、Amazon EC2 Auto Scaling コンソールからこの変更を行うことができます。 詳細については、「Amazon EC2 Auto Scaling ユーザーガイド」の「Amazon EC2 Auto Scaling の予測スケーリング」を参照してください。
ターゲット追跡スケーリングポリシーを移行するための Amazon EC2 Auto Scaling リファレンス
参考までに、次の表に、スケーリングプランのすべてのターゲット追跡設定プロパティと、Amazon EC2 Auto Scaling PutScalingPolicy
API オペレーションの対応するプロパティを示します。
スケーリングプランのソースプロパティ | Amazon EC2 Auto Scaling ターゲットプロパティ |
---|---|
PolicyName |
PolicyName |
PolicyType |
PolicyType |
TargetTrackingConfiguration.CustomizedScalingMetricSpecification.Dimensions.Name |
TargetTrackingConfiguration.CustomizedMetricSpecification.Dimensions.Name |
TargetTrackingConfiguration.CustomizedScalingMetricSpecification.Dimensions.Value |
TargetTrackingConfiguration.CustomizedMetricSpecification.Dimensions.Value |
TargetTrackingConfiguration.CustomizedScalingMetricSpecification.MetricName |
TargetTrackingConfiguration.CustomizedMetricSpecification.MetricName |
TargetTrackingConfiguration.CustomizedScalingMetricSpecification.Namespace |
TargetTrackingConfiguration.CustomizedMetricSpecification.Namespace |
TargetTrackingConfiguration.CustomizedScalingMetricSpecification.Statistic |
TargetTrackingConfiguration.CustomizedMetricSpecification.Statistic |
TargetTrackingConfiguration.CustomizedScalingMetricSpecification.Unit |
TargetTrackingConfiguration.CustomizedMetricSpecification.Unit |
TargetTrackingConfiguration.DisableScaleIn |
TargetTrackingConfiguration.DisableScaleIn |
TargetTrackingConfiguration.EstimatedInstanceWarmup |
TargetTrackingConfiguration.EstimatedInstanceWarmup 1 |
TargetTrackingConfiguration.PredefinedScalingMetricSpecification.PredefinedScalingMetricType |
TargetTrackingConfiguration.PredefinedMetricSpecification.PredefinedMetricType |
TargetTrackingConfiguration.PredefinedScalingMetricSpecification.ResourceLabel |
TargetTrackingConfiguration.PredefinedMetricSpecification.ResourceLabel |
TargetTrackingConfiguration.ScaleInCooldown |
Not available |
TargetTrackingConfiguration.ScaleOutCooldown |
Not available |
TargetTrackingConfiguration.TargetValue |
TargetTrackingConfiguration.TargetValue |
1 インスタンスのウォームアップはAuto Scaling グループの機能であり、新しく起動されたインスタンスが、使用状況データをスケーリングメトリクスに提供する前に、トラフィックを受信する準備を整えるのに役立ちます。インスタンスがまだウォームアップしている間、Amazon EC2 Auto Scaling はグループへのインスタンスの追加または削除プロセスを遅くします。スケーリングポリシーのウォームアップ時間を指定する代わりに、Auto Scaling グループのデフォルトのインスタンスウォームアップ設定を使用して、すべてのインスタンスの起動で同じインスタンスウォームアップ時間を使用するようにすることをお勧めします。詳細については、「Amazon EC2 Auto Scaling ユーザーガイド」の「Auto Scaling グループに対するインスタンスのデフォルトウォームアップを設定する」を参照してください。
ターゲット追跡スケーリングポリシーを移行するための Application Auto Scaling リファレンス
参考までに、次の表に、スケーリングプランのすべてのターゲット追跡設定プロパティと、Application Auto Scaling PutScalingPolicy
API オペレーションの対応するプロパティを示します。
スケーリングプランのソースプロパティ | Application Auto Scaling ターゲットプロパティ |
---|---|
PolicyName |
PolicyName |
PolicyType |
PolicyType |
TargetTrackingConfiguration.CustomizedScalingMetricSpecification.Dimensions.Name |
TargetTrackingScalingPolicyConfiguration.CustomizedMetricSpecification.Dimensions.Name |
TargetTrackingConfiguration.CustomizedScalingMetricSpecification.Dimensions.Value |
TargetTrackingScalingPolicyConfiguration.CustomizedMetricSpecification.Dimensions.Value |
TargetTrackingConfiguration.CustomizedScalingMetricSpecification.MetricName |
TargetTrackingScalingPolicyConfiguration.CustomizedMetricSpecification.MetricName |
TargetTrackingConfiguration.CustomizedScalingMetricSpecification.Namespace |
TargetTrackingScalingPolicyConfiguration.CustomizedMetricSpecification.Namespace |
TargetTrackingConfiguration.CustomizedScalingMetricSpecification.Statistic |
TargetTrackingScalingPolicyConfiguration.CustomizedMetricSpecification.Statistic |
TargetTrackingConfiguration.CustomizedScalingMetricSpecification.Unit |
TargetTrackingScalingPolicyConfiguration.CustomizedMetricSpecification.Unit |
TargetTrackingConfiguration.DisableScaleIn |
TargetTrackingScalingPolicyConfiguration.DisableScaleIn |
TargetTrackingConfiguration.EstimatedInstanceWarmup |
Not available |
TargetTrackingConfiguration.PredefinedScalingMetricSpecification.PredefinedScalingMetricType |
TargetTrackingScalingPolicyConfiguration.PredefinedMetricSpecification.PredefinedMetricType |
TargetTrackingConfiguration.PredefinedScalingMetricSpecification.ResourceLabel |
TargetTrackingScalingPolicyConfiguration.PredefinedMetricSpecification.ResourceLabel |
TargetTrackingConfiguration.ScaleInCooldown 1 |
TargetTrackingScalingPolicyConfiguration.ScaleInCooldown |
TargetTrackingConfiguration.ScaleOutCooldown 1 |
TargetTrackingScalingPolicyConfiguration.ScaleOutCooldown |
TargetTrackingConfiguration.TargetValue |
TargetTrackingScalingPolicyConfiguration.TargetValue |
1 Application Auto Scaling は、スケーラブルなリソースがスケールアウト (容量の増加) およびスケールイン (容量の減少) されているときに、クールダウン期間を使用してスケーリングを遅くします。詳細については、「Application Auto Scaling ユーザーガイド」の「クールダウン期間の定義」を参照してください。
追加情報
コンソールから新しい予測スケーリングポリシーを作成する方法については、次のトピックを参照してください。
-
Amazon EC2 Auto Scaling – 「Amazon EC2 Auto Scaling ユーザーガイド」の「予測スケーリングポリシー」を作成します。 Amazon EC2 Auto Scaling
コンソールを使用して新しいターゲット追跡スケーリングポリシーを作成する方法については、以下のトピックを参照してください。
-
Amazon Aurora — Amazon RDS ユーザーガイドの「Aurora レプリカでの Amazon Aurora Auto Scaling の使用」。
-
DynamoDB – Amazon AWS Management Console DynamoDB デベロッパーガイドの「DynamoDB Auto Scaling での DynamoDBの使用」。
-
Amazon EC2 Auto Scaling – Amazon EC2 Auto Scaling ユーザーガイド のターゲット追跡スケーリングポリシーを作成します。 Amazon EC2 Auto Scaling
-
Amazon ECS — Amazon Elastic Container Service デベロッパーガイドの「コンソールを使用したサービスの更新」。
-
スポットフリート — Amazon EC2 ユーザーガイド」の「ターゲット追跡ポリシー」を使用してスポットフリートをスケーリングします。