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

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

## なにが発表されたの？

[Cloudflare の Changelog](https://developers.cloudflare.com/changelog/post/2026-04-27-terraform-support/) で、[Pipelines](https://developers.cloudflare.com/pipelines/) と [R2 Data Catalog](https://developers.cloudflare.com/r2/data-catalog/) が Terraform で扱えるようになったって発表があったの。[Cloudflare Terraform provider v5.19.0](https://registry.terraform.io/providers/cloudflare/cloudflare/latest/docs) から、新しく 4 つのリソースが追加されたよ。

そもそも Pipelines は、Workers や HTTP エンドポイント経由でストリーミングデータを取り込んで、SQL で変換して、[R2](https://developers.cloudflare.com/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_pipeline](https://registry.terraform.io/providers/cloudflare/cloudflare/latest/docs/resources/pipeline) や [cloudflare_pipeline_stream](https://registry.terraform.io/providers/cloudflare/cloudflare/latest/docs/resources/pipeline_stream)、[cloudflare_pipeline_sink](https://registry.terraform.io/providers/cloudflare/cloudflare/latest/docs/resources/pipeline_sink)、[cloudflare_r2_data_catalog](https://registry.terraform.io/providers/cloudflare/cloudflare/latest/docs/resources/r2_data_catalog) をチェックしてね。

使い方の流れは [Pipelines の Terraform ドキュメント](https://developers.cloudflare.com/pipelines/reference/terraform/) にもまとまっているから、実際に組むときはそこを見ると迷わないよ。

## まとめ

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

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