SE の雑記

SQL Server の情報をメインに Microsoft 製品の勉強内容を日々投稿

Azure の仮想ネットワーク間でマルチサイト VPN を設定する

leave a comment

Azure の仮想ネットワークで以下のようなマルチサイト VPN を設定するための方法をまとめてみたいと思います。

image

基本的な内容としては、マルチサイト VPN の構成 が参考になります。

上記のマルチサイト VPN の設定は仮想ネットワーク間をサイト間 VPN で設定する方法とあまり変わりません。
異なるサブスクリプションで VNET 間接続を試してみる

■仮想ネットワークの初期作成


マルチサイト VPN の設定はベースとして作成した仮想ネットワークを「スクリプト」「PowerShell」を用いて設定を行います。
最初に仮想ネットワークの初期設定を行います。

  1. VNET01~VNET03 に対応したローカルネットワークを作成
    作成する際には各仮想ネットワークの VPN のゲートウェイの IP アドレスが不明なため、「0.0.0.0」を設定
    今回は以下ローカルネットワークを作成

    名前 アドレス空間 VPN ゲートウェイアドレス
    VNET01-LN 10.0.0.0/16 0.0.0.0
    VNET02-LN 10.1.0.0/16 0.0.0.0
    VNET03-LN 10.2.0.0/16 0.0.0.0

    image

  2. VNET01 の仮想ネットワークを作成
    設定としては以下の設定を行う。
    # GUI からは単一のサイト間の VPN 設定しかできないため、最初に VNET01 と VNET02 間の設定を行う

    項目 設定
    名前 VNET01
    サイト間 VPN の構成
    ローカルネットワーク VNET02-LN
    アドレス空間 10.0.0.0/16
    ゲートウェイ サブネットの追加 ボタンをクリック
  3. VNET01 の仮想ネットワークのダッシュボードから「ゲートウェイの作成」を「動的ルーティング」を使用して実施
    image
    静的ルーティングと動的ルーティングについてはこちらから
    仮想ネットワークに使用する VPN デバイスについて
    image
  4. VNET02 の仮想ネットワークを作成
    設定としては以下の設定を行う。

    項目 設定
    名前 VNET02
    サイト間 VPN の構成
    ローカルネットワーク VNET01-LN
    アドレス空間 10.1.0.0/16
    ゲートウェイ サブネットの追加 ボタンをクリック
  5. VNET02 の仮想ネットワークのダッシュボードから「ゲートウェイの作成」を「動的ルーティング」を使用して実施
  6. VNET03 の仮想ネットワークを作成
    設定としては以下の設定を行う。

    項目 設定
    名前 VNET03
    サイト間 VPN の構成
    ローカルネットワーク VNET01-LN
    アドレス空間 10.2.0.0/16
    ゲートウェイ サブネットの追加 ボタンをクリック
  7. VNET03 の仮想ネットワークのダッシュボードから「ゲートウェイの作成」を「動的ルーティング」を使用して実施

 

各仮想ネットワークのゲートウェイの作成が完了したら次の作業を実施します。

 

■VPN ゲートウェイアドレスの設定


ゲートウェイの作成が完了すると、各仮想ネットワークの VPN ゲートウェイアドレスがわかりますので、ローカルネットワークに対して VPN ゲートウェイアドレスを設定します。

ゲートウェイの IP アドレスは、仮想ネットワークのダッシュボードか Azure PowerShell で確認を行います。
image

Add-AzureAccount
$Subscription = Get-AzureSubscription | Out-GridView -OutputMode Single
$Subscription | Select-AzureSubscription  -Current

$Sites = Get-AzureVNetSite | Where-Object {$_.name -like "VNET0*"}
foreach ($Site in $Sites){
    Get-AzureVNetGateway -VNetName $Site.Name | ft $Site.Name, State, VIPAddress
}

image

IP を確認したら、ローカル ネットワークを編集し、ゲートウェイアドレスを設定します。

imageimage

これを各ローカルネットワークに対して実施します。

 

■スクリプトのダウンロードとマルチサイト VPN の設定


ここまでの作業は GUI ベースでできたのですがマルチサイト VPN の設定は、現状、仮想ネットワークの構成スクリプトをダウンロードして手動で変更する必要があります。

設定は以下の手順で実施します。

  1. ポータルの仮想ネットワークから「エクスポート」をクリックし、マルチサイト VPN を設定するサブスクリプションの仮想ネットワーク設定をファイルに保存する。

    image
  2. ダウンロードした仮想ネットワークのスクリプトの以下の箇所を編集する。

    編集前

            <Gateway>
              <ConnectionsToLocalNetwork>
                <LocalNetworkSiteRef name="VNET02-LN"><Connection type="IPsec" /></LocalNetworkSiteRef>
              </ConnectionsToLocalNetwork>
            </Gateway>
    

    編集後

            <Gateway>
              <ConnectionsToLocalNetwork>
                <LocalNetworkSiteRef name="VNET02-LN"><Connection type="IPsec" /></LocalNetworkSiteRef>
                <LocalNetworkSiteRef name="VNET03-LN"><Connection type="IPsec" /></LocalNetworkSiteRef>
              </ConnectionsToLocalNetwork>
            </Gateway>
    

    VNET01 の仮想ネットワークの VPN 接続先を 「VNET02-LN」のみから、「VNET02-LN」と「VNET03-LN」に変更を行っている。

  3. 「新規」→「仮想ネットワーク」→「構成のインポート」からスクリプトをダウンロードしたサブスクリプションに対して、変更したスクリプトをインポートする。

    image

これでマルチサイト VPN がとなります。

今回は VNET01 がマルチサイトで VPN を設定している仮想ネットワークになります。

設定前は以下のようになっていますが、

image

マルチサイト VPN のスクリプトインポート後は以下のような表示になります。

image

 

■事前共有キーの設定


最後に事前共有キーの設定を行います。

まずは以下の Azure PowerShell で事前共有キーを取得します。

Get-AzureVNetGatewayKey -VNetName VNET01 -LocalNetworkSiteName VNET02-LN
Get-AzureVNetGatewayKey -VNetName VNET01 -LocalNetworkSiteName VNET03-LN

これにより以下のような情報が取得できます。

image

まずは、VNET01 と VNET02 の事前共有キーを設定してみたいと思います。

最初に取得できた事前共有キーの情報を使用して以下のようなコマンドレットで設定を行います。

# 上記の例では TdW で始まるキーを使用しています。

Set-AzureVNetGatewayKey -VNetName VNET01 -LocalNetworkSiteName VNET02-LN -SharedKey TdWAA<省略>wqwI
Set-AzureVNetGatewayKey -VNetName VNET02 -LocalNetworkSiteName VNET01-LN -SharedKey TdWAA<省略>wqwI

次に VNET01 と VNET03 間の設定を行います。

# こちらは VIX で始まるキーを使用しています。

Set-AzureVNetGatewayKey -VNetName VNET01 -LocalNetworkSiteName VNET03-LN -SharedKey VIXU<省略>BsKY
Set-AzureVNetGatewayKey -VNetName VNET03 -LocalNetworkSiteName VNET01-LN -SharedKey VIXU<省略>BsKY

 

以上で設定は完了です。

設定が完了すると以下のような接続の状態となります。

image

image

image

作業の流れがわかっていれば、それほど悩まずに設定できそうですね。

Written by masayuki.ozawa

1月 22nd, 2015 at 1:07 am

Leave a Reply

*