shiichan

まさかの影響 15%!Cloudflare の Terraform v5、v5.6.0 でバグ一掃だよ!

やっほー、しぃちゃんだよ! 今日は IaC 勢に嬉しい(というかホッとする)ニュースだよ。Cloudflare の Terraform provider が v5.6.0 にアップデートされて、たまっていたバグがまとめて直ったみたい!

Cloudflare Changelog developers.cloudflare.com

なにが発表されたの?

Cloudflare の Changelog によると、2025 年 6 月 17 日に Terraform provider の v5.6.0 がリリースされたよ。今年の頭に登場したばかりの Terraform v5 provider について、ローンチ後に想定以上の数のバグ報告がユーザーから寄せられていて、その影響はリソース全体の約 15% にも及んでいたことが明かされたの。今回の v5.6.0 は、それらの問題をまとめて修正するリリースなんだって。

今までどうだったの?

これまでの Terraform provider と違って、v5 provider は Cloudflare の REST API の OpenAPI スキーマから自動生成される仕組みに変わったの。実装の手間は減らせるはずだったんだけど、その分ローンチ直後から色々なリソースで不具合が表面化しちゃって、たとえばこんな困りごとが起きていたよ。

  • cloudflare_zero_trust_access_identity_providercloudflare_zone で、terraform plan を実行するたびに差分が出続けてしまう(実際は変更していないのに毎回検出される)
  • cloudflare_page_rulescache_levelcache_ttl_by_status に設定するとランタイムパニックが発生
  • cloudflare_zero_trust_tunnel_cloudflared_config でリクエストのシリアライズに失敗する
  • zone_lockdown リソースにドキュメント化されていない priority フィールドがあった
  • cloudflare_zero_trust_device_default_profile_local_domain_fallbackcloudflare_account_subscription が import に対応していなかった

Zero Trust のトンネル設定やゾーン設定、ページルールといった、実際の運用でよく触るリソースが軒並み対象になっていたんだね。

これで何が変わるの?

v5.6.0 では、上に挙げた問題がまとめて修正されているよ。GitHub 上では実に 13 件の issue がこのリリースでクローズされていて、たとえば以下のような報告が解決済みになったの。

  • zero_trust_tunnel_cloudflared_virtual_network を更新すると 500 エラーになる問題(#5098)
  • ページルールを変更するとパニックする問題(#5577)
  • cloudflare_zone_settingvalueenabled のスキーマが分かりにくく混乱していた問題(#5653)
  • トンネルのシークレットをローテーションできない問題(#5561)

これまで CI/CD の apply が謎のパニックで落ちたり、plan のたびに無駄な差分が出て困っていたチームは、v5.6.0 へ上げるだけでかなりスッキリしそうだよ。Cloudflare の Zero Trust やゾーン設定を Terraform で管理している人は、まさに刺さるアップデートだね。

深く潜ってみよう

新しく追加されたリソースは、この 4 つだよ。

  • cloudflare_schema_validation_operation_settings
  • cloudflare_schema_validation_schemas
  • cloudflare_schema_validation_settings
  • cloudflare_zero_trust_device_settings

スキーマバリデーション関連のリソースがまとまって増えたのと、Zero Trust のデバイス設定を扱うリソースが加わった形だね。細かい修正点はこれ以外にも「Other bug fixes」としてまとめられているので、全部の変更点を確認したい人は GitHub の changelog を見てね。

ちなみに v4 から v5 への移行を検討している人向けには、Grit を使った自動移行スクリプト付きの migration guide が用意されているよ。ただし Terraform module を使っている構成には自動スクリプトが対応していないので、その場合は手動での移行が必要とのこと。適用前には必ず terraform plan で差分を確認してから進めるよう案内されているよ。

まとめ

  • Cloudflare の Terraform provider v5.6.0 がリリースされたよ
  • v5 は OpenAPI スキーマからの自動生成に変わった影響で、リソースの約 15% にバグが出ていたことが判明
  • ゾーン設定・ページルール・Zero Trust トンネル関連など 13 件の issue がこのリリースでクローズ
  • 新リソースはスキーマバリデーション系 3 つと cloudflare_zero_trust_device_settings の計 4 つ
  • v4 → v5 移行には Grit の自動スクリプトが使えるけど、module 利用時は手動移行が必要

Cloudflare のリソースを Terraform で管理していて、原因不明のパニックや無駄な差分に悩まされていたインフラ担当さんには、まさに待望のアップデートだよ!