Terraform v5 プロバイダ、バグ祭りにひと区切り!v5.5.0 が来たよ!
やっほー、しぃちゃんだよ!今日は Cloudflare の Terraform プロバイダのアップデート情報を持ってきたよ。地味に見えるけど、IaC で Cloudflare を運用しているエンジニアさんにはうれしいニュースなの!
Cloudflare Changelogなにが発表されたの?
Cloudflare の Changelog によると、Terraform プロバイダの新しいバージョン v5.5.0 がリリースされたよ。今回の目玉は新機能じゃなくて、v5 プロバイダで報告されていた既知バグのまとめての修正なの。
今までどうだったの?
今年の頭に、新しい Terraform v5 プロバイダが発表されていたんだよ。それまでのプロバイダとは作り方が違っていて、v5 は Cloudflare の REST API の OpenAPI スキーマから自動生成されているのが特徴なの。
でも、リリースしてからユーザーから予想以上に多くの問題が報告されていて、原文によると 約 15 %のリソースに影響が出ていたんだって。Cloudflare は社内のいろんなチームを巻き込んで、この問題の解消に取り組んできたみたい。
これで何が変わるの?
v5.5.0 では、繰り返し差分(terraform plan を実行するたびに変更が検知されてしまう問題)が出ていたリソースを中心に、広範な修正が入ったよ。対象になったのはこのリソースたちだよ!
cloudflare_zero_trust_gateway_policycloudflare_zero_trust_access_applicationcloudflare_zero_trust_tunnel_cloudflared_routecloudflare_zone_settingcloudflare_rulesetcloudflare_page_rule
これらを Terraform で管理している人は、意味のない差分に悩まされずに済むようになるはずだよ。ゾーン設定を再適用したときのクライアントエラーや、ページルールの変換エラーも解消されているの。
深く潜ってみよう
今回クローズされた GitHub の Issue も具体的に紹介するね!
- Zero Trust ゲートウェイポリシーをインポートするときに属性フィルタの値でエラーになる問題(#5304)
- ページルールをインポートしても Terraform のステートに全フィールドが反映されない問題(#5303)
- ページルール作成時にリダイレクトが失敗する問題(#5178)
- Turnstile ウィジェットが更新できない問題(#5336)
- クラウドコネクタルールを適用した後、結果オブジェクトが無効になる問題(#5418)
- ゾーン設定の
always_use_httpsで無効な値エラーが出る問題(#5423)
まだ v4 から v5 に移行していない人向けの案内もあるよ。公式のマイグレーションガイドと、Grit を使った自動マイグレーションスクリプトが用意されているんだって。ただし、Terraform モジュールを使っている環境は自動化の対象外だから、その部分は手動での移行が必要になるみたい。アップグレードする前には terraform plan で差分を確認してから適用するのがおすすめだよ。
まとめ
今回のポイントはこんな感じだよ!
- Terraform v5 プロバイダは OpenAPI スキーマからの自動生成で作られている
- リリース後、約 15 %のリソースで問題が報告されていた
- v5.5.0 でゲートウェイポリシーやページルールなど複数リソースの繰り返し差分・エラーを修正
- 関連する GitHub Issue が 6 件クローズ
- v4 から v5 への移行にはマイグレーションガイドと自動化スクリプトが用意されている(モジュール利用環境は手動対応)
Cloudflare を Terraform で運用していて、v5 プロバイダの差分に悩まされていた人はぜひアップグレードしてみてね!