🛠️

CockroachDB Serverless Cluster を Terraform でデプロイ!

2022/11/05に公開

はじめに

最近Terraformを触ってみて感動しました。

貧乏エンジニアリング御用達のCockroachDBTerraformで管理できないかなぁと思ったらどうやらできるみたいなのでお試ししてみた紹介記事です。

https://registry.terraform.io/providers/cockroachdb/cockroach/0.2.0

これまでコンソールぽちぽちでクラスターを作成していました。
環境ちゃちゃっと作ろうと思うと地味にめんどくさかったんですよね。

https://github.com/cockroachdb/terraform-provider-cockroach

一連の流れを記事にて紹介しますが、正直上記を参考にすれば実現できちゃいます笑

CockroachDBとは

(検索するときは要注意!)

https://www.cockroachlabs.com/

分散SQLデータベースです。
GoogleSpannerに触発されて開発が始まったオープンソースソフトウェアで
NewSQLに分類されるものになります。

私は技術的にすごいことをしているんだなという認識で、中身はちゃんと理解できていないです。。。

https://www.cockroachlabs.com/pricing/

CockroachDBをよく使うのはシンプルにフリープランが使いたいからです!笑

準備

  1. アカウント準備
    • 各種アカウント連携ができるのでサクッと登録しちゃいましょう。
    • クレジットカードの登録は不要です!
  2. サービスアカウント準備
  3. API_KEY準備

デプロイ

main.tfは以下になります。
こちらを使っているだけなんですけど)

https://github.com/takokun778/fs-tf-cockroach/blob/main/main.tf

各種設定値がこうしてコードで表現されるのは非常に素晴らしいですね!

せっかくなので GitHub Actions にてデプロイできるように設定してみました。

https://github.com/takokun778/fs-tf-cockroach/blob/main/.github/workflows/deploy.yml

各種設定はシークレットとして登録しています。

アクションを実行して無事にデプロイに成功しました!

今回使ったコードは以下に置いておきます。

https://github.com/takokun778/fs-tf-cockroach

おわりに

ハマりポイントもとくになくスムーズにデプロイすることができました!
CIにてterraform fmtなどを実行して質を上げることもできるみたいです。
一度Terraformのコードを書いてしまえば
簡単に別環境も構築できるようになるので開発体験がさらに爆上がりです!
Terraformを習得してどんどん開発体験を上げていきたいです。

Discussion