GCP
このガイドでは、Google Cloud Project (GCP) の仮想マシンを、軽量コネクタ cloudflared を使用して Cloudflare に接続する方法を説明します。
デプロイするもの:
- 基本的な HTTP サーバーを実行する Google Cloud Project (GCP) の仮想マシン。
- ユーザーがパブリックホスト名またはプライベートIPアドレスを介してサービスに接続できる Cloudflare トンネル。
次の手順を完了するには、以下が必要です:
- Cloudflare にウェブサイトを追加する
- エンドユーザー デバイスに WARP クライアントをデプロイする
-
Compute Engine > VM インスタンスに移動します。
-
インスタンスを作成を選択します。
-
VM インスタンスに名前を付けます。この例では
http-test-serverと名付けます。 -
希望するオペレーティング システムと仕様を選択します。この例では、以下の設定を使用できます:
- マシンファミリー: 一般用途
- シリーズ: E2
- マシンタイプ: e2-micro
- ブートディスクイメージ: Debian GNU/Linux 12
- ファイアウォール: HTTP および HTTPS トラフィックを許可
-
詳細オプション > 管理 > 自動化の下に、次のスタートアップスクリプトを追加します。この例では、ポート
80で基本的な Apache ウェブサーバーをデプロイします。#!/bin/bashapt updateapt -y install apache2cat <<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 -
作成を選択します。
-
オペレーティング システムが自動的に Apache HTTP サーバーを起動します。サーバーが実行中であることを確認するには:
- VM インスタンスの 外部 IP をコピーします。
- ブラウザを開き、
http://<EXTERNAL IP>にアクセスします。Hello Cloudflare! テストページが表示されるはずです。
-
VM インスタンスにログインするには、SSH の横にあるドロップダウンを開き、ブラウザウィンドウで開く を選択します。
Next, we will create a Cloudflare Tunnel in Zero Trust and run the tunnel on the GCP VM.
-
Log in to Zero Trust ↗ and go to Networks > Tunnels.
-
Select Create a tunnel.
-
Choose Cloudflared for the connector type and select Next.
-
Enter a name for your tunnel (for example,
gcp-tunnel). -
Select Save tunnel.
-
Under Choose your environment, select Debian. Copy the command shown in the dashboard and run it on your GCP VM.
-
Once the command has finished running, your connector will appear in Zero Trust.
-
Select Next.
Public hostname routes allow anyone on the Internet to connect to HTTP resources hosted on your virtual private cloud (VPC). To add a public hostname route for your Cloudflare Tunnel:
- In the Public Hostname tab, enter a hostname for the application (for example,
hellocloudflare.<your-domain>.com). - Under Service, enter
http://localhost:80. - Select Save hostname.
- To test, open a browser and go to
http://hellocloudflare.<your-domain>.com. You should see the Hello Cloudflare! test page.
You can optionally create an Access application to control who can access the service.
Cloudflare トンネルのプライベートネットワークルートを構成するには:
-
プライベートネットワークタブで、GCP VM インスタンスの 内部 IP を入力します(例:
10.0.0.2)。必要に応じて後で IP 範囲を拡張できます。 -
Split Tunnel 構成 で、内部 IP が WARP を介してルーティングされていることを確認します。たとえば、Exclude モードで Split Tunnels を使用している場合は、
10.0.0.0/8を削除します。GCP VM に明示的に使用されていない IP を再追加することをお勧めします — この計算機 ↗ を使用して再追加する IP アドレスを決定できます。 -
ユーザーデバイスでテストするには:
- WARP クライアントにログインする。
- ターミナルウィンドウを開き、プライベート IP を使用してサービスに接続します:
Terminal window curl 10.0.0.2<html><body><h1>Hello Cloudflare!</h1><p>This page was created for a Cloudflare demo.</p></body></html>
オプションで、Gateway ネットワークポリシー を作成して、プライベート IP を介して VM にアクセスできるユーザーを制御できます。
VM インスタンスを保護するために、VPC ファイアウォールルールを構成する ↗ことで、すべてのインバウンドトラフィックを拒否し、Cloudflare トンネル IP アドレスへのエグレストラフィックのみを許可できます。GCP は デフォルトで ↗インバウンドトラフィックを拒否するため、すべてのインバウンドルールを削除し、関連するエグレスルールのみを残すことができます。
VPC ファイアウォールルールを構成した後、Cloudflare トンネルを介してサービスに引き続きアクセスできることを確認します。サービスはもはや Cloudflare トンネルの外部からアクセスできないはずです — たとえば、http://<EXTERNAL IP> にアクセスすると、テストページはもはや読み込まれないはずです。