Open2

【AWS Aurora】クロスリージョンリードレプリカを夜間停止したい時にやったことを箇条書きしていく

複勝複勝

要件

とあるアプリケーションがあって、DBの構成は東京(リージョン別クラスター)と大阪(レプリカクラスター)にそれぞれAuroraクラスターが存在してる。
これらの環境は、夜間使われるものではないので18時以降に停止して翌日の9時までに起動できる仕組みを作りたい。

上記要件の整理

  • 夜間停止に伴い、レプリカ側は不要となるため昇格して削除する。
  • レプリカ削除後は、東京側のクラスターは一時停止しておいて、翌日起動される設定にする。
  • リージョン別クラスターが利用可能な状態になったらレプリカクラスターを再構築する。

ざっくり構成案

  • LambdaでPythonのboto3から各サービスの操作を行えば想定している制御が行えそう。
  • Eventbridgeのルール、スケジューラーの機能を使ってよしなにLambdaを呼び出せば時間になったら起動させる部分はクリアできそう。
  • レプリカが削除されたか、リージョン別クラスターが利用可能になったかの判定はAuroraクラスターやインスタンスが出力してるイベントから拾えるはず。