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で記載するので注意。