

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

# Amazon EC2 Auto Scaling のスケジュールされたスケーリング
<a name="ec2-auto-scaling-scheduled-scaling"></a>

スケジュールされたスケーリングでは、予測可能な負荷の変化に基づいてアプリケーションに自動スケーリングを設定できます。特定の時間にグループの希望するキャパシティを増減するスケジュールされたアクションを作成します。

例えば、負荷が週の半ばに増加し、週の終わりに近づくと減少する、週ごとの定期的なトラフィックパターンが発生しているとします。Amazon EC2 Auto Scaling では、このパターンに合わせてスケーリングのスケジュールを次のように設定できます。
+ 水曜日の朝、Auto Scaling グループの前もって設定した希望するキャパシティを増やすというスケジュールされた 1 つのアクションでキャパシティが増加します。
+ 金曜日の夜、Auto Scaling グループの前もって設定した希望するキャパシティを減らすという別のスケジュールされたアクションでキャパシティが減少します。

これらのスケジュールされたスケーリングアクションにより、コストとパフォーマンスを最適化できます。アプリケーションには、週半ばのトラフィックのピークを処理するのに十分なキャパシティがありますが、それ以外の時間帯に不要なキャパシティを過剰にプロビジョニングすることはありません。

スケジュールされたスケーリングとスケーリングポリシーを併用すると、スケーリングに対して両方のアプローチの利点を得ることができます。スケジュールされたスケーリングアクションの実行後、スケーリングポリシーは容量をさらにスケールするかどうかの判断を引き続き行うことができます。これは、アプリケーションの負荷を処理するために十分な容量を確保する上で役立ちます。アプリケーションは需要に合わせてスケールしますが、現行の容量は、スケジュールされたアクションによって設定された最小容量と最大容量内に収まる必要があります。

