AWS RDSを7日以上停止する、とても簡単な方法
データアナリティクス事業本部の武田です。今日は、AWS RDSを7日以上停止するためのとても簡単な設定方法をご紹介します。
検証用に作ったAWS RDSを7日間以上停止したい
AWS RDSは稼働時間によって課金されるシステムです。使わないのであれば停止しておきたいところですが、AWSの設定で、停止後7日間で自動的に起動されてしまいます。
この設定のため、私は毎週金曜夕方にAWSコンソールにログインして手動で停止するという面倒なことをしておりました。うっかり忘れると課金されてしまいます。
(注)今回停止させるのは検証用です。パッチ等のことは考えなくていい環境なので、長期間停止させますが、本番環境の長期間停止はパッチ適用ができなくなってしまうので、ご注意ください。
AWS RDSを7日間以上停止する手順(王道版)
AWS公式サイトでは、下記のような手順で停止する方法を解説していました。
AWS Identity アクセス管理 (IAM) のアクセス許可をセットアップして、AWS Lambda が次のことを実行できるようにします。インスタンスを起動します。インスタンスを停止します。インスタンスに関する情報を取得します。
自動的に開始および停止する RDS インスタンスのタグを追加します。
Lambda 関数を作成して DB インスタンスを起動します。
DB インスタンスを停止する Lambda 関数を作成します。
次のことを実行するスケジュールを作成します。毎週のメンテナンスウィンドウの始めに DB インスタンスを開始します。メンテナンスウィンドウが終了した時点で DB インスタンスを停止します。
AWS RDSをとても簡単に7日間以上停止する手順
上記の手順が面倒だなという人におすすめなのが、クラスメソッドが提供するAWS運用簡単サービス「opswitch」です。IAMのアクセス許可、Lamda関数、実行スケジュール登録の面倒な部分を「opswitch」が代わりにやってくれて、とても簡単に使えました。
「opswitch」では、「タスク」と「ジョブ」の二つの設定をします。「タスク」がLambda関数、「ジョブ」がスケジュール設定みたいな感じです。
下記手順でアカウントの登録をしました。
(1)メールアドレス登録
登録はこちら
(2)AWSアカウントと連携する設定をする(既に連携している場合は、招待してもらってください)
初めてAWSアカウント連携をする場合の手順はこちら
(3)DBインスタンス停止タスクを作成する
タスクの作成方法の手順はこちら
さらに、下記の手順で、毎日決まった時間にこのインスタンス停止タスクを実行する設定をします。
(4)タスクを毎日定時で実行するジョブを登録
私の場合は夜21時以降に検証する可能性は低いので、毎日21時にタスクを実行するように登録しました。これで停止忘れの心配もありません。
お疲れ様でした。設定完了です。
王道の設定に比べると、非常に簡単でサクッと設定できました。
ふりかえり
今回は、部内のオンライン雑談の場で何気なく質問したらスルスルと解決したことを、そのまま記事にしました。
クラスメソッドにジョインする前は、リモートワークでお互いに遠い場所に住んでいるので、ちょっとした質問や雑談するのも難しいのかなと心配してましたけども、杞憂でした。
こんなちょっとした質問も快く丁寧に答えてくれる部内の皆様と、雑談の場を提案してくれた方々に、感謝の気持ちを込めて。ありがとうございました!