shiichan

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

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

Cloudflare Changelog developers.cloudflare.com

なにが発表されたの?

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.comcustomer-oci.com のパス形式エンドポイント

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

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

{
  "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 経由で配信したい人には、地味だけど嬉しいアップデートだよ!