Amazon EC2 Auto Scaling のスケジュールされたスケーリング - Amazon EC2 Auto Scaling (日本語)

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

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

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

スケジュールされたスケーリングを使用するには、のスケジュールされたアクション。スケジュールされたアクションは、日付と時刻に基づいて自動的に実行されます。スケジュールされたアクションを作成する際、スケーリングアクティビティーが起こる時刻、およびスケーリングアクションの新しい希望するサイズ、最小サイズ、最大サイズを指定できます。スケジュールされたアクションは1回だけ、または反復して行われるように作成できます。

Considerations

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

  • スケジュールされたアクションは、希望するサイズ、最小サイズ、および最大サイズを、スケジュールされたアクションで指定された日時にスケジュールされたアクションによって指定されたサイズに設定します。リクエストには、オプションでこれらのサイズの 1 つだけを含めることができます。たとえば、希望するキャパシティのみを指定してスケジュールされたアクションを作成できます。ただし、アクションで指定した新しい希望する容量がこれらの制限を超えないように、最小サイズと最大サイズを含める必要があります。

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

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

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

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

定期的なスケジュール

Auto Scaling グループを反復してスケーリングする、スケジュールされたアクションを作成できます。

を使用して定期的なスケジュールを作成するには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 はこの時刻にアクションを実行し、指定された繰り返しに基づいてアクションを実行します。

  • 終了時刻を指定すると、この時刻以降にアクションの繰り返しが停止します。スケジュールされたアクションは、終了時刻に達するとアカウントに残りません。

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

スケジュールされたアクションの作成と管理 (コンソール)

このセクションの手順を使用して、スケジュールされたアクションを作成および管理します。AWS Management Console。

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

スケジュールされたアクションの作成

