Azure 仮想ネットワークの基本のき

Azure

こんにちは。

最近、IaaS を自分で触ってなかったので、久々に仮想ネットワーク回りを自分で触ってみました。

 

今回は、今時点で仮想ネットワークでプライベートなネットワークを構成する上での基礎の基礎的な部分を、自分の知識の整理という位置付けでおさらいをしてみました。

 

今回試したこと

検証計画

今回は、以下の絵のような構成を作成してみました。

West US 2 と East US 2 をメインに、VPN 接続は South Central US を混ぜた構成にしています。

ざっくりいうと、US 中を Azure の仮想ネットワークでつなげた構成です。

 

検証結果

以下のような通信ができる環境ができました。

通信不可のオレンジの部分も、通信できるようにはできますが、今回はあえてしてないです。

 

各ネットワークのルーティングテーブル

前の項で、通信結果を絵にまとめているので、だいたいイメージができると思いますが、各 vnet のルーティングテーブルを載せておきます。

※ 2018/10/31 追記

ルーティングテーブルの確認方法の記事をかきました。

https://memobog.azurewebsites.net/2018/10/31/effective_routes/

 

◆vnet111

vnet111 では、Virtual network Gateway が、vnet112,vnet113,vnet221 の場所をわかっている状態です。

vnet peering は、ない状態ですね。

 

◆vnet112

vnet112 では、vnet221 と vnet peering でつながっていて、

Virtual network Gateway が、vnet111とvnet113を知っている状態です。

 

◆vnet113

vnet113は、vnet111と同じような状態で、

Virtual network Gateway が、vnet111とvnet112とvnet221を知っている状態で、

vnet peering はない状態です。

 

◆vnet221

vnet221は、vnet112 と vnet peering でつながっていて、

Virtual network Gateway が vnet111 と vnet113 を知っている状態です。

ただ、Virtual network Gatewayは、vnet112 の VPN Gateway となります。

※ vnet221には、VPN Gateway はないです。

 

◆vnet222

vnet222 は、vnet221と vnet peering でつながってるだけです。

いくつか気になる点はあるかもしれませんが、次の項から解説をします。

なお、解説は、

  • VPN 接続
  • vnet Peering

の2つにわけでまとめます。

 

VPN 接続

今回の検証、VPN 接続では、vnet to vnet の接続を試しました。

 

ちなみに、VPN 接続には、このほかに、Site to Site 接続、Point to Site 接続や、ExpressRoute接続がありますが、今回は環境の問題で vnet to vnet 接続のみを試しています。

(っていうか、Expressroute 接続は、個人でやるのはきつい。。。誰か環境貸してくれないかなー。)

 

VPN 構成の設計には、以下のドキュメントに書いてあります。

Azure VPN Gateway について
VPN Gateway とは何か、また VPN Gateway を使用して、サイト間、VNet 対 VNet、およびポイント対サイトの IPsec IKE VPN 仮想ネットワークに接続する方法について説明します。

 

ちなみに、VPN Gateway では、最大トンネル数が 30 個の制限があります。

30 個を超える大規模ネットワークを構築する場合は、Virtual WAN を利用することがドキュメントにも記載されています。

 

設定概要

今回の VPN Gateway は、

  • VPN Type は、Route-Based
  • Active-Active mode

で、構成しています、

 

VPN Type を、Route-Based にしたのは、vnet to vnet 接続だと、Policy Based が選択できないからです。

Active-Active mode を選んだのはなんとなくw

 

構築手順は、

  1. vnet の作成
  2. VPN Gateway を作成
  3. VPN Gateway 同志を接続する

って感じです。

 

補足

VPN接続で利用する Gateway について

Gateway は、以下の2種類のリソースがあります。

  • Virtual Network Gateway
  • Local Network Gateway

使い方としては、Azure vnet に置く Gateway が、Virtual Network Gateway

オンプレミス側のGateway として、Local Network Gateway

があります。

 

絵にするとこんな感じ

 

VPN Typeについて

VPN Type は以下の2つがあります。

  • Policy Base
  • Route Base

 

Policy Base は、ドキュメントを読むとクラシックデプロイメントの静的ルーティングと呼ばれていたものとのこと。

ただ、使えるのが、

  • Site to Siteのケース
  • SKU は Basic のみで、他との互換はない(つまり対向も、Basic が必要)
  • トンネルは 1 つのみ

と、とても限定的なものです。

 

ちなみに、Route Base は、Site to Site 接続もフォローしているので、新規にネットワークを組む時には、Route Base でいいと思います。

 

それぞれのサポート範囲はドキュメントから持ってきました。

 

BGP

BGP に関しては、以下のドキュメントに記載されています。

VPN Gateway を使用した BGP の概要 - Azure VPN Gateway
ネットワーク間でルーティングと到達可能性の情報を交換するための標準インターネット プロトコルである、Azure VPN の Border Gateway Protocol (BGP) について説明します。

 

