Cloudflare R2

Page content

☁️ Cloudflare R2 × CLI完全手順(2026)


🧱 全体像(先に理解)

やることはこれだけ👇

① Wranglerインストール
② Cloudflareログイン
③ プロジェクト作成
④ R2バケット作成
⑤ 設定ファイル編集
⑥ デプロイ

🥇 STEP① Wranglerインストール

npm install -g wrangler

確認👇

wrangler --version

🔐 STEP② Cloudflareログイン

wrangler login

👉 ブラウザが開く → 許可
👉 成功するとCLIに戻る


📁 STEP③ プロジェクト作成

npm create cloudflare@latest my-r2-app

質問はこう答える👇

What would you like to start with?
→ Hello World Worker

Do you want to use TypeScript?
→ Yes

Do you want to deploy now?
→ No

フォルダ移動

cd my-r2-app

🪣 STEP④ R2バケット作成(CLI版)

wrangler r2 bucket create my-bucket

成功すると👇

Created bucket 'my-bucket'

確認

wrangler r2 bucket list

⚙️ STEP⑤ wrangler.toml設定(最重要)

プロジェクト内の
👉 wrangler.toml を開く

👇 追加

[[r2_buckets]]
binding = "MY_BUCKET"
bucket_name = "my-bucket"

💻 STEP⑥ コードを書く

src/index.ts を編集👇

export default {
  async fetch(request, env) {

    // 保存
    await env.MY_BUCKET.put("hello.txt", "Hello R2")

    // 取得
    const object = await env.MY_BUCKET.get("hello.txt")

    if (!object) {
      return new Response("Not found", { status: 404 })
    }

    const text = await object.text()

    return new Response(text)
  }
}

🧪 STEP⑦ ローカル実行

wrangler dev

👉 表示されるURLにアクセス
👉 「Hello R2」なら成功


🚀 STEP⑧ デプロイ

wrangler deploy

👉 URLが出る
👉 本番公開完了


📦 STEP⑨ CLIでファイル操作(重要)


アップロード

wrangler r2 object put my-bucket/hello.txt --file ./hello.txt

ダウンロード

wrangler r2 object get my-bucket/hello.txt

削除

wrangler r2 object delete my-bucket/hello.txt

一覧

wrangler r2 object list my-bucket

⚠️ よくあるエラー

❌ bucket not found

👉 名前ミス


❌ binding undefined

👉 wrangler.toml設定忘れ


❌ Unauthorized

👉 loginしてない or 権限不足


🧠 プロがやる構成(重要)

Workers(API)
R2(ファイル)
CDN配信

D1(ユーザー情報)

👉 SaaS完成


🎯 最短コピペセット

npm install -g wrangler
wrangler login
npm create cloudflare@latest my-r2-app
cd my-r2-app
wrangler r2 bucket create my-bucket
wrangler dev
wrangler deploy

🚀 次にやると爆伸び

  • 画像アップロードAPI

  • フロントから直接R2保存

  • 署名付きURL(セキュア配信)

  • D1と連携(ユーザー管理)