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

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

Application Auto Scaling のスケジュールされたスケーリング

スケジュールに基づいたスケーリングにより、予想可能な負荷の変化に応じて独自のスケーリングスケジュールを設定できます。たとえば、毎週、ウェブアプリケーションへのトラフィックが水曜日に増え始め、木曜日は高いままで、金曜日に減り始めるとします。Application Auto Scaling のスケジュールを設定して、水曜日に容量を増やし、金曜日に減らすようにすることができます。

スケジュールされたスケーリングを使用するには、のスケジュールされたアクションで、特定の時間にスケーリングアクティビティを実行するように Application Auto Scaling に指示します。スケジュールされたアクションを作成する際、スケーラブルなターゲット、スケーリングアクティビティが起こる時刻、最小容量、最大容量を指定できます。スケジュールされたアクションは1回だけ、または反復して行われるように作成できます。

指定された時間に、Application Auto Scaling は、現在の容量と指定された最小容量と最大容量を比較して、新しい容量値に基づいてスケーリングします。

  • 現在の容量が、指定された最小容量を下回る場合、Application Auto Scaling は、指定された最小容量までスケールアウトします。

  • 現在の容量が指定された最大容量を上回る場合、Application Auto Scaling は指定された最大容量までスケールイン (減少します) します。

スケジュールされたスケーリングポリシーとスケーリングポリシーを同じリソース上で一緒に使用することで、両方のメリットを得ることができます。スケジュールされたアクションが実行された後も、スケーリングポリシーは、さらに容量を拡張するかどうかについて引き続き決定を下すことができます。これにより、アプリケーションの負荷を処理するのに十分な容量を確保できます。アプリケーションは需要に合わせて拡張されますが、現在の容量は、スケジュールされたアクションで設定された最小容量と最大容量内に収まる必要があります。

スケジュールされたスケーリングの使用例については、ブログの投稿スケジューリングAWS Lambda定期的なピーク使用量に対するプロビジョニングされた同時実行性] のAWSブログを計算。サンプルを使用してスケジュールされたアクションを作成する方法を説明しているチュートリアルについては、AWSリソースについては、AWS CLI を使用した開始方法

Considerations

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

  • スケジュールされたアクションは、MinCapacityおよびMaxCapacityスケジュールされたアクションで指定された時間に指定されたサイズに設定します。

  • 既定では、時刻は協定世界時 (UTC) です。ワンタイムスケジュールまたは定期的なスケジュールを cron 式で指定する場合、ローカルタイムゾーンまたはネットワークの他の部分のタイムゾーンに対応するタイムゾーンに変更できます。夏時間を監視するタイムゾーンを指定すると、夏時間 (DST) に合わせて自動的に調整されます。

  • 定期的なスケジュールを指定する場合は、開始時刻、終了時刻、またはその両方の日付と時刻を指定できます。

    • 開始時刻と終了時刻は UTC で設定する必要があります。開始時刻と終了時刻のタイムゾーンの変更はサポートされていません。

    • 開始時刻を指定した場合、Application Auto Scaling はその時刻にアクションを実行し、指定された繰り返しに基づいてアクションを実行します。

    • 終了時刻を指定すると、この時刻以降にアクションの繰り返しが停止します。Application Auto Scaling は、以前の値を追跡しないため、終了時間後に以前の値に戻りません。

  • スケジュールされたアクションの名前は、指定されたスケーラブルなターゲット上の他のすべてのスケジュールされたアクション間で一意である必要があります。

  • Application Auto Scaling は、同じスケーラブルターゲットに対してスケジュールされたアクションが実行される順序を保証しますが、スケーラブルターゲット間でスケジュールされたアクションが実行される順序を保証することはできません。

  • Application Auto Scaling とターゲットサービスが持つ分散性の特質により、スケジュールされたアクションがトリガーされてから、ターゲットサービスがスケーリングアクションを適用するまでの遅延は、数秒となる可能性があります。スケジュールされたアクションは指定された順序で実行されるため、スケジュールされたアクションの実行には時間がかかる可能性があります。

スケジュールされたアクションの作成、管理、削除によく使用されるコマンド

スケジュールスケーリングを操作するために一般的に使用されるコマンドは次のとおりです。

  • register-scalable-target登録するにはAWSまたはカスタムリソースをスケーラブルターゲット(Application Auto Scaling がスケーリングできるリソース)として使用し、スケーリングを一時停止および再開します。

  • put-scheduled-action既存のスケーラブルなターゲットのスケジュールされたアクションを追加または変更するには

  • describe-scaling-activitiesでスケーリングアクティビティに関する情報を返すAWSリージョン。

  • describe-scheduled-actionsスケジュールされたアクションに関する情報を返すAWSリージョン。

  • delete-scheduled-actionスケジュールされたアクションを削除するには

注記

ターゲットサービスのコンソールでスケジュールされたアクションを設定すると (サービスがサポートしている場合)、によりリソースがスケーラブルなターゲットとして自動的に登録されます。

簡潔にするため、このガイドの例は、Application Auto Scaling と統合されている一部のサービスに対する CLI コマンドを示しています。別のスケーラブルなターゲットを指定するには、--service-namespace で名前空間を、--scalable-dimension でそのスケーラブルなディメンションを、--resource-id でそのリソース ID をそれぞれ指定します。各オプションの有効な値のリストについては、「register-scalable-target」を参照してください。

Limitations

スケジュールされたスケーリングを使用する際の制約事項は以下の通りです。

  • Application Auto Scaling は、スケジュール式で秒レベルの精度を提供しません。Cron 式を使用した最小の粒度は1分です。

  • スケーラブルなターゲットは、Amazon MSK クラスターにすることはできません。スケジュールされたスケーリングは、Amazon MSK ではサポートされていません。