vnet to vnet 接続だけで構成する場合は、特に何も関係ありませんが、オンプレミスとの Site to Site 接続を行う場合に、オンプレミス側の VPN GW が BGP に対応している場合に利用できると考えていいと思います。

ちなみに、SKU は、Basic は BGP 非対応となります。(つまり、VPN Type が Policy Base の Virtual network Gateway は非対応)

 

BGP を使うとこんなことができちゃいます。(ドキュメントより抜粋)

 

VPN Gateway の高可用性

VPN Gateway の高可用性については、以下のドキュメントに記載されています。

高可用性ゲートウェイの構成について - Azure VPN Gateway
Azure VPN Gateway を使用した高可用性構成オプションについて説明します。

 

簡単に言ってしまえば、Active – Active の構成を作ってしまえばいいってことですね。

Virtual network Gateway であれば、Act – Act 構成を作るのには、チェックボックスにチェックを付けるだけです。

ただし、Public IP を 2つ使うことになることにはご注意を。

 

vnet peering

今回の環境では、vnet peering は、以下の2パターンを使っています。

  • VPN Gateway を持っている vnet との peering(VNET112 と VNET121 の間の Peering)
  • VPN Gateway を持たない vnet 間の peering(VNET121 と VNET122 の間の Peering)

 

疎通結果の絵を見て頂くとわかる通り、VPN GW をもつ vnet と Peering をした場合、VPN GW を Transit して、VPN GWの接続先にルーティングすることができます。

 

ちなみに、Vnet peering についてのドキュメントは、以下になります。

Azure 仮想ネットワーク ピアリング
Azure Virtual Network でネットワークを接続できるようにする方法などの Azure の仮想ネットワーク ピアリングの詳細について説明します。

 

設定概要

VPN Gateway を持っていない vnet 間の peering

VPN Gateway を持っていない vnet 間の peering は、vnet 間を L2 ネットワークで接続したような通信ができます。

イメージ的には、Hub 配下で構成されている ネットワーク同士をそのままつなげるような感じ。

 

ですので、接続した vnet 間を相互に通信することができます。

 

今回ですと、vnet122 と vnet121の関係です。

 

VPN Gateway を持っている vnet 間の peering

VPN Gateway を持っている vnet との peering は、VPN Gateway を介して他のネットワークと通信することができます。

 

今回ですと、vnet121 から、vnet112の GW を介して、vnet111 と vnet113 と相互に通信できるようになっています。

 

設定方法は、vnet121 から vnet112 への peering の設定では、Use remote gateways を有効にし、

vnet112 から vnet121 への peering の設定で、Allow gateway transit を有効にするだけです。

 

補足

リージョン間の Peering をした際の通信速度と、クラシックデプロイメントの対応

vnet peering で接続した場合、通信が使う回線は、Microsoft のバックボーンネットワークを使用することになります。

で、これがめちゃめちゃ早いです。

 

Global vnet peering は、去年の Microsoft Ignite で Preview したのですが、その時に測定した結果で、1Gbps 以上出ていました。

今は、さらにスピードが出ます。

 

また、仮想ネットワークは、ARM のものと ASM(クラシックデプロイメント)の二つがあるのですが、ARM と ASM の仮想ネットワーク間でも Peering することができます。

 

ちょうどその辺は、1年前にネスケラボで以下の記事を書いていますので、よかったらご覧ください。

Global 接続ができるようになった Microsoft Azure の仮想ネットワーク Peering を試してみたよ - NEXTSCAPE blog
こんにちは。 コンサルティング & テクノロジー部の Azure チームの吾郷です。 今回は、機械学習系サービスの Cognitive Services の成分はまったくなく、Microsoft Azure のネットワークについての内容です...

 

 

まとめ

Azure の仮想ネットワークは、ネットワークの知識があまりなくても構築できるサービスとなっています。

ただ、複雑な構成になったり、ネットワークの数が増えてきた場合は、以下を意識して設計した方がよさそうです。

  • ネットワーク同志が接続できる
  • ネットワーク的に接続(ルーティング)することができる。

また、リージョン間の接続でも、VPN 接続と vnet peering のどちらでも構築することができますので、料金の違いやネットワークの速度を意識して構成する必要もあります。

まぁー、MS のバックボーンネットワークはとても高速ですので、その経路をうまく使いたいですよね。

 

オンプレミスと接続するケースでは、仮想ネットワークを使うことがとても多いので、色々試してみてうまく使いこなしちゃいましょう~!!

 

それにしても、こんなに長い記事になっちゃったけど、誰か読むのかなw

※ 2018/11/18 追記

Virtual Network Gateway と VNET Peering を使ったネットワークの構築例的な記事を書きましたので、よかったらこちらもご覧ください。

https://memobog.azurewebsites.net/2018/11/18/azure-routetabale01/

コメント

タイトルとURLをコピーしました