翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
スケーリングプランを移行する
スケーリングプランから 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
– スケーリングメトリクスのターゲット値。
スケーリングプランとスケーリングポリシーの違い
スケーリングプランとスケーリングポリシーには、いくつかの重要な違いがあります。
-
スケーリングポリシーは、ターゲット追跡スケーリングまたは予測スケーリングのいずれかのタイプのスケーリングのみを有効にできます。両方のスケーリング方法を使用するには、個別のポリシーを作成する必要があります。
-
同様に、予測スケーリングのスケーリングメトリクスとターゲット追跡スケーリングのスケーリングメトリクスを、それぞれのポリシー内で個別に定義する必要があります。
ステップ 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 PredictiveScalingConfiguration」を参照してください。
-
ScheduledActionBufferTime
プロパティがスケーリングプランに存在する場合は、その値を予測スケーリングポリシーのSchedulingBufferTime
プロパティにコピーします。{ "MetricSpecifications":[
...
], "Mode":"ForecastOnly","SchedulingBufferTime":300, ...
}詳細については、Amazon EC2 Auto Scaling API PredictiveScalingConfiguration」を参照してください。
-
PredictiveScalingMaxCapacityBehavior
およびPredictiveScalingMaxCapacityBuffer
プロパティがスケーリングプランに存在する場合は、予測スケーリングポリシーでMaxCapacityBreachBehavior
およびMaxCapacityBuffer
プロパティを設定できます。これらのプロパティは、予測キャパシティが Auto Scaling グループに指定された最大キャパシティに近づいた場合、または超えた場合に何が起こるかを定義します。警告
MaxCapacityBreachBehavior
プロパティを に設定するとIncreaseMaxCapacity
、増加した最大容量を監視および管理しない限り、意図したよりも多くのインスタンスが起動する可能性があります。最大容量の増加は、手動で更新するまで Auto Scaling グループの新しい通常の最大容量になります。最大容量は自動的に元の最大容量まで減少しません。{ "MetricSpecifications":[
...
], "Mode":"ForecastOnly", "SchedulingBufferTime":300,"MaxCapacityBreachBehavior": "IncreaseMaxCapacity", "MaxCapacityBuffer": 10
}詳細については、Amazon EC2 Auto Scaling API PredictiveScalingConfiguration」を参照してください。
-
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 グループを選択し、リストから Auto Scaling グループの名前を選択します。
-
自動スケーリングタブの予測スケーリングポリシーで、ポリシーを選択します。
-
[モニタリング] セクションでは、ポリシーの負荷およびキャパシティに関する過去および今後の予測を実際の値と比較できます。
詳細については、「Amazon EC2 Auto Scaling ユーザーガイド」の「予測スケーリングのモニタリンググラフを確認する」を参照してください。 Amazon EC2 Auto Scaling
-
作成した予測スケーリングポリシーごとに、これらのステップを繰り返します。
ステップ 4: スケーリングプランを削除する準備をする
既存のターゲット追跡スケーリング設定を持つリソースについては、以下を実行して、スケーリングプランを削除する前に必要な追加情報を収集します。
スケーリングプランからスケーリングポリシー情報を記述するには、describe-scaling-plan-resourcesmy-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-planmy-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
) を開きます。 -
ナビゲーションペインで、クラスターを選択し、リストからクラスターの名前を選択します。
-
サービスセクションで、サービスの横にあるチェックボックスを選択し、更新を選択します。
-
[必要なタスク] で、サービスのために実行するタスクの数を入力します。
-
[Update] (更新) を選択します。
スポットフリートの容量を増やすには
-
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
– ターゲットサービスの名前空間 (例:
)。サービス名前空間を取得するには、RegisterScalableTarget リファレンスを参照してください。ecs
-
--scalable-dimension
– ターゲットリソースに関連付けられたスケーラブルなディメンション (例:
)。スケーラブルなディメンションを取得するには、RegisterScalableTarget リファレンスを参照してください。ecs:service:DesiredCount
-
--resource-id
– ターゲットリソースのリソース ID (例:
)。特定のリソース IDs の構文と例については、RegisterScalableTarget リファレンスを参照してください。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 ユーザーガイド」の「Define cooldown periods」を参照してください。
追加情報
コンソールから新しい予測スケーリングポリシーを作成する方法については、次のトピックを参照してください。
-
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 ECS – Amazon Elastic Container Service デベロッパーガイドのコンソールを使用したサービスの更新。
-
スポットフリート — 「Amazon EC2 ユーザーガイド」の「ターゲット追跡ポリシーを使用してスポットフリートをスケールする」。 Amazon EC2