RDSの一時停止は最大7日間のため、自動でインスタンスが再起動してしまう。 Lambdaで関数を設定し、6日に1度自動でインスタンスを起動・停止するようにする。
- IAM > ロール へ移動する
- 「ロールの作成」をクリック
- 「信用されたエンティティの種類を選択」で「AWSサービス」を選択
- 「このロールを使用するサービスを選択」で「Lambda」を選択
- 「Attach アクセス権限ポリシー」で「CloudWatchFullAccess」「AmazonRDSFullAccess」の2つを選択
- タグは設定せず、「ロールの作成」をクリック
startとstopでそれぞれ1~13を行う。
-
Lambda > 関数へ移動する
-
「関数の作成」をクリック
-
「一から作成」を選択し、関数名を入力
-
「ランタイム」で「Python3.9」を選択
-
「実行ロールの選択または作成」をクリックし「既存のロールを使用する」を選択
-
先ほど作成したロールを選択する
-
「関数の作成」をクリック
-
左メニューにある「トリガーの追加」をクリック
-
「CloudWatch Events」を選択し、ルール名を入力
-
「ルールタイプ」で「スケジュール式」を選択
-
startの場合、
cron(00 3 ? * TUE *)
(毎週火曜日12:00)を登録 -
stopの場合、
cron(30 3 ? * TUE *)
(毎週火曜日12:30)を登録 -
「追加」をクリック
startとstopでそれぞれ1~4を行う。
- 先ほど作成した関数を選択
- 「コード」に
start_rds.py
またはstop_rds.py
の内容をペースト - 変数
instance
とregion
をRDSに合わせて設定 - 「Deploy」をクリック