Azure仮想ネットワーク(VNet)は、Azure上のユーザーごとに論理的に独立したネットワークだ。仮想ネットワークの概要は本連載の第2回 仮想マシンとテンプレートイメージの作成(2017年10月号)で紹介したが、改めて詳しく解説する。

 加えて、仮想ネットワーク同士や別のネットワークと接続する「VPNゲートウェイ」「VNetピアリング」というサービスについても取り上げる。

 仮想マシンの仮想ネットワークの主な役割には、「仮想マシンの接続先」「TCP/IPの構成情報の設定」「VPNゲートウェイの配置場所」の三つがある。順に見ていこう。

役割1:仮想マシンの接続先

 一般に、サーバーをネットワークに接続するには、L2スイッチまたはL3スイッチに接続する。AzureでL3スイッチに相当するのが仮想ネットワークだ。つまり、仮想ネットワークは仮想マシンの接続先になる。仮想マシンは必ず仮想ネットワークに接続して利用する。

 仮想ネットワークを作成するとき、その配置先として一つのリージョンを指定する。複数のリージョンを横断する仮想ネットワークは作成できない。

 米国東部2や西欧州のリージョンでプレビューとして利用できるようになった可用性ゾーンについては、複数の可用性ゾーンを横断する仮想ネットワークを作成できる。

 仮想ネットワーク内には必ず1個以上のサブネットを設ける。仮想ネットワークには、ネットワーク範囲(アドレス空間)を追加できる。例えば、172.16.0.0/16の仮想ネットワークに、172.17.0.0/16を追加するといった具合だ。

 仮想ネットワークやサブネットには、「Network Security Group(NSG)」という機能によって、IPアドレスやポート番号によるフィルターを設定できる。ユーザー定義のルーティングテーブル(User Defined Routing Table=UDR)の追加も可能だ。

 仮想マシンは、作成時に指定したリージョンの仮想ネットワークにのみ接続できる。仮想マシンを、別の仮想ネットワークに移動させることはできない。仮想ネットワーク内であれば、任意のサブネットへ移動させられるが、その際に強制的な再起動を伴う。こうした制限があるので、仮想ネットワークの設計は、可能な限り仮想マシンの作成前に完了させておくべきだ。

 仮想ネットワークは無料で作成でき、同一リージョン内であれば通信料も掛からない。そのためネットワークを設計したら、必要な仮想ネットワークを先に作っておくとよい。

 インターネットにアクセスする場合は、「アウトバウンド接続(Azureからインターネットへの通信)」のみが課金対象になる。これは、AWSをはじめとする多くのパブリッククラウドと同じだ。

役割2:TCP/IPの構成情報の設定

 Azure上の全ての仮想マシンは、IPアドレスが自動的に割り当てられるDHCP(Dynamic Host Configuration Protocol)クライアントとなる。AzureのバックエンドのDHCPサーバーが、仮想ネットワークからTCP/IP構成情報を読み取り、仮想マシンに動的にIPアドレスを割り当てる(図1)。

図1 仮想ネットワークとTCP/IP構成情報
図1 仮想ネットワークとTCP/IP構成情報
[画像のクリックで拡大表示]

 通常のDHCPとは異なり、AzureではDHCPクライアントはTCP/IP構成情報を更新しない。IPアドレスのリース期間は100年以上が設定され、一般的な利用では更新パケットが出ることはない。

 ユーザーが強制的に更新を試みると、「DHCPサーバーと通信ができない」という旨のエラーメッセージが表示される。

 そのためAzure仮想ネットワークでTCP/IP構成情報を変更し、その結果を反映するには、仮想ネットワークに接続されている全ての仮想マシンを再起動させる必要がある。

 仮想マシンを作成して仮想ネットワークに接続すると、作成時に指定したサブネットに従い、IPアドレス、サブネットマスク、デフォルトゲートウェイ、DNSサーバーが設定される。以下に、それぞれどう設定されるのかを示す。

IPアドレス
 指定したサブネットの4から順に使用する。例えばサブネットが172.16.1.0/24の場合、172.16.1.4以降のIPアドレスを仮想マシンに割り当てていく。172.16.1.1はデフォルトゲートウェイ用で、172.16.1.2と172.16.1.3は使用しない。

サブネットマスク
 仮想マシンの作成時に指定したサブネットの情報を利用する

デフォルトゲートウェイ
 サブネット内で有効なIPアドレスのうち最も小さい数字のものを割り当てる(最終ケタは1)

DNSサーバー
 Azureが提供するDNSサーバー(168.63.129.16)が設定される。仮想ネットワークごとに、任意のIPアドレスに変更することも可能

役割3:VPNゲートウェイの配置場所

 仮想ネットワークは、VPNゲートウェイの配置場所になる。VPNゲートウェイについては後述するが、異なるリージョンの仮想ネットワーク同士、仮想ネットワークとオンプレミス環境などをインターネットVPNや専用線を経由して接続するのに使うサービスだ。

 VPNゲートウェイを配置するには、仮想ネットワークに専用のサブネットを作成する。これを「ゲートウェイサブネット」と呼ぶ。

 ゲートウェイサブネットにはVPNゲートウェイを1台だけ配置できる。ゲートウェイサブネットに複数台のVPNゲートウェイを配置することはできないが、1台であってもAzure内部では二重化されている。

 ゲートウェイサブネットのIPアドレスに決まりはなく、自由に設定できる。デフォルトゲートウェイはサブネットで最も小さい数字のIPアドレスを使うので、ゲートウェイサブネットも仮想ネットワークのアドレス空間で小さい数字にすると分かりやすいだろう。