Azure Managed Service Column <Azure運用コラム>

Azure Virtual Network とは

Category: 入門編

2021.04.02

はじめに

ネットワークを構築する際に便利なのが、クラウドサービスを利用しての仮想ネットワークの構築です。ここでは、クラウドプロバイダの一つ、Microsoft Azure が提供する仮想ネットワークサービス Azure Virtual Network( VNet )の概要や通信方法、セキュリティ、注意点などについて解説していきます。

1. クラウドプロバイダが提供するネットワークサービスとは

従来、ネットワークを構築する際には、設計を行い、それに合わせて物理的なネットワーク機器を購入し、設置・配線することになります。そのため、構成するネットワーク機器に関する高度な知識と物理的な運用管理が必要でした。

しかし、近年ではクラウドを利用してネットワークを構築する方法もあります。

クラウドプロバイダが提供するネットワークサービスとは、広帯域の物理ネットワークを論理的に分割し、共有ネットワークとして提供するものです。回線と物理的なネットワーク機器をソフトウェア定義ネットワーク( SDN )で仮想化し、ユーザーが高い自由度で簡単にネットワークを構成できるようにします。

Azure も上記のクラウドプロバイダの例に漏れず、共有ネットワークサービスを提供しています。Azure を利用すれば、ユーザーは物理的なネットワークを気にせずに、GUI 画面や CLI(コマンドライン)から簡単に使用したいネットワークを構成できます。

2. Azure VNet とは

Azure VNet( Azure Virtual Network )とは、Azure 内に他ネットワークと論理的に分離されたプライベートなネットワークを構築できるサービスです。各種 Azure サービスやオンプレミスサーバーと接続するために必要となります。

作成したVNet 上にVM( Virtual Machine :仮想マシン)や一部の PaaS をデプロイすることができ、VNet 内でリソース間の相互通信ができます。

それぞれの VNet は独立しており、デフォルトではほかのネットワークから接続することはできません。Vnet 間を接続する必要がある場合は、VPN 接続やピアリングといった方法をとります。

2.1 アドレス空間とサブネット

VNet には 1 つ以上のアドレス空間を割り当て、それぞれのアドレス空間には 1 つ以上のサブネット( VNet をさらに細かく分割したもの)を配置します。サブネット内に Azure リソースをデプロイすると、サブネットに紐づくプライベート IP アドレスが割り当てられ、仮想ネットワークへ接続できるようになります。

Azure VNetとは
Azure VNetとは)

なお、VM についてはプライベート IP アドレスのほか、外部からの通信を受け付けられるパブリック IP アドレスを紐づけることも可能です。プライベート IP アドレスはサブネット内のレンジから自動的に、パブリック IP アドレスはリージョン内のレンジからオプションの設定によって、割り当てられます。

VNet のアドレス空間はあとからでも拡張が可能ですが、サブネットのアドレス範囲は変更できません。特に大規模システムの構築時には、アドレス空間を適切に設定するよう注意しましょう。アドレス範囲が足りなくなった場合は、新たにサブネットを作成し、すべてのリソースを移動させる必要が出てきます。

2.2 VNet に配置できるリソースの種類

VNet を作っただけでは、IP アドレス空間を確保した状態に過ぎません。他のリソースと相互通信をするには、仮想ネットワークに内に VM などのリソースをデプロイし、それが接続するサブネットを指定する必要があります。

なお、VNet にデプロイできる Azure リソースの種類は以下のとおりです。

