Skip to content

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

GCP

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

このガイドでは、軽量コネクター cloudflared を使って、Google Cloud Project(GCP)の仮想マシンを Cloudflare に接続する方法を説明します。

次をデプロイします。

  • 基本的な HTTP サーバーを実行する Google Cloud Project(GCP)の仮想マシン。
  • 公開ホスト名またはプライベート IP アドレスでサービスに接続できるようにする Cloudflare Tunnel。

前提条件

次の手順を完了するには、次が必要です。

1. GCP で VM インスタンスを作成する

  1. Google Cloud Console で、新しいプロジェクトを作成 します。

  2. Compute Engine > VM instances を開きます。

  3. Create instance を選択します。

  4. VM インスタンスに名前を付けます。この例では http-test-server とします。

  5. 希望するオペレーティングシステムとスペックを選びます。この例では、次の設定を使えます。

    • Machine family: General Purpose
    • Series: E2
    • Machine type: e2-micro
    • Boot disk image: Debian GNU/Linux 12
    • Firewalls: Allow HTTP and HTTPS traffic
  6. Advanced options > Management > Automation で、次のスタートアップスクリプトを追加します。この例では、ポート 80 に基本的な Apache Web サーバーをデプロイします。

    #!/bin/bash
    apt update
    apt -y install apache2
    cat <<EOF > /var/www/html/index.html
    <html><body><h1>Hello Cloudflare!</h1>
    <p>This page was created for a Cloudflare demo.</p>
    </body></html>
    EOF
  7. Create を選択します。

  8. オペレーティングシステムは Apache HTTP サーバーを自動で起動します。サーバーが動作していることを確認するには:

    1. VM インスタンスの External IP をコピーします。
    2. ブラウザーを開き、http://<EXTERNAL IP> にアクセスします。Hello Cloudflare! のテストページが表示されます。
  9. VM インスタンスにログインするには、SSH の横のドロップダウンを開き、Open in browser window を選びます。

2. Cloudflare Tunnel を作成する

Cloudflare Tunnel を作成し、GCP VM 上で実行します。

  1. Cloudflare ダッシュボードにログインし、Networking > Tunnels を開きます。

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

  3. トンネル名を入力します(例: gcp-tunnel)。

  4. Create Tunnel を選択します。

  5. OS を選びます(GCP VM では Debian を選択)。インストールコマンドをコピーし、GCP VM 上で実行します。

  6. トンネルの接続を待ちます。接続できたら Continue を選択します。

3. 公開ホスト名で接続する

公開アプリケーション を使うと、インターネット上の誰でも、仮想プライベートクラウド (VPC) 上でホストしている HTTP リソースに接続できます。Cloudflare Tunnel に公開アプリケーションを追加する手順は次のとおりです。

  1. Routes タブで Add route を選び、Published application を選択します。
  2. アプリケーションのホスト名を入力します(例: hellocloudflare.<your-domain>.com)。
  3. Servicehttp://localhost:80 を入力します。
  4. Add route を選択します。
  5. 動作確認として、ブラウザーで http://hellocloudflare.<your-domain>.com を開きます。Hello Cloudflare! のテストページが表示されます。

必要に応じて Access アプリケーションを作成 し、サービスへアクセスできるユーザーを制御できます。

4. プライベート IP で接続する

プライベートネットワークルート を使うと、ユーザーは Cloudflare One Client 経由で VPC network に接続できます。Cloudflare Tunnel にプライベートネットワークルートを追加する手順です。

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

    Routes を開く ↗
  2. Create route > Tunnel CIDR を選びます。作成したトンネルを選び、GCP VM の Private IP address を入力して(例: 10.0.0.4)、Create route を選びます。必要に応じて、あとから IP 範囲を広げられます。

  3. Split Tunnel の設定 で、プライベート IP が Cloudflare One Client 経由でルーティングされていることを確認します。たとえば、Split Tunnels が Exclude モードの場合は、10.0.0.0/8 を削除します。GCP VM が明示的に使っていない IP は、リストへ戻すことを推奨します。

    戻す IP アドレスを決めるには、10.0.0.0/8 から GCP VM の IP を差し引きます。

    結果を Split Tunnel の Exclude モードのリストに戻します。

  4. ユーザーデバイスでテストする手順です。

    1. Cloudflare One Client にログイン します。
    2. ターミナルを開き、プライベート IP でサービスに接続します。
    curl 10.0.0.4
    <html><body><h1>Hello Cloudflare!</h1>
    <p>This page was created for a Cloudflare demo.</p>
    </body></html>

任意で Gateway のネットワークポリシーを作成 し、プライベート IP 経由で GCP VM にアクセスできるユーザーを制御できます。

ファイアウォールの設定

VM インスタンスを保護するには、VPC ファイアウォールルールを設定 して、すべての受信トラフィックを拒否し、Cloudflare Tunnel の IP アドレス への送信トラフィックだけを許可できます。GCP は デフォルト で受信トラフィックを拒否するため、受信ルールをすべて削除し、必要な送信ルールだけを残すことができます。

VPC ファイアウォールルールを設定したあと、Cloudflare Tunnel 経由で 公開ホスト名 または プライベート IP からサービスにアクセスできることを確認します。Cloudflare Tunnel の外からはサービスにアクセスできなくなります。たとえば http://<EXTERNAL IP> を開いても、テストページは読み込まれなくなります。

役に立ちましたか?