クラウド VMware Cloud Foundation ネットワーク パートナー

解説! AVS とインターネットの接続方法

みなさま、こんにちは! マイクロソフトの前島です。

先日 2021 AVS Partner Boot Camp という3日間にわたる大規模イベントが行われ、日本からも多くのパートナー様にご参加いただきました。Azure VMware Solution (AVS) に関するさまざまな情報が網羅されていますので、見逃してしまった方もぜひご登録ください。録画版をご視聴いただけるようになっています。

さて、前回は “AVS とオンプレミス”、および “AVS と Azure ネイティブ・ネットワーク (VNET)” との接続方法を解説しました。今回もネットワーク関連の続きとして、“AVS とインターネットの接続方式” を取り上げます。

二回分の内容をご理解いただければ、AVS 設計の肝となるネットワーク連携のポイントが分かり、自信をもって AVSの設計・導入を行っていただけるはずです!

1. AVS 仮想マシン → インターネットの接続方式 (outbound)

まずは、AVS 上の仮想マシンがインターネットに接続したい場合の選択肢を見ていきましょう。

Azure IaaS 仮想マシンのインターネット接続方式をご存知の方であれば、基本的に同等のアプローチが取れると考えていただいて問題ありません。

  • AVS が提供する Managed SNAT Service を利用する
  • Azure Virtual WAN を活用して、Azure Firewall や任意のNVA 経由でインターネット接続する
  • インターネット接続をすべてオンプレミス経由に強制する

a. AVS Managed SNAT Service


一つ目の方法は、 AVS が提供する Managed SNAT Service です。Azure Portal から “インターネットが有効 (Internet Enabled)” というフラグを有効にするだけで、Microsoft が管理・提供する SNAT サービスを利用して、AVS 上の仮想マシンがインターネットに接続できるようになります。

1. AVS Managed SNAT Service
図1: AVS Managed SNAT Service

この方法のメリットは何といってもお手軽な点です。仮想マシンがインターネットにアクセスできれば十分、というケースでは最適でしょう。ただし、Managed SNAT Service ではアクセスログやファイアウォール機能を提供していないため、ログ管理ルールなどがある場合は要件を満たせない可能性があります。

b.  Azure Virtual WAN 上のサービスによるSNAT

二つ目の方法は、Azure Virtual WAN の活用です。前回記事でも大事なコンセプトとしてお伝えしましたが、AVS は他の Azure サービスを最大限活用して実装できるようにデザインされています。

Azure IaaS 環境では、外部接続を集中管理するために、Azure Firewall と呼ばれるマネージドネットワークセキュリティサービスを利用したり、任意の NVA (ネットワーク仮想アプライアンス) を配置することがベストプラクティスになっていますが、AVS でも同様の方法を取ることができます。具体的には、AVS 仮想マシンからインターネットに流れるトラフィックを Azure Virtual WAN の Hub VNET (ハブ仮想ネットワーク) を経由するように構成することで、Hub VNET 上の Azure Firewall または Spoke VNET 上の任意の NVA による集中管理を実現します。

2. Azure Virtual WAN 上 の サ ー ヒ ス に よ る SNAT
図2: Azure Virtual WAN 上のサービスによる SNAT

この方法の最大のメリットは、Azure Firewall や NVA が提供するネットワーク管理の仕組み(SNAT ルール, ログ管理等) をすべて利用できる点でしょう。Azure では数多くのサードパーティ製 NVA が提供されていますので、皆様がオンプレミスで培ったネットワーク管理の仕組みや考え方をそのまま持ち込むことも可能です。

特に Azure IaaS 用に同等の仕組みを構成済みの場合、その管理対象として AVS を加えるだけなので実装も容易でしょう。IaaS 仮想マシン/ AVS 上の vSphere による仮想マシンという違いを意識することなく統合管理できるのは、Microsoft ファーストパーティサービスとして提供される AVS ならではの特徴です。

c. オンプレミス経由でのSNAT

三つ目の方法は、インターネットへのトラフィックをすべてオンプレミス経由に強制する構成です。こちらも Azure IaaS ではお馴染みの方式の一つです。

本方式の場合、AVS/Azure IaaS/オンプレミス全てのシステムで発生するインターネット通信を、お客様が管理するルーターやファイアーウォール経由にすることができるため、既存のオンプレミス側の仕組みを踏襲して一元管理できる点がメリットです。一方、すべてのトラフィックがオンプレミスを経由することになるため、Azure 側から発生するトラフィックが増えるほど通信最適化という意味では考慮が必要になります。

3. オンプレミス経由での SNAT
図3: オンプレミス経由での SNAT

いずれの方法にもメリットとデメリットがありますので、ぜひ要件と照らし合わせて皆様の環境で最適な方法をご選択ください。

