TerraformでGCPのCloud SQL(postgres)のtierを指定するときのポイント
TerraformでGCPのCloud SQLをpostgresで立てようと思った。
CPUやメモリなどを含んだマシンタイプを指定する必要があるが、今までは db-f1-micro のようにGCPがデフォルトで提供しているタイプを使用していた。
tier = "db-f1-micro"
これを db-lightweight-1 に変えてapplyしたのだが、変更することができなかった。
これによると、
Postgres supports only shared-core machine types, and custom machine types such as db-custom-2-13312.
とのことで、共有コアのマシンタイプのものしか指定できず、それ以外の場合はカスタムマシンタイプにする必要がある。
「db-custom-CPU数-メモリ量」で表すことはできるが、なんでも数値を入れることができるわけではなく、
CPU の数とメモリの量を選択する際、選択する構成にはいくつかの制限があります。
vCPU は 1 または 2~96 の間の偶数にする必要があります。
メモリは次の条件を満たす必要があります。
vCPU あたり 0.9~6.5 GB 256 MB の倍数 3.75 GB(3,840 MB)以上
この条件を満たしていなければならない。
インスタンスの設定について | Cloud SQL for MySQL | Google Cloud
なのでカスタムマシンタイプを指定する場合の最小構成は db-custom-1-3840 ということになる。