アーキテクチャとトラフィックフロー

このセクションでは、Citrix ADC CPXのブリッジモードアーキテクチャとトラフィックフローについて説明します。Citrix ADC CPXは、ホストモードでも展開できます。

Citrix ADC CPXインスタンスをDockerホストにプロビジョニングすると、Dockerエンジンによって仮想インターフェイスeth0がCPXインスタンスに作成されます。このeth0インターフェイスは、docker0ブリッジで仮想インターフェイス(veth*)に直接接続されます。また、Dockerエンジンによって、ネットワーク172.17.0.0/16のCitrix ADC CPXインスタンスにIPアドレスが割り当てられます。

CPXインスタンスのデフォルトゲートウェイは、docker0ブリッジのIPアドレスです。これは、Citrix ADC CPXインスタンスとのすべての通信が、Dockerネットワークを介して行われることを意味します。docker0ブリッジからのすべての受信トラフィックが、Citrix ADC CPXインスタンスのeth0インターフェイスで受信され、Citrix ADC CPXパケットエンジンによって処理されます。

次の図は、Dockerホスト上のCitrix ADC CPXインスタンスのアーキテクチャを示しています。

ローカライズされた画像

単一IPアドレスがCitrix ADC CPXで機能するしくみ

通常のCitrix ADC MPXまたはVPXアプライアンスでは、少なくとも以下に示す3つのIPアドレスが機能している必要があります:

  • Citrix ADC IP(NSIP)アドレスと呼ばれる管理IPアドレス
  • サーバーファームとやり取りするためのサブネットIP(SNIP)アドレス
  • クライアント要求を受け付ける仮想サーバーIP(VIP)アドレス

Citrix ADC CPXインスタンスは、管理とデータトラフィック用に使用される、単一IPアドレスで動作します。

プロビジョニング中は、Dockerエンジンによって、1つのプライベートIPアドレス(単一IPアドレス)のみがCitrix ADC CPXインスタンスに割り当てられます。Citrix ADCインスタンスの3つのIP機能が1つのIPアドレス上で多重化されます。この単一IPアドレスは、異なるポート番号を使用して、NSIP、SNIP、およびVIPとして機能します。

次の図は、単一IPアドレスを使用してNSIP、SNIP、およびVIPの機能を実行する方法を示しています。

ローカライズされた画像

Citrix ADC CPXインスタンスからの要求のトラフィックフロー

Dockerでは、Citrix ADC CPXインスタンスからのトラフィックがdocker0のIPアドレスに転送されるよう、IPの一覧とNAT規則が暗黙的に構成されます。

次の図は、Citrix ADC CPXインスタンスからのping要求が、どのようにして宛先に到達するかを示しています。

ローカライズされた画像

この例のping要求は、ソースIPアドレスをCitrix ADC CPX IPアドレス(172.17.0.4)として、eth0インターフェイスのパケットエンジンによって送信されます。次に、Dockerホストが実行するネットワークアドレス変換(NAT)によって、ホストIPアドレス(192.68.x.x)がソースIPアドレスとして追加され、要求が宛先(216.58.x.x)に送信されます。ターゲットIPアドレスからの応答は、逆の順序で同じパスをたどります。Dockerホストが応答に対してNATを実行し、eth0インターフェイスのCitrix ADC CPXインスタンスに応答を転送します。

外部ネットワークからの要求のトラフィックフロー

Citrix ADC CPXのプロビジョニング中に外部通信を可能にするには、Dockerで80や22などの特定のポートや、その他の任意のポートが公開されるようにパラメーターを設定する必要があります。プロビジョニング中に公開されるように設定されているポートがない場合は、DockerホストにNAT規則を構成して、これらのポートを使用可能にする必要があります。

Dockerホストは、インターネットからのクライアント要求を受信し、次にポートアドレス変換(PAT)を実行して、パブリックIPアドレスおよびポートをCitrix ADC CPXインスタンスの単一IPアドレスとポートにマップし、トラフィックをインスタンスに転送します。

次の図は、Dockerホストがポートアドレス変換を実行し、トラフィックをCitrix ADC CPXの単一IPアドレスおよびポートに転送する方法を示しています。

ローカライズされた画像

この例で、DockerホストのIPアドレスは192.68.x.xで、Citrix ADC CPXインスタンスの単一IPアドレスは172.17.0.4です。Citrix ADC CPXインスタンスのSSHポート22は、Dockerホストのポート1100にマップされます。クライアントのSSH要求は、IPアドレス192.68.x.xのポート1100で受信されます。Dockerホストがポートアドレス変換を実行して、このアドレスとポートをポート22の単一IPアドレス172.17.0.4にマップし、クライアント要求を転送します。

アーキテクチャとトラフィックフロー