機能の可用性
| クライアントモード | Zero Trust プラン ↗ |
|---|---|
|
すべてのプラン |
| システム | 可用性 |
|---|---|
| Windows | ✅ |
| macOS | ✅ |
| Linux | ✅ |
| iOS | ✅ |
| Android | ✅ |
| ChromeOS | ✅ |
仮想ネットワークは、Cloudflare アカウント内でルーティングを分離します。各仮想ネットワークは独自のルーティングテーブルを持ち、環境、パートナー、アプリケーションごとにトラフィックを分けられます。
たとえば、同じプライベート IP レンジ(10.128.0.0/24 など)を使う「本番」と「ステージング」の VPC ネットワークを持つ組織があります。仮想ネットワークがないと、Cloudflare は本番の 10.128.0.1 とステージングの 10.128.0.1 を区別できません。仮想ネットワークを 2 つ作成すると、正しい環境へ確実にトラフィックをルーティングできます。ユーザーは Cloudflare One Client で接続先の仮想ネットワークを選びます。
仮想ネットワークの概念と、Cloudflare 製品間での動作については、仮想ネットワーク を参照してください。
仮想ネットワークが役立つシナリオの例です。
- 同じアドレス空間を使う本番環境とステージング環境を管理する。
- 同じアドレス空間を使う組織同士の買収や合併を管理する。
- IT プロフェッショナルサービスが、管理や運用のために顧客ネットワークへアクセスできるようにする。
- 開発者やホームラボ利用者が、追加のセキュリティ制御を適用するために、自宅ネットワーク経由でトラフィックを決定的にルーティングできるようにする。
- ポリシー適用を超えた追加のセグメント化をセキュリティ目的で保証しつつ、設定は 1 つの Cloudflare アカウント内にまとめる。
- 各プライベートネットワークに
cloudflaredをインストール する。 - ユーザーデバイスに Cloudflare One Client を導入 する。
この例では、「プライベートネットワーク」は、それぞれ重複する IP アドレス空間を持つ独立した環境(ステージングや本番など)を指します(ステージングの 10.128.0.1/32 と本番の 10.128.0.1/32)。環境が重複しない IP を使う場合、環境ごとに別のトンネルは不要です。代わりに、1 つのトンネルに複数のルートを追加できます。
重複する IP を仮想ネットワーク経由でルーティングするには:
- 一意の仮想ネットワークを 2 つ作成します。
-
Cloudflare ダッシュボードで Networking > Routes > Virtual networks を開きます。
Virtual networks を開く ↗ -
Create virtual network を選びます。
-
仮想ネットワーク名を
staging-vnetにして Save を選びます。 -
手順 1a〜1d を繰り返し、
production-vnetという別の仮想ネットワークを作成します。
-
- 重複する IP を持つ各プライベートネットワークに対して Cloudflare Tunnel を作成します(隔離された環境ごとに 1 つのトンネル。例: ステージングと本番)。
-
Networking > Tunnels を開きます。
-
Create a tunnel を選びます。
-
トンネル名を
Staging tunnelにして Create を選びます。 -
ステージング環境内にコネクタをインストールします。
-
Networking > Routes を開きます。
Routes を開く ↗ -
Create route > Tunnel CIDR を選びます。
-
Staging tunnelを選び、ネットワークに10.128.0.1/32を入力し、仮想ネットワークとして staging-vnet を選びます。Create route を選びます。 -
手順 2a〜2d を繰り返し、
Production tunnelという別のトンネルを作成します。コネクタは本番環境内にインストールしてください。 -
手順 2e〜2g を繰り返し、
Production tunnel向けに10.128.0.1/32を production-vnet へ割り当てたルートを作成します。
-
これで、重複する 2 つの IP アドレスがそれぞれ staging-vnet と production-vnet 経由でルーティングされます。Cloudflare One Client を使って 仮想ネットワークを切り替え できます。
重複する IP を仮想ネットワーク経由でルーティングするには:
-
cloudflare_api_token↗ に次の権限を追加します。Cloudflare Tunnel Write
-
一意の仮想ネットワークを 2 つ作成します。
resource "cloudflare_zero_trust_tunnel_cloudflared_virtual_network" "staging_vnet" { account_id = var.cloudflare_account_id name = "staging-vnet" comment = "Staging virtual network" is_default = false } resource "cloudflare_zero_trust_tunnel_cloudflared_virtual_network" "production_vnet" { account_id = var.cloudflare_account_id name = "production-vnet" comment = "Production virtual network" is_default = false } -
重複する IP を持つ各プライベートネットワークに対して Cloudflare Tunnel を作成します(隔離された環境ごとに 1 つのトンネル。例: ステージングと本番)。
resource "cloudflare_zero_trust_tunnel_cloudflared" "staging_tunnel" { account_id = var.cloudflare_account_id name = "Staging tunnel" config_src = "cloudflare" } resource "cloudflare_zero_trust_tunnel_cloudflared" "production_tunnel" { account_id = var.cloudflare_account_id name = "Production tunnel" config_src = "cloudflare" } -
10.128.0.1/32をStaging tunnel経由でルーティングし、staging-vnetに割り当てます。10.128.0.1/32をProduction tunnel経由でルーティングし、production-vnetに割り当てます。resource "cloudflare_zero_trust_tunnel_cloudflared_route" "staging_tunnel_route" { account_id = var.cloudflare_account_id tunnel_id = cloudflare_zero_trust_tunnel_cloudflared.staging_tunnel.id network = "10.128.0.1/32" comment = "Staging tunnel route" virtual_network_id = cloudflare_zero_trust_tunnel_cloudflared_virtual_network.staging_vnet.id } resource "cloudflare_zero_trust_tunnel_cloudflared_route" "production_tunnel_route" { account_id = var.cloudflare_account_id tunnel_id = cloudflare_zero_trust_tunnel_cloudflared.production_tunnel.id network = "10.128.0.1/32" comment = "Production tunnel route" virtual_network_id = cloudflare_zero_trust_tunnel_cloudflared_virtual_network.production_vnet.id } -
各トンネルの トークンを取得 します。
-
トンネルトークンを使い、ステージング環境で
Staging tunnelを実行し、本番環境でProduction tunnelを実行します。トンネルをインストールして実行する を参照してください。
ローカル管理トンネル で、重複する IP を仮想ネットワーク経由でルーティングするには:
-
重複する IP を持つ各プライベートネットワークに対して Cloudflare Tunnel を作成します(隔離された環境ごとに 1 つのトンネル。例: ステージングと本番)。
-
ステージング環境内で
cloudflaredを認証します。cloudflared login -
ステージングネットワークを Cloudflare に接続するトンネルを作成します。
cloudflared tunnel create staging-tunnel -
本番環境内で
cloudflaredを認証します。cloudflared login -
本番ネットワークを Cloudflare に接続するトンネルを作成します。
cloudflared tunnel create production-tunnel
-
以降の手順は、任意の cloudflared インスタンスから実行できます。
-
一意の仮想ネットワークを 2 つ作成します。
cloudflared tunnel vnet add staging-vnet cloudflared tunnel vnet add production-vnet -
先に進む前に、次のコマンドを実行し、作成した仮想ネットワークが正しく一覧に表示されることを確認します。
cloudflared tunnel vnet list
-
トンネルにプライベートネットワークの IP/CIDR 範囲を設定し、各トンネルを対応する仮想ネットワークに割り当てます。
cloudflared tunnel route ip add --vnet staging-vnet 10.128.0.3/32 staging-tunnel cloudflared tunnel route ip add --vnet production-vnet 10.128.0.3/32 production-tunnel -
IP ルートが正しく一覧に表示されることを確認します。
cloudflared tunnel route ip listこれで、重複する 2 つの IP アドレスがそれぞれ
staging-vnetとproduction-vnet経由でルーティングされます。-
ステージング環境内で、
staging-tunnel向けの 設定ファイル を作成します。設定ファイルの構造は次のとおりです。tunnel: <Tunnel-UUID> credentials-file: /root/.cloudflared/credentials-file.json warp-routing: enabled: true -
トンネルを実行します。
cloudflared tunnel run staging-tunnel -
本番環境内で、
production-tunnelに対して手順 6 と 7 を繰り返します。
これで Cloudflare One Client を使い、仮想ネットワークを切り替え できます。
-
仮想ネットワークを削除するには:
-
Cloudflare ダッシュボードで Networking > Routes を開きます。
Routes を開く ↗ -
Routes タブで、削除しようとしている仮想ネットワークにルートが割り当てられていないことを確認します。仮想ネットワークが使用中の場合は、先にそれらのルートを削除するか、別の仮想ネットワークに再割り当てします。
-
Virtual networks タブを開き、対象の仮想ネットワークを探します。
-
三点メニューを選び、Delete を選びます。
任意で、仮想ネットワークに関連付けられたトンネルも削除できます。
ローカル管理トンネル の仮想ネットワークを削除するには:
-
仮想ネットワーク内のすべての IP ルートを削除します。例:
cloudflared tunnel route ip delete --vnet staging-vnet 10.128.0.3/32 -
(任意)仮想ネットワークに関連付けられたトンネルを削除します。
cloudflared tunnel delete staging-tunnel -
仮想ネットワークを削除します。
cloudflared tunnel vnet delete staging-vnet
cloudflared tunnel vnet list を実行すると、仮想ネットワークが削除されたことを確認できます。
- Cloudflare One Client を開きます。
- Home を開きます。
- VNET ドロップダウンで、接続する仮想ネットワークを選びます(例:
staging-vnet)。
- Cloudflare One Client を開きます。
- Settings > Traffic and DNS mode > Virtual Networks を開きます。
- 接続する仮想ネットワークを選びます(例:
staging-vnet)。
10.128.0.3/32 にアクセスすると、Cloudflare One Client はリクエストをステージング環境へルーティングします。
- Cloudflare One Agent アプリを起動します。
- Advanced > Connection options > Virtual networks を開きます。
- 接続する仮想ネットワークを選びます(例:
staging-vnet)。
10.128.0.3/32 にアクセスすると、Cloudflare One Client はリクエストをステージング環境へルーティングします。