Skip to content

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

仮想ネットワーク

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

仮想ネットワークは、Cloudflare アカウント内のプライベートなルーティングドメインです。Cloudflare ネットワークから到達できるプライベートリソースを定義し、環境、パートナー、アプリケーションごとにトラフィックを分離します。

すべての Cloudflare アカウントには、デフォルトの仮想ネットワークがあります。インフラの異なる部分の間でルーティングを分離したい場合は、追加の仮想ネットワークを作成できます。

仮想ネットワークを使う場合

  • 環境の分離 — 本番ネットワークとステージングネットワークを分離します。本番の 10.0.0.1 宛てトラフィックと、ステージングの 10.0.0.1 宛てトラフィックは、それぞれ別の宛先へルーティングされます。
  • パートナーの分離 — 複数のパートナーを Cloudflare アカウントに接続しつつ、相互に到達できないようにします。各パートナーに専用の仮想ネットワークを割り当てます。
  • 重複する IP 空間 — 異なるネットワークが同じ IP レンジを使っている場合(RFC 1918 アドレスでよくあります)、仮想ネットワークを使うと、IP アドレスだけでなくコンテキストに基づいて正しい宛先へルーティングできます。
  • プライベートアプリケーションへの接続 — Cloudflare Workers や CDN を、プライベートネットワーク内のバックエンドへ接続します。仮想ネットワークは、プライベート IP アドレス宛てのトラフィックをどこへルーティングするかを Cloudflare に伝えます。
  • パブリック TCP/UDP からプライベートオリジンへSpectrum アプリケーション を通じて、Load Balancer なしでプライベートバックエンドをインターネットに公開し、TCP または UDP トラフィックを受け取れます。仮想ネットワークは、オリジンへのトラフィックをどのトンネルまたは WAN 接続が運ぶかを決めます。

仮想ネットワークの仕組み

プライベート IP アドレス宛てのトラフィックが Cloudflare に入ると、Cloudflare は仮想ネットワークのルーティングテーブルでルートを検索します。仮想ネットワークが決める内容は次のとおりです。

  • 到達できるプライベート宛先
  • トラフィックを運ぶコネクタ(Tunnel または WAN 接続)
  • 重複する IP アドレスの区別方法
flowchart TD
accTitle: 仮想ネットワークのルーティング
accDescr: Cloudflare アカウントに 3 つの仮想ネットワークがあり、それぞれ独自のルーティングテーブルとコネクタを持ち、別の宛先を指す様子を示します。同じ CIDR を各仮想ネットワークに、独立したルーティングドメインとして置けます。

    subgraph account ["Cloudflare アカウント"]
        direction LR

        subgraph vnet_default ["仮想ネットワーク: default"]
            routes_d("10.0.0.0/8 via Tunnel
            192.168.1.0/24 via IPsec")
            routes_d --> tunnel_d(["Tunnel"])
            routes_d --> ipsec_d(["IPsec"])
        end

        subgraph vnet_prod ["仮想ネットワーク: production"]
            routes_p("10.0.0.0/8 via Tunnel")
            routes_p --> tunnel_p(["Tunnel (prod)"])
        end

        subgraph vnet_stg ["仮想ネットワーク: staging"]
            routes_s("10.0.0.0/8 via Tunnel")
            routes_s --> tunnel_s(["Tunnel (stg)"])
        end
    end

    tunnel_d --> dc_legacy("レガシー DC
    10.0.0.0/8")
    ipsec_d --> dc_branch("拠点 (IPsec)
    192.168.1.0/24")
    tunnel_p --> dc_prod("本番 DC
    10.0.0.0/8")
    tunnel_s --> dc_stg("ステージング DC
    10.0.0.0/8")

    classDef orange fill:#f48120,stroke:#d6710e,color:#fff
    classDef blue fill:#4b9fd5,stroke:#3a8bc2,color:#fff

    class tunnel_d,tunnel_p,tunnel_s orange
    class ipsec_d blue

    style vnet_default stroke:#999,stroke-width:2px,stroke-dasharray: 5 5
    style vnet_prod stroke:#f48120,stroke-width:2px
    style vnet_stg stroke:#f48120,stroke-width:2px

同じ CIDR(10.0.0.0/8)を各仮想ネットワークに置けます。それぞれが独立したルーティングドメインだからです。

各仮想ネットワークは、独自のルーティングテーブルを持ちます。ある仮想ネットワークに追加したルートは、別の仮想ネットワークのルーティングテーブルには現れません。ただし、選択した仮想ネットワークのルートに一致しないトラフィックは、WAN ルートについてデフォルト仮想ネットワークのルーティングテーブルにフォールバックする場合があります。

仮想ネットワークのルーティングテーブルへのエントリ追加は、静的ルートの設定、または BGP ピアリング(ベータ)で学習したルートで行えます。静的ルートはすべての接続タイプで使えます。BGP ピアリングは、現時点では CNI および IPsec/GRE トンネル(ベータ)で使えます。仮想ネットワーク内でのルート優先順位の詳細は、Traffic steering を参照してください。

Cloudflare 全体での仮想ネットワーク

仮想ネットワークの対応状況はプロダクトによって異なります。

プロダクト 仮想ネットワーク対応 詳細
Cloudflare Tunnel 複数の仮想ネットワーク トンネル設定時に CIDR ルートを仮想ネットワークへ割り当てます
Cloudflare One Client 複数の仮想ネットワーク ユーザーはポリシーまたはクライアントでの選択に基づいて仮想ネットワークに入ります
Cloudflare Mesh 現時点では非対応
Cloudflare WAN デフォルトのみ すべての IPsec、GRE、CNI 接続はデフォルトの仮想ネットワークを使います

デフォルトの仮想ネットワーク

すべてのアカウントには default 仮想ネットワークがあります。ルートや接続の作成時に仮想ネットワークを指定しない場合、デフォルトに割り当てられます。

プライベートネットワークが 1 つのほとんどの導入では、デフォルトの仮想ネットワークだけで十分です。ルーティングの分離が必要なときだけ、追加の仮想ネットワークを作成してください。

ネットワークエンジニア向け

エンタープライズネットワーキングの概念に詳しい場合、仮想ネットワークは VRF(Virtual Routing and Forwarding)に相当します。

  • 各仮想ネットワークは独自のルーティングテーブルを持ちます。
  • ルートは仮想ネットワーク間で分離されます。
  • 同じ IP プレフィックスを、競合なく複数の仮想ネットワークに置けます。
  • 接続上で学習した BGP ルートは、その接続の仮想ネットワークのルーティングテーブルにだけ入ります。BGP ピアリングは、現時点では IPsec/GRE トンネル(ベータ)と CNI(ベータ)でサポートされています。

クラウドネットワーキングの概念に詳しい場合、仮想ネットワークは VPC(Virtual Private Cloud)に相当します。

仮想ネットワークの作成と管理

仮想ネットワークの作成と設定については、仮想ネットワーク(トンネル設定) を参照してください。

どのルートがどの仮想ネットワークに属するかを設定するには、ルートを追加する を参照してください。

Cloudflare Virtual Network のルーティングテーブルに静的ルートを追加する、または BGP ピアリングを設定するには、ルートを設定する を参照してください。

関連リソース

役に立ちましたか?