TerraformでAuroraを立てる

AWS Auroraを構築するにあたり、Terraformでコード化したのでそのメモ。

Auroraは従来のRDS上に構築するRDBから、より「AWS様がよしなにやってくれる」領域が広くなっていて、本当に重要な、構築者が決めなければいけないパラメータは、たったの2つだけとなっている。

この2つのパラメータと、追加でいくつかの環境情報を入力に与えるだけで、まあまあ動くAuroraが立つようなTerraformコードを書いたので、メモしておく。

入力項目

  • L1-3の項目は各AWS resourceのnameやtagに入れるので、管理しやすい値を
  • L5,6はDBに初期登録するユーザ情報
  • L8,9はシステム全体のアーキテクチャに合わせて適切なものを(本記事では省略)
  • L10はセキュリティ要件に合わせて選択
  • L12,13に、先に挙げた2項目を

DBパラメータ、Clusterパラメータ

この辺はシステム要件に合わせて調整する。

あまり深く考えない+日本国内運用であれば、ここで例として示した通り、

  • utf8mb4 / utfmb4_general_ciをデフォルトに
  • Timezoneを Asia/Tokyo

あたりを指定しておくのが無難かと。

モニタリング用IAM Role

拡張モニタリングを有効にするためには、モニタリング用のIAM Roleが必要なので作る。 これは原則以下のコードで、手を加える余地はないと思う。

Aurora Cluster

最後に、事前に作ったリソースの属性や、variables.tfで受け取った値をはめ込めば完成。 backup_window、maintenance_windowはUTCで記載するので注意。