スケジュールのリファレンス - AWS での Instance Scheduler

スケジュールのリファレンス

スケジュールでは、そのスケジュールでタグ付けされたインスタンスを実行するタイミングを指定します。各スケジュールには一意の名前が必要です。この名前は、タグ付けされたリソースに適用するスケジュールを識別するタグとして使用されます。

期間

各スケジュールには、インスタンスを実行する時間を定義する期間を少なくとも 1 つ含める必要があります。スケジュールには複数の期間を含めることができます。スケジュールで 1 つ以上の期間が使用されている場合、AWS での Instance Scheduler は、少なくとも 1 つの期間が true であれば、適切な開始アクションを適用します。詳細については、「期間のリファレンス」を参照してください。

タイムゾーン

スケジュールのタイムゾーンを指定することもできます。タイムゾーンを指定しない場合は、ソリューションを起動するときに指定したデフォルトのタイムゾーンがスケジュールで使用されます。許容されるタイムゾーン値のリストについては、TZ データベースのタイムゾーンのリストTZ 列を参照してください。

hibernate フィールド

hibernate フィールドでは、Amazon EC2 インスタンスを停止させる際にハイバネーション (休止) を使用できます。このフィールドが true に設定されている場合、EC2 インスタンスではハイバネーションをサポートする Amazon マシンイメージ (AMI) を使用する必要があります。詳細については、Amazon EC2 ユーザーガイドの「Linux AMI」を参照してください。休止状態に入ると、インスタンスメモリ (RAM) に置かれていた内容が、Amazon Elastic Block Store (Amazon EBS) のルートボリュームに保存されます。このフィールドを true に設定すると、ソリューションによってインスタンスが停止したときに、インスタンスは停止するのではなく休止状態になります。

ハイバネーションを使用するようにソリューションを設定しても、インスタンスがハイバネーションに設定がされていない、またはハイバネーションの前提条件を満たしていない場合、ソリューションは警告をログに記録し、インスタンスはハイバネーションなしで停止します。詳細については、Amazon EC2 ユーザーガイドの「Amazon EC2 インスタンスの休止」を参照してください。

enforced フィールド

スケジュールには、インスタンスが実行期間外に手動で起動されたり、実行期間中に手動で停止されたりすることを防ぐための enforced フィールドが含まれています。このフィールドを true に設定している状態でユーザーが実行期間外に手動でインスタンスを起動すると、ソリューションはインスタンスを停止します。このフィールドが true に設定されていると、実行期間中に手動で停止されるインスタンスも再起動されます。

retain_running フィールド

retain_running フィールドは、期間の開始前にインスタンスを手動で起動した場合に、ソリューションが実行期間の終了時にインスタンスを停止しないようにします。例えば、午前 9 時から午後 5 時まで実行する期間のインスタンスを午前 9 時より前に手動で起動した場合、ソリューションは午後 5 時にインスタンスを停止しません。

Systems Manager メンテナンスウィンドウのフィールド (EC2 インスタンスのみに適用)

ssm-maintenance-window フィールドでは、AWS Systems Manager のメンテナンスウィンドウを実行期間として自動的にスケジュールに追加できます。Amazon EC2 インスタンスと同じアカウントと AWS リージョンに存在するメンテナンスウィンドウの名前を指定すると、ソリューションはメンテナンスウィンドウの開始の少なくとも 10 分前にインスタンスを起動し、他の実行期間でインスタンスを実行するように指定されていない場合は、メンテナンスウィンドウの終了時にインスタンスを停止します。

SSM メンテナンスウィンドウが作成され、SSM メンテナンスウィンドウの名前でスケジュールが設定されると、次回にスケジュールされている Lambda の実行時に変更が反映されます。例えば、スケジューラー Lambda の実行頻度を 5 分に設定した場合、メンテナンスウィンドウの変更は次の 5 分間隔で Lambda によって反映されます。

AWS での Instance Scheduler では、メンテナンスウィンドウの開始の少なくとも 10 分前にインスタンスが起動されるようにします。Scheduling Interval AWS CloudFormation パラメータに設定した値によっては、インスタンスが少なくとも 10 分早く起動するように、インスタンスがメンテナンスウィンドウの開始の 10 分以上前に起動される場合があります。たとえば、Scheduling Interval を 30 分に設定した場合、スケジューラーはメンテナンスウィンドウが開始する 10~40 分前にインスタンスを起動します。

