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

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

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

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

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

ローカライズされた画像

NetScaler CPXでの単一IPアドレスの仕組み

通常のNetScaler MPXまたはVPXアプライアンスが機能するには、少なくとも3つのIPアドレスが必要です。

  • NetScaler IP (NSIP) アドレスと呼ばれる管理IPアドレス
  • サーバーファームとの通信用のサブネットIP (SNIP) アドレス
  • クライアント要求を受け入れるための仮想サーバーIP (VIP) アドレス

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

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

次の図は、単一のIPアドレスがNSIP、SNIP、およびVIPの機能を実行するためにどのように使用されるかを示しています。

ローカライズされた画像

NetScaler CPXインスタンスから発信される要求のトラフィックフロー

Dockerは、NetScaler CPXインスタンスから発信されるトラフィックをdocker0 IPアドレスに転送するように、IPテーブルとNATルールを暗黙的に構成します。

次の図は、NetScaler CPXインスタンスから発信されたping要求が宛先に到達する仕組みを示しています。

ローカライズされた画像

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

外部ネットワークから発信される要求のトラフィックフロー

外部通信を有効にするには、NetScaler CPXをプロビジョニングする際に、Dockerが80、22などの特定のポート、およびその他の任意のポートを公開するようにパラメータを設定する必要があります。プロビジョニング中に公開するポートを設定しなかった場合は、これらのポートを使用できるようにDockerホストでNATルールを構成する必要があります。

インターネットから発信されたクライアント要求はDockerホストによって受信され、Dockerホストはポートアドレス変換 (PAT) を実行して、パブリックIPアドレスとポートをNetScaler CPXインスタンスの単一IPアドレスとポートにマッピングし、トラフィックをインスタンスに転送します。

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

ローカライズされた画像

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

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