Skip to content

Cloudflare R2 チャネルを追加する

適している場合

Cloudflare R2 は、次の場合に適しています。

  • ImgHost サイトがすでに Cloudflare 上にデプロイされており、同じ Cloudflare アカウント内の R2 バケットにファイルを保存したい。
  • 個別の S3 エンドポイント、アクセスキー、シークレットキーを設定したくない。
  • Worker または Pages の R2 バインディング経由で読み書きを行い、設定を最小限にしたい。

要するに、次のとおりです。

R2 チャネルは ImgHost の管理パネル内で手動作成しません。まず Cloudflare プロジェクトに R2 バケットをバインドする必要があります。また、バインディング変数名は必ず img_r2 にする必要があります。

始める前に必要なもの

  • Cloudflare アカウント。
  • 既存の R2 バケット。
  • ImgHost がデプロイされている Cloudflare プロジェクトを管理する権限。

Cloudflare で設定する

1. R2 バケットを作成する

  1. Cloudflare Dashboard にログインします。
  2. R2 Object Storage を開きます。
  3. バケットを作成します。
  4. バケット名を選択します。例: imgbed

アップロードされたファイルはこのバケットに保存されます。

R2 バケットを作成する

2. バケットを ImgHost プロジェクトにバインドする

デプロイ種別に応じてバインディングの場所を選択します。

デプロイ種別バインディングの場所
PagesCurrent Pages project -> Settings -> Functions -> R2 bucket bindings
WorkerCurrent Worker -> Settings -> Bindings -> R2 bucket bindings

バインディングを追加するときに重要な項目は次のとおりです。

項目
変数名img_r2
R2 バケット作成したバケットを選択します。

変数名は必ず img_r2 と完全に一致している必要があります。R2 ファイルのアップロード、読み取り、削除はすべてこのバインディング名に依存します。

3. プロジェクトを再デプロイする

バインディングを保存したら、ImgHost を再デプロイします。これにより、Worker または Pages のランタイムが img_r2 にアクセスできるようになります。

ImgHost で表示される内容

R2 バインディングが利用可能になったら、次を開きます。

  1. システム設定。
  2. アップロード設定。
  3. Cloudflare R2 チャネル。

システムは固定チャネルを 1 つ自動作成します。

項目固定値
チャネル名Cloudflare R2
チャネル種別cfr2
ストレージモードbinding
設定元環境バインディング

これはバインディングに基づく固定チャネルです。作成するためにチャネル追加をクリックする必要はありません。また、通常のチャネルのように削除することもできません。

管理パネルで編集できる項目

項目役割必須
チャネルを有効化R2 をアップロード先の選択に参加させるかどうかを制御します。はい
Account IDクォータ制限が有効で、公式の R2 使用量を照会する必要がある場合にのみ使用します。クォータ制限が有効な場合は推奨
Bucket nameクォータ制限が有効で、公式の R2 使用量を照会する必要がある場合にのみ使用します。クォータ制限が有効な場合は推奨
クォータ制限この R2 チャネルを容量に基づくアップロード先の選択に参加させるかどうかを制御します。いいえ
しきい値使用量が指定した割合に達した後、このチャネルへの書き込みを停止します。クォータ制限が有効な場合は必須

Account ID は Cloudflare Dashboard のアカウント情報パネルからコピーできます。ImgHost で R2 のクォータ使用量を照会し、制限を適用したい場合にのみ入力してください。

Account ID を取得する

設定手順

  1. Cloudflare で R2 バケットを作成します。
  2. ImgHost プロジェクトの Cloudflare 設定を開きます。
  3. R2 バケットバインディングを追加します。
  4. 変数名を img_r2 に設定します。
  5. 作成した R2 バケットを選択します。
  6. バインディングを保存し、ImgHost を再デプロイします。
  7. ImgHost -> システム設定 -> アップロード設定に戻ります。
  8. Cloudflare R2 チャネルが表示され、有効になっていることを確認します。

R2 を容量に基づくアップロード先の選択に参加させたい場合は、クォータ制限を有効にし、保存前に Account ID、bucket name、クォータ制限、しきい値を入力します。

クォータ制限を設定する

確認方法

  • 固定の Cloudflare R2 チャネルがアップロード設定に表示される。
  • チャネルカードで有効状態になっている。
  • 小さなテストファイルを正常にアップロードでき、返されたリンクを正常に開ける。
  • ファイルを開いたときに R2 database binding is not configured が返る場合、ランタイムが img_r2 バインディングを受け取っていません。Cloudflare のバインディング名を確認し、プロジェクトを再デプロイしてください。

Released as user documentation for ImgHost.