Service Fabric を使用したネットワーク コントローラー
このトピックでは、Service Fabric を使用したソフトウェア定義ネットワーク (SDN) のネットワーク コントローラーの高可用性とスケーラビリティの構成について説明します。
データセンターに SDN を展開する場合は、ネットワーク コントローラーを使用して、RAS ゲートウェイ、ソフトウェア ロード バランサー、テナント通信用の仮想ネットワーク ポリシー、データセンター ファイアウォール ポリシー、SDN ポリシーのサービス品質 (QoS)、ハイブリッド ネットワーク ポリシーなど、多くのネットワーク要素を一元的に展開、監視、管理できます。
ネットワーク コントローラーは SDN 管理の基礎であるため、ネットワーク コントローラーのデプロイでは、高可用性と、データセンターのニーズに合わせてネットワーク コントローラー ノードを簡単にスケールアップまたはスケールダウンできる機能を提供することが重要です。
ネットワーク コントローラーは単一のマシン クラスターとしてデプロイできますが、高可用性とフェールオーバーを実現するには、少なくとも 3 台のマシンを含む複数のマシン クラスターにネットワーク コントローラーをデプロイする必要があります。
手記
ネットワーク コントローラーは、サーバー コンピューターまたは Windows Server 2016 Datacenter エディションを実行している仮想マシン (VM) に展開できます。 VM にネットワーク コントローラーをデプロイする場合、VM は Datacenter エディションも実行している Hyper-V ホストで実行されている必要があります。 ネットワーク コントローラーは、Windows Server 2016 Standard エディションでは使用できません。
Service Fabric アプリケーションとしてのネットワーク コントローラー
高可用性とスケーラビリティを実現するために、ネットワーク コントローラーは Service Fabric に依存します。 Service Fabric は、スケーラブルで信頼性が高く、管理しやすいアプリケーションを構築するための分散システム プラットフォームを提供します。
Service Fabric は、プラットフォームとして、スケーラブルな分散システムを構築するために必要な機能を提供します。 複数のオペレーティング システム インスタンスでのサービス ホスティング、インスタンス間の状態情報の同期、リーダーの選択、障害検出、負荷分散などを提供します。
手記
Azure での Service Fabric の詳細については、「Azure Service Fabricの概要」を参照してください。
ネットワーク コントローラーを複数のマシンにデプロイすると、ネットワーク コントローラーは Service Fabric クラスター上で 1 つの Service Fabric アプリケーションとして実行されます。 一連のオペレーティング システム インスタンスを接続することで、Service Fabric クラスターを形成できます。
ネットワーク コントローラー アプリケーションは、複数のステートフル Service Fabric サービスで構成されます。 各サービスは、物理ネットワーク管理、仮想ネットワーク管理、ファイアウォール管理、ゲートウェイ管理などのネットワーク機能を担当します。
各 Service Fabric サービスには、1 つのプライマリ レプリカと 2 つのセカンダリ レプリカがあります。 プライマリ サービス レプリカは要求を処理しますが、2 つのセカンダリ サービス レプリカは、何らかの理由でプライマリ レプリカが無効または使用できない状況で高可用性を提供します。
次の図は、5 台のマシンを備えたネットワーク コントローラー Service Fabric クラスターを示しています。 ファイアウォール サービス、ゲートウェイ サービス、ソフトウェア負荷分散 (SLB) サービス、仮想ネットワーク (Vnet) サービスの 5 つのマシンに 4 つのサービスが分散されます。 4 つの各サービスには、1 つのプライマリ サービス レプリカと 2 つのセカンダリ サービス レプリカが含まれています。
Service Fabric を使用する利点
ネットワーク コントローラー クラスターに Service Fabric を使用する主な利点を次に示します。
高可用性とスケーラビリティ
ネットワーク コントローラーはデータセンター ネットワークの中核であるため、障害に対する回復性と、時間の経過に伴うデータセンター ネットワークのアジャイルな変更を可能にする十分なスケーラビリティの両方が必要です。 次の機能は、これらの機能を提供します。
- 高速フェールオーバー。 Service Fabric では、非常に高速なフェールオーバーが提供されます。 複数のホットなセカンダリ サービス レプリカを常に使用できます。 ハードウェア障害が原因でオペレーティング システム インスタンスが使用できなくなった場合、セカンダリ レプリカの 1 つが直ちにプライマリ レプリカに昇格されます。
- 規模の機敏性。 リソースのニーズに応じて、いくつかのインスタンスから数千のインスタンスまで、これらの信頼性の高いサービスを簡単かつ迅速にスケーリングし、いくつかのインスタンスに戻すことができます。
永続的ストレージ
ネットワーク コントローラー アプリケーションには、その構成と状態に関する大きなストレージ要件があります。 また、計画的および計画外の停止間でもアプリケーションを使用できる必要があります。 このため、Service Fabric は、レプリケートされたトランザクションストアおよび永続化ストアである Key-Value ストア (KVS) を提供します。
モジュール性
ネットワーク コントローラーは、仮想ネットワーク サービスやファイアウォール サービスなどの各ネットワーク サービスが個々のサービスとして組み込まれたモジュール式アーキテクチャで設計されています。
このアプリケーション アーキテクチャには、次の利点があります。
- ネットワーク コントローラーのモジュール性により、ニーズの進化に応じて、サポートされる各サービスを独立して開発できます。 たとえば、ソフトウェア負荷分散サービスは、他のサービスやネットワーク コントローラーの通常の動作に影響を与えずに更新できます。
- ネットワーク コントローラーのモジュール性により、ネットワークの進化に合った新しいサービスの追加が可能になります。 既存のサービスに影響を与えることなく、新しいサービスをネットワーク コントローラーに追加できます。
手記
Windows Server 2016 では、ネットワーク コントローラーへのサード パーティのサービスの追加はサポートされていません。
Service Fabric のモジュール性では、サービス モデル スキーマを使用して、アプリケーションの開発、デプロイ、およびサービスの容易さを最大限に高めます。
ネットワーク コントローラーの展開オプション
System Center Virtual Machine Manager (VMM) を使用してネットワーク コントローラーを展開するには、「VMM ファブリックで SDN ネットワーク コントローラーを設定する」を参照してください。
スクリプトを使用してネットワーク コントローラーを展開するには、「スクリプトを使用したソフトウェア定義ネットワーク インフラストラクチャの展開 」を参照してください。
Windows PowerShell を使用してネットワーク コントローラーを展開するには、「Windows PowerShell を使用したネットワーク コントローラーの展開」を参照してください。
ネットワーク コントローラーの詳細については、「ネットワーク コントローラーの」を参照してください。