VPN を使用して Azure Stack Hub を Azure に接続する
この記事では、Azure Stack Hub 内の仮想ネットワークを Azure 内の仮想ネットワークに接続するサイト間 VPN を作成する方法について説明します。
開始する前に
接続構成を行うには、作業開始前に次のものを用意する必要があります。
- インターネットに直接接続された Azure Stack Hub 統合システム (マルチノード) デプロイ。 使用する外部パブリック IP アドレス範囲にパブリック インターネットから直接到達できる必要があります。
- 有効な Azure サブスクリプション。 Azure サブスクリプションをお持ちでない場合は、ここから無料の Azure アカウントを作成できます。
VPN 接続図
次の図は、作業完了後の接続構成を表しています。
ネットワーク構成の値の例
ネットワーク構成の例の表は、この記事の例で使用されている値を示しています。 これらの値を使用するか、この値を参考にしながら、この記事の例を確認していくこともできます。
値 | Azure Stack Hub | Azure |
---|---|---|
仮想ネットワーク名 | Azs-VNet | AzureVNet |
仮想ネットワークのアドレス空間 | 10.1.0.0/16 | 10.100.0.0/16 |
サブネット名 | FrontEnd | FrontEnd |
サブネットのアドレス範囲 | 10.1.0.0/24 | 10.100.0.0/24 |
ゲートウェイ サブネット | 10.1.1.0/24 | 10.100.1.0/24 |
Azure でネットワーク リソースを作成する
まず、Azure 用のネットワーク リソースを作成します。 次の手順は、Azure Portal を利用してリソースを作成する方法です。
仮想ネットワークと仮想マシン (VM) サブネットを作成する
- Azure アカウントを使用して Azure Portal にサインインします。
- ユーザー ポータルで [+ リソースの作成] を選択します。
- [Marketplace] に移動し、 [ネットワーク] を選択します。
- [仮想ネットワーク] を選択します。
- ネットワーク構成表にある情報を利用し、Azure の [名前] 、 [アドレス空間] 、 [サブネット名] 、 [サブネット アドレス範囲] の値を特定します。
- [リソース グループ] については、新しいものを作成するか、既存のリソース グループがある場合は [既存のものを使用] を選択します。
- [場所] については、VNet の場所を選択します。 例の値を使用している場合は、 [米国東部] を選択するか、別の場所を使用します。
- [ダッシュボードにピン留めする] をオンにします。
- [作成] を選択します
ゲートウェイ サブネットを作成する
ダッシュボードから、作成した仮想ネットワーク リソース (AzureVNet) を開きます。
[設定] セクションで [サブネット] を選択します。
[ゲートウェイ サブネット] を選択し、ゲートウェイ サブネットを仮想ネットワークに追加します。
サブネットの名前は、既定で GatewaySubnet に設定されます。
重要
ゲートウェイ サブネットは特別であり、正しく動作するにはこの特定の名前である必要があります。
[アドレス範囲] フィールドでアドレスが 10.100.1.0/24 であることを確認します。
[OK] を選択し、ゲートウェイ サブネットを作成します。
仮想ネットワーク ゲートウェイを作成する
- Azure portal で [+ リソースの作成] を選択します。
- [Marketplace] に移動し、 [ネットワーク] を選択します。
- ネットワーク リソースの一覧から [仮想ネットワーク ゲートウェイ] を選択します。
- [名前] フィールドに「Azure-GW」と入力します。
- 仮想ネットワークを選択するには、 [仮想ネットワーク] を選択します。 その後、一覧から [AzureVnet] を選択します。
- [パブリック IP アドレス] を選択します。 [パブリック IP アドレスの選択] セクションが開いたら、 [新規作成] を選択します。
- [名前] フィールドに「Azure-GW-PiP」と入力し、 [OK] を選択します。
- [サブスクリプション] と [場所] が正しいことを確認します。 リソースをダッシュボードにピン留めできます。 [作成] を選択します
ローカル ネットワーク ゲートウェイ リソースを作成する
Azure portal で [+ リソースの作成] を選択します。
[Marketplace] に移動し、 [ネットワーク] を選択します。
リソースの一覧から [ローカル ネットワーク ゲートウェイ] を選択します。
[名前] フィールドに「Azs-GW」と入力します。
[IP アドレス] フィールドに、前述のネットワーク構成表にあった Azure Stack Hub 仮想ネットワーク ゲートウェイのパブリック IP アドレスを入力します。
[アドレス空間] フィールドに、Azure Stack Hub から、AzureVNet 用の 10.1.0.0/24 および 10.1.1.0/24 アドレス空間を入力します。
[サブスクリプション] 、 [リソース グループ] 、 [場所] がすべて正しいことを確認し、 [作成] を選択します。
接続の作成
ユーザー ポータルで [+ リソースの作成] を選択します。
[Marketplace] に移動し、 [ネットワーク] を選択します。
リソースの一覧から [接続] を選択します。
[基本] 設定セクションで、 [接続の種類] として [サイト間 (IPSec)] を選択します。
[サブスクリプション] 、 [リソース グループ] 、 [場所] を選択し、 [OK] を選択します。
[設定] セクションで [仮想ネットワーク ゲートウェイ] を選択し、 [Azure-GW] を選択します。
[ローカル ネットワーク ゲートウェイ] を選択し、 [Azs-GW] を選択します。
[接続名] に「Azure-Azs」と入力します。
[共有キー (PSK)] に「12345」と入力し、 [OK] を選択します。
Note
共有キーに別の値を使用する場合は、接続の別の端で作成した共有キーの値と一致する必要があることに注意してください。
[概要] セクションを確認し、 [OK] を選択します。
カスタム IPSec ポリシーを作成する
Azure と Azure Stack Hub を一致させるためにカスタム IPSec ポリシーが必要になります。
カスタム ポリシーの作成:
$IPSecPolicy = New-AzIpsecPolicy -IkeEncryption AES256 -IkeIntegrity SHA384 -DhGroup ECP384 ` -IpsecEncryption GCMAES256 -IpsecIntegrity GCMAES256 -PfsGroup ECP384 -SALifeTimeSeconds 27000 ` -SADataSizeKilobytes 102400000
接続へのポリシーの適用:
$Connection = Get-AzVirtualNetworkGatewayConnection -Name myTunnel -ResourceGroupName myRG Set-AzVirtualNetworkGatewayConnection -IpsecPolicies $IPSecPolicy -VirtualNetworkGatewayConnection $Connection
VM の作成
ここでは Azure に VM を作成し、仮想ネットワーク内の VM サブネットにその VM を配置します。
Azure portal で [+ リソースの作成] を選択します。
[Marketplace] に移動し、 [計算] を選択します。
VM のイメージの一覧で、Windows Server 2016 Datacenter Eval イメージを選択します。
[基本] セクションで、 [名前] に「AzureVM」と入力します。
有効なユーザー名とパスワードを入力します。 このアカウントを利用し、作成後の VM にサインインします。
[サブスクリプション] 、 [リソース グループ] 、 [場所] を指定し、 [OK] を選択します。
[サイズ] セクションで、この場合は VM のサイズを選択し、 [選択] を選択します。
[設定] セクションには既定の設定を使用することができます。 [OK] を選択する前に、以下のことを確認します。
- AzureVnet 仮想ネットワークが選択されていること。
- サブネットが 10.100.0.0/24 に設定されていること。
[OK] を選択します。
[概要] セクションで設定を確認し、 [OK] を選択します。
Azure Stack Hub でネットワーク リソースを作成する
次に、Azure Stack Hub でネットワーク リソースを作成します。
ユーザーとしてサインインする
サービス管理者は、ユーザーが使用する可能性があるプラン、オファー、サブスクリプションをテストするためにユーザーとしてサインインできます。 まだ持っていない場合は、サインインする前にユーザー アカウントを作成します。
仮想ネットワークと VM サブネットを作成する
ユーザー アカウントを使用してユーザー ポータルにサインインします。
ユーザー ポータルで [+ リソースの作成] を選択します。
[Marketplace] に移動し、 [ネットワーク] を選択します。
[仮想ネットワーク] を選択します。
[名前] 、 [アドレス空間] 、 [サブネット名] 、 [サブネット アドレス範囲] には、ネットワーク構成表にある値を使用します。
[サブスクリプション] には、先に作成したサブスクリプションが表示されます。
[リソース グループ] については、リソース グループを作成することも、既存のリソース グループがある場合に [既存のものを使用] を選択することもできます。
既定の場所を確認します。
[ダッシュボードにピン留めする] をオンにします。
[作成] を選択します
ゲートウェイ サブネットを作成する
ダッシュボードで、作成した Azs-VNet 仮想ネットワーク リソースを開きます。
[設定] セクションで [サブネット] を選択します。
ゲートウェイ サブネットを仮想ネットワークに追加するには、 [ゲートウェイ サブネット] を選択します。
既定では、サブネット名は GatewaySubnet に設定されます。 ゲートウェイ サブネットを正常に機能させるには、GatewaySubnet という名前を使用する必要があります。
[アドレス範囲] でアドレスが 10.1.1.0/24 であることを確認します。
[OK] を選択し、ゲートウェイ サブネットを作成します。
仮想ネットワーク ゲートウェイを作成する
Azure Stack Hub ポータルで、 [+ リソースの作成] を選択します。
[Marketplace] に移動し、 [ネットワーク] を選択します。
ネットワーク リソースの一覧から [仮想ネットワーク ゲートウェイ] を選択します。
[名前] に「Azs-GW」と入力します。
[仮想ネットワーク] 項目を選択し、仮想ネットワークを選択します。 一覧から [Azs-VNet] を選択します。
[パブリック IP アドレス] メニュー項目を選択します。 [パブリック IP アドレスの選択] セクションが開いたら、 [新規作成] を選択します。
[名前] に「Azs-GW-PiP」と入力し、 [OK] を選択します。
既定では、 [VPN の種類] に [ルート ベース] が選択されています。 VPN の種類は [ルート ベース] のままにします。
[サブスクリプション] と [場所] が正しいことを確認します。 リソースをダッシュボードにピン留めできます。 [作成] を選択します
ローカル ネットワーク ゲートウェイを作成する
Azure Stack Hub における "ローカル ネットワーク ゲートウェイ" の概念は、Azure デプロイにおけるものと異なります。
Azure デプロイでは、ローカル ネットワーク ゲートウェイは、Azure の仮想ネットワーク ゲートウェイに接続するオンプレミスの (ユーザーの位置にある) 物理デバイスを表します。 しかし、Azure Stack Hub では、接続の両端が仮想ネットワーク ゲートウェイになります。
これをより一般的に説明すると、ローカル ネットワーク ゲートウェイ リソースは、常に接続の反対側の端にあるリモート ゲートウェイを指すということです。
ローカル ネットワーク ゲートウェイ リソースを作成する
Azure Stack Hub ポータルにサインインします。
ユーザー ポータルで [+ リソースの作成] を選択します。
[Marketplace] に移動し、 [ネットワーク] を選択します。
リソースの一覧から [ローカル ネットワーク ゲートウェイ] を選択します。
[名前] フィールドに「Azure-GW」と入力します。
[IP アドレス] フィールドに、Azure 内の仮想ネットワーク ゲートウェイのパブリック IP アドレス (Azure-GW-PiP) を入力します。 このアドレスは先のネットワーク構成表にありました。
[アドレス空間] フィールドで、作成した Azure VNET のアドレス空間用に「10.100.0.0/24」および「10.100.1.0/24」と入力します。
[サブスクリプション] 、 [リソース グループ] 、 [場所] の値がすべて正しいことを確認し、 [作成] を選択します。
接続の作成
ユーザー ポータルで [+ リソースの作成] を選択します。
[Marketplace] に移動し、 [ネットワーク] を選択します。
リソースの一覧から [接続] を選択します。
[基本] 設定セクションで、 [接続の種類] として [サイト間 (IPsec)] を選択します。
[サブスクリプション] 、 [リソース グループ] 、 [場所] を選択し、 [OK] を選択します。
[設定] セクションで [仮想ネットワーク ゲートウェイ] を選択し、[Azs-GW] を選択します。
[ローカル ネットワーク ゲートウェイ] を選択し、 [Azure-GW] を選択します。
[接続名] に「Azs-Azure」と入力します。
[共有キー (PSK)] に「12345」と入力し、 [OK] を選択します。
[概要] セクションで、 [OK] を選択します。
VM の作成
VPN 接続を確認するには、2 つの VM を作成します。1 つは Azure に、もう 1 つは Azure Stack Hub に作成します。 これらの VM を作成した後は、それらを使用して、VPN トンネル経由でデータを送受信することができます。
Azure portal で [+ リソースの作成] を選択します。
[Marketplace] に移動し、 [計算] を選択します。
VM のイメージの一覧で、Windows Server 2016 Datacenter Eval イメージを選択します。
[基本] セクションで、 [名前] に「AzureVM」と入力します。
有効なユーザー名とパスワードを入力します。 このアカウントを利用し、作成後の VM にサインインします。
[サブスクリプション] 、 [リソース グループ] 、 [場所] を指定し、 [OK] を選択します。
[サイズ] セクションで、この場合、VM のサイズを選択し、 [選択] を選択します。
[設定] セクションは既定値のままにします。 Azs-VNet 仮想ネットワークが選択されていることを確認します。 サブネットが 10.1.0.0/24 に設定されていることを確認します。 [OK] をクリックします。
[概要] セクションで設定を確認し、 [OK] を選択します。
接続をテストする
サイト間接続が確立された後で、どちらの方向に送信されるデータも取得できることを検証する必要があります。 接続をテストする最も簡単な方法は、次のような ping テストを行うことです。
- Azure Stack Hub で作成した VM にサインインして、Azure の VM に ping します。
- Azure で作成した VM にサインインして、Azure Stack Hub の VM に ping します。
Note
トラフィックがサイト間接続を通過するように、VIP ではなく、リモート サブネットの VM のダイレクト IP (DIP) に ping を実行します。
Azure Stack Hub 内のユーザー VM にサインインする
Azure Stack Hub ポータルにサインインします。
左側のナビゲーション バーから [Virtual Machines] を選択します。
VM の一覧で、先ほど作成した Azs-VM を探して選択します。
VM のセクションで、 [接続] を選択し、Azs-VM.rdp ファイルを開きます。
VM の作成時に構成したアカウントでサインインします。
管理者特権の Windows PowerShell プロンプトを開きます。
「ipconfig /all」と入力します。
出力で IPv4 アドレスを見つけ、後で使用するためにそのアドレスを保存します。 これは Azure から ping を実行するアドレスです。 この例の環境ではアドレスは 10.1.0.4 ですが、実際の環境では異なる場合があります。 このアドレスは、先ほど作成した 10.1.0.0/24 サブネット内に含まれています。
VM が ping に応答することを許可するファイアウォール ルールを作成するには、次の PowerShell コマンドを実行します。
New-NetFirewallRule ` -DisplayName "Allow ICMPv4-In" ` -Protocol ICMPv4
Azure 内のテナント VM にサインインする
Azure portal にサインインします。
左側のナビゲーション バーから [Virtual Machines] を選択します。
VM の一覧から、先ほど作成した Azure-VM を探して選択します。
VM のセクションで、 [接続] を選択します。
VM の作成時に構成したアカウントでサインインします。
管理者特権の Windows PowerShell ウィンドウを開きます。
「ipconfig /all」と入力します。
10.100.0.0/24 の範囲内にある IPv4 アドレスが表示されます。 この例の環境ではアドレスは 10.100.0.4ですが、実際の環境では異なる場合があります。
VM が ping に応答することを許可するファイアウォール ルールを作成するには、次の PowerShell コマンドを実行します。
New-NetFirewallRule ` -DisplayName "Allow ICMPv4-In" ` -Protocol ICMPv4
Azure の VM から、トンネルを介して Azure Stack Hub の VM に ping します。 これを行うには、Azs-VM から記録した DIP に ping を実行します。 この例の環境ではこのアドレスは 10.1.0.4 ですが、必ずラボでメモしたアドレスに ping を実行するようにしてください。 結果は次の画面キャプチャのようになります。
リモート VM からの応答は、テストが成功したことを示します。 VM ウィンドウを閉じることができます。
より厳密なデータ転送テストも行う必要があります (たとえば、異なるサイズのファイルを両方向にコピーします)。
ゲートウェイ接続を使用したデータ転送の統計情報を表示する
サイト間接続を通過したデータの量を把握したい場合、 [接続] セクションでこの情報を確認できます。 このテストは、先ほど送信した ping が実際に VPN 接続を通過したことを検証するためのもう 1 つの手段でもあります。
Azure Stack Hub 内のユーザー VM にサインインしているとき、自分のユーザー アカウントを利用してユーザー ポータルにサインインします。
[すべてのリソース] に移動し、Azs-Azure 接続を選択します。 [接続] が表示されます。
[接続] セクションには、 [受信データ] と [送信データ] の統計情報が表示されます。 次の画面キャプチャでは大きな数値を確認できますが、これは追加のファイル転送によるものです。 ここには 0 以外の値が表示されます。