RDSCLusterを自動停止させる仕組みを作りたい【AWS】

KMSアイキャッチ画像

・RDS Clusterを自動停止する仕組みを作りたい。
・AWS Event Schedulerを使ってみたい

RDS Clusterを作成したのですが、一時停止が1週間のみですので、自動停止する仕組みを作っていきます。

IAMポリシーの作成

IAMのダッシュボードへ移動し下記のポリシーを作成します。名前やタグは任意で大丈夫です。

IAMポリシー
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "rds:StopDBCluster",
                "rds:StartDBCluster"
            ],
            "Resource": "*"
        }
    ]
}

IAMロールの作成

IAMのダッシュボードへ移動し「ロールを作成」をクリック

ロールの作成

下記のように設定してください。カスタム信頼ポリシーでは下記をコピペして「次へ」をクリック

信頼エンティティ画面
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "scheduler.amazonaws.com"
            },
            "Action": "sts:AssumeRole"
        }
    ]
}

許可を追加では、先ほど作成したポリシーを選択

許可を追加画面

ロール名は任意で名前をつけて「次へ」をクリック

ロール作成画面

EventBridgeSchedulerの設定

Amazon EventBridgeのダッシュボードへ移動し「スケジュール」をクリック

EventScheduler画面

「スケジュールを作成」をクリック

スケジュール作成画面

スケジュールを登録します。今回の場合毎日12時には止まっていて欲しいので下記のように設定しました。

スケジュールの詳細の指定画面

ターゲットの選択では「すべてのAPI」をクリックし検索ペインに「RDS」と入力

検索ペイン

次に「Stop」と入力し「STopDBCluster」を入力

StopDBCluster画面

DBのクラスターIDを入力
※DBクラスターIDはRDSダッシュボードDB識別子を入力してください

入力画面

スケジュール完了後のアクションを「NONE」にし、後はデフォルトのままでOKです。

スケジュール作成画面

スケジュールの作成と確認で問題なければ「スケジュールを作成」をクリック

確認

指定時間の3分後くらいに見ましたが、無事正常終了されているのを確認しました。

CloudTrailにもログが吐き出されるので、もし正常に実行されなかった場合、そちらも確認してみてください。

RDS作成画面

以上です。参考になれば幸いです。