翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWS Systems Manager Maintenance Windows を使用して Amazon RDS DB インスタンスを自動的に停止および開始する
作成者: Ashita Dsilva (AWS)
環境:本稼働 | テクノロジー: 管理とガバナンス、コスト管理、データベース | AWS サービス: AWS Systems Manager、Amazon RDS |
[概要]
このパターンは、 AWS Systems Manager Maintenance Windows を使用して、特定のスケジュールで 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 つの機能があります。ステートマネージャーとメンテナンスウィンドウ です。State Manager は、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 式。例えば、式は、毎週月曜日、火曜日、水曜日、木曜日、金曜日の 9:00 にタスク
cron(0 9 ? * MON-FRI *)
を実行します。詳細については、Systems Manager ドキュメントの「メンテナンスウィンドウの Cron 式とレート式」を参照してください。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 コンソール グループ化基準 で、リソースタイプに :::: を選択し、タグのキーと値のペア (「アクションStartStop」など) を指定します。 AWSRDSDBInstanceこれにより、サービスは 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 管理者 |