Azure 仮想ネットワークのルーティング機能を特定する
仮想ネットワーク内のトラフィック フローを制御するには、カスタム ルートの目的と利点について学習する必要があります。 また、ネットワーク仮想アプライアンス (NVA) 経由でトラフィック フローを送信するように、ルートを構成する方法を学習する必要があります。
Azure ルーティング
Azure でのネットワークトラフィックは、Azure のサブネット、仮想ネットワーク、およびオンプレミスのネットワークの間を自動的にルーティングされます。 システム ルートは、このルーティングを制御します。 既定で仮想ネットワーク内の各サブネットに割り当てられます。 これらのシステム ルートを使用すると、仮想ネットワーク内にデプロイされるすべての Azure 仮想マシンは、そのネットワーク内の他のすべての仮想マシンと通信することができます。 また、これらの仮想マシンには、ハイブリッド ネットワークまたはインターネット経由で、オンプレミスからアクセスできる可能性があります。
システム ルートを作成または削除することはできませんが、カスタム ルートを追加して次ホップへのトラフィック フローを制御することで、システム ルートをオーバーライドできます。
すべてのサブネットには、次の既定のシステム ルートがあります。
アドレス プレフィックス | 次ホップの種類 |
---|---|
仮想ネットワークに固有 | 仮想ネットワーク |
0.0.0.0/0 | インターネット |
10.0.0.0/8 | なし |
172.16.0.0/12 | なし |
192.168.0.0/16 | なし |
100.64.0.0/10 | なし |
次ホップの種類の列には、各アドレス プレフィックスに送信されるトラフィックによって取得されるネットワーク パスが示されています。 パスは、以下のホップの種類のいずれかにすることができます。
- 仮想ネットワーク: アドレス プレフィックスにルートが作成されます。 プレフィックスは、仮想ネットワーク レベルで作成された各アドレス範囲を表します。 複数のアドレス範囲が指定されている場合は、アドレス範囲ごとに複数のルートが作成されます。
- インターネット:既定のシステム ルート 0.0.0.0/0 では、カスタム ルートで Azure の既定のルートをオーバーライドしない限り、すべてのアドレス範囲がインターネットにルーティングされます。
- なし:このホップの種類にルーティングされたトラフィックはすべて削除され、サブネットの外部にはルーティングされません。 既定では、次の IPv4 プライベート アドレス プレフィックスが作成されます: 10.0.0.0/8、172.16.0.0/12、および 192.168.0.0/16。 共有アドレス空間のプレフィックス 100.64.0.0/10 も追加されます。 これらのアドレス範囲はいずれもグローバルにルーティングできません。
次の図は、システム ルートの概要を示し、既定でトラフィックがサブネットとインターネット間でどのように流れるかを示しています。 図から、2 つのサブネットとインターネットの間をトラフィックが自由に流れることがわかります。
Azure 内には、他のシステム ルートがあります。 次の機能が有効な場合、Azure によってこれらのルートが作成されます。
- 仮想ネットワーク ピアリング
- サービス チェイニング
- 仮想ネットワーク ゲートウェイ
- 仮想ネットワーク サービス エンドポイント
仮想ネットワーク ピアリングとサービス チェイニング
仮想ネットワーク ピアリングとサービス チェイニングを使うと、Azure 内の仮想ネットワークを相互に接続できます。 この接続を使用すると、仮想マシンでは同じリージョン内またはリージョン間で相互に通信できます。 その後、この通信によって、既定のルート テーブル内に他のルートが作成されます。 サービス チェイニングでは、ピアリングされたネットワーク間にユーザー定義ルートを作成することで、これらのルートをオーバーライドできます。
次の図は、ピアリングが構成された 2 つの仮想ネットワークを示しています。 ユーザー定義ルートは、NVA または Azure VPN ゲートウェイ経由でトラフィックをルーティングするように構成されています。
仮想ネットワーク ゲートウェイ
インターネット経由で Azure とオンプレミス間で暗号化されたトラフィックを送信したり、Azure ネットワーク間で暗号化されたトラフィックを送信したりするには、仮想ネットワーク ゲートウェイを使います。 仮想ネットワーク ゲートウェイには、ルーティング テーブルとゲートウェイ サービスが含まれています。
仮想ネットワーク サービス エンドポイント
仮想ネットワーク エンドポイントでは、Azure リソースへの直接接続を提供することで、Azure 内のプライベート アドレス空間が拡張されます。 この接続により、トラフィックのフローが制限されます。Azure 仮想マシンでは、プライベート アドレス空間から直接ストレージ アカウントにアクセスし、パブリック仮想マシンからのアクセスを拒否することができます。 サービス エンドポイントを有効にすると、Azure によって、このトラフィックを送信するためのルートがルート テーブルに作成されます。
カスタム ルート
システム ルートを使用すると、環境をすばやく稼働させるのが容易になる場合があります。 しかし、多くのシナリオでは、ネットワーク内のトラフィック フローをより厳密に制御する必要があります。 たとえば、NVA 経由で、またはファイアウォールを経由してトラフィックをルーティングすることができます。 この制御はカスタム ルートを使用して行うことができます。
カスタム ルートを実装する場合、ユーザー定義ルートを作成するオプションと、Border Gateway Protocol (BGP) を使用して Azure とオンプレミス ネットワーク間のルートを交換するオプションの 2 つがあります。
ユーザー定義のルート
ユーザー定義ルートを使って既定のシステム ルートをオーバーライドできるので、ファイアウォールまたは NVA 経由でトラフィックをルーティングできます。
たとえば、2 つのサブネットを含むネットワークがあり、ファイアウォールとして使用される境界ネットワークに仮想マシンを追加するとします。 トラフィックがファイアウォールを通過し、サブネット間を直接移動しないように、ユーザー定義ルートを作成できます。
ユーザー定義ルートを作成するときに、これらの次ホップの種類を指定できます。
- 仮想アプライアンス:通常、仮想アプライアンスはファイアウォール デバイスであり、ネットワークを出入りするトラフィックを分析またはフィルター処理するために使われます。 仮想マシンに接続されているネットワーク インターフェイス カード (NIC) のプライベート IP アドレスを指定して、IP 転送を有効にすることができます。 または、内部ロード バランサーのプライベート IP アドレスを指定することができます。
- 仮想ネットワーク ゲートウェイ:特定のアドレスのルートで、仮想ネットワーク ゲートウェイにルーティングするタイミングを示すために使用します。 仮想ネットワーク ゲートウェイは、次ホップの種類に対する VPN として指定されます。
- 仮想ネットワーク: 仮想ネットワーク内の既定のシステム ルートをオーバーライドするために使用します。
- インターネット:インターネットにルーティングされる指定されたアドレス プレフィックスにトラフィックをルーティングするために使用します。
- なし: 指定されたアドレス プレフィックスに送信されたトラフィックを削除するために使用します。
ユーザー定義ルートでは、次ホップの種類として VirtualNetworkServiceEndpoint を指定することはできません。これは、仮想ネットワーク ピアリングを示します。
ユーザー定義ルートのサービス タグ
明示的な IP 範囲の代わりに、ユーザー定義ルートのアドレス プレフィックスとしてサービス タグを指定できます。 サービス タグは、指定された Azure サービスからの IP アドレス プレフィックスのグループを表します。 サービス タグに含まれるアドレス プレフィックスの管理は Microsoft が行い、アドレスが変更されるとサービス タグは自動的に更新されます。これにより、ユーザー定義ルートに対する頻繁な更新の複雑さを最小限に抑えることができ、作成する必要があるルートの数を削減できます。
Border Gateway Protocol
オンプレミス ネットワーク内のネットワーク ゲートウェイでは、BGP を使って、Azure 内の仮想ネットワーク ゲートウェイとルートを交換できます。 BGP は、2 つ以上のネットワーク間でルーティング情報を交換するために通常使用される、標準のルーティング プロトコルです。 BGP は、異なるホスト ゲートウェイなど、インターネット上の自律システム間でデータと情報を転送するために使用されます。
Azure ExpressRoute 経由で Azure データセンターに接続している場合は、通常、BGP を使用してオンプレミスのルートを Azure にアドバタイズします。 VPN サイト間接続を使用して Azure 仮想ネットワークに接続する場合も、BGP を構成することができます。
次の図は、Azure VPN Gateway とオンプレミス ネットワークの間でデータを渡すことができるパスを含むトポロジを示しています。
BGP では、接続パスがダウンした場合、ルーターは接続を迅速に変更してパケットを送信できるため、ネットワークの安定性が提供されます。
ルートの選択と優先順位
ルート テーブルで複数のルートを使用できる場合、Azure では、一致するプレフィックスが最も長いルートが使用されます。 たとえば、メッセージは IP アドレス 10.0.0.2 に送信されますが、10.0.0.0/16 および 10.0.0.0/24 プレフィックスで 2 つのルートを使用することができます。 Azure では、10.0.0.0/24 プレフィックスを持つルートが選択されます (より具体的なため)。
ルート プレフィックスが長いほど、そのプレフィックスを通じて使用可能な IP アドレスのリストが短くなります。 より長いプレフィックスを使用すると、ルーティング アルゴリズムでは目的のアドレスをより迅速に選択できます。
同じアドレス プレフィックスの複数のユーザー定義ルートを構成することはできません。
同じアドレス プレフィックスを持つルートが複数ある場合、Azure ではその種類に基づいて、次の優先順位でルートが選択されます。
- ユーザー定義ルート
- BGP のルート
- システム ルート