Skip to content

S3 チャネルを追加する

適している場合

S3 チャネルは、次の場合に使用します。

  • Cloudflare R2、Backblaze B2、MinIO、AWS S3、その他の互換プロバイダーなど、S3 互換のオブジェクトストレージサービスに接続したい。
  • Endpoint、Access Key、Secret Key を使う標準的な S3 設定モデルを使いたい。
  • Cloudflare R2 のネイティブバインディングチャネルを使いたくない、またはストレージプロバイダーが Cloudflare R2 ではない。

始める前に必要なもの

必要なもの用途
S3 Endpointオブジェクトストレージサービスの S3 API エンドポイント。
Bucket nameファイルを保存するバケット。
Regionストレージリージョン。Cloudflare R2 では通常 auto です。
Access Key IDS3 アクセスキー ID。
Secret Access KeyS3 シークレットアクセスキー。
CDN domainファイルアクセス用の任意のカスタムドメイン。

S3 API 経由で Cloudflare R2 を使う場合の例:

text
Endpoint: https://your-account-id.r2.cloudflarestorage.com
Bucket: your-r2-bucket-name
Region: auto
Access Key ID: copied from the Cloudflare R2 API token
Secret Access Key: copied from the Cloudflare R2 API token

追加する場所

  1. システム設定を開きます。
  2. アップロード設定に移動します。
  3. 右上のチャネル追加をクリックします。
  4. S3 を選択します。

項目リファレンス

項目役割必須
チャネル名この S3 チャネルを識別しやすい名前。例: s3testR2-S3はい
チャネルを有効化このチャネルをアップロード先の選択に参加させるかどうかを制御します。推奨
Endpointhttps:// を含む完全な S3 サービスエンドポイント。はい
Custom CDN domain任意。設定すると、生成されるファイルリンクではこのドメインが優先されます。いいえ
Bucket nameバケット名。例: s3testimg-r2はい
Bucket regionリージョン。Cloudflare R2 では通常 auto です。はい
Access Key IDS3 アクセスキー ID。はい
Secret Access KeyS3 シークレットアクセスキー。はい
Path-style access互換性用のスイッチ。デフォルトではオフです。一部の MinIO、OpenList、自己ホスト型 S3 サービスでは必要になる場合があります。いいえ
Quota limitこの S3 チャネルを容量に基づくアップロード先の選択に参加させるかどうかを制御します。いいえ
Capacity limitクォータ制限を有効にした後に必要です。例: 10 GBクォータ制限が有効な場合は必須
Threshold使用量がこの割合に達したら書き込みを停止します。例: 90%クォータ制限が有効な場合は必須
Remark保守用のメモ。いいえ

Cloudflare R2 S3 API キーを作成する

  1. Cloudflare Dashboard を開きます。
  2. R2 Object Storage に移動します。
  3. Manage R2 API Tokens または API トークン管理項目を見つけます。

R2 API トークンの入口

  1. 対象バケットにアクセスできる R2 API トークンを作成します。

アカウント API トークンを作成する

  1. 生成された Access Key IDSecret Access Key をコピーします。

トークンの値をコピーする

  1. R2 バケットページに戻り、バケット名を確認します。
  2. アカウントの S3 API エンドポイントを記録します。通常は次のような形式です。
text
https://your-account-id.r2.cloudflarestorage.com

設定手順

  1. アップロード設定を開きます。
  2. チャネル追加をクリックします。
  3. S3 を選択します。
  4. 識別しやすいチャネル名を入力します。例: s3test
  5. Endpoint に S3 API エンドポイントを入力します。
  6. カスタム CDN を使う場合は Custom CDN domain に入力します。使わない場合は空のままにします。
  7. バケット名を入力します。
  8. リージョンを入力します。Cloudflare R2 の例では auto を使います。
  9. Access Key ID と Secret Access Key を入力します。
  10. プロバイダーが明示的に要求しない限り、path-style access はオフのままにします。
  11. 容量制御を使う場合は、クォータ制限を有効にし、capacity limit と threshold を入力します。
  12. 保存をクリックします。

S3 設定を追加する

確認方法

確認項目確認方法
チャネルカードが表示される保存後、アップロード設定ページに S3 チャネルカードが表示されます。
チャネルが有効カード右上のスイッチがオンのままになります。
重要項目が保存されている詳細ビューに Endpoint、Bucket、Region、path-style access、および関連項目が表示されます。
アップロードできるテスト画像をアップロードし、対象バケットにオブジェクトが表示されることを確認します。
リンクを開けるアップロード後に返された画像リンクを正常に開けます。
容量表示が機能するクォータ制限が有効な場合、カードに使用済み容量と設定済みの上限が表示されます。

S3 の容量統計は、プロバイダーのバケットをリアルタイムに照会するのではなく、ImgHost のローカルファイル記録から計算されます。S3 設定を保存すると、システムは現在の D1 records から quota ledger を再計算します。

quota 照会成功

FAQ

path-style access を有効にする必要はありますか?

通常は必要ありません。

S3 互換プロバイダーが virtual-hosted-style URL をサポートしていない場合、またはプロバイダーのドキュメントが path-style access を明示的に要求している場合にのみ有効にしてください。一部の MinIO、自己ホスト型 S3、OpenList 互換エンドポイントでは必要になることがあります。

CDN domain は何に使いますか?

バケットの前段に CDN またはカスタムアクセスドメインを置く場合は、ここに入力します。

設定後、生成されるファイルリンクではこのドメインが優先されます。CDN を使わない場合は空のままにします。

アップロードが失敗するのはなぜですか?

まず次の項目を確認してください。

  1. Endpoint に https:// を含む完全な URL が入っている。
  2. バケット名が正しい。
  3. Region がプロバイダーの要件と一致している。
  4. Access Key ID と Secret Access Key が完全にコピーされている。
  5. キーに対象 bucket への書き込み権限がある。
  6. プロバイダーが path-style access を要求していない、または必要な場合は path-style access が有効になっている。

クイックチェックリスト

text
Prepare S3 Endpoint, Bucket, Region, Access Key, and Secret Key
-> Open Upload Settings
-> Add Channel
-> Select S3
-> Enter Endpoint / Bucket / Region / Access Key / Secret Key
-> Enter a CDN domain if needed
-> Leave path-style access off by default
-> Enable quota limit if needed
-> Save
-> Upload a test image and check the result

Released as user documentation for ImgHost.