翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon EC2 Auto Scaling のスケジュールされたスケーリング
スケーリングのスケジュールを設定すると、予測可能な負荷の変化に基づいてアプリケーションの自動スケーリングを設定できます。特定の時間にグループの希望容量を増減するスケジュールアクションを作成します。
たとえば、負荷が週の半ばに増加し、週の終わりに近づくと負荷が減少する、という週ごとの定期的なトラフィックパターンが発生しているとします。Amazon EC2 Auto Scaling では、次のパターンに合わせてスケーリングスケジュールを設定できます。
-
水曜日の朝に予定されている 1 つのアクションで、Auto Scaling グループの以前に設定した希望容量を増やすことで容量を増やします。
-
金曜日の夕方に予定されている別のアクションでは、Auto Scaling グループの以前に設定した希望容量を減らして容量を減らします。
これらのスケジュールされたスケーリングアクションにより、コストとパフォーマンスを最適化できます。アプリケーションには週半ばのトラフィックのピークを処理するのに十分な容量がありますが、それ以外の時間帯に不要な容量を過剰にプロビジョニングすることはありません。
スケジュールされたスケーリングポリシーとスケーリングポリシーを併用することで、両方のスケーリングアプローチのメリットを享受できます。スケジュールされたスケーリングアクションの実行後、スケーリングポリシーは容量をさらにスケールするかどうかの判断を引き続き行うことができます。これは、アプリケーションの負荷を処理するために十分な容量を確保する上で役立ちます。アプリケーションは需要に合わせてスケールしますが、現行の容量は、スケジュールされたアクションによって設定された最小容量と最大容量内に収まる必要があります。
コンテンツ
スケジュールされたスケーリングのしくみ
スケジュールされたスケーリングを使用するには、特定の時間にスケーリングアクティビティを実行するように Amazon EC2 Auto Scaling に指示するスケジュールアクションを作成します。スケジュールされたアクションを作成するときは、Auto Scaling グループ、スケーリングアクティビティを実行するタイミング、新しい希望容量、およびオプションで新しい最小容量と新しい最大容量を指定します。スケジュールされたアクションは、1 度だけスケールする、または定期的なスケジュールに従ってスケールするものを作成できます。
Amazon EC2 Auto Scaling は、指定された時間に、現在の容量を指定された希望容量と比較することにより、新しい容量値に基づいてスケーリングします。
-
現在の容量が指定された希望容量よりも少ない場合、Amazon EC2 Auto Scaling は指定された希望容量にスケールアウトまたはインスタンスを追加します。
-
現在の容量が指定された希望容量よりも大きい場合、Amazon EC2 Auto Scaling は指定された希望容量までインスタンスをスケールインまたは削除します。
スケジュールされたアクションは、指定された日時にグループの必要容量、最小容量、最大容量を設定します。これらのキャパシティのうち一度に 1 つのキャパシティ (希望キャパシティなど) に対してのみスケジュールされたアクションを作成できます。ただし、アクションで指定した希望容量がこれらの制限を超えないように、最小容量と最大容量を含める必要がある場合もあります。
繰り返しのスケジュール
AWS CLI または SDK を使用して定期的なスケジュールを作成するには、cron 式と、スケジュールされたアクションがいつ繰り返されるかを記述するタイムゾーンを指定します。必要に応じて、開始時刻、終了時刻、またはその両方の日付と時刻を指定できます。
を使用して定期的なスケジュールを作成するには AWS Management Console、スケジュールされたアクションの繰り返しパターン、タイムゾーン、開始時間、およびオプションの終了時間を指定します。すべての反復パターンオプションは、cron 式に基づいています。または、独自のカスタム cron 式を記述することもできます。
このサポートされた cron 式は、スペースで区切られた 5 つのフィールド ([分] [時間] [日] [月] [曜日]) で構成されます。例えば、cron 式 30 6 * * 2
は毎週火曜日の午前 6:30 に繰り返されるスケジュールされたアクションを設定します。アスタリスクは、フィールドのすべての値を照合するワイルドカードとして使用されます。cron 式の他の例については、(https://crontab.guru/examples.html
開始時刻と終了時刻を慎重に選択します。以下に留意してください。
-
開始時刻を指定した場合、Amazon EC2 Auto Scaling はこの時刻にアクションを実行し、指定された反復に基づくアクションを実行します。
-
終了時刻を指定すると、その時刻以降はアクションが反復されなくなります。スケジュールされたアクションは、終了時刻に達するとアカウントに残りません。
-
AWS CLI または SDK を使用するときは、開始時刻と終了時刻を UTC で設定する必要があります。
Time zone (タイムゾーン)
デフォルトでは、設定した定期的なスケジュールは協定世界時 (UTC) です。ローカルタイムゾーンまたはネットワークの他の部分のタイムゾーンに対応するタイムゾーンに変更できます。夏時間 (DST) を遵守するタイムゾーンを指定すると、DST に合わせてアクションが自動的に調整されます。
有効な値は、インターネット割り当て番号局 (IANA) のタイムゾーンデータベースにあるタイムゾーンの正規名です。たとえば、米国東部標準時は、と標準的に識別されます。America/New_York
詳細については、https://www.iana.org/time-zones を参照してください。
DST America/New_York
に合わせて自動的に調整されるなど、ロケーションベースのタイムゾーン。ただし、Etc/UTC
のようなUTC ベースのタイムゾーン は絶対時刻であるような DST に調整されません。
例えば、タイムゾーンが America/New_York
である繰り返しのスケジュールがります。最初のスケーリングアクションは、DST が始まる前の America/New_York
でのタイムゾーンで発生します。次のスケーリングアクションは、DST が始まった後の America/New_York
でのタイムゾーンで発生します。最初のアクションは現地時間の午前 8:00 UTC-5 から始まり、2 番目のアクションは現地時間の午前 8:00 UTC-4 から始まります。
を使用してスケジュールされたアクションを作成し、夏時間を守るタイムゾーンを指定すると、 AWS Management Console 定期的なスケジュールと開始時刻と終了時刻の両方が DST に合わせて自動的に調整されます。
考慮事項
スケジュールされたアクションを作成する場合、次の点に注意してください。
-
スケジュールされたアクションの実行順序は、それらのアクションが同じグループ内で実行される場合は維持されますが、複数のグループ間で実行される場合は必ずしも維持されません。
-
通常、スケジュールされたアクションは数秒以内に実行されます。ただし、アクションは、スケジュールされた開始時間から最大 2 分遅れる場合があります。Auto Scaling スケジュールされたグループ内のアクションは指定された順序で実行されるため、開始時間が互いに近い、スケジュールされたアクションの実行には時間がかかる可能性があります。
-
Auto Scaling グループのスケジュールされたスケーリングを一時的にオフにするには、
ScheduledActions
プロセスを一時的停止します。これにより、スケジュールされたアクションを削除せずにアクティブになるのを防ぐことができます。スケジュールされたスケーリングを再度使用する場合は、スケジュールされたスケーリングを再開できます。詳細については、「Amazon EC2 Auto Scaling プロセスの一時停止と再開」を参照してください。 -
スケジュールされたアクションを作成した後、名前以外のすべての設定を更新できます。
スケジュールされたアクションの作成
Auto Scaling グループのスケジュールされたアクションを作成するには、以下の方法のいずれかを使用します。
スケジュールされたアクションの詳細を表示します。
Auto Scaling グループの今後予定されているアクションの詳細を表示するには、以下の方法のいずれかを使用します。
スケーリングアクティビティを確認してください。
スケジュールされたスケーリングに関連するスケーリングアクティビティを確認する方法については、を参照してくださいAuto Scaling グループのスケーリングアクティビティを検証する。
スケジュールされたアクションの削除
スケジュールされたアクションを削除するには、以下の方法のいずれかを使用します。
制限事項
-
スケジュールされたアクションの名前は、Auto Scaling グループごとに一意である必要があります。
-
スケジュールされたアクションには、一意の時間値が必要です。別のスケーリングアクティビティがすでにスケジュールされているときにアクティビティをスケジュールしようとすると、呼び出しは拒否され、このスケジュールされた開始時間を持つスケジュールされたアクションがすでに存在していることを示すエラーが返されます。
-
1 つの Auto Scaling グループあたり最大 125 のスケジュールされたアクションを作成できます。