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 ピアリングを設定したりするには、ルートを設定する を参照してください。

関連リソース

役に立ちましたか?