はじめに
AWSのコスト、特にRDSはかなりしっかりコストがかかるシステムですよね。
優秀なシステムが故なのですが、少しでも節約ができるように本日は備忘録としてRDSを自動停止、起動するための手順を記事に残しておこうと思います。
①IAMの作成
今回EventBridgeを使用して日常的に停止と起動を繰り返すように調整します。
その為の準備としてまずはIAMロールの新規作成を行います。
IAM > ロール
から画面右上のロールを作成を選択します。
するとエンティティの選択画面が表示されますので、EventBridge Schedulerから実行できるようカスタム信頼ポリシー
を選択します。
カスタム管理ポリシーでは、scheduler.amazonaws.com
を許可します。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "scheduler.amazonaws.com"
},
"Action": "sts:AssumeRole"
}
]
}
上記を設定した後、次に進むとポリシーの選択画面が表示されます。
ポリシーは新規作成する必要があるため、画面右上にあるポリシーの作成
を選択します。
ポリシーの内容は起動と停止になりますので、以下を設定する必要があります。
StartDBInstance
StopDBInstance
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"rds:StopDBInstance",
"rds:StartDBInstance"
],
"Resource": "*"
}
]
}
上記を設定し次へ進みます。
タグは特に設定せずで大丈夫です、必要であれば調整し次へ進みます。
以下入力欄にポリシー名と説明を設定しポリシーを作成します。
これでポリシーの作成は以上です。
先ほどのIAMロール作成画面に戻り、作成したポリシーを追加します。
※IAM画面へ戻った後も作成したはずのポリシーが表示されないようでしたら、IAMロールをリフレッシュしてみてください。
作成したポリシーを付与したら最後に名称と説明を任意の内容で設定し作成して終了です。
②EventBridgeSchedulerの設定
IAMを作成したら、次は定期実行されるSchedulerを設定します。
注意点
DBの起動、停止それぞれでSchedulerの設定が必要です。
ほぼ同じ手順での登録なので、片方登録したらもう片方の設定を忘れずお願いします。
EventBridgeを開いたら画面左のメニューから、スケジュール
を選択し、画面右下のスケジュールを作成
を選択。
すると作成画面が表示されるので、スケジュール名、説明は任意の内容を入力。
次にスケジュールのパターンを設定します。
スケジュールの種類は定期的なスケジュールのcronベーススケジュールを選択します。
cornの時刻の設定方法に関しては、以下を参考にしてみてください。
https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/services-cloudwatchevents-expressions.html
フレックスタイムウィンドウ(処理時刻に余裕を持たせるか)はオフにしておきます。
時間枠では、タイムゾーンと開始日時、終了日時を設定できます。
タイムゾーンは(UTC + 09:00) Asia/Tokyo
にします。
開始時刻や終了日時は特に設定する必要はありません、未設定で大丈夫です。
時刻関連の設定が終わり、次に進むとターゲットの詳細を設定する必要が出てきます。
今回はRDSの自動停止、起動なので、全てのAPIを選択し、入力欄にRDSと入力します。
3つが検索結果に表示されるはずなので、赤枠のものを選択します。
するとRDSに紐づく選択しが表示されるので、起動に関する設定であればStart
と、停止に関する設定であればStop
と検索します。
それぞれ適切なものを選択し、以下に対象のDBインスタンスIDを指定してください。
DBインスタンスIDの設定を終えたら次に進みます。
次に進むとスケジュールの状態
、再試行ポリシーとデッドレターキュー(DLQ)
、暗号化
という項目がありますが、こちらに関しては変更不要です。
以下の既存の役割を選択
だけ最初の手順で作成したロールを指定してください。
ロールの選択を終えたら次へ進み、設定は以上となります。
さいごに
RDS、中々コストかかりますよね。
AWSLifeの方もこちらの方法を推奨されていたので、お困りの方はぜひご活用ください。