

# オペレーターガイド
<a name="operator-guide"></a>

このガイドはこのソリューションのユーザーとオペレーターを対象としており、[スケジュールの設定](#configure-schedules)と[ソリューションのモニタリング](monitor-the-solution.md)の各方法の詳細が記載されています。

## スケジュールを設定する
<a name="configure-schedules"></a>

**重要**  
スケジュールの設定ミスにより、インスタンスが継続的に実行され、予期しないコストが発生する可能性があります。リソースにスケジュールを適用する前に、以下を確認してください。  
リソースタグのスケジュール名は、設定テーブルで定義されたスケジュールと完全に一致します。スペルミスまたは存在しないスケジュール名は `UnknownSchedule` エラーになり、スケジューラによってインスタンスが停止されることはありません。リソースの `IS-Error` タグをチェックして、この条件を特定します。
`stop_new_instances` が `false` に設定されている場合、最初にタグ付けされた時点でスケジュール期間外に実行中のインスタンスは、次にスケジュールされた停止移行まで停止されません。これにより、インスタンスの実行時間が予想よりも長くなる可能性があります。
`retain_running` が `true` に設定されている場合、実行期間が始まる前に手動で開始されたインスタンスは、その期間の終了時に停止されません。これは設計によるものですが、モニタリングを行わないとインスタンスが無期限に稼働し続ける可能性があります。
`enforced: false` (デフォルト) を使用する場合、スケジューラは実行期間中に手動で停止されたインスタンスを再起動せず、最初の停止移行後に実行期間外に手動で起動されたインスタンスを停止しません。
[情報タグ付け](monitor-the-solution.md#informational-tags) (デフォルトで有効) を有効にし、リソースの `IS-Error` および `IS-LastAction` タグを定期的に確認して、スケジューリングが期待どおりに動作していることを確認することをお勧めします。

ソリューションが正常にデプロイされたら、スケジュールの設定を開始できます。AWS での Instance Scheduler では、以下で説明している 2 つのスケジュール管理方法をサポートしています。

**注記**  
ソリューションは任意のスケジュールの数をサポートでき、そのスケジュールにより制御されるインスタンスをいつ実行するかを定義する 1 つ以上の期間を含めることができます。詳細については、「[スケジュール](scheduler-cli.md)」と「[期間](period-reference.md)」のセクションを参照してください。

### Infrastructure as Code の使用 (推奨)
<a name="using-infrastructure-as-code-recommended"></a>

AWS での Instance Scheduler には、Infrastructure as Code (IaC) を使用してスケジュールと期間を管理できる AWS CloudFormation カスタムリソースが用意されています。

IaC を使用してスケジュールを管理する方法については、「[Infrastructure as Code (IaC) を使用したスケジュールの管理](manage-schedules-using-infrastructure-as-code-iac.md)」を参照してください。

### Amazon DynamoDB コンソールと AWS CLI での Instance Scheduler の使用
<a name="using-the-amazon-dynamodb-console-and-instance-scheduler-on-aws-cli"></a>

**重要**  
IaC を使用してスケジュールを管理するカスタムリソースを使用した場合は、DynamoDB コンソールまたは Scheduler CLI を使用してそれらのスケジュールや期間を削除または変更しないでください。これを行うと、CloudFormation に保存されたパラメータとテーブル内の値との間に競合が発生します。また、DynamoDB コンソールまたは Scheduler CLI を使用して作成されたスケジュールには、CloudFormation が管理する期間を使用しないでください。

AWS での Instance Scheduler ハブスタックをデプロイすると、ソリューションは複数のサンプル期間とスケジュールを含む Amazon DynamoDB テーブルを作成し、これらを参考にして独自のカスタム期間とスケジュールを作成できます。DynamoDB でスケジュールを作成するには、設定テーブル (ConfigTable) でスケジュールのいずれかを変更するか、新しいスケジュールを作成します。CLI を使用してスケジュールを作成するには、まず [Scheduler CLI をインストール](scheduler-cli-4.md#install-the-scheduler-cli)し、次に[利用可能なコマンド](scheduler-cli-4.md#available-commands)を使用します。

**注記**  
IaC、DynamoDB、InstanceScheduler CLI を使用して複数のサンプルスケジュールを作成する方法の例については、「[サンプルスケジュール](sample-schedules.md)」セクションを参照してください。

このセクションには、ソリューションを使用、モニタリング、更新する方法に加え、トラブルシューティングとサポートの情報に関する指示とリファレンスが記載されています。

## スケジューリング用にインスタンスにタグを付ける
<a name="tag-instances-for-scheduling"></a>

AWS CloudFormation テンプレートをデプロイすると、ソリューションの*カスタムタグ*の名前 (タグキー) が定義されます。AWS での Instance Scheduler が Amazon EC2 または Amazon RDS のインスタンスを認識するには、そのインスタンスのタグキーがこのカスタムタグキーと一致する必要があります。そのため、すべての該当するインスタンスに一貫して正しくタグを適用することが重要です。このソリューションを使用している間も、インスタンスに対して既存の[タグ付けに関するベストプラクティス](https://docs.aws.amazon.com/whitepapers/latest/tagging-best-practices/tagging-best-practices.html)を引き続き使用できます。詳細については、「[Amazon EC2 リソースのタグ付け](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html)」および「[Amazon RDS リソースのタグ付け](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)」を参照してください。

AWS マネジメントコンソールで、[タグエディタ](https://console.aws.amazon.com/resource-groups/tag-editor/)を使用して、複数のリソースのタグを一度に適用または変更します。また、そのコンソールで、手動でタグを適用および変更することもできます。

リソースにタグを付けるとすぐに、IS-ManagedBy タグが Instance Scheduler によってリソースに適用され、リソースがスケジューラによって管理されていることを示します。このタグを検索して、リソースがスケジューリングに正しく登録されたことを確認できます。

### タグ値の設定
<a name="setting-the-tag-value"></a>

インスタンスにタグを適用する場合は、初期設定時に定義したタグキー (デフォルトでは、タグキーは Schedule) を使用し、タグ値をインスタンスに適用するスケジュールの名前に設定します。タグキーを変更したい場合は、[ソリューションパラメータを更新](update-the-solution.md)することで変更できます。

**注記**  
Amazon RDS インスタンスの場合、タグ値は長さが 1～256 の Unicode 文字です。プレフィックスに aws: を付けることはできません。文字列には、一連の Unicode 文字、数字、空白、「\_」、「.」、「/」、「=」、「」、「-」 (Java 正規表現: "^([\\\\p{L}\\\\p{Z}\\\\p{N}\_.:/=\\\\-]\*)$") のみ使用できます。詳細については、「[Amazon RDS リソースのタグ付け](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)」を参照してください。

### 暗号化された EBS ボリュームを使用する EC2 インスタンス
<a name="ec2-instances-with-encrypted-ebs-volumes"></a>

EC2 DB インスタンスに、カスタマーマネージド KMS キーで暗号化された EBS ボリュームがある場合、それらのインスタンスを起動できるように、Instance Scheduler ロールに KMS:CreateGrant のアクセス許可を与える必要があります。詳細については、「[暗号化された EC2 EBS ボリューム](security-1.md#encrypted-ec2-ebs-volumes)」を参照してください。

### License Manager で管理される EC2 インスタンス
<a name="ec2-instances-managed-in-license-manager"></a>

EC2 インスタンスが AWS License Manager で管理されている場合は、インスタンススケジューラロールに適切な License Manager アクセス許可を付与して、それらのインスタンスを起動および停止できるようにする必要があります。詳細については、「[EC2 License Manager](security-1.md#ec2-license-manager)」を参照してください。