Amazon EC2 Auto Scaling のスケジュールされたスケーリング - Amazon EC2 Auto Scaling

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

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。この形式で独自の cron 式を記述する方法については、クロンタブを参照してください。

開始時刻と終了時刻を慎重に選択します。以下に留意してください。

  • 開始時刻を指定すると、Amazon EC2 Auto Scaling はこの時点でアクションを実行し、指定された繰り返しに基づいてアクションを実行します。

  • 終了時刻を指定すると、その時刻以降はアクションが反復されなくなります。スケジュールされたアクションは、終了時刻に達するとアカウントに残りません。

  • 繰り返し時間が終了時刻と正確に一致する場合、Amazon EC2 Auto Scaling は終了時刻にスケジュールされたアクションを実行しません。

  • AWS CLI または UTCを使用する場合は、開始時刻と終了時刻を で設定する必要がありますSDK。

Time zone (タイムゾーン)

デフォルトでは、設定した定期的なスケジュールは協定世界時 () ですUTC。ローカルタイムゾーンまたはネットワークの他の部分のタイムゾーンに対応するタイムゾーンに変更できます。夏時間 (DST) を遵守するタイムゾーンを指定すると、アクションは自動的に に合わせて調整されますDST。

有効な値は、Internet Assigned Numbers Authority (IANA) Time Zone データベースのタイムゾーンの正規名です。例えば、米国東部時間は正規に として識別されますAmerica/New_York。詳細については、https://www.iana.org/time-zones を参照してください。

などの場所ベースのタイムゾーンは、 に合わせてAmerica/New_York自動的に調整されますDST。ただし、 などの UTCベースのタイムゾーンEtc/UTCは絶対時間であり、 では調整されませんDST。

例えば、タイムゾーンが America/New_York である繰り返しのスケジュールがります。最初のスケーリングアクションは、 がDST開始する前のAmerica/New_Yorkタイムゾーンで実行されます。次のスケーリングアクションは、 DSTの開始後、America/New_Yorkタイムゾーンで実行されます。最初のアクションは現地時間の午前 8 時 UTC00 分~5 時に開始され、2 回目は現地時間の午前 8 時UTC~4 時に開始されます。

を使用してスケジュールされたアクションを作成し、 を監視するタイムゾーンを指定する AWS Management Console とDST、定期的なスケジュールと開始時刻と終了時刻の両方が に対して自動的に調整されますDST。

考慮事項

スケジュールされたアクションを作成する場合、次の点に注意してください。

  • スケジュールされたアクションの実行順序は、それらのアクションが同じグループ内で実行される場合は維持されますが、複数のグループ間で実行される場合は必ずしも維持されません。

  • スケジュールされたアクションは通常、数秒以内に実行されます。ただし、アクションは、スケジュールされた開始時間から最大 2 分遅れる場合があります。Auto Scaling スケジュールされたグループ内のアクションは指定された順序で実行されるため、開始時間が互いに近い、スケジュールされたアクションの実行には時間がかかる可能性があります。

  • Auto Scaling グループのスケジュールされたスケーリングを一時的にオフにするには、ScheduledActions プロセスを一時的停止します。これにより、スケジュールされたアクションを削除せずにアクティブになるのを防ぐことができます。スケジュールされたスケーリングを再度使用する場合は、スケジュールされたスケーリングを再開できます。詳細については、「Amazon EC2 Auto Scaling プロセスの一時停止と再開」を参照してください。

  • スケジュールされたアクションを作成した後、名前以外のすべての設定を更新できます。

制限事項

  • スケジュールされたアクションの名前は、Auto Scaling グループごとに一意である必要があります。

  • スケジュールされたアクションには、一意の時間値が必要です。別のスケーリングアクティビティがすでにスケジュールされているときにアクティビティをスケジュールしようとすると、呼び出しは拒否され、このスケジュールされた開始時間を持つスケジュールされたアクションがすでに存在していることを示すエラーが返されます。

  • 1 つの Auto Scaling グループあたり最大 125 のスケジュールされたアクションを作成できます。