Auto Scaling グループをスケーリングするスケジュールされたアクションを作成して、以下の手順を実行します。

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

  1. Amazon EC2 Auto Scaling コンソール (https://console.aws.amazon.com/ec2autoscaling/

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

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

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

  4. 「」と入力します名前スケジュールされたアクションに対して。

  5. を使用する場合希望する容量,最小,Maxで、グループの新しい希望のサイズと、新しい最小容量と最大容量を選択します。

  6. を使用する場合繰り返し[] で、以下のいずれかの利用可能なオプションを選択します。

    • 定期的なスケジュールに基づいてスケーリングする場合は、Amazon EC2 Auto Scaling がスケジュールされたアクションを実行する頻度を選択します。

      • [Every (毎)] で始まるオプションを選択した場合、cron 式が作成されます。

      • [] を選択した場合Cronに、いつアクションを実行するかを指定する cron 式を入力します。

    • スケーリングを 1 回だけ行う場合は、Once

  7. を使用する場合タイムゾーンで、タイムゾーンを選択します。デフォルト: Etc/UTC

    注記

    リストされているすべてのタイムゾーンは、IANA タイムゾーンデータベースから取得されます。詳細については、「」を参照してください。https://en.wikipedia.org/wiki/List_of_tz_database_time_zones

  8. の日付と時刻を定義します特定の開始時間

    • 定期的なスケジュールを選択した場合、開始時間によって、定期的なシリーズの最初のスケジュールされたアクションが実行されるタイミングが定義されます。

    • [] を選択した場合Onceを反復として使用する場合、開始時刻は、スケジュールアクションを実行する日付と時刻を定義します。

  9. (オプション)定期的なスケジュールの場合は、終了時間の設定の日付と時刻を選択してからEnd

  10. [Create] (作成) を選択します。Auto Scaling グループのスケジュールされたアクションが表示されます。

時刻、日付、およびタイムゾーンの確認

時刻、日付、およびタイムゾーンが正しく構成されているかどうかを確認するには、開始時間,終了時間, およびタイムゾーンの値をスケジュールに基づくアクションテーブルのAuto Scaling[Auto Scaling グループの] タブを選択します。

Amazon EC2 Auto Scaling では、開始時間および終了時間を、指定された日時に有効なUTCオフセットでローカル時間に設定します。UTC オフセットは、現地時間から UTC までの差を時間と分単位で表したものです。値。タイムゾーンは、リクエストされたタイムゾーンを示します。たとえば、America/New_York

ロケーションベースのタイムゾーン(America/New_York夏時間 (DST) に自動的に調整されます。ただし、UTC ベースのタイムゾーンEtc/UTCは絶対時刻であり、DST では調整されません。

たとえば、タイムゾーンがAmerica/New_York。最初のスケーリングアクションはAmerica/New_YorkDST が開始される前のタイムゾーンです。次のスケーリングアクションはAmerica/New_YorkDST 開始後のタイムゾーンです。最初のアクションは現地時間の午前 8:00 UTC-5 から始まり、2 番目のアクションは現地時間の午前 8:00 UTC-4 から始まります。

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

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

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

  1. Amazon EC2 Auto Scaling コンソール (https://console.aws.amazon.com/ec2autoscaling/

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

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

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

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

  5. 必要な変更を加えて、変更の保存

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

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

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

  1. Amazon EC2 Auto Scaling コンソール (https://console.aws.amazon.com/ec2autoscaling/

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

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

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

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

スケジュールされたアクションの作成と管理 (AWS CLI)

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

1 回だけ実行される、スケジュールされたアクションを作成する

Auto Scaling グループを 1 回だけ自動的にスケーリングするには、--start-time "YYYY-MM-DDThh:mm:ssZ"オプション。

例: 1 回のみスケールアウトするには

特定の日時に Auto Scaling グループで実行中のインスタンスの数を増やすには、以下のコマンドを使用します。

に指定された日時に--start-time(2021 年 3 月 31 日の午前 8 時 (UTC)) では、グループの現在のインスタンス数が 3 未満である場合、3 インスタンスにスケールアウトされます。

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

例: 1 回のみスケールインするには

特定の日時に Auto Scaling グループで実行中のインスタンスの数を減らすには、以下のコマンドを使用します。

に指定された日時に--start-time(2021 年 3 月 31 日の午後 4 時 (UTC)) では、グループに 1 つ以上のインスタンスが現在存在する場合、1 インスタンスにスケールインされます。

aws autoscaling put-scheduled-update-group-action --scheduled-action-name my-one-time-action \ --auto-scaling-group-name my-asg --start-time "2021-03-31T16:00:00Z" --desired-capacity 1

定期的なスケジュールで実行されるスケジュールされたアクションを作成する

定期的なスケーリングをスケジュールするには、[--recurrence "cron expression"オプション。

cron 式を指定するスケジュール済みアクションの例を次に示します。

指定されたスケジュール (毎日午前 9:00 (UTC)) で、グループの現在のインスタンス数が 3 未満である場合、は 3 インスタンスにスケールアウトされます。グループに 3 つ以上のインスタンスがある場合は、3 つのインスタンスにスケールインします。

aws autoscaling put-scheduled-update-group-action --scheduled-action-name my-recurring-action \ --auto-scaling-group-name my-asg --recurrence "0 9 * * *" --desired-capacity 3

タイムゾーンを指定する定期的なスケジュールされたアクションを作成する

スケジュールされたアクションは、デフォルトで UTC タイムゾーンに設定されます。別のタイムゾーンを指定するには、--time-zoneオプションを選択し、IANA タイムゾーンの正規名 (America/New_Yorkなど)。詳細については、「」を参照してください。https://en.wikipedia.org/wiki/List_of_tz_database_time_zones

以下は、を使用する例です。--time-zoneオプションを使用すると、キャパシティを拡張するための定期的なスケジュール済みアクションを作成できます。

指定されたスケジュール(毎週月曜日から金曜日の午後6時、現地時間)で、グループのインスタンスが現在2つ未満の場合は、2つのインスタンスにスケールアウトします。現在、グループに 2 つ以上のインスタンスがある場合は、2 つのインスタンスにスケールインします。

aws autoscaling put-scheduled-update-group-action --scheduled-action-name my-recurring-action \ --auto-scaling-group-name my-asg --recurrence "0 18 * * 1-5" --time-zone "America/New_York" \ --desired-capacity 2

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

Auto Scaling グループのスケジュールされたアクションを記述するには、以下のdescribe-scheduled-actionsコマンド。

aws autoscaling describe-scheduled-actions --auto-scaling-group-name my-asg

成功すると、このコマンドは以下のような出力を返します。

{ "ScheduledUpdateGroupActions": [ { "AutoScalingGroupName": "my-asg", "ScheduledActionName": "my-recurring-action", "Recurrence": "30 0 1 1,6,12 *", "ScheduledActionARN": "arn:aws:autoscaling:us-west-2:123456789012:scheduledUpdateGroupAction:8e86b655-b2e6-4410-8f29-b4f094d6871c:autoScalingGroupName/my-asg:scheduledActionName/my-recurring-action", "StartTime": "2020-12-01T00:30:00Z", "Time": "2020-12-01T00:30:00Z", "MinSize": 1, "MaxSize": 6, "DesiredCapacity": 4 } ] }

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

スケジュールされたアクションを削除するには、次のを使用します。delete-scheduled-actionコマンド。

aws autoscaling delete-scheduled-action --auto-scaling-group-name my-asg \ --scheduled-action-name my-recurring-action

Limitations

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

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

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