CloudFlare R2 統合
R2はCloudFlareが提供するオブジェクトストレージサービスで、CloudFlareのCDNサービスとシームレスに統合され、静的ファイルストレージおよび配信サービスとして機能します。
ファイルストレージを必要とするシナリオは多岐にわたります。例えば:
- ユーザーアバターストレージ
- AI生成画像や動画のクラウド保存
- ブログ画像ストレージ
これらのニーズに伴い、管理者にもファイル管理バックエンドが必要になります。
Nexty.devテンプレートは、CloudFlare R2に基づいたファイルアップロードと削除メソッドをカプセル化し、ファイルの表示と管理のためのバックエンドを提供することで、これらの要件に対応しています。
本章では、CloudFlare R2の設定を完了します。
CloudFlare R2の設定
- CloudFlare R2ページにアクセスし、Bucketの作成を開始します
- Bucket設定に移動し、
R2_BUCKET_NAME
とR2_ACCOUNT_ID
を環境変数にコピーします
- カスタムドメインの設定
- 設定したカスタムドメインに
https://
接頭辞を付けて、環境変数R2_PUBLIC_URL
に追加します
# .env.local or .env
R2_PUBLIC_URL=https://R2_PUBLIC_URL
- CORSポリシーの設定。これは、R2 Bucketに保存されているリソースにどのオリジン(ドメイン、プロトコル、ポート)がアクセスできるかを制御します。これは、許可されていないクロスオリジンアクセスからリソースを保護するためのセキュリティメカニズムです。
[
{
"AllowedOrigins": [
"http://localhost:3000",
"https://your-domain.com"
],
"AllowedMethods": [
"GET"
]
}
]
- R2ホームページに戻り、APIキーの作成を開始します
- APIキーを環境変数
R2_ACCESS_KEY_ID
とR2_SECRET_ACCESS_KEY
に追加します
確認
ソースコードリポジトリを起動し、以下のモジュールでR2関連機能をテストできます:
/dashboard/settings
ページでアバターアップロードをテスト/ai-demo
ページでAI生成画像や動画のアップロードをテスト/dashboard/images
ページでAIデモで生成された画像や動画を管理