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 はこの時刻にアクションを実行し、指定された反復に基づくアクションを実行します。

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

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

Time zone (タイムゾーン)

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

有効な値は、Internet Assigned Numbers Authority (IANA) Time Zone データベースのタイムゾーンの正規名です。例えば、米国東部時間は正規に として識別されます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 から始まります。

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

考慮事項

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

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

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

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

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

制限事項

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

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

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