Setup Guide · Advanced

Claude Codeで「書く→GitHub→Cloudflare→本番」を事故なく回すガイド

アカウントを揃えるだけでは動かない。ローカルに何を入れるか、シークレットをどう扱うか、 pushが本当に本番へ出るのか、失敗したらどう戻すか——実際につまずくのはこのあたりになる。

← 環境構築編トップに戻る

01まず作るアカウント

ここに独自ドメインは含めていない。最初の公開体験を優先するなら、仮URLで動かしてから検討すればよい。

Claude(Pro または Max) 必須 claude.ai のサブスクにClaude Codeが含まれる。ターミナルからコードを書かせる本体。従量課金のAPIキーだけでも動くが、日常的に使うならサブスクの方が安い。
GitHub 無料枠で十分 コードの置き場所、変更履歴、そしてCloudflareへの自動デプロイの起点。無料のPersonalアカウントでよい。
Cloudflare 無料枠で十分 Workers / Pages / D1(DB)/ R2(ストレージ)が揃う。GitHub連携を設定した場合はpush一発で本番に反映される(未設定なら手動デプロイ)。仮URL(*.pages.dev / *.workers.dev)はこの時点で発行される。
ドメイン 続けるなら推奨 Cloudflare Registrar・お名前.com・Squarespace Domainsなど。Cloudflareの仮URLでも公開体験はできるので、続けられそうだと分かってから取得すればよい。年1,000〜2,000円程度から。
仮URL(*.pages.dev / *.workers.dev)はGoogleに拾われることがある

公開体験としては手軽だが、仮URLでもクロール・インデックスの対象になり、人に見せるつもりのなかったページが検索結果に出てしまう事例がある。試作段階で外部に見せたくないなら、後述の Cloudflare Access でアクセスそのものを制限する。

<meta name="robots" content="noindex"> は検索結果への掲載を抑える補助でしかなく、アクセス制御ではない。URLを知っている人は誰でも中身を見られるままなので、秘密を守る手段として使わないこと。

02PCに入れるもの

アカウントを作った後、多くの人はここで止まる。次に何を入れればいいか分からないからだ。最初から全部理解する必要はなく、Claude Codeに聞きながら1つずつ入れればよい。

  • ターミナル — Macなら標準の「ターミナル」で足りる
  • Claude Code — npm install -g @anthropic-ai/claude-code で導入
  • Git — バージョン管理。Macは xcode-select --install で付属のものが入る
  • Node.js — Cloudflare向けの多くのツール(wrangler等)が前提にする
  • GitHub CLI(gh) — ブラウザに行き来せずにGitHub認証・リポジトリ作成ができる
  • コードエディタ — VS Codeなど。コードを直接確認したいときに使う(Claude Codeだけでも作業は完結する)
  • パスワードマネージャー — 1Password / Bitwardenなど。APIキーやトークンの保管先として、この段階から使い始める

03最初の公開までの流れ

「GitHubにpush」の前に、認証という難所がある。

  1. GitHubにログインする

    gh auth login を実行し、画面の指示に従う(SSHかHTTPSかを選ぶ場面がある。迷ったらHTTPSでよい)。あわせてGitHubの2段階認証を有効化し、表示されるリカバリーコードはパスワードマネージャーに保存しておく。

  2. リポジトリを作ってpushする

    Claude Codeに「GitHubリポジトリを作ってpushして」と頼めば、gh repo create 相当の操作から行ってくれる。

  3. Cloudflareと接続する

    Cloudflareダッシュボードで Pages(または Workers Builds)からGitHubリポジトリを接続する。これでpushごとの自動ビルド・デプロイが有効になる。

注意:GitHubにpushすれば必ず公開されるわけではない

pushが本番反映の起点になるのは、CloudflareとGitHubの自動デプロイ連携を設定した場合に限る。プロジェクトによっては wrangler deploy の手動実行や、GitHub Actions、リポジトリ内の deploy.sh のようなスクリプト経由でのデプロイが必要になる。「pushしたのに反映されない」と思ったら、まずこの前提を疑うとよい。

04シークレット管理

APIキーやDB接続情報をコードに直書きしないための基本。かなり早い段階で必要になる。

Cloudflare Secrets(wrangler secret) 必須級 Workers/Pages上で使うAPIキーや認証情報の置き場所。Claude Codeに「Secretsに登録して」と頼めば wrangler secret put を実行してくれる。
GitHub Secrets GitHub Actionsを使うなら GitHub Actions内で使うトークン類の置き場所。リポジトリのSettings → Secrets and variablesから登録する。
.env.local と本番環境変数の分離 必須級 ローカル開発用の値は .env.local(gitignore対象)に、本番用の値はCloudflare Secretsに、という形で分ける。同じファイルを両方で使い回さない。
.env、APIキー、パスワードはGitHubにpushしない。

