LoginSignup
0
1

Amazon EventBridge Schedulerを使ったRDSの自動停止を試してみた

Last updated at Posted at 2023-10-01

概要

RDSには最大7日間までしか停止することができないという仕様があります。
検証用の環境では必要なタイミングだけRDSを起動して、それ以外は停止させておきたいという場合があると思います。
そこで、RDSが7日ごとに自動起動されるたびにAmazon EventBridge Schedulerを使って自動的に停止させて、7日間ごとに手動で停止させずに済むようにしてみようと思います。

手順

IAMロールの作成

事前にRDSを停止するためのIAMロールを作成しておきます。
IAMのコンソールからロールに移動し、「ロールを作成」をクリックします。
1.png
エンティティタイプは「カスタム信頼ポリシー」を選択します。
2.png
以下を入力して次に進みます。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "scheduler.amazonaws.com"
            },
            "Action": "sts:AssumeRole"
        }
    ]
}

3.png

IAMポリシーの作成

ここでロールに付与するポリシーを作成する必要があるため、
別のウィンドウでIAMのコンソールからポリシーに移動し、「ポリシーを作成」をクリックします。
4.png

検索欄にRDSと入力し、出てきた「RDS」をクリックします。
5.png

検索欄にstopと入力し、出てきた「StopDBInstance」にチェックを入れます。
リソースは今回は検証のため「すべてのリソース」を選択しておきます。
6.png

次に進み、ポリシー名を入力して作成完了です。
7.png

先ほどのIAMロールの作成画面に戻り、作成したポリシーを選択します。
8.png

名前を入力し、ロールを作成します。
9.png

EventBridgeの設定

EventBridgeのコンソール画面に移動し、「EventBridgeスケジュール」を選択し、「スケジュールを作成」をクリックします。
1.png

スケジュールの設定画面に移動するので、スケジュール名を入力します。
2.png

次にスケジュールを設定します。
頻度は「定期的なスケジュール」、スケジュールの種類は「rateベースのスケジュール」を選択します。
ぴったり7日ごとにしてしまうと、RDSが自動的に起動する前にEventBridgeが起動してしまう可能性があるため、7日 + 猶予の1時間を足した時間をrate式に設定します。
フレックスタイムウィンドウはオフに設定しておきます。
4.png

時間枠にはRDSの停止を開始したい日時を入力しておきます。
image.png

次にターゲットの選択を行います。
検索欄に「RDS」を入力し、出てきたAmazon RDSをクリックします。
5.png

次に検索欄に「stop」と入力すると「StopDBInstance」という項目が出てくるのでクリックします。
6.png

するとJsonの入力欄が現れるので、停止したいRDSの名前を入力します。
7.png

次のオプションは今回は変更せずにいきます。
8.png

9.png

ロールに先ほど作成したロールを選択し、次に進みます。
10.png

内容を確認し、「スケジュールを作成」をクリックして作成完了です。
11.png

動作確認

設定した時間にRDSが停止するか確認します。
12.png

設定した時間を過ぎるとステータスが「停止中」となりました。
13.png

その後、「一時的に停止済み」となることが確認できました。
14.png

終わりに

Amazon EventBridge Schedulerを使ってRDSを自動的に停止させることができました。
スケジュールをあらかじめ作っておけば、停止していたRDSが自動的に起動されてしまい
いつの間にか課金されてしまっていたということを防げるのではないかと思います。

参考にさせていただいた記事

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1