# Cloud Connector が Oracle Cloud のストレージにも対応したよ！

やっほー、しぃちゃんだよ！ 今日はストレージのルーティングがちょっと便利になったお話を持ってきたよ！

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

Cloudflareの Changelog によるとね、Cloud Connector が Oracle Cloud Infrastructure（OCI）の Object Storage に対応したんだって！ Cloud Connector っていうのは、条件にマッチしたリクエストを外部のクラウドストレージに直接ルーティングできる機能で、これまで AWS S3 とか GCS が対象だったところに、OCI が新しく加わった形だよ。

OCI 側は Amazon S3 互換 API を使ってアクセスするから、Cloudflare 側からは S3 と同じような感覚でリクエストを流せるみたい。

## これで何が変わるの？

今までオリジンごとに個別のルーティング設定を管理する必要があったところが、Cloud Connector 経由で OCI のバケットに直接つなげられるようになるよ。OCI にコンテンツを置いている人にとっては、Cloudflare のルール設定だけで配信経路を切り替えられるから、地味だけどうれしいアップデートだと思うな！

## 深く潜ってみよう

対応しているエンドポイント形式は 2 種類あるよ。

- 仮想ホスト形式: `<BUCKET_NAME>.vhcompat.objectstorage.<REGION>.oci.customer-oci.com`
- パス形式: 従来の `oraclecloud.com` や `customer-oci.com` のパス形式エンドポイント

ただし注意点があるよ。Cloud Connector はリクエストの署名や OCI の認証情報の提供をしてくれないから、**パブリックバケットのみ**が対象なの。バケット側で匿名の読み取りを許可している必要があって、プライベートバケットや事前認証済みリクエスト URL（pre-authenticated request URL）は使えないよ。

設定するときは、ルールの `provider` を `oci_storage` にして、対応する OCI のホスト名を指定する形。仮想ホスト形式を使う例はこんな感じだよ。

```json
{
  "expression": "http.request.uri.path wildcard \"/assets/*\"",
  "provider": "oci_storage",
  "description": "Route assets to OCI Object Storage",
  "enabled": true,
  "parameters": {
    "host": "BUCKET_NAME.vhcompat.objectstorage.REGION.oci.customer-oci.com"
  }
}
```

エンドポイント形式やバケット要件のもっと詳しい話は、Cloudflare のドキュメントの「Supported cloud providers in Cloud Connector」に載っているみたいだよ。

## まとめ

- Cloud Connector が OCI Object Storage への直接ルーティングに対応
- OCI 側は S3 互換 API を使用、仮想ホスト形式・パス形式の両方に対応
- 対象はパブリックバケットのみ（署名なし・認証情報なし）
- プライベートバケットや事前認証済みリクエスト URL は非対応

OCI にストレージを置いていて Cloudflare 経由で配信したい人には、地味だけど嬉しいアップデートだよ！