2. インターネット → AVS 仮想マシンの接続方式 (inbound)

次に反対方向となる、インターネットから AVS 仮想マシンへの接続方式を見てみましょう。こちらも様々な要件に対応できるように複数の方法を提供しています。

Public IP アドレスの割り当てについて

さて具体的な接続方式に入る前に、現在の AVS における仕様を一つご理解いただく必要があります。AVS では、仮想マシンにパブリックIPアドレスを “直接” 割り当てる機能は提供されていません。ただし AVS 上の仮想マシンに対してパブリックIPを付与できないわけではなく、Application Gateway や Azure Virtual WAN などの、既存の Azure サービスを活用して提供できるようになっています。

詳細は Azure VMware Solution でパブリック IP 機能を使用する方法 – Azure VMware Solution | Microsoft Docs をご参照ください。

AVS VM への Inbound 接続は、これら Azure で提供されている DNAT 機能によって実現します。Azure では多種多様な DNAT サービスが提供されていますが、 今回は特に典型的なパターンをいくつかご紹介します。

  • Application Gateway を利用する
  • Azure VNET 内に配置したサードパーティ製 NVA を経由する
  • Azure Virtual WAN を活用して、Azure Firewall や任意のNVA 経由で接続する

a. Application Gateway による DNAT

一つ目の方法は、 Azure が提供するサービスの一つである Application Gateway です。

Application Gateway は、Web アプリケーションに対するトラフィックを管理する L7 ロードバランサーで、パブリックIPアドレスを持つフロントエンドIPアドレスを構成できます。バックエンドプールには、 Azure ネイティブで提供されるリソース (IaaS VM や仮想マシン スケール セット)はもちろん、オンプレミスや AVS 上の仮想マシンも組み込むことができます。

Application Gateway
図4: Application Gateway による DNAT

Application Gateway では、ルーティングやセキュリティなど、Web アプリケーションの管理で求められる機能が提供されていますので、これらを活用したい場合には最適な選択肢と言えるでしょう。具体的な設定手順等は下記ドキュメントにまとめられています。

Azure Application Gateway を使用して Azure VMware Solution 上の Web アプリを保護する – Azure VMware Solution | Microsoft Docs

b.  Azure VNET 上の NVA による DNAT

二つ目の方法は、Azure VNET 内に配置したサードパーティ製 NVA を経由してアクセスさせる方法です。

VNET 内に配置した仮想マシン(NVA)には、Azure ネイティブの機能でパブリックIPアドレスを付与できます。その NVA でインターネットからのアクセスを受信・中継し、 AVS VM への通信を可能にします。

Azure VNET 上での NVA による DNAT
図5: Azure VNET 上の NVA による DNAT

すでに Azure IaaS 上で NVA を展開・運用されているケースであれば、その管理下に AVS を加える形となり、一つの NVA で統合管理できます。

なお、この方法を実現するためには、当然ながら AVS ネットワークと NVA のある VNET 間で通信できる必要があります。その方法は、前回記事で解説しています。

c.  Azure Virtual WAN 上のサービスによる DNAT

三つ目の方法は、Azure Virtual WAN の活用です。こちらは SNAT させる手段としても登場しましたが、同じ仕組みで DNAT も構成できます。AVS 環境への SNAT/DNAT 管理を一元化したい場合には、この方法が最適でしょう。

また、Virtual WAN は 数多くある Azure ネットワークサービスの中でも最も機能拡張が盛んなサービスの一つとなっており、最近は VMware SD-WAN との統合 も発表されました。今後は Azure Virtual WAN を中心としたネットワークを構成するお客様もどんどん増えてくると考えており、その管理対象として AVS も加えられることは大きなメリットになってくるでしょう。

Azure Virtual WAN 上 の サ ーヒス に よ る DNAT
図6: Azure Virtual WAN 上のサービスによる DNAT

5. まとめ

前回と今回の二回にわたって、AVS と外部ネットワークの接続方法を解説してきました。ご要件や既存環境などによって最適解は異なり、これが絶対正解といえる構成があるわけではありませんが、最後にまとめも兼ねて典型的な AVSのネットワーク構成イメージを共有します。

AVS 全体ネットワークの構成例
図7: AVS 全体ネットワークの構成例

いろいろな情報を盛り込んでしまいましたが、あえて一言でまとめると AVS は Azure サービスの一つであり、既存の Azure ネットワークサービスを最大限活用して実装されているという一点だけでもご理解いただければ幸いです。

今回ご紹介した接続方法も、あくまでも現時点での情報であり、今後の AVS や Azure ネットワークサービスの進化によってベストプラクティスが変わってくると想定されます。最新情報の継続的なキャッチアップが大変なのはクラウド業界の宿命ですが、どんどん進化していく技術を活用し、より良いシステムが実現できることを楽しんでいきましょう。