

# 期間のリファレンス
<a name="period-reference"></a>

期間には、インスタンスを実行する特定の時間、日、月を設定できる条件が含まれています。期間には複数の条件を含めることができますが、AWS での Instance Scheduler で適切な開始アクションまたは停止アクションを適用するには、すべての条件が true である必要があります。

## 開始時刻と停止時刻
<a name="start-and-stop-times"></a>

`begintime` フィールドと `endtime` フィールドは、AWS での Instance Scheduler がインスタンスをいつ開始し、いつ停止するのかを定義します。開始時刻のみを指定する場合は、インスタンスを手動で停止する必要があります。[weekdays](#days-of-the-week) フィールドに値を指定した場合は、ソリューションはその値を使用してインスタンスを停止するタイミングを決定することに注意してください。例えば、`begintime` を午前 9 時に指定し、`endtime` なしで weekdays の値を月曜日から金曜日までにすると、インスタンスは、隣接する期間をスケジュールしていない限り、金曜日の午後 11 時 59 分に停止されます。

同様に、停止時刻のみを指定する場合は、インスタンスを手動で起動する必要があります。どちらの時間も指定しない場合、このソリューションでは、曜日、その月の日数、または月のルールを使用して、必要に応じて、各日の開始/終了時にインスタンスを開始および停止します。

期間の `begintime` と `endtime` の値は、スケジュールで指定されたタイムゾーンである必要があります。スケジュールでタイムゾーンを指定しない場合、ソリューションの起動時に指定されたタイムゾーンを使用します。

スケジュールに複数の期間が含まれる場合は、必ず期間の `begintime` と `endtime` の両方を指定することをお勧めします。

指定した開始時間より前にインスタンスを起動した場合は、そのインスタンスは実行期間の終了まで実行されます。例えば、ユーザーがインスタンスを毎日午前 9 時に開始し、そのインスタンスを午後 5 時に停止する期間を定義できます。

 **9 時から 5 時でスケジュールされた開始と停止** 

![\[image6\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/instance-scheduler-on-aws/images/image6.png)


午前 5 時にそのインスタンスを手動で開始した場合は、ソリューションは午後 5 時にインスタンスを停止します。[retain\$1running フィールド](schedule-reference.md#retain-running-field)を使用すると、ソリューションは午後 5 時にインスタンスを停止しません。

 **午前 5 時にスケジュールされた停止** 

![\[image7\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/instance-scheduler-on-aws/images/image7.png)


指定した停止時間より前にインスタンスを停止した場合は、そのインスタンスは次の実行期間の開始まで実行されません。前述の例えから引き続き、ユーザーが水曜日の午後 1 時にインスタンスを停止した場合は、このソリューションは木曜日の午前 9 時までそのインスタンスを起動しません。

 **タイムラインは、スケジュールされた開始時刻は午前 9 時、手動停止時刻は午後 1 時、スケジュールされた停止時刻は午後 5 時であることを示しています。**

![\[image8\]](http://docs.aws.amazon.com/ja_jp/solutions/latest/instance-scheduler-on-aws/images/image8.png)


### 隣接期間
<a name="adjacent-periods"></a>

スケジュールに隣接する 2 つの実行期間が含まれている場合、このソリューションは実行インスタンスを停止しません。例えば、ある期間の `endtime` が午後 11:59 で、別の期間の `begintime` が翌日の午前 0 時である場合は、インスタンスを停止する `weekdays`、`monthdays`、または `months` のルールがないとソリューションはインスタンスの実行を停止しません。

月曜日の午前 9 時から金曜日の午後 5 時までインスタンスを実行するスケジュールを実装するには、次の 3 つの期間が必要です。1 つ目は、月曜日の午前 9 時から午後 11 時 59 分まで該当インスタンスを実行する期間です。2 つ目は、火曜日の午前 0 時から木曜日の午後 11 時 59 分までインスタンスを実行する期間です。3 つ目は、金曜日の午前 0 時から金曜日の午後 5 時までインスタンスを実行する期間です。詳細については、「[サンプルスケジュール](sample-schedules.md)」を参照してください。

## 曜日
<a name="days-of-the-week"></a>

`weekdays` フィールドは、インスタンスを実行する曜日を定義します。曜日のリスト、曜日の範囲、その月の第 n^th^ 曜日 (その月で n 回目の該当曜日)、またはその月の最後曜日を指定できます。このソリューションでは、省略形の曜日名 (Mon) と数字 (0) がサポートされています。

## 月の日数
<a name="days-of-the-month"></a>

`monthdays` フィールドは、インスタンスを実行する月の日数を定義します。日のリスト、日の範囲、その月の n^th^ 日ごと、月の最終日、または特定の日付に最も近い平日を指定できます。

## 月
<a name="months"></a>

`months` フィールドは、インスタンスを実行する月を定義します。月のリスト、月の範囲、またはその年のある月を起点に n^th^ 月毎を指定できます。このソリューションでは、省略形の月名 (Jan) と数字 (1) がサポートされています。

## 期間の定義
<a name="period-definitions"></a>

Amazon DynamoDB の AWS での Instance Scheduler 設定テーブルには、期間の定義が含まれています。期間の定義には、次のフィールドを含めることができます。一部のフィールドでは、[Cron 非標準文字](https://en.wikipedia.org/wiki/Cron#Non-Standard_Characters)がサポートされています。

**重要**  
begintime、endtime、weekdays、months、または monthdays のうち、少なくとも 1 つ指定する必要があります。


| フィールド | 説明 | 
| --- | --- | 
|   `begintime`   |  インスタンスが起動する時刻 (**HH:MM** 形式)  | 
|   `description`   |  期間の説明 (オプション)  | 
|   `endtime`   |  インスタンスが停止する時間 (**HH:MM** 形式)  | 
|   `months`   |  インスタンスを実行する月のカンマ区切りリスト、またはハイフンで区切られた月範囲を入力します。例えば、`jan, feb, mar` または `1, 2, 3` と入力して、その月にインスタンスを実行します。または、`jan-mar` または `1-3` と入力することもできます。 また、n^th^ 番目の月ごと、またはある範囲の n^th^ 番目の月ごとに実行するようにインスタンスをスケジュールすることもできます。例えば、`Jan/3` または `1/3` と入力して、1 月から 3 か月ごとにインスタンスを実行します。1 月から 7 月まで 1 か月おきに実行するには、`Jan-Jul/2` と入力します。  | 
|   `monthdays`   |  インスタンスを実行する月の日のカンマ区切りリスト、またはハイフンで区切られた日付範囲を入力します。例えば、`1, 2, 3` または `1-3` と入力して、月の最初の 3 日間にインスタンスを実行します。複数の範囲を入力することもできます。例えば、`1-3`、`7-9` と入力して、1^st^ から 3^rd^、7^th^ から 9^th^ までのインスタンスを実行させます。 また、月の n^th^ 日ごと、またはある範囲の月の n^th^ 日ごとにインスタンスを実行するようにインスタンスをスケジュールすることもできます。例えば、1^st^ 日目から 7 日ごとにインスタンスを実行するには、`1/7` と入力します。1^st^ 日から 15^th^ 日までの間で 1 日おきにインスタンスを実行するには、`1-15/2` と入力します。 月の最終日にインスタンスを実行するには、`L` と入力します。指定した日付に最も近い平日にインスタンスを実行するには、日付と W を入力します。例えば、15^th^ 日に最も近い平日にインスタンスを実行するには、`15W` と入力します。  | 
|   `name`   |  期間を識別するために使用する名前。この名前は一意にする必要があり、英数字、ハイフン (-)、アンダースコア (\$1) 以外は使用できません。  | 
|   `weekdays`   |  インスタンスを実行する曜日のカンマ区切りリスト、または曜日の範囲を入力します。例えば、`0, 1, 2` または `0-2` と入力して、月曜日から水曜日にインスタンスを実行します。複数の範囲を入力することもできます。例えば、木曜日を除いて毎日インスタンスを実行するには、`0-2`, `4-6` と入力します。 また、その月の曜日の n^th^ 回ごとにインスタンスを実行するようにスケジュールすることもできます。例えば、`Mon#1` または `0#1` と入力して、月の最初の月曜日にインスタンスを実行します。 1 日と L を入力して、その月の曜日の最後の発生時にインスタンスを実行します。例えば、`friL` または `4L` と入力して、月の最終金曜日にインスタンスを実行します。  | 

期間に複数の条件が含まれている場合は、AWS での Instance Scheduler が適切なアクションを適用するには、すべての条件が true である必要があることに注意してください。例えば、値が `Mon#1` の `weekdays` フィールドと値が `Jan/3` の months フィールドを含む期間では、四半期の最初の月曜日にアクションが適用されます。