Cloudflare の Terraform v5 プロバイダー、たまった不具合を v5.4.0 で一気に解消!
みんな、しぃちゃんだよ! 今日は Cloudflare の Terraform プロバイダーまわりのニュースだよ。ちょっと地味に見えるけど、実際に IaC で Cloudflare を運用してる人にはかなり嬉しいアップデートなの。
Cloudflare Changelogなにが発表されたの?
Cloudflare の Changelog で、Terraform v5 プロバイダーの v5.4.0 リリースが発表されたよ。今年の初めに登場した v5 プロバイダー向けに、たまっていたバグをまとめて直した「バグ修正リリース」なんだ。
今までどうだったの?
v5 プロバイダーは、これまでの手書きプロバイダーと違って、Cloudflare の REST API の OpenAPI スキーマから自動生成される仕組みに変わったの。でもリリース後、想定より多くの不具合が報告されちゃって、なんと全リソースの約 15% にあたる範囲で問題が起きてたんだって。Cloudflare は社内のあちこちのチームを巻き込んで、地道に直し続けてきたみたい。
これで何が変わるの?
v5.4.0 では、報告されていた不具合がまとめて修正されたよ。主な変更はこんな感じ。
worker_platforms_script_secretリソースを廃止(Workers / Workers for Platforms 向けの移行ガイドを用意)cloudflare_cloud_connector_rulesの重複フィールドを削除cloudflare_workers_routeの ID 周りの不具合を修正(GitHub の Issue #5134、#5501 に対応)cloudflare_workers_kvの状態リフレッシュの不具合を修正cloudflare_workers_scriptで Assets 使用時に落ちてしまう不具合を修正cloudflare_workers_scriptの Workers Logpush 設定が誤って読み取り専用になっていた不具合を修正cloudflare_pages_projectでsource使用時に壊れる不具合を修正
すでに v5 を使っていて不具合に悩まされてた人は、プロバイダーを上げるだけで解消するケースが多そうだね。
深く潜ってみよう
今回の修正の中でもボリュームが大きいのが、「サポートされていないレスポンス型を持つリソースをリフレッシュすると失敗する」不具合と、「computed が付いていないネストしたプロパティを設定できない」不具合の 2 つ。
レスポンス型のリフレッシュ不具合が直ったのはこのリソースたち。
cloudflare_certificate_packcloudflare_registrar_domaincloudflare_stream_downloadcloudflare_stream_webhookcloudflare_usercloudflare_workers_kvcloudflare_workers_script
そしてネストしたプロパティの設定不可バグは、なんと 33 個のリソースにまたがって直されたよ。
cloudflare_accountcloudflare_account_dns_settingscloudflare_account_tokencloudflare_api_tokencloudflare_cloud_connector_rulescloudflare_custom_sslcloudflare_d1_databasecloudflare_dns_recordemail_security_trusted_domainscloudflare_hyperdrive_configcloudflare_keyless_certificatecloudflare_list_itemcloudflare_load_balancercloudflare_logpush_dataset_jobcloudflare_magic_network_monitoring_configurationcloudflare_magic_transit_sitecloudflare_magic_transit_site_lancloudflare_magic_transit_site_wancloudflare_magic_wan_static_routecloudflare_notification_policycloudflare_pages_projectcloudflare_queuecloudflare_queue_consumercloudflare_r2_bucket_corscloudflare_r2_bucket_event_notificationcloudflare_r2_bucket_lifecyclecloudflare_r2_bucket_lockcloudflare_r2_bucket_sippycloudflare_rulesetcloudflare_snippet_rulescloudflare_snippetscloudflare_spectrum_applicationcloudflare_workers_deploymentcloudflare_zero_trust_access_applicationcloudflare_zero_trust_access_group
DNS レコードやロードバランサー、R2 バケット、Zero Trust 関連まで、かなり広い範囲のリソースが対象になってるのがわかるね。詳しい変更点は GitHub の v5.4.0 リリースノート にまとまってるよ。
なお v4 から v5 への移行を検討中の人向けには、移行ガイド と、Grit を使った自動移行スクリプトが用意されてるんだって。ただし Terraform モジュールを使っている構成には対応してないから、モジュール利用者は手動での移行が必要になるよ。あと terraform plan で事前に差分を確認してから適用するのが推奨されてるの。
まとめ
- Cloudflare Terraform v5 プロバイダーの v5.4.0 がリリースされ、報告されていたバグがまとめて修正されたよ
worker_platforms_script_secretリソースは廃止、cloudflare_workers_routeの ID 不具合やcloudflare_workers_kvの状態リフレッシュ問題なども解消- レスポンス型のリフレッシュ不具合(7 リソース)と、ネストプロパティの設定不可バグ(33 リソース)がまとめて直った
- v4 から v5 への移行組には移行ガイドと Grit の自動移行スクリプトも用意されてる(ただしモジュール利用時は手動対応が必要)
すでに Cloudflare を Terraform で運用してる人には、プロバイダーを v5.4.0 に上げる価値があるアップデートだね!