翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWS Systems Manager メンテナンスウィンドウを使用して Amazon RDS DB インスタンスを自動的に停止および起動する
作成者: Ashita Dsilva (AWS)
概要
このパターンは、 AWS Systems Manager メンテナンスウィンドウを使用して、特定のスケジュールで Amazon Relational Database Service (Amazon RDS) DB インスタンスを自動的に停止および開始する方法 (例: 営業時間外に DB インスタンスをシャットダウンしてコストを削減する) を示しています。
AWS Systems Manager Automation には、AWS-StopRdsInstance
Amazon RDS DB インスタンスを停止および起動するための および AWS-StartRdsInstance
ランブックが用意されています。つまり、 AWS Lambda 関数を使用してカスタムロジックを記述したり、Amazon CloudWatch Events ルールを作成したりする必要はありません。
Systems Manager には、タスクをスケジュールするためのステートマネージャーとメンテナンスウィンドウの 2 つの機能があります。ステートマネージャーは、Amazon Web Services (AWS) アカウントのリソースに必要な状態設定を 1 回または特定のスケジュールで設定および維持します。Maintenance Windows は、特定の時間枠にアカウント内のリソースに対してタスクを実行します。このパターンのアプローチはステートマネージャーまたはメンテナンスウィンドウで使用できますが、割り当てられた優先度に基づいて 1 つ以上のタスクを実行でき、 AWS Lambda 関数と AWS Step Functions タスクを実行できるため、メンテナンスウィンドウを使用することをお勧めします。ステートマネージャーとメンテナンスウィンドウの詳細については、Systems Manager ドキュメントの「ステートマネージャーとメンテナンスウィンドウの選択」を参照してください。
このパターンでは、cron 式を使用して Amazon RDS DB インスタンスを停止および起動する 2 つの個別のメンテナンスウィンドウを設定する詳細な手順を示します。
前提条件と制限
前提条件
アクティブ AWS アカウント。
特定のスケジュールで停止および開始する既存の Amazon RDS DB インスタンス。
必要なスケジュールの Cron 式。例えば、式は毎週月曜日、火曜日、水曜日、木曜日、金曜日の 09:00 にタスク
cron(0 9 ? * MON-FRI *)
を実行します。詳細については、Systems Manager ドキュメントの「メンテナンスウィンドウの Cron 式と rate 式」を参照してください。Systems Manager に精通しています。
RDS インスタンスを起動および停止するアクセス許可。詳細については、「エピック」セクションを参照してください。
制約事項
Amazon RDS DB インスタンスは、一度に最大 7 日間停止できます。7 日後、DB インスタンスは自動的に再起動し、必要なメンテナンスアップデートを確実に受け取ることができます。
リードレプリカである DB インスタンス、またはリードレプリカを持つ DB インスタンスを停止することはできません。
マルチ AZ 設定で Amazon RDS for SQL Server DB インスタンスを停止することはできません。
Service Quotas は、Maintenance Windows と Systems Manager Automation に適用されます。サービスクォータの詳細については、 AWS 全般のリファレンス ドキュメントのAWS Systems Manager 「 エンドポイントとクォータ」を参照してください。
一部の AWS のサービス は、すべてで利用できるわけではありません AWS リージョン。利用可能なリージョンについては、AWS のサービス リージョン別の
「」を参照してください。特定のエンドポイントについては、「サービスエンドポイントとクォータ」ページを参照し、サービスのリンクを選択します。
アーキテクチャ
次の図は、Amazon RDS DB インスタンスを自動的に停止および開始するワークフローを示しています。

