Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

はじめに

最終更新 Markdown で表示Agent セットアップ

Cloudflare Tunnel を作成し、最初のアプリケーションを 5 分以内に公開します。

前提条件

トンネルを作成する

新しい Cloudflare Tunnel を作成します。

  1. Cloudflare ダッシュボードNetworking > Tunnels を開きます。

    Tunnels を開く ↗
  2. Create Tunnel を選択します。

  3. トンネル名を入力します(例: production-web または staging-api)。

  4. Create Tunnel を選択します。

  5. Setup Environment で、サーバーの OS とアーキテクチャを選択します。

  6. Install and Run に表示されたインストールコマンドをコピーし、サーバーのターミナルで実行します。

  7. トンネルが接続したら、Continue を選択します。

トンネルは Tunnels ページに Healthy ステータス で表示されます。

  1. 次の権限で API トークンを作成 します。

    種類 項目 権限
    Account Cloudflare Tunnel Edit
    Zone DNS Edit
  2. トンネルを作成します。

    Required API token permissions

    At least one of the following token permissions is required:
    • Cloudflare One Connectors Write
    • Cloudflare One Connector: cloudflared Write
    • Cloudflare Tunnel Write
    Create a Cloudflare Tunnelbash
    curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/cfd_tunnel" \
    	--request POST \
    	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
    	--json '{
    		"name": "api-tunnel",
    		"config_src": "cloudflare"
    	}'
  3. レスポンスから idtoken の値をコピーします。トンネルの設定と実行に使います。

アプリケーションを公開する

アプリケーションをインターネットから利用できるようにするには、トンネルに公開アプリケーションルートを追加します。トンネルルートは、公開ホスト名をローカルサービスへ対応付けます。

オリジンがすでに HTTPS を提供している、または HTTP を HTTPS へリダイレクトしている場合は、HTTPS オリジンのトラブルシューティング を参照し、Service URL とオリジン設定を選びます。

  1. Cloudflare ダッシュボードNetworking > Tunnels を開き、トンネルを選択します。 Tunnels を開く ↗

  2. RoutesAdd route を選択します。

  3. Published application を選択します。

  4. Hostname でサブドメインを入力し、ドロップダウンからドメインを選択します。

  5. Service URL に、アプリケーションのローカルアドレスとポートを入力します。

    例: Web サーバーが cloudflared と同じマシンで動いている場合:

    • ポート 80 の HTTP: http://localhost:80
    • ポート 443 の HTTPS: https://localhost:443

    Web サーバーが別マシンの場合: http://192.0.2.1:80

    オリジン証明書がサービスアドレスではなく公開ホスト名をカバーしている場合は、Origin Server Name に証明書のホスト名を設定し、Disable TLS certificate verification はオフのままにします。設定の全体は HTTPS オリジンのトラブルシューティング を参照してください。

  6. Add route を選択します。

  1. トンネルの ingress ルールを設定します。

    Required API token permissions

    At least one of the following token permissions is required:
    • Cloudflare One Connectors Write
    • Cloudflare One Connector: cloudflared Write
    • Cloudflare Tunnel Write
    Update Tunnel configurationbash
    curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/cfd_tunnel/$TUNNEL_ID/configurations" \
    	--request PUT \
    	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
    	--json '{
    		"config": {
    				"ingress": [
    						{
    								"hostname": "app.example.com",
    								"service": "http://localhost:80",
    								"originRequest": {}
    						},
    						{
    								"service": "http_status:404"
    						}
    				]
    		}
    	}'

    ingress ルールの末尾には、キャッチオールルールが必要です。この例では、リクエストがどのホスト名にも一致しないとき、cloudflared は 404 ステータスコードで応答します。

  2. アプリケーションの DNS レコードを作成します。

    Required API token permissions

    At least one of the following token permissions is required:
    • DNS Write
    Create DNS Recordbash
    curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/dns_records" \
    	--request POST \
    	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
    	--json '{
    		"type": "CNAME",
    		"proxied": true,
    		"name": "app.example.com",
    		"content": "<TUNNEL_ID>.cfargotunnel.com"
    	}'
  3. サーバーに cloudflared をインストールし、トンネルを作成する で取得した token を使ってトンネルを実行します。

    1. cloudflaredダウンロードしてインストール します。

    2. 次のコマンドを実行します。

      sudo cloudflared service install <TUNNEL_TOKEN>
    1. cloudflaredダウンロードしてインストール します。

    2. 管理者としてコマンドプロンプトを開きます。

    3. 次のコマンドを実行します。

      cloudflared.exe service install <TUNNEL_TOKEN>
    1. cloudflaredダウンロードしてインストール します。

    2. ターミナルを開き、次のコマンドを実行します。

      sudo cloudflared service install <TUNNEL_TOKEN>
    1. ターミナルを開きます。

    2. 次のコマンドを実行します。

      docker run cloudflare/cloudflared:latest tunnel --no-autoupdate run --token <TUNNEL_TOKEN>

設定したホスト名で、アプリケーションが公開されます。Cloudflare はネットワーク経由でトラフィックを自動プロキシし、CDN キャッシュ、WAF、DDoS 対策を適用します。

Quick tunnels(開発用)

ローカル開発では、Cloudflare アカウントなしで localhost をすぐ公開できます。

cloudflared tunnel --url http://localhost:8080

ランダムな trycloudflare.com サブドメインが生成され、ローカルサーバーへトラフィックをプロキシします。Quick tunnels はテスト専用です。同時リクエストは 200 件までで、Server-Sent Events(SSE)には対応しません。

本番では、トンネルを作成 してください。

次のステップ

  • ルーティング — DNS レコード、ロードバランサー、プロトコル対応を設定します。
  • 設定 — レプリカのデプロイ、トークン管理、パフォーマンス調整を行います。
  • ガイド — Kubernetes、AWS、GCP、Terraform などへのデプロイです。
  • トラブルシューティング — よくあるエラーと接続の問題を解消します。

役に立ちましたか?