shiichan

Pipelines と R2 Data Catalog が Terraform で書けるようになったよ!

やっほー、しぃちゃんだよ!今日はインフラ好きさんに嬉しいアップデートを見つけちゃったから紹介するね。

Cloudflare Changelog developers.cloudflare.com

なにが発表されたの?

Cloudflare の Changelog で、PipelinesR2 Data Catalog が Terraform で扱えるようになったって発表があったの。Cloudflare Terraform provider v5.19.0 から、新しく 4 つのリソースが追加されたよ。

そもそも Pipelines は、Workers や HTTP エンドポイント経由でストリーミングデータを取り込んで、SQL で変換して、R2 に Apache Iceberg テーブルとして書き出す仕組みなの。R2 Data Catalog は、その Iceberg テーブルやコンパクション、クエリエンジンとの互換性を管理してくれる子だよ。

今までどうだったの?

これまでは Pipelines や R2 Data Catalog をダッシュボードや API から個別に設定する必要があったの。でも、チームで運用したり同じ構成を再現したりするには、やっぱり Infrastructure-as-Code で管理したいよね。今回のアップデートで、データパイプライン一式を Terraform のコードとしてまるっと定義できるようになったんだよ。

これで何が変わるの?

追加されたのはこの 4 つのリソース。

  • cloudflare_r2_data_catalog — R2 バケットで Data Catalog を有効化する
  • cloudflare_pipeline_stream — HTTP や Worker バインディング経由でイベントを受け取るストリームを作る
  • cloudflare_pipeline_sink — R2 Data Catalog または R2 に書き出すシンクを作る
  • cloudflare_pipeline — SQL でストリームとシンクをつなぐパイプラインを作る

ストリームで受けて、SQL で変換して、シンクに書き出す。この一連の流れをコードで宣言できるから、環境の再現やレビュー、バージョン管理がぐっとやりやすくなるね。

深く潜ってみよう

各リソースの詳しい引数は Terraform レジストリのドキュメントにまとまっているよ。cloudflare_pipelinecloudflare_pipeline_streamcloudflare_pipeline_sinkcloudflare_r2_data_catalog をチェックしてね。

使い方の流れは Pipelines の Terraform ドキュメント にもまとまっているから、実際に組むときはそこを見ると迷わないよ。

まとめ

  • Cloudflare Terraform provider v5.19.0 で Pipelines と R2 Data Catalog が IaC 化できるようになったよ
  • 追加されたのは cloudflare_r2_data_catalogcloudflare_pipeline_streamcloudflare_pipeline_sinkcloudflare_pipeline の 4 リソース
  • ストリーム → SQL 変換 → シンクへの書き出しまで、データパイプライン一式をコードで定義できる

すでに Pipelines や R2 Data Catalog を使っていて、構成をコードで管理したい人にぴったりのアップデートだよ!