誤ってpushしてしまった場合、履歴から削除するだけでは不十分(過去のcommitに残る)。該当のキーやパスワードはその場で無効化・再発行する。

05公開後に足すもの

最初から揃える必要はない。必要になったタイミングで1つずつ足す。

目的候補
失敗・エラーに気づくCloudflareダッシュボードのログ、wrangler tail、またはSentryなどのエラートラッキング
デプロイ失敗やCron結果の通知Discord Webhook / Slack / LINE Notify 相当のもの
死活監視(落ちていないか)UptimeRobot / Healthchecks.io(いずれも無料枠あり)
まだ全世界に公開したくないCloudflare Access(Zero Trust)— Google/メール認証の壁をアプリ側の実装なしでネットワーク層に作れる。試作段階を身内だけで確認するのに向く
アクセス解析Cloudflare Web Analytics(プライバシー配慮型)/ GA4
スパム・Bot対策Cloudflare Turnstile
問い合わせ受付Google Forms、または簡易フォームAPI
メール受信Google Workspace など独自ドメインメール
D1で足りないDB要件Turso / Neon / Supabase など、使った分だけのサーバーレスDB。エッジ中心の構成と一貫性を保ちやすい
WordPress資産など既存システムとの連携現在契約しているPHP/MySQLレンタルサーバー(常時起動が前提になる点でCloudflare中心の構成とは毛色が違う)
LINE連携LINE Developers(無料)
複数マシンの接続Tailscale(個人利用は無料枠内)

06ハードウェア

Cloudflare側で処理が完結するなら、常時起動のマシンは要らない。「決まった時刻に自動で何かを動かしたい」はCloudflareのCron Triggersで足りることが多く、それでも足りない場合だけ常時稼働機を検討する。

  • 開発機(Mac / Windows / Linux)— 普段使いのPC1台で足りる
  • 常時稼働マシン(任意)— ローカルでの定期処理が必要になった場合のみ、中古Mac miniや安価なVPSを検討
  • NAS(任意)— gitのバックアップ先や大容量ファイル置き場が欲しくなってから

常時稼働機を持たない構成は、コストや運用の手間だけでなく、使っていない時間の電力消費を抑えられるという意味でも無駄が少ない。

07費用感と隠れコスト

項目月額目安備考
Claude Pro$20〜年払いなら $17/月。Max は $100〜
GitHub¥0個人のPublic/Privateリポジトリは無料
Cloudflare¥0〜無料枠超過分のみ従量課金。Workers有料プランは $5/月から
ドメイン¥100〜200/月換算年払いが基本
レンタルサーバー¥1,000〜2,000PHP/MySQL構成を選んだ場合のみ

2026年7月31日時点。料金と無料枠は変動するため、契約前に各公式サイトで最新の内容を確認すること。

見落としやすい超過ポイント:

  • D1(DB)の読み書き行数 — 無料枠は1日あたり読み取り500万行・書き込み10万行。アクセスが増えると超えやすい
  • Workers のリクエスト数とCPU時間 — 無料枠は1日10万リクエスト、1リクエストあたりCPU 10ミリ秒
  • R2 のストレージ容量と操作回数 — egress(外部への転送量)は無料。課金対象は容量(無料枠10GB)とClass A/B操作の回数
  • Claude Codeのトークン消費 — 大規模リファクタや長時間の対話で急増しやすい

08公開前の最低チェック

  • ページが実際に開く(本番URLで)
  • スマートフォンでも崩れていない
  • リンクが切れていない
  • フォームがあるなら送信できる
  • シークレットやAPIキーが画面・GitHubに出ていない
  • 更新が反映されていないように見えたら、まずキャッシュを疑う — 本番URLをハードリロード(Macは Command+Shift+R)してから判断する

09壊れたときの戻し方

AI開発で重要なのは、作る速さより壊したときに戻せることの方。

作業前にcommitし、変更単位を小さくする。 問題が起きたら、直前のcommitに戻す、またはCloudflareダッシュボードから過去のデプロイに戻す。いきなり本番のファイルを直接編集しない。

CloudflareのGit連携は、mainブランチ以外へのpushでもブランチごとのプレビューURLを自動生成する。本番に出す前にそちらで確認する運用もできる。

10よくある次のステップ

  • 認証を入れる — Auth.js / Clerk / Cloudflare Access
  • D1で簡単なDBを使う
  • Cron Triggersで定期処理を入れる(任せ方の設計は AIエージェント編で扱っています)
  • 独自ドメインのSSLとリダイレクト設定
  • ブランチプレビューを本番前の確認に組み込む(09で触れた仕組み)
必要なものの一覧だけを確認したい場合は、必要なアカウントとハードウェアの一覧へ。何を契約すればいいかを必須度つきで並べています。 公開できたあと、仕組みを自分がいない間も動かす話は AIエージェント編にあります。