のスケジュールに基づくスケーリングAmazon EC2 Auto Scaling - Amazon EC2 Auto Scaling (日本語)

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

のスケジュールに基づくスケーリングAmazon EC2 Auto Scaling

スケジュールされたスケーリングでは、独自のスケーリングスケジュールを設定できます。たとえば、毎週、ウェブアプリケーションへのトラフィックが水曜日に増え始め、木曜日は高いままで、金曜日に減り始めるとします。このような場合は、ウェブアプリケーションの予測可能なトラフィックパターンに基づいてスケーリングアクションを計画できます。スケーリングアクションは、時刻と日付に応じて自動的に実行されます。

注記

予測可能な負荷の変化に基づくスケーリングの場合は、AWS Auto Scaling の予測スケーリング機能も使用できます。詳細については、AWS Auto Scaling ユーザーガイド を参照してください。

スケジュールに基づいてスケーリングするように Auto Scaling グループを設定するには、スケジュールされたアクションを作成します。スケジュールされたアクションは、特定の時刻にスケーリングアクションを実行するように Amazon EC2 Auto Scaling に指示します。スケジュールされたスケーリングアクションを作成するには、スケーリングアクションが有効になる開始時間と、そのスケーリングアクションでの新しい最小サイズ、最大サイズ、および希望するサイズを指定します。指定した時間に、Amazon EC2 Auto Scaling はスケーリングアクションで指定された最小サイズ、最大サイズ、および希望するサイズの値でグループを更新します。

1 回のみ、または定期的なスケジュールでスケールする、スケジュールされたアクションを作成できます。

Considerations

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

  • スケジュールされたアクションは、最小サイズ、最大サイズ、および希望のサイズを、スケジュールされたアクションで指定された時間にスケジュールされたアクションによって指定されたサイズに設定します。古い値を追跡しないため、終了時間後に古い値に戻りません。

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

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

  • スケジュールされたアクションには、一意の時間値が必要です。他のスケーリングアクティビティがすでにスケジュールされているときにアクティビティをスケジュールしようとすると、呼び出しは拒否され、競合を知らせるエラーメッセージが表示されます。

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

  • スケジュールされたアクションは、終了時刻に達するとアカウントに残りません。

  • スケジュールされたアクションを削除せずに、スケジュールされたスケーリングを一時的に無効にできます。詳細については、を参照してください スケーリングプロセスの中断と再開

  • クールダウン期間はサポートされていません。

  • スケーリングアクションを Amazon EC2 以外のリソースに対してスケジュールすることもできます。詳細については、 の「スケジュールされたスケーリング」を参照してくださいApplication Auto Scaling ユーザーガイド

スケジュールされたアクションを作成および管理する (コンソール)

コンソールを使用して、スケジュールされたアクションは 1 回のみ、または反復してスケーリングするように作成できます。スケジュールされたアクションを作成して Auto Scaling グループをスケーリングするには、以下の手順を実行します。

Auto Scaling グループに対してスケジュールされたアクションを作成するには

  1. https://console.aws.amazon.com/ec2/ で Amazon EC2 コンソールを開きます。

  2. ナビゲーションペインの [AUTO SCALING] で、[Auto Scaling グループ] を選択します。

  3. Auto Scaling グループの横にあるチェックボックスをオンにします。

    [Auto Scaling グループ] ページの下部に分割ペインが開き、選択したグループに関する情報が表示されます。

  4. [Automatic scaling (自動スケーリング)] タブの [Scheduled actions (スケジュールされたアクション)] で、[Create scheduled action (スケジュールされたアクションの作成)] を選択します。

  5. [Create scheduled action (スケジュールされたアクションの作成)] ダイアログボックスで、次の操作を行います。

    • [Name (名前)] に、予定アクションの名前を入力します。

    • 次の値の少なくとも 1 つを使用してグループのサイズを指定します。MinMax、または Desired キャパシティー

    • [繰り返し] のオプションを選択します。[Once (1 回)] を選択した場合、アクションは指定された時刻に実行されます。[Cron] を選択した場合は、いつアクションを実行するかを UTC で指定する Cron 式を入力します。[Every (毎)] で始まるオプションを選択した場合、cron 式が作成されます。

    • [繰り返し] として [Once (一度)] を選択した場合は、アクションを開始時刻で実行する日時を指定します

    • 繰り返しアクションの場合は、[Start time (開始時間)] と [End time (終了時間)] の両方の値を指定できます。開始時刻を指定した場合、アクションが実行される最も早い時刻はその時刻です。終了時刻を指定すると、この時刻以降にアクションの繰り返しが停止します。

  6. [作成] を選択します。

