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 バケットを作成する
- Cloudflare Dashboard にログインします。
R2 Object Storageを開きます。- バケットを作成します。
- バケット名を選択します。例:
imgbed。
アップロードされたファイルはこのバケットに保存されます。

2. バケットを ImgHost プロジェクトにバインドする
デプロイ種別に応じてバインディングの場所を選択します。
| デプロイ種別 | バインディングの場所 |
|---|---|
| Pages | Current Pages project -> Settings -> Functions -> R2 bucket bindings |
| Worker | Current Worker -> Settings -> Bindings -> R2 bucket bindings |
バインディングを追加するときに重要な項目は次のとおりです。
| 項目 | 値 |
|---|---|
| 変数名 | img_r2 |
| R2 バケット | 作成したバケットを選択します。 |
変数名は必ず img_r2 と完全に一致している必要があります。R2 ファイルのアップロード、読み取り、削除はすべてこのバインディング名に依存します。
3. プロジェクトを再デプロイする
バインディングを保存したら、ImgHost を再デプロイします。これにより、Worker または Pages のランタイムが img_r2 にアクセスできるようになります。
ImgHost で表示される内容
R2 バインディングが利用可能になったら、次を開きます。
- システム設定。
- アップロード設定。
Cloudflare R2チャネル。
システムは固定チャネルを 1 つ自動作成します。
| 項目 | 固定値 |
|---|---|
| チャネル名 | Cloudflare R2 |
| チャネル種別 | cfr2 |
| ストレージモード | binding |
| 設定元 | 環境バインディング |
これはバインディングに基づく固定チャネルです。作成するためにチャネル追加をクリックする必要はありません。また、通常のチャネルのように削除することもできません。
管理パネルで編集できる項目
| 項目 | 役割 | 必須 |
|---|---|---|
| チャネルを有効化 | R2 をアップロード先の選択に参加させるかどうかを制御します。 | はい |
| Account ID | クォータ制限が有効で、公式の R2 使用量を照会する必要がある場合にのみ使用します。 | クォータ制限が有効な場合は推奨 |
| Bucket name | クォータ制限が有効で、公式の R2 使用量を照会する必要がある場合にのみ使用します。 | クォータ制限が有効な場合は推奨 |
| クォータ制限 | この R2 チャネルを容量に基づくアップロード先の選択に参加させるかどうかを制御します。 | いいえ |
| しきい値 | 使用量が指定した割合に達した後、このチャネルへの書き込みを停止します。 | クォータ制限が有効な場合は必須 |
Account ID は Cloudflare Dashboard のアカウント情報パネルからコピーできます。ImgHost で R2 のクォータ使用量を照会し、制限を適用したい場合にのみ入力してください。

設定手順
- Cloudflare で R2 バケットを作成します。
- ImgHost プロジェクトの Cloudflare 設定を開きます。
- R2 バケットバインディングを追加します。
- 変数名を
img_r2に設定します。 - 作成した R2 バケットを選択します。
- バインディングを保存し、ImgHost を再デプロイします。
- ImgHost -> システム設定 -> アップロード設定に戻ります。
Cloudflare R2チャネルが表示され、有効になっていることを確認します。
R2 を容量に基づくアップロード先の選択に参加させたい場合は、クォータ制限を有効にし、保存前に Account ID、bucket name、クォータ制限、しきい値を入力します。

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