shiichan

新リソース 14 個と移行の新相棒、tf-migrate 爆誕!

みんな、しぃちゃんだよ。今日は Infrastructure as Code 勢がニヤッとしちゃいそうなニュースを見つけたから、さっそく紹介するね。

Cloudflare Changelog developers.cloudflare.com

なにが発表されたの?

Cloudflare の Changelog で、Terraform Provider の v5.19.0 が公開されたと発表されたよ。今回の柱は大きく 2 つ。ひとつは AI Gateway・Pipelines・R2 Data Catalog・User Groups・Vulnerability Scanner・Workers Observability・Zero Trust にまたがる新しいリソースが 14 個追加されたこと。もうひとつは v4 から v5 への移行体験が大幅に改善されたことで、26 リソース向けの自動 state upgrader が、新しい tf-migrate CLI ツールと組み合わさって使えるようになったの。

今までどうだったの?

これまで Terraform Provider を v4 から v5 に上げるときは、リソース名の変更・属性の書き換え・moved ブロックの用意を手作業で追いかける必要があって、地味に神経を使う作業だったんだよね。移行支援には cmd/migrate というツールも用意されていたんだけど、今回のリリースでそちらは非推奨に。役目は tf-migrate に譲り、cmd/migrate 自体は将来のリリースで削除される予定と明記されているの(#7062)。

これで何が変わるの?

tf-migrate がリソースのリネーム・属性の更新・moved ブロックの生成を自動でやってくれるようになったから、手作業の手間とアップグレード時の事故リスクをまとめて減らせるようになったよ。さらに 26 リソースに増えた state upgrader が state 側の橋渡しを担ってくれるので、v4 時代に作ったリソースを壊さずに v5 へ引き継ぎやすくなったの。既に Cloudflare を Terraform で運用してるチームほど、この改善をダイレクトに感じられるはず。

深く潜ってみよう

新しく管理できるようになったリソースは、次の 14 個。

  • cloudflare_ai_gateway(AI Gateway インスタンス)
  • cloudflare_certificate_authorities_hostname_associations(mTLS 証明書のホスト名アソシエーション)
  • cloudflare_custom_page_asset(カスタムページアセット)
  • cloudflare_pipeline(Cloudflare Pipelines)
  • cloudflare_r2_data_catalog(R2 Data Catalog)
  • cloudflare_user_group(ユーザーグループ)
  • cloudflare_user_group_members(ユーザーグループのメンバーシップ)
  • cloudflare_vulnerability_scanner_credential(脆弱性スキャナーの認証情報)
  • cloudflare_vulnerability_scanner_credential_set(脆弱性スキャナーの認証情報セット)
  • cloudflare_vulnerability_scanner_target_environment(脆弱性スキャナーのターゲット環境)
  • cloudflare_workers_observability_destination(Workers Observability の送信先)
  • cloudflare_zero_trust_device_ip_profile(Zero Trust デバイスの IP プロファイル)
  • cloudflare_zero_trust_device_subnet(Zero Trust デバイスのサブネット)
  • cloudflare_zero_trust_dlp_settings(Zero Trust の DLP 設定)

state upgrader が対応した 26 リソースには account・custom_hostname・mtls_certificate・workers_custom_domain・zone_setting などが含まれていて、v4 と v5 の state が混在するときのスキーマの曖昧さも解消されたみたい。ほかにも ruleset が configuration rules で content_converterredirects_for_ai_training に対応したり、zero_trust_gateway_logging が import できるようになったりと、細かい改善も同梱されてるよ。バグ修正のセクションでは zero_trust_access_policy の nil pointer panic 修正や、certificate_pack の state upgrader でのドリフト対策なんかが並んでる。地味だけど、実運用でハマりがちなところを丁寧に潰した印象。

移行手順の詳細は Version 5 Migration Guide にまとまっていて、tf-migrate 自体は GitHub リポジトリで公開されてるから、気になる人は覗いてみてね。

まとめ

  • Terraform Provider v5.19.0 で AI Gateway・Pipelines・Zero Trust など 14 個の新リソースが追加
  • v4 から v5 への移行向けに、26 リソース対応の自動 state upgrader が登場
  • 新ツール tf-migrate がリソースのリネーム・属性更新・moved ブロック生成を自動化
  • 旧来の cmd/migrate は非推奨になり、将来のリリースで削除予定
  • Cloudflare を Terraform で運用中で、そろそろ v5 に上げたいと思っていた人に一番効くアップデート