🛠️
CockroachDB Serverless Cluster を Terraform でデプロイ!
はじめに
最近Terraformを触ってみて感動しました。
貧乏エンジニアリング御用達のCockroachDB
もTerraform
で管理できないかなぁと思ったらどうやらできるみたいなのでお試ししてみた紹介記事です。
これまでコンソールぽちぽちでクラスターを作成していました。
環境ちゃちゃっと作ろうと思うと地味にめんどくさかったんですよね。
一連の流れを記事にて紹介しますが、正直上記を参考にすれば実現できちゃいます笑
CockroachDB
とは
(検索するときは要注意!)
分散SQLデータベースです。
Google
のSpanner
に触発されて開発が始まったオープンソースソフトウェアで
NewSQL
に分類されるものになります。
私は技術的にすごいことをしているんだなという認識で、中身はちゃんと理解できていないです。。。
CockroachDB
をよく使うのはシンプルにフリープランが使いたいからです!笑
準備
- アカウント準備
- 各種アカウント連携ができるのでサクッと登録しちゃいましょう。
- クレジットカードの登録は不要です!
- サービスアカウント準備
- https://www.cockroachlabs.com/docs/cockroachcloud/console-access-management#service-accounts
-
terraform
から操作するためのアカウントを用意します。
-
API_KEY
準備
デプロイ
main.tf
は以下になります。
(こちらを使っているだけなんですけど)
各種設定値がこうしてコードで表現されるのは非常に素晴らしいですね!
せっかくなので GitHub Actions
にてデプロイできるように設定してみました。
各種設定はシークレットとして登録しています。
アクションを実行して無事にデプロイに成功しました!
今回使ったコードは以下に置いておきます。
おわりに
ハマりポイントもとくになくスムーズにデプロイすることができました!
CIにてterraform fmt
などを実行して質を上げることもできるみたいです。
一度Terraform
のコードを書いてしまえば
簡単に別環境も構築できるようになるので開発体験がさらに爆上がりです!
Terraform
を習得してどんどん開発体験を上げていきたいです。
Discussion