terraformのbackendリソースを爆速作成するCLIツール「tfbackend」をリリースしました!

terraformのbackendリソースを爆速作成するCLIツール「tfbackend」をリリースしました!

:2021/8/3 自作アプリ

どんな記事?
  • terraform backend作成用のCLIツール「tfbackend」の紹介記事
  • ワンコマンドでbackend用に最適化されたリソースのプロビジョニングができる!
  • v1.0.0時点ではAWS(S3, DynamoDB)に対応しています

みなさん、terraform、使われてますか?

…そうですか!使われていますか!
では、それは「チームで」ですか?

…そうですかチームでですか!
では、terraform backend、使われていますね?

…そうですか、使われていますか!
なになに、でも毎回手動で作るのがめんどくさいと。

なるほどなるほどわかります、その気持ち。
特にセキュリティやバージョニングをちゃんとやろうとすると、考えることが色々あってめんどくさいんですよね。

スポンサーリンク

tfbackend

というわけで、こうしためんどくさいを解決するCLIツール「tfbackend」を作ったので、ご紹介したいと思います。

なにはともあれ、まずはどんなものなのかを見てみましょう。

$ tfbackend aws --s3 YOUR_BUCKET_NAME --dynamodb YOUR_TABLE_NAME

これだけで

  • backendに最適化されたS3 bucket
  • lock tableに最適化されたDynamoDB

もう少し詳しくお伝えすると、S3は

  • バージョニング: ON
  • デフォルト暗号化(AES256, SSE-S3): ON
  • ブロックパブリックアクセス: すべてON

の状態。

DynamoDBは

  • パーティションキー: LockTable
  • Write/ReadCapacity: 最低限の5 (オプションでオンデマンドモードにもできます)

の状態でプロビジョニングされます。

Install

便利だと思っていただけたら、GitHubのStarをいただけると喜びます

Homebrew

$ brew tap Jimon-s/tfbackend
$ brew install tfbackend

その他

go 1.16~
$ go install github.com/Jimon-s/tfbackend@latest

そもそもどうしてこんなツールが欲しいのだっけ?

terraformの「backend作成」のプラクティスは、「管理対象のterraform projectと完全に別」にリソースを作成することです。

命綱のstateファイルが、万が一にも消えてなくなっては困るので、うっかりdestroyの対策としてはじめから分けておくんですね。

となると、取りうる選択肢は、

  1. コンソールから作る
  2. CLIで作る
  3. backendを作るterraform projectを別で用意する

なのですが、

コンソールから作る

は、めんどくさいですし、

CLIで作る

は、叩くコマンドが複数 & オプションも長いので、気軽に叩けない。

backendを作るterraform projectを別で用意する

でもよいのですが、いくつもbackendを作る際には、前に作ったbackendのtfstateが邪魔になったりしてこれも今ひとつ気軽に使えません。

ならば、

  1. terminalから、コマンド一発
  2. オプション少ない

で使えるツールを作っちゃおう!ということで作ったのが、tfbackendです。

あとがき

気軽に使えるツールになっているので、 ぜひ試してみてください!

便利だと思っていただけたら、GitHubのStarをいただけると喜びます。

最後までご覧いただきありがとうございました。
Jimon(@jimon_s)でした。

-自作アプリ

関連記事



CATEGORY
この記事のカテゴリ
自作アプリの親カテゴリ

親カテゴリはありません

更新チェックはこちらから!