ネットワーク仮想アプライアンス (NVA) とは、主にネットワーク機能の仮想化を目的とする仮想アプライアンスです。一般的なネットワーク仮想アプライアンスは、ファイアウォール、WAN オプティマイザー、アプリケーション配信コントローラー、ルーター、ロード バランサー、IDS/IPS、プロキシ、SD-WAN エッジといった機能を 4 ~ 7 つ備えています。これらの機能の中にはパブリック クラウドがネイティブに提供しているものもありますが、お客様が独立系ソフトウェア ベンダー (ISV) のネットワーク仮想アプライアンスをデプロイしているのが一般的です。パブリック クラウド向けのこれらの機能はハイブリッド ソリューションにも対応しており、Azure Marketplace で一般提供されています。
クラウド用ネットワーク仮想アプライアンスとは
ネットワーク仮想アプライアンスは Linux カーネルを搭載した Linux 仮想マシン (VM) イメージであることが多く、ユーザー レベルのアプリケーションとサービスが組み込まれています。VM を作成すると、まず Linux カーネルが起動してシステムが初期化され、ネットワーク仮想アプライアンスを機能させるために必要なアプリケーションや管理サービスが立ち上がります。コンピューティング リソースはクラウド プロバイダーが受け持ち、ISV は仮想アプライアンスのソフトウェア スタックを組み込んだイメージを提供します。
標準的な Linux ディストリビューションと同様、NVA イメージには必ず Linux カーネルが搭載されており、ISV によりカスタマイズされていることもよくあります。仮想マシンで使用するネットワーク デバイスやディスク デバイスに必要なドライバーは、すべてカーネル本体に含まれています。仮想マシンのパフォーマンスや機能は、NVA 内のカーネルのバージョンやカスタマイズしだいで決まります。Linux と高速ネットワークの詳細については、ドキュメント「高速ネットワークを使った Linux 仮想マシンの作成」をご覧ください。 Azure プラットフォームでネットワーク機能の強化が実施され、パフォーマンスが向上したり新しいネットワーク機能が追加されたりした場合、ISV はそれらをサポートするためにソフトウェア イメージを更新することがあります。多くの場合、イメージが更新されると、Linux カーネルのバージョンもそれまでの Linux プロジェクトからアップグレードされることになります。最新情報は Linux カーネル アーカイブ でご確認ください。
Azure Marketplace で公開されている NVA イメージは、すべて厳格なテストとオンボーディング ワークフローを経ています。Azure の継続的インテグレーションおよび継続的デプロイメント ライフサイクルの一環として、NVA イメージが運用前環境にデプロイされ、バグや問題がないか検証されます。ISV にはデプロイメント ガイドラインを公開する責任があり、特定の製品向け Azure Resource Manager (ARM) テンプレートが GitHub で公開されています。アプライアンスの技術とパフォーマンスに関する仕様を決定するのは ISV で、ホスト環境の技術とパフォーマンスの仕様はマイクロソフトが決定します。お客様が利用する仮想アプライアンス、その機能、推奨 OS バージョン、カーネル バージョン、セキュリティ更新プログラムのテクニカル サポートは ISV が担当します。
NVA ソリューションの料金は、製品の種類や発行者の仕様により異なります。ソフトウェア ライセンスの料金と Microsoft Azure の使用料金は、個別に Azure サブスクリプションから請求されます。仮想アプライアンスと Azure Marketplace の詳細については、Marketplace についてよく寄せられる質問への回答をご覧ください。
以下に示すのは、オンプレミス ネットワークを Azure に拡張したハイブリッド ネットワークの例です。非武装地帯 (DMZ) とはオンプレミスと Azure の間の境界ネットワークのことで、NVA はこの中に配置されます。
また下の図は、Azure Virtual WAN に NVA を接続した例です。Virtual WAN ハブからネットワーク仮想アプライアンスへのトラフィックを制御する方法については、ドキュメント「トラフィックをネットワーク仮想アプライアンスに誘導するための Virtual WAN ハブ ルート テーブルを作成する」をご覧ください。
一般的なベスト プラクティス
マイクロソフトは複数の ISV と協力して、マイクロソフトのお客様向けのクラウド エクスペリエンスの改善に取り組んでいます。
- Azure 高速ネットワークをサポートする: Azure の高速ネットワーク機能に対応したサポート対象 VM で仮想アプライアンスを利用することを検討してみてください。高速ネットワークを使用すると、VM へのシングル ルート I/O 仮想化 (SR-IOV) が可能になり、ネットワーク パフォーマンスが大幅に向上します。データがホストを経由しないため経路のパフォーマンスが高くなり、きわめて負荷の大きなネットワーク ワークロードを実行する場合でもレイテンシ、ジッター、CPU 使用率が軽減されます。高速ネットワークは、vCPU を 2 基以上搭載する、汎用インスタンス VM とコンピューティング最適化インスタンス VM のほとんどのサイズでサポートされています。サポート対象の OS とその他の詳細については、ドキュメント「高速ネットワークを使った Windows 仮想マシンの作成」をご覧ください。
- 複数の NIC をサポートする: ネットワーク インターフェイス (NIC) とは、VM と仮想ネットワーク (VNet) の間の相互接続です。VM には必ず NIC が 1 つ以上設定されていますが、作成した VM のサイズによってはこの数を増やすこともできます。Windows と Linux の各 VM サイズでサポートされている NIC の数については、「Azure の Windows 仮想マシンのサイズ」と「Azure の Linux 仮想マシンのサイズ」でご確認ください。 多くのネットワーク仮想アプライアンスでは複数の NIC が必要となりますが、NIC を複数使用すると、さまざまな種類のトラフィックを各 NIC で分けることができるため、ネットワーク トラフィックを管理しやすくなります。その一例がデータ プレーン トラフィックの管理プレーンからの分離で、この場合は 2 枚以上の NIC をサポートしている VM が必要となります。1 台の VM に設定できる NIC の数は、その VM サイズでサポートされている数によります。NVA をデプロイした後に NIC を追加する場合は、必ずその NIC に対する IP 転送を有効化してください。それにより、Azure によるネットワーク インターフェイスの送信元と送信先のチェックが無効化されます。ネットワーク インターフェイスの IP 転送を有効化する方法については、こちらのドキュメントをご覧ください。
- Azure Load Balancer を使用した HA ポート: 内部ロード バランサーを使用するときは、Azure Standard Load Balancer によって、すべてのポートで TCP フローと UDP フローの負荷分散を同時に行うことができます。高可用性 (HA) ポート負荷分散規則は負荷分散規則の一種であり、内部の Standard Load Balancer 上に構成されます。NVA の信頼性と可用性を高めたい場合は、NVA インスタンスを内部ロード バランサーのバックエンド プールに追加し、HA ポート負荷分散規則を構成します。HA ポートの概要については、ドキュメント「高可用性ポートの概要」をご覧ください。
- Virtual Machine Scale Sets (VMSS) のサポート: Azure Virtual Machine Scale Sets では、負荷分散が行われる同一の VM のグループを作成して管理することができます。VM インスタンスの数は、ニーズや定義したスケジュールに応じて自動的に増減が可能です。スケール セットではアプリケーションの可用性を高めることができると共に、多数の VM を一元的に管理、構成、更新できます。スケール セットは仮想マシンで構成され、アプリケーションの実行やスケーリングを管理、自動化できます。詳しくは、ドキュメント「仮想マシン スケール セットとは」をご覧ください。
さまざまな企業がこれまで以上に負荷の高いミッション クリティカルなワークロードをクラウドへ移行している中、デプロイ、管理、スケーリング、監視が容易な包括的ネットワーク サービスが重要視されるようになっています。マイクロソフトでは、ネットワーク仮想アプライアンスの優れたエクスペリエンスを提供し、クラウドのあらゆるメリットを活用できるようにすると同時に、ネットワークに関するお客様のニーズにも対応すべく全力で取り組んでいます。ネットワーク設計者にとって、仮想アプライアンスの選定は重要な決断です。ぜひ使いやすさや、スケーリングの容易さ、将来性を考慮してお選びください。