(※出典:https://docs.microsoft.com/ja-jp/azure/virtual-network/virtual-network-for-azure-services

2.3 仮想ネットワークサービスエンドポイント

仮想ネットワークに直接デプロイできないサービスを、Azure サービスに安全に接続できるサービスです。サービスのエンドポイント(外部公開 URL )に対するパブリックインターネットアクセスを排除し、VNet からのアクセスのみを許可することでセキュリティを強化します。

VNet から Azure バックボーンネットワークを介して、Azure サービスへ直接接続する仕組みのため、ユーザー側は複雑なルーティングを考慮する必要がありません。また、Azure の Azure SQL Database や Azure Storage といった一部のAzure PaaS サービスでは、特定の VNet からのアクセスのみ受け付ける設定もできます。ただし、VNet と接続する PaaS は同一リージョンにある必要があります。

2.4 ルーティング

ルーティングとは、データを通信先まで送信する際の最適な配達経路を決めることです。VNet ではユーザー定義のルートで、Azure 既定のシステムルートの上書き・サブネットのルートテーブルへのルート追加ができます。

例えば、VNet からインターネットに出ていくパケットを常にオンプレミス経由で出したり、セキュリティアプライアンスを経由させたりするなどの方法で、セキュリティを担保することができます。

2.5 名前解決

名前解決とは、ドメイン名に対応する IP アドレスを DNS サーバーから教えてもらうことです。これが解決できなければ、目的のサーバーにアクセスができません。VNet 内の VM とその他のリソースが相互に通信する際は、IP アドレスを使用するよりドメイン名を使うほうが便利です。

VNet 内で名前解決をする方法としては、以下の 3 つがあります。リソース間の通信に必要な要件に応じて選択するとよいでしょう。

1.Azure DNS プライベートゾーンを使用する(推奨)

VNet 内および VNet 間の名前解決ができます。パブリック DNS ゾーンとプライベート DNS ゾーンで名前の共有が可能であり、独自のカスタムドメインも使用できます。

2.Azure で提供される名前解決を使用する

基本的な DNS 機能のみ提供されます。DNS ゾーン名とレコードは Azure によって自動的に管理される仕組みで、ゾーン名やレコードのライフサイクルを制御できません。

3.ユーザー独自のDNSサーバーを使用する

名前解決のニーズが Azure で提供される機能の範囲を超える場合、ユーザー独自の DNS サーバーの使用も可能です。

3. 外部のネットワークとの通信方法

ここでは、VNet 外部のネットワークとの通信方法について見ていきましょう。

3.1 インターネットとの通信

インターネットからの接続が必要な場合は、VNet 内のリソースにパブリック IP アドレスを設定するか、もしくはパブリックロードバランサーを介して接続することになります。

VNetとインターネットとの通信
VNetとインターネットとの通信

ただし、セキュリティの観点から、インターネットに公開するサービスが稼働する VM でない限り、基本的にパブリック IP アドレスは設定しないと考えておくとよいでしょう。

3.2 VNet とクライアントコンピュータとの通信( P2S VPN )

VNet とクライアントコンピュータとの通信を行う場合は、P2S VPN 接続(ポイント対サイトVPN接続)で端末と VNet を接続します。端末上の VPN クライアントから、VPN 内の VPN Gateway へ VPN 接続を要求することで通信ができます。

VNetとクライアントコンピュータとの通信(P2S VPN)
VNetとクライアントコンピュータとの通信(P2S VPN)

3.3 オンプレミスとの通信

VNet とオンプレミスを接続する際には、以下の 2 種類の方法があります。

1. S2S VPN 接続

オンプレミス環境と VNet をサイト間 VPN 接続します。仮想ネットワーク上のローカルネットワークゲートウェイにオンプレミスのグローバル IP アドレスとアドレス空間を指定して接続します。

VNetとオンプレミス(S2S VPN接続)
VNetとオンプレミス(S2S VPN接続)

利用にあたっては、オンプレミス側でグローバル IP アドレスと VPN デバイスが必要です。なお、ローカルネットワークゲートウェイの更新は手動で行います。

2. ExpressRoute を介した接続

ExpressRoute は、通信キャリアが提供する閉域網または専用線を介した接続を行います。インターネット回線を利用しないため、高いセキュリティと安定した通信品質を担保できます。

ExpressRouteを介した接続
ExpressRouteを介した接続

4. VNet 間の通信方法

VNet 間で他の Azure リソースと接続する方法を 4 つ紹介します。

1. S2S VPN 接続

VNet 間を VPN 接続する方法です。オンプレミスと VNet 間の S2S VPN 接続と同様、仮想ネットワーク上のローカルネットワークゲートウェイに対してもう一方の VPN Gateway のグローバル IP アドレスと VNet 内のアドレス空間を指定して接続します。
接続先の情報は静的に設定するため、アドレス空間に変更があった場合はローカルネットワークゲートウェイを手動で更新する必要があります。

VNet間の通信方法(S2S VPN)
VNet間の通信方法(S2S VPN)

2. V2V 接続

VNet 対 VNet 接続の略称で、VNet 間を VPN Gateway を介して接続する方法です。自動的にローカルネットワークゲートウェイができる点や、片方のアドレス空間が変更されても他方でルーティング情報を自動更新する点、同一リージョン内であればデータ転送料がかからない点が S2S VPN 接続と異なります。

VNet間の通信方法(V2V VPN)
VNet間の通信方法(V2V VPN)

3. VNet Peering

VPN Gateway を使用せずに同一リージョン内の VNet を接続する方法です。この方法で接続した VNet 同士は、Azure データセンターを結ぶ Microsoft バックボーンを介して一つのネットワークのように機能します(一方の仮想ネットワーク内のリソースが、ピアリングされているもう一方の仮想ネットワーク内のリソースに直接接続できるようになります。従ってピアリングする VNet 間でサブネットの重複があってはいけません。)。

VNet間の通信方法(VNet Peering)
VNet間の通信方法(VNet Peering)

VNet Peering ではインターネット通信や暗号化が不要で、高速な通信ができるというメリットがあります。
また、ピアリング作成時や作成後にダウンタイムが発生しない点や、ピアリングする VNet のどちらかに VPN Gateway があれば、リモートゲートウェイ転送を有効化することで、トラフィックの転送を行うこともできます。

4. Global VNet Peering

データセンターのリージョンが異なる VNet 同士を接続する方法です。VPN Gateway を使用せずに相互通信できますが、ピアリング先との通信に限定されており、リモートゲートウェイ転送の設定ができない点は前述の VNet Peering と異なります。

VNet間の通信方法(Global VNet Peering)
VNet間の通信方法(Global VNet Peering)

Azure のバックボーンネットワークを利用して接続し VPN Gateway も使わないため、通信速度は V2V 接続よりも高速です。

5. PaaS との通信方法

VNet と一部の PaaS との接続方法を 2 つ紹介します。

1. VNet サービスエンドポイント

先に説明した仮想ネットワーク( VNet )サービスエンドポイントを活用すれば、VNet と PaaS を接続できます。エンドポイントを使用することで、インターネットから PaaS へのアクセスを排除し、VNet からのアクセスに限定することが可能です。

PaaSとの通信方法(Vnetサービスエンドポイント)
PaaSとの通信方法(Vnetサービスエンドポイント)
(図版出典:https://docs.microsoft.com/ja-jp/azure/virtual-network/virtual-network-service-endpoints-overview

VNetサービスエンドポイントで接続できる PaaS は公式サイトをご参照ください

2. Azure App Service の VNet 統合

PaaS である Azure App Service を使ってアプリケーションを構築する際、VNet 内にある VM(例えば、Active Directory サーバーなど)にアクセスしたい場合、デフォルトでは VNet 内へアクセスできません。そのようなときに使えるのが VNet 統合の設定です。

仮想ネットワーク内に統合用サブネットを用意し、そのサブネットを経由することで、同じ仮想ネットワーク上にある他のサブネットと通信できるようになります。

PaaSとの通信方法(Azure App Service のVNet統合)
PaaSとの通信方法(Azure App Service のVNet統合)

6. セキュリティ

ここでは VNet のセキュリティ機能について確認していきましょう。

6.1 ネットワークセキュリティグループ

ネットワークセキュリティグループ( NSG )とは、Vnet上の仮想のファイアウォール機能です。具体的には以下のような項目にルールを設定することで、VNet 内の Azure リソースへのアクセスを制御します。

  • プロトコル
  • 送信元ポート
  • 宛先ポート
  • 送信元 IP アドレス
  • 宛先 IP アドレス
  • トラフィックの方向
  • 優先順位
  • トラフィックの許可または拒否

6.2 Azure DDoS Protection

DDoS 攻撃※を常時監視し、攻撃があった場合には自動軽減する保護サービスです。Basic(無償)とStandard(有償)があり、Basic はすべての Azure プロパティに適用されています。

一方、Standard は Basic の機能に加え、VNet リソースに対してチューニングされた追加の軽減機能や、専用のトラフィック監視と機械学習アルゴリズムによりチューニングされた保護ポリシーなどの機能が提供されます。

※DDoS 攻撃:リソースを使い果たし正常なユーザーがアプリケーションを利用できないようにするサイバー攻撃

7. VNet 構築上の注意点

VNet を構築する際に、気をつけるべき点について確認していきましょう。

7.1 VNet は基本的に複数のリージョンにまたがって使用できない

IaaS を利用してシステム構築する際は、可用性を高めるために複数のリージョンをまたいだネットワーク設計をする場合があります。しかし、VNet は基本的に複数のリージョンをまたいだ利用ができません。

異なるリージョンのリソースを同じネットワーク上にあるかのように扱いたい場合は、Global VNet Peering や V2V 接続を行うことが必要です。

はじめに、同一リージョン内と異なるリージョン間のどちらの可用性を重視するのか、ネットワーク設計ポリシーを明確にしておくとよいでしょう。

7.2 VNet デプロイモデルにより、ネットワーク数の制限や、IP アドレスの指定方法が違う

VNet のデプロイには「クラシックデプロイモデル(Azure 仮想マシン V1 )」「 Azure Resource Manager( Azure 仮想マシン V2 )」の 2 つのモデルがあります。それぞれのモデルでは仮想ネットワーク数・サブネットの規定数・上限数が異なるため、ご注意ください。

また、それぞれのモデルでは、パブリック IP アドレスとプライベート IP アドレスの割り当て方法も異なります。モデルの併用は可能であるものの、接続が複雑になるため、VNet の構築・運用時には注意が必要です。

8. Azure VNet の料金

Azure VNet 自体は無料で利用でき、サブスクリプションごとに最大 50 の VNet をすべてのリージョンで作成できます。ただし、VNet 内で使用する VM に割り当てるパブリック IP アドレスや VPN Gateway などには、以下のような利用料金が発生します。

  • パブリック IP アドレス:動的 IP アドレスは Basic で 1 時間当たり 0.448 円、静的 IP アドレスは Basic で 1 時間当たり 0.4032 円、 Standard で 0.56 円など
  • VPN Gateway : Basic(帯域幅 100 Mbps )で 1 時間当たり 4.04 円、VpnGw2(帯域幅 1 Gbps )で 1 時間当たり 54.88 円など
  • VNet Peering : 受信データ転送・送信データ転送とも 1 GB につき 1.12 円
  • Global VNet Peering : 受信データ転送・送信データ転送とも、ゾーン 1 で 1 GB につき 3.920 円、ゾーン 3 で 1 GB につき 17.92 円など

なお、利用料金は月ごとの請求となります。料金の詳細について知りたい方は、こちらの公式ページをご確認ください。

おわりに

VNet 内に VM 等のリソースを配置すると、他の Azure リソースやオンプレミスとの安全な通信が可能になります。通常、VNet 間は分離しており、デフォルトでは他のネットワークからの接続はできません。そのため、VNet 間での通信には、VPN 接続やピアリングといった方法をとります。

仮想ファイアウォール機能の「ネットワークセキュリティグループ」や、DDoS 攻撃を常時監視する保護サービス「 Azure DDoS Protection 」といったセキュリティ機能を適切に使うと、仮想ネットワークをより安全に利用できるでしょう

VNet は、基本的に複数のリージョンにまたがっての設定はできませんが、VNet を活用することにより、さまざまなネットワーク構成を実現することができます。VNet 内で使用する VM などのリソースにはそれぞれ利用料金が発生しますが、VNet 自体は無料で利用可能ですので、システムを構築する際には、VNet を有効に使った設計をしてみてください。

Azure の構築を相談する

Azure構築サービス

Azure 構築サービス

Microsoft Azure を利用したシステム構築を代行します。お客様のご要件を実現する構成をご提案・実装いたします。

Free

資料ダウンロード

課題解決に役立つ詳しいサービス資料はこちら

資料ダウンロード
  • Azure導入支援・構築・運用サービス総合カタログ

    Microsoft Azure サービスの導入検討・PoC、設計、構築、運用までを一貫してご支援いたします。
    Azure導入・運用時のよくあるお悩み、お悩みを解決するためのアールワークスのご支援内容・方法、ご支援例などをご確認いただけます。

Azure導入個別相談会(無料)

Tag: Azure VNet Virtual Network セキュリティ

Contactお問い合わせ

お見積もり・ご相談など、お気軽にお問い合わせください。

single.php