**Topics**
+ [スケジュールされたスケーリングのしくみ](#scheduled-scaling-how-it-works)
+ [繰り返しのスケジュール](#scheduled-scaling-recurring-schedules)
+ [タイムゾーン](#scheduled-scaling-time-zone)
+ [考慮事項](#scheduled-scaling-considerations)
+ [制限事項](#scheduled-scaling-limitations)
+ [スケジュールされたアクションの作成](scheduled-scaling-create-scheduled-action.md)
+ [スケジュールされたアクションの詳細を表示する](scheduled-scaling-view-scheduled-actions.md)
+ [スケジュールされたアクションの削除](scheduled-scaling-delete-scheduled-action.md)

## スケジュールされたスケーリングのしくみ
<a name="scheduled-scaling-how-it-works"></a>

*スケジュールされたスケーリング*を使用するには、スケジュールされたアクションを作成します。これは、特定の時刻にスケーリングアクティビティを実行するよう Amazon EC2 Auto Scaling に指示します。スケジュールされたアクションを作成するときは、Auto Scaling グループ、スケーリングアクティビティを実行するタイミング、新しい希望するキャパシティを指定し、必要に応じて、新しい最小キャパシティと新しい最大キャパシティも指定します。スケジュールされたアクションは、一度だけスケールする、または定期的なスケジュールに従ってスケールするものを作成できます。

指定された時刻に、Amazon EC2 Auto Scaling は、現在のキャパシティを指定された希望するキャパシティと比較することによって、新しいキャパシティの値に基づいてスケールします。
+ 現在のキャパシティが指定された希望するキャパシティよりも小さい場合、Amazon EC2 Auto Scaling は指定された希望するキャパシティになるようにスケールアウト (つまりインスタンスを追加) します。
+ 現在のキャパシティが指定された希望するキャパシティよりも大きい場合、Amazon EC2 Auto Scaling は指定された希望するキャパシティになるようにスケールイン (つまりインスタンスを削除) します。

スケジュールされたアクションは、指定された日時に、グループの希望するキャパシティ、最小キャパシティ、最大キャパシティを設定します。一度に作成できるスケジュールされたアクションは、これらのキャパシティのいずれか (例えば、希望するキャパシティ) に対してのみです。ただし、最小キャパシティと最大キャパシティを含めてアクションで指定した希望するキャパシティがこれらの制限を超えないようにすることが必要な場合があります。

## 繰り返しのスケジュール
<a name="scheduled-scaling-recurring-schedules"></a>

 AWS CLI または SDK を使用して定期的なスケジュールを作成するには、cron 式とタイムゾーンを指定して、そのスケジュールされたアクションがいつ繰り返されるかを記述します。必要に応じて、開始時刻、終了時刻、またはその両方の日付と時刻を指定できます。

を使用して定期的なスケジュールを作成するには AWS Management Console、スケジュールされたアクションの繰り返しパターン、タイムゾーン、開始時刻、オプションの終了時刻を指定します。すべての反復パターンオプションは、cron 式に基づいています。または、独自のカスタム cron 式を記述することもできます。

このサポートされた cron 式は、スペースで区切られた 5 つのフィールド ([分] [時間] [日] [月] [曜日]) で構成されます。例えば、cron 式 `30 6 * * 2` は毎週火曜日の午前 6:30 に繰り返されるスケジュールされたアクションを設定します。アスタリスクは、フィールドのすべての値を照合するワイルドカードとして使用されます。cron 式の他の例については、([https://crontab.guru/examples.html](https://crontab.guru/examples.html)) を参照してください。この形式で独自の cron 式を記述する方法については、[クロンタブ](http://crontab.org)を参照してください。

開始時刻と終了時刻を慎重に選択します。以下に留意してください。
+ 開始時刻を指定した場合、Amazon EC2 Auto Scaling はこの時刻にアクションを実行し、指定された反復に基づくアクションを実行します。
+ 終了時刻を指定すると、その時刻以降はアクションが反復されなくなります。スケジュールされたアクションは、終了時刻に達するとアカウントに残りません。
+ 繰り返し時刻が終了時刻とちょうど一致した場合、Amazon EC2 Auto Scaling はスケジュールされたアクションを終了時刻に実行しません。
+  AWS CLI または SDK を使用する場合は、開始時刻と終了時刻を UTC で設定する必要があります。

## タイムゾーン
<a name="scheduled-scaling-time-zone"></a>

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

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

`America/New_York` のようなロケーションベースのタイムゾーンは DST に合わせて自動的に調整されます。ただし、`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 に合わせて自動的に調整されます。

## 考慮事項
<a name="scheduled-scaling-considerations"></a>

スケジュールされたアクションを作成する場合、次の点に注意してください。
+ スケジュールされたアクションの実行順序は、それらのアクションが同じグループ内で実行される場合は維持されますが、複数のグループ間で実行される場合は必ずしも維持されません。
+ 通常、スケジュールされたアクションは数秒以内に実行されます。ただし、アクションは、スケジュールされた開始時間から最大 2 分遅れる場合があります。Auto Scaling スケジュールされたグループ内のアクションは指定された順序で実行されるため、開始時間が互いに近い、スケジュールされたアクションの実行には時間がかかる可能性があります。
+ Auto Scaling グループのスケジュールされたスケーリングを一時的にオフにするには、`ScheduledActions` プロセスを一時的停止します。これにより、スケジュールされたアクションを削除せずにアクティブになるのを防ぐことができます。スケジュールされたスケーリングを再度使用する場合は、スケジュールされたスケーリングを再開できます。詳細については、「[Amazon EC2 Auto Scaling プロセスの中断と再開](as-suspend-resume-processes.md)」を参照してください。
+ スケジュールされたアクションを作成した後、名前以外のすべての設定を更新できます。
+ 同じ Auto Scaling グループ内の複数のスケジュールされたアクションが同じ cron 式を持つ場合、実行順序が任意で未定義になります。動作を予測可能にするために、スケジュールされたアクションごとに一意のスケジュールされた開始時間を使用できます。

## 制限事項
<a name="scheduled-scaling-limitations"></a>
+ スケジュールされたアクションの名前は、Auto Scaling グループごとに一意である必要があります。
+ スケジュールされたアクションには、一意の時間値が必要です。別のスケーリングアクティビティがすでにスケジュールされているときにアクティビティをスケジュールしようとすると、呼び出しは拒否され、このスケジュールされた開始時間を持つスケジュールされたアクションがすでに存在していることを示すエラーが返されます。
+ 1 つの Auto Scaling グループあたり最大 125 のスケジュールされたアクションを作成できます。