🏠

[terraform day.20] いろいろな Provider (一部)

3 min read

terraform Advent Calendar 2020 20日目のエントリです。

今年は今の現場でのさりげないIaC活動の成果で、ありがたくもバックエンド担当に上乗せでインフラ面を任せてもらっています。 何もわかっていなかった ECSCodeDeploy のこともいろいろ理解できてきて、来年には運用の簡素化に磨きをかけていきたいところです。
そのためには Terraform はじめ HashiCorp Products をいい感じに使っていければ、と思っています。 YouTube Japanese Language Content を見るなどして、やっていく予定。Waypoint わかりたい。事例ウェルカム。

今年の自分の Terraform の使い方

個人として、やや変わったことをしてたような気がしています。
あまり知られてない、それでいて自分にとっては何かと便利です。

特長として、tfstate を backend ではなくローカルにあえて置いています。
(この点、Terraform職人再入門2020 - Qiita にも言及があって、個人的に「これアリなんだな」と思いハッとしました [1]

gmailfilter

詳細はこちら↓を、で済ませてしまうのですが、GCP のクレデンシャルの扱いを理解するのにだいぶ貢献してもらいました。 9月の記事です。
terraformer で import できるのが秀逸で、もはやこれをバックアップにしています。

サンプルコードはこちら。

https://github.com/sogaoh/TerraformPractice/tree/master/Community/GmailFilter

VCS (Bitbucket, GitHub, GitLab)

コードのコミットを Pixela [2] に活動として記録する際に必要となるリポジトリ変数の登録を簡素化しています。
リポジトリが増えたら変数の中身をちょいちょいと変えて apply する運用です。
メジャー VCS それぞれ用のコードをそれぞれ揃えて置いてます。

Actions や Pipelines でコミットを自動記録した様子がそれぞれこちら。

Bitbucket

GitHub

GitLab

Community Provider のご紹介 (?)

Community Provider の一覧、以前は違うところにあったと思うのですが現時点ではこちらにまとまっているようです

https://registry.terraform.io/browse/providers?tier=community

個人的には Logging & MonitoringSecurity & Authentication にやや注目していて、こういった設定をコード化して集約できると素敵ではなかろうかと思っています。
役立ちそうな Provider がもし見つかった使ってみるのはいかがでしょうか。

おまけ

最後に、自分の terraform 関連記事をこの機会にまとめて並べます。昨年上がったものも含め、小粒なものばかりですが。

それと、来年は↓直ってくれるだろうか(今も起きるか、未確認ですが)。
aws_elasticsearch_domain - please consider SUCCEEDED_WITH_ISSUES(UpgradeStatus) as terraform apply succeeded / terraform-provider-aws #12783
あるいは、自分で直せるくらいになりたい気もちょっとだけしています。

脚注
  1. https://twitter.com/sogaoh/status/1337218562239283201 ↩︎

  2. プロフィールページ(こんな感じに可視化されます) : https://pixe.la/@sogaoh ↩︎