Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

サービスチェイニング

Contrail Controller は、ファイアウォール、NAT、IDP など、さまざまなレイヤー 2 からレイヤー 7 までのサービスのチェイニングをサポートしています。

サービスチェイニングの基本

サービスは、サービス仮想マシンをインスタンス化して、単一または複数のサービスを仮想マシン (VM) トラフィックに動的に適用することによって提供されます。また、物理アプライアンスベースのサービスを連鎖させることも可能です。

1 は、1 つのサービスを使用した基本的なサービス チェーン スキーマを示しています。サービス VM は、左インターフェイス (左 IF) と右インターフェイス (右 IF) の規則を使用してサービスを生成します。複数のサービスをチェーン化することもできます。

図1:サービスチェイニング Service Chaining

サービス チェーンを作成すると、Contrail ソフトウェアによって、チェーン内のすべてのサービスを網羅するトンネルがアンダーレイ ネットワーク全体に作成されます。 2 は、2 つのエンド ポイントと 2 つのコンピューティング ノードを示しており、それぞれに 1 つのサービス インスタンスがあり、トラフィックが一方の端点からもう一方の端部を行き来しています。

図 2: Contrail サービス チェーン Contrail Service Chain

設定できるサービスのモードを次に示します。

  1. 透過モードまたはブリッジモード

    1. パケットを変更しないサービスに使用されます。bump-in-the-wireまたはレイヤー2モードとも呼ばれます。例としては、レイヤー 2 ファイアウォール、IDP などがあります。

  2. ネットワーク内モードまたはルーテッド モード

    1. サービス インスタンス インターフェイス間でパケットをルーティングするゲートウェイ サービスを提供します。例としては、NAT、レイヤー 3 ファイアウォール、ロード バランサー、HTTP プロキシなどがあります。

  3. インネットワークNATモード

    1. ただし、ネットワーク内モードと同様に、リターントラフィックを送信元ネットワークにルーティングする必要はありません。インネットワークNATモードは、NATサービスに特に便利です。

サービスチェイニングの構成要素

サービス チェイニングでは、ソリューションに次の構成要素が必要です。

  • サービステンプレート

  • サービス インスタンス

  • サービスポリシー

サービステンプレート

サービス テンプレートは常にドメインのスコープ内で構成され、テンプレートはドメイン内のすべてのプロジェクトで使用できます。テンプレートを使用して、ドメイン内の異なるプロジェクトで複数のサービス インスタンスを起動できます。

サービス テンプレートに設定するパラメータは次のとおりです。

  • サービス テンプレート名

  • ドメイン名

  • サービスモード

    • 透明

    • ネットワーク内

    • ネットワーク内NAT

  • イメージ名(仮想サービス用)

    • サービスが仮想サービスの場合は、使用するイメージの名前をサービス テンプレートに含める必要があります。OpenStack セットアップでは、グランスを使用してイメージをセットアップに追加する必要があります。

  • インターフェース一覧

    • インターフェイスの順序付きリスト ---これにより、サービス インスタンスでインターフェイスが作成される順序が決まります。

    • ほとんどのサービス テンプレートには、管理インターフェイス、左インターフェイス、右インターフェイスがあります。より多くのインターフェイスを必要とするサービス インスタンスの場合は、「other」インターフェイスをインターフェイス リストに追加できます。

    • インターフェイスごとの共有 IP 属性

    • インターフェイスごとのスタティックルートの有効な属性

  • 詳細オプション

    • サービススケーリング:この属性を使用して、サービスインスタンスがサービスインスタンス仮想マシンの複数のインスタンスを持つことができるようにします。

    • フレーバー — サービスインスタンスの起動時に使用する OpenStack フレーバーを割り当てます。フレーバーは、CPUコア、メモリ、ディスク容量の割り当てなどの属性を使用してOpenStack Novaで定義されます。

サービス インスタンス

サービス インスタンスは、常にプロジェクトのスコープ内で保持されます。サービス インスタンスは、プロジェクトが属するドメインの指定されたサービス テンプレートを使用して起動されます。

サービス インスタンスに対して構成するパラメーターを次に示します。

  • サービス インスタンス名

  • プロジェクト名

  • サービス テンプレート名

  • 生成される仮想マシンの数

    • 複数の仮想マシンのサービス テンプレートでサービス スケーリングを有効にする

  • 順序付けられた仮想ネットワークの一覧

    • サービステンプレートで指定された順序でリストされたインターフェイス

    • 各インターフェイスの仮想ネットワークを特定する

    • インターフェイスのサービス テンプレートで静的ルートが有効になっている仮想ネットワークに静的ルートを割り当てる

      • 割り当てられた静的ルートに一致するトラフィックは、対応する仮想ネットワーク用に作成されたインターフェイス上のサービス インスタンスに送信されます

サービスポリシー

サービス ポリシーに対して構成するパラメーターを次に示します。

  • ポリシー名

  • 送信元ネットワーク名

  • 宛先ネットワーク名

  • その他のポリシー一致条件(方向、送信元ポートと宛先ポートなど)

  • 「ルーティング/ネットワーク内」または「ブリッジド/」モードで設定されたポリシー

  • apply_serviceと呼ばれるアクションタイプが使用されます。

    1. 例: ' apply_service': [ドメイン名:プロジェクト名:サービス インスタンス名]