スケジュールされたアクションの更新

要件が変化した場合は、スケジュールされたアクションを変更できます。

スケジュールされたアクションを更新するには

  1. https://console.aws.amazon.com/ec2/ で Amazon EC2 コンソールを開きます。

  2. ナビゲーションペインの [AUTO SCALING] で、[Auto Scaling グループ] を選択します。

  3. Auto Scaling グループの横にあるチェックボックスをオンにします。

    [Auto Scaling グループ] ページの下部に分割ペインが開き、選択したグループに関する情報が表示されます。

  4. [Automatic scaling (自動スケーリング)] タブの [Scheduled actions (スケジュールされたアクション)] で、スケジュールされたアクションを選択します。

  5. [Actions]、[Edit] の順に選択します。

  6. [Edit scheduled action (スケジュールされたアクションの編集)] ダイアログボックスで、次の操作を行います。

    • [Min (最小)]、[Max (最大)] または [Desired capacity (希望する容量)] を使用して、必要に応じてグループのサイズを変更します。

    • 必要に応じて、指定された繰り返しを更新します。

    • 必要に応じて、開始時刻と終了時刻を更新します。

  7. [Save changes] を選択します。

スケジュールされたアクションを削除する

スケジュールされたアクションが不要になったら、削除できます。

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

  1. https://console.aws.amazon.com/ec2/ で Amazon EC2 コンソールを開きます。

  2. ナビゲーションペインの [AUTO SCALING] で、[Auto Scaling グループ] を選択します。

  3. Auto Scaling グループを選択します。

  4. [Automatic scaling (自動スケーリング)] タブの [Scheduled actions (スケジュールされたアクション)] で、スケジュールされたアクションを選択します。

  5. [ Actions] で、[Delete ] を選択します。

  6. 確認を求めるメッセージが表示されたら、[Yes, Delete (はい、削除します)] を選択します。

スケジュールされたアクションを作成および管理する (AWS CLI)

put-scheduled-update-group-action コマンドを使用して、スケジュールされたアクションは 1 回のみ、または反復してスケーリングするように作成して更新できます。

1 回のみスケーリングするには

1 回のみのスケジュールを指定して、特定の日時 (UTC) に Auto Scaling グループが自動的にスケーリングされるようにできます。

  • 特定の日時に Auto Scaling グループで実行中のインスタンスの数を減らすには、以下のコマンドを使用します。--start-time に指定された日時に、グループの現在のインスタンス数が 2 以上である場合、グループは 1 インスタンスにスケールインされます。

    aws autoscaling put-scheduled-update-group-action --scheduled-action-name my-one-time-action \ --auto-scaling-group-name my-asg --start-time "2019-05-13T08:00:00Z" --desired-capacity 1
  • 特定の日時に Auto Scaling グループで実行中のインスタンスの数を増やすには、以下のコマンドを使用します。--start-time に指定された日時に、グループの現在のインスタンス数が 3 未満である場合、グループは 3 インスタンスにスケールアウトされます。

    aws autoscaling put-scheduled-update-group-action --scheduled-action-name my-one-time-action \ --auto-scaling-group-name my-asg --start-time "2019-05-12T08:00:00Z" --desired-capacity 3

定期的なスケジュールでスケーリングするには

Unix の cron 構文形式を使用して定期的なスケーリングをスケジュールできます。この形式は、空白で区切られた 5 つのフィールドで構成されます。[分] [時間] [Day_of_Month] [Month_of_year] [Day_of_Week]。この形式の詳細については、「Crontab」を参照してください。

以下の put-scheduled-update-group-action コマンドを使用して、毎年 1 月 1 日、6 月 1 日、12 月 1 日の 00:30 に実行するスケジュールされたアクションを作成します。

aws autoscaling put-scheduled-update-group-action --scheduled-action-name my-recurring-action \ --auto-scaling-group-name my-asg --recurrence "30 0 1 1,6,12 *" --desired-capacity 3

スケジュールされたアクションを削除する

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

以下の delete-scheduled-action コマンドを使用します。

aws autoscaling delete-scheduled-action --scheduled-action-name my-recurring-action