注記

この機能を使用するには、ソリューションハブスタックの Enable EC2 SSM Maintenance Windows CloudFormation パラメータを yes に設定する必要があります。

詳細については、AWS Systems Manager ユーザーガイドの「AWS Systems Manager Maintenance Windows」を参照してください。

インスタンスタイプ

Amazon EC2 インスタンスの場合のみ、スケジュールの各期間にオプションとしてインスタンスタイプを指定できます。期間にインスタンスタイプを指定すると、ソリューションはリクエストされたインスタンスタイプに合わせて EC2 インスタンスのサイズを自動的に変更します。

インスタンスタイプを指定するには、<period-name>@<instance-type> 構文を使用します。例えば、weekends@t2.nano。Amazon EC2 インスタンスと Amazon RDS のインスタンスをスケジュールする期間のインスタンスタイプを指定した場合、そのインスタンスタイプは Amazon RDS インスタンスでは無視されることに注意してください。

実行中のインスタンスのインスタンスタイプが、その期間に指定されたインスタンスタイプと異なる場合、ソリューションは実行中のインスタンスを停止し、指定されたインスタンスタイプでインスタンスを再起動します。詳細については、Linux インスタンス用 Amazon EC2 ユーザーガイドの「Amazon EC2 インスタンスタイプの変更」を参照してください。

スケジュールの定義

Amazon DynamoDB の AWS での Instance Scheduler の設定テーブルには、スケジュールの定義が含まれています。スケジュールの定義には次のフィールドを含めることができます。

フィールド 説明

description

スケジュールの説明 (オプション)

hibernate

Amazon Linux を実行する Amazon EC2 インスタンスを休止するかどうかを選択します。このフィールドを true に設定すると、スケジューラはインスタンスを停止したときにインスタンスを休止状態にします。インスタンスのハイバネーションをオンにして、ハイバネーションの前提条件を満たしている必要があることに注意してください。

enforced

スケジュールを強制するかどうかを選択します。このフィールドが true に設定されている場合は、スケジューラは実行中のインスタンスを実行期間外に手動で起動すると停止し、実行期間中に手動で停止した場合はインスタンスを起動します。

name

スケジュールを識別するために使用される名前。この名前は一意にする必要があり、英数字、ハイフン (-)、アンダースコア (_) 以外は使用できません。

periods

このスケジュールで使用される期間の名前。期間の name フィールドに表示されているとおりに名前を入力します。

<period-name>@<instance-type> 構文を使用して、期間のインスタンスタイプを指定することもできます。例えば、weekdays@t2.large

retain_running

実行期間の開始前にインスタンスを手動で起動した場合、ソリューションが実行期間の終了時にインスタンスを停止しないようにするかどうかを選択します。

use_maintenance_window

実行期間として Amazon RDS メンテナンスウィンドウを Amazon RDS インスタンススケジュールに含めるか、もしくは実行期間として AWS Systems Manager メンテナンスウィンドウを Amazon EC2 インスタンススケジュールに含めることを選択します。このフィールドはデフォルトで有効になっており、値を「false」に設定することで無効にできます。

ssm_maintenance_window

このスケジュールの追加実行期間として AWS Systems Manager のメンテナンスウィンドウを追加するかどうかを選択します。スケジュールされた EC2 インスタンスと同じアカウント/リージョンのウィンドウ名と照合される、メンテナンスウィンドウ名の StringSet を受け入れます。

注記: この機能は EC2 インスタンスにのみ適用されます。

stop_new_instances

インスタンスが実行期間外に実行されている場合に、最初にタグ付けされたときにインスタンスを停止するかどうかを選択します。デフォルトでは、このフィールドは true に設定されます。

timezone

スケジュールが使用するタイムゾーン。タイムゾーンを指定しない場合は、デフォルトのタイムゾーン (UTC) が使用されます。許容されるタイムゾーン値のリストについては、TZ データベースのタイムゾーンのリストTZ 列を参照してください。

use_metrics

スケジュールレベルで CloudWatch メトリクスをオンにするかどうかを選択します。このフィールドは、デプロイ時に指定した CloudWatch メトリクスの設定を上書きします。

注記: この機能を有効にすると、スケジュールまたはスケジュールされたサービスごとに 0.90 USD / 月の料金が発生します。