ワークフローには次の手順があります。
1. メンテナンスウィンドウを作成し、cron 式を使用して Amazon RDS DB インスタンスの停止スケジュールと開始スケジュールを定義します。
2. AWS-StopRdsInstance
または AWS-StartRdsInstance
ランブックを使用して Systems Manager 自動化タスクをメンテナンスウィンドウに登録します。
3. Amazon RDS DB インスタンスのタグベースのリソースグループを使用して、メンテナンスウィンドウにターゲットを登録します。
テクノロジースタック
AWS CloudFormation
AWS Identity and Access Management (IAM)
Amazon RDS
Systems Manager
自動化とスケール
必要な Amazon RDS DB インスタンスにタグを付け、タグ付けされたすべての RDS DB インスタンスを含むリソースグループを作成し、このリソースグループをメンテナンスウィンドウのターゲットとして登録することで、複数の Amazon DB インスタンスを同時に停止および開始できます。
ツール
AWS CloudFormation は、 AWS リソースのモデル化とセットアップに役立つサービスです。
AWS Identity and Access Management (IAM) は、 AWS リソースへのアクセスを安全に制御するのに役立つウェブサービスです。
Amazon Relational Database Service (Amazon RDS) は、 でリレーショナルデータベースを簡単にセットアップ、運用、スケーリングできるウェブサービスです AWS クラウド。
AWS Resource Groups は、 AWS リソースをグループに整理し、リソースにタグ付けし、グループ化されたリソースのタスクを管理、モニタリング、自動化するのに役立ちます。
AWS Systems Manager は、インフラストラクチャの表示と制御 AWS のサービス に使用できる です AWS。このパターンでは、Systems Manager の次の機能を使用します。
AWS Systems Manager 自動化により、Amazon Elastic Compute Cloud (Amazon EC2) インスタンスやその他の AWS リソースの一般的なメンテナンスとデプロイタスクが簡素化されます。
AWS Systems Manager メンテナンスウィンドウは、インスタンスで破壊的になり得るアクションを実行するスケジュールを定義するのに役立ちます。
エピック
タスク | 説明 | 必要なスキル |
---|---|---|
Systems Manager Automation IAMのサービスロールを設定します。 | にサインイン AWS Management Console し、Systems Manager Automation のサービスロールを作成します。次の 2 つのメソッドのいずれかを使用して、このサービスロールを作成できます。 Systems Manager Automation ワークフローは、サービスロールRDSを使用して Amazon RDS DB インスタンスで開始および停止アクションを実行することで Amazon を呼び出します。 サービスロールは、Amazon RDS DB インスタンスを起動および停止するアクセス許可を持つ次のインラインポリシーで設定する必要があります。
を Amazon RDS DB インスタンスの Amazon リソースネーム (ARN) IAM ポリシーとロールの使用に慣れていない場合は、ブログ記事「Amazon RDSの停止と使用開始のスケジュール AWS Systems Manager 重要サービスロールARNの を必ず記録してください。 | AWS 管理者 |
タスク | 説明 | 必要なスキル |
---|---|---|
Amazon RDS DB インスタンスにタグを付けます。 | Amazon RDSコンソール 詳細については、Amazon RDSドキュメントの「タグの追加、一覧表示、削除」を参照してください。 | AWS 管理者 |
タグ付けされた Amazon RDS DB インスタンスのリソースグループを作成します。 | AWS Resource Groups コンソール グループ化条件 で、リソースタイプAWSDBInstanceに ::RDS:: を選択し、タグのキーと値のペア (「Action-」など) を指定しますStartStop。これにより、サービスは Amazon RDS DB インスタンスのみをチェックし、このタグを持つ他のリソースはチェックしません。リソースグループの名前を必ず記録してください。 詳細と詳細な手順については、 AWS Resource Groups ドキュメントの「タグベースのクエリの構築」および「グループの作成」を参照してください。 | AWS 管理者 |
タスク | 説明 | 必要なスキル |
---|---|---|
メンテナンスウィンドウを作成します。 |
重要DB インスタンスを停止するタスクは、 が開始されるとほぼ瞬時に実行され、メンテナンスウィンドウの期間全体にわたるものではありません。このパターンでは、タスクの開始期間と開始タスクの停止の最小値が提供されます。これは、これらがメンテナンス時間枠に必要なパラメータであるためです。 詳細と詳細な手順については、Systems Manager ドキュメントの「メンテナンスウィンドウの作成 (コンソール)」を参照してください。 | AWS 管理者 |
ターゲットをメンテナンスウィンドウに割り当てます。 |
詳細と詳細な手順については、Systems Manager ドキュメントの「メンテナンスウィンドウにターゲットを割り当てる (コンソール)」を参照してください。 | AWS 管理者 |
メンテナンスウィンドウにタスクを割り当てるには |
重要サービスロールオプションは、メンテナンスウィンドウがタスクを実行するために必要なサービスロールを定義します。ただし、このロールは、以前に Systems Manager Automation 用に作成したサービスロールと同じではありません。 詳細と詳細な手順については、Systems Manager ドキュメントの「メンテナンスウィンドウへのタスクの割り当て (コンソール)」を参照してください。 | AWS 管理者 |
タスク | 説明 | 必要なスキル |
---|---|---|
Amazon RDS DB インスタンスを起動するようにメンテナンスウィンドウを設定します。 | 「メンテナンスウィンドウの設定」のステップを繰り返して Amazon RDS DB インスタンスエピックを停止し、別のメンテナンスウィンドウを設定して、スケジュールされた時間に Amazon RDS DB インスタンスを起動します。 重要DB インスタンスを起動するようにメンテナンスウィンドウを設定するときは、次の変更を行う必要があります。
| AWS 管理者 |