Amazon DocumentDBの起動と停止を自動化する

2024.01.16

はじめに

弊社が提供する無料のAWS運用かんたん自動化ツール「opswitch」を使って、夜間や土日祝日に開発環境のDocumentDBを停止させる方法を紹介します。プログラムなどの知識はなくても、Webの操作だけで設定を行えます。

準備

opswitchの初期設定

ユーザーガイド opswitchを開始するを参考に以下の初期設定を完了させてください。

  • opswitchのアカウント作成
  • opswitchアカウントの初期設定
    1. ユーザー属性情報登録
    2. 組織作成
    3. AWSアカウント連携作成

DocumentDBクラスターにタグを設定する

Management ConsoleでDocumentDBクラスターにタグを設定します。opswitchでは処理対象をタグで指定するためです。今回は次のようなタグをDocumentDBクラスターに付けることにします。

キー
docdb-start-stop true

opswitchのタスクを作成する。

準備ができましたのでopswitchの設定をします。まずどんな作業をするか、を定義するタスクを作成します。今回作成するタスクは2つです。

  1. DocumentDBクラスターを起動するタスク
  2. DocumentDBクラスターを停止するタスク

DocumentDBクラスターを起動するタスク

DocumentDBクラスター起動タスクを起動するタスクを作成します。ヘッダーの「タスク」-「DocumentDB」-「DocumentDBの起動停止」をクリックします。

タスクの一覧画面になるので「作成」ボタンを押してください。

タスクを作成します。名前は任意の名前をつけてください。初期設定で作成した組織、AWSアカウントを指定してください。リージョンはDocumentDBクラスターがあるリージョンを選択します。ターゲットは初期設定でDocumentDBクラスターにつけたタグを指定します。今回はKeyが「docdb-start-stop」、Valueが「true」にしています。「起動・停止」は「起動」にします。入力できたら作成ボタンを押してください。

DocumentDBクラスターを停止するタスク

続いてDocumentDBクラスターを停止するタスクを作成します。先ほど作成したタスクとほぼ同様なのでコピーします。タスクの一覧画面で「コピー」をクリックしてください。

「名前」と「起動・停止」の項目のみ以下の様に変更します。RDSと同様にDocumentDBクラスターを停止してから7日後に自動的に起動するので注意しましょう。

詳しくは以下のユーザーガイドをご覧ください。

opswitchユーザーガイド | DocumentDBの起動・停止タスクの作成

opswitchのジョブを作成する。

次にどのタスクをいつ実行するか、を定義するジョブを作成していきます。ヘッダーの「ジョブ」をクリックしてジョブ一覧を開きます。作成ボタンがあるのでクリックしてください。

DocumentDBクラスターを起動するジョブ

まず、DocumentDBクラスターを起動するジョブを作成します。スケジュールは「週次」を選ぶと曜日を指定できるようになります。月曜日から金曜日にチェックし、8時にセットします。

「日本の祝日はジョブの実行をスキップする」にチェックを入れると祝日は起動ジョブが実行されなくなります。

最後に実行するタスクを設定します。種別を「DocumentDBの起動・停止」にすると、右のコンボボックスに先ほど作成したタスクが表示されるようになります。作成した起動タスクを選んで作成ボタンをクリックします。

DocumentDBクラスターを停止するジョブ

DocumentDBクラスターを停止するジョブを作成します。同じようにスケジュールは「週次」を選び、月曜日から金曜日にチェックし、時間は18時にセットします。

種別「DocumentDBの起動・停止」を選択後、右のコンボボックスで先ほど作成した停止タスクを選んで作成ボタンをクリックします。

ジョブの作成は以上になります。時間になったら実行されたことを実行履歴画面から確認してみましょう。実行履歴画面はヘッダーにあるメニューの「ログ」-「操作履歴一覧」から見ることができます。

さいごに

opswitchで指定した時間に自動でDocumentDBクラスターを起動・停止させることができました。opswitchでは他にもEC2、ECS(Fargate)、RDSなどの起動停止も行えます。無料ですのでぜひご利用ください。