サイト間 VPN 接続を作成する - Azure PowerShell
この記事では、PowerShell を使用して、オンプレミス ネットワークから仮想ネットワーク (VNet) へのサイト間 VPN ゲートウェイ接続を作成する方法について説明します。
サイト間 VPN Gateway 接続は、IPsec/IKE (IKEv1 または IKEv2) VPN トンネルを介してオンプレミス ネットワークを Azure 仮想ネットワークに接続するために使用します。 この種類の接続では、外部接続用パブリック IP アドレスが割り当てられていてるオンプレミスの VPN デバイスが必要です。 この記事の手順では、共有キーを使用して、VPN ゲートウェイとオンプレミス VPN デバイスの間に接続を作成します。 VPN Gateway の詳細については、「VPN Gateway について」を参照してください。
開始する前に
構成を開始する前に、環境が次の条件を満たしていることを確認します。
機能しているルートベースの VPN ゲートウェイがあることを確認します。 VPN ゲートウェイを作成するには、VPN ゲートウェイの作成に関するページを参照してください。
オンプレミス ネットワーク構成に含まれている IP アドレス範囲になじみがない場合は、それらの詳細を提供できる担当者と連携する必要があります。 この構成を作成する場合は、Azure がオンプレミスの場所にルーティングする IP アドレスの範囲のプレフィックスを指定する必要があります。 オンプレミス ネットワークのサブネットと接続先の仮想ネットワーク サブネットが重複しないようにしなければなりません。
VPN デバイス:
- 互換性のある VPN デバイスがあり、それを構成できる人員がいることを確認します。 互換性のある VPN デバイスとデバイスの構成について詳しくは、VPN デバイスの概要に関する記事をご覧ください。
- VPN デバイスがアクティブ/アクティブ モード ゲートウェイをサポートしているかどうかを判別します。 この記事では、高可用性接続に推奨されるアクティブ/アクティブ モード VPN ゲートウェイを作成します。 アクティブ/アクティブ モードでは、両方のゲートウェイ VM インスタンスがアクティブであることが指定されます。 このモードでは、ゲートウェイ VM インスタンスごとに 1 つずつの、2 つのパブリック IP アドレスが必要です。 ゲートウェイ VM インスタンスごとに IP アドレスに接続するように VPN デバイスを構成します。
VPN デバイスでこのモードがサポートされていない場合、ゲートウェイでこのモードを有効にしないでください。 詳細については、「クロスプレミス接続と VNet 間接続用の高可用性接続を設計する」および「アクティブ/アクティブ モード VPN ゲートウェイについて」を参照してください。
Azure PowerShell
この記事では、PowerShell コマンドレットを使用します。 コマンドレットを実行するには、Azure Cloud Shell を使用できます。 Cloud Shell は無料のインタラクティブ シェルです。この記事の手順は、Azure Cloud Shell を使って実行することができます。 一般的な Azure ツールが事前にインストールされており、アカウントで使用できるように構成されています。
Cloud Shell を開くには、コード ブロックの右上の隅にある [Cloudshell を開く] を選択するだけです。 https://shell.azure.com/powershell に移動して、別のブラウザー タブで Cloud Shell を開くこともできます。 [コピー] を選択してコードのブロックをコピーし、Cloud Shell に貼り付けてから、Enter キーを押して実行します。
Azure PowerShell コマンドレットは、ローカルのコンピューターにインストールして実行することもできます。 PowerShell コマンドレットは、頻繁に更新されます。 最新バージョンをインストールしていないと、手順で指定されている値は失敗する場合があります。 コンピューターにインストールされている Azure PowerShell のバージョンを確認するには、Get-Module -ListAvailable Az
コマンドレットを使用します。 インストールまたは更新するには、「Install the Azure PowerShell module (Azure PowerShell モジュールのインストール)」を参照してください。
ローカル ネットワーク ゲートウェイの作成
ローカル ネットワーク ゲートウェイ (LNG) は通常、オンプレミスの場所を指します。 これは仮想ネットワーク ゲートウェイと同じではありません。 サイトに Azure が参照できる名前を付け、接続を作成するオンプレミス VPN デバイスの IP アドレスを指定します。 また、VPN ゲートウェイ経由で VPN デバイスにルーティングされる IP アドレスのプレフィックスも指定します。 指定するアドレスのプレフィックスは、オンプレミス ネットワークのプレフィックスです。 オンプレミス ネットワークが変わった場合は、プレフィックスを簡単に更新できます。
次のいずれかの例を選択します。 この例で使用される値は次のとおりです。
- GatewayIPAddress は、Azure VPN ゲートウェイではなく、オンプレミス VPN デバイスの IP アドレスです。
- AddressPrefix は、オンプレミスのアドレス空間です。
単一のアドレス プレフィックスの例
New-AzLocalNetworkGateway -Name Site1 -ResourceGroupName TestRG1 `
-Location 'East US' -GatewayIpAddress '[IP address of your on-premises VPN device]' -AddressPrefix '10.0.0.0/24'
複数のアドレス プレフィックスの例
New-AzLocalNetworkGateway -Name Site1 -ResourceGroupName TestRG1 `
-Location 'East US' -GatewayIpAddress '[IP address of your on-premises VPN device]' -AddressPrefix @('10.3.0.0/16','10.0.0.0/24')
VPN デバイスの構成
オンプレミス ネットワークとのサイト間接続には VPN デバイスが必要です。 この手順では、VPN デバイスを構成します。 VPN デバイスを構成する場合は、次の項目が必要です。
[共有キー]: この共有キーは、サイト間 VPN 接続を作成するときに指定するものと同じです。 ここで紹介している例では、単純な共有キーを使用しています。 実際には、もっと複雑なキーを生成して使用することをお勧めします。
仮想ネットワーク ゲートウェイ インスタンスのパブリック IP アドレス: 各 VM インスタンスの IP アドレスを取得します。 ゲートウェイがアクティブ/アクティブ モードである場合、ゲートウェイ VM インスタンスごとに 1 つの IP アドレスがあります。 アクティブなゲートウェイ VM ごとに 1 つずつ、両方の IP アドレスを使用してデバイスを構成してください。 アクティブ/スタンバイ モード ゲートウェイの IP アドレスは 1 つのみです。 この例では、VNet1GWpip1 は、パブリック IP リソースの名前です。
Get-AzPublicIpAddress -Name VNet1GWpip1 -ResourceGroupName TestRG1
ご利用の VPN デバイスによっては、VPN デバイス構成スクリプトをダウンロードできる場合があります。 詳細については、VPN デバイス構成スクリプトのダウンロードに関するページを参照してください。
次のリンクには、構成の詳細についての情報が掲載されています。
適合する VPN デバイスについては、「VPN デバイスについて」を参照してください。
VPN デバイスを構成する前に、デバイスの互換性に関する既知の問題がないか確認します。
デバイスの構成設定へのリンクについては、検証済みの VPN デバイスに関するページを参照してください。 デバイス構成リンクはベストエフォート ベースで提供されていますが、最新の構成情報については常にデバイスの製造元に確認することをお勧めします。
この一覧には、テストしたバージョンが表示されます。 VPN デバイスの OS バージョンが一覧にない場合でも、互換性がある可能性があります。 デバイスの製造元に問い合わせてください。
VPN デバイス構成に関する基本情報については、「パートナー VPN デバイス構成の概要」を参照してください。
デバイス構成サンプルの編集については、サンプルの編集に関するセクションを参照してください。
暗号化の要件については、「About cryptographic requirements and Azure VPN gateways」(暗号化要件と Azure VPN ゲートウェイについて) を参照してください。
構成を完了するために必要なパラメーターについては、「既定の IPsec/IKE パラメーター」を参照してください。 この情報には、IKE バージョン、Diffie-Hellman (DH) グループ、認証方法、暗号化とハッシュ アルゴリズム、セキュリティ アソシエーション (SA) の有効期間、前方秘匿性 (PFS)、およびデッド ピア検出 (DPD) が含まれます。
IPsec/IKE ポリシーの構成手順については、サイト間 VPN と VNet 間のカスタム IPsec/IKE 接続ポリシーの構成に関するページを参照してください。
複数のポリシーベースの VPN デバイスを接続するには、「VPN ゲートウェイを複数のオンプレミスのポリシー ベースの VPN デバイスに接続する」を参照してください。
VPN 接続を作成する
仮想ネットワーク ゲートウェイとオンプレミス VPN デバイスとの間にサイト間 VPN 接続を作成します。 アクティブ/アクティブ モード ゲートウェイを使っている場合は (推奨)、ゲートウェイ VM インスタンスごとに個別に IP アドレスがあります。 高可用性接続を適切に構成するには、各 VM インスタンスと VPN デバイスの間にトンネルを確立する必要があります。 両方のトンネルが同じ接続の一部です。
共有キーは、VPN デバイスの構成に使用したものと同じ値にする必要があります。 サイト間接続の '-ConnectionType' は IPsec です。
変数を設定します。
$gateway1 = Get-AzVirtualNetworkGateway -Name VNet1GW -ResourceGroupName TestRG1 $local = Get-AzLocalNetworkGateway -Name Site1 -ResourceGroupName TestRG1
接続を作成します。
New-AzVirtualNetworkGatewayConnection -Name VNet1toSite1 -ResourceGroupName TestRG1 ` -Location 'East US' -VirtualNetworkGateway1 $gateway1 -LocalNetworkGateway2 $local ` -ConnectionType IPsec -SharedKey 'abc123'
VPN 接続の確認
VPN 接続を検証する方法はいくつかあります。
"Get-AzVirtualNetworkGatewayConnection" コマンドレットを使用して、接続が成功したことを確認できます。"-Debug" は指定しても指定しなくてもかまいません。
次のコマンドレットを使用します。値は実際の値に置き換えてください。 プロンプトが表示されたら、"A" を選択して "すべて" (All) を実行します。 この例では、テストする接続の名前が "-Name" で示されています。
Get-AzVirtualNetworkGatewayConnection -Name VNet1toSite1 -ResourceGroupName TestRG1
コマンドレットの実行後、値を確認します。 以下の例では、接続状態は "Connected" と表示され、受信バイトと送信バイトを確認できます。
"connectionStatus": "Connected", "ingressBytesTransferred": 33509044, "egressBytesTransferred": 4142431
ローカル ネットワーク ゲートウェイの IP アドレスのプレフィックスを変更するには
オンプレミスの場所にルーティングする IP アドレス プレフィックスが変更された場合には、ローカル ネットワーク ゲートウェイを変更できます。 このような例を使用するときは、実際の環境に合わせて値を変更してください。
アドレス プレフィックスを追加するには:
LocalNetworkGateway の変数を設定します。
$local = Get-AzLocalNetworkGateway -Name Site1 -ResourceGroupName TestRG1
プレフィックスを変更します。 指定する値で以前の値が上書きされます。
Set-AzLocalNetworkGateway -LocalNetworkGateway $local ` -AddressPrefix @('10.101.0.0/24','10.101.1.0/24','10.101.2.0/24')
アドレス プレフィックスを削除するには:
不要になったプレフィックスは削除します。 この例では、プレフィックス 10.101.2.0/24 (前の例に含まれる) が不要になったため、ローカル ネットワーク ゲートウェイを更新してそのプレフィックスを削除します。
LocalNetworkGateway の変数を設定します。
$local = Get-AzLocalNetworkGateway -Name Site1 -ResourceGroupName TestRG1
更新されたプレフィックスでゲートウェイを設定します。
Set-AzLocalNetworkGateway -LocalNetworkGateway $local ` -AddressPrefix @('10.101.0.0/24','10.101.1.0/24')
ローカル ネットワーク ゲートウェイの IP アドレスを変更するには
VPN デバイスのパブリック IP を変更する場合は、更新された IP アドレスでローカル ネットワーク ゲートウェイを変更する必要があります。 この値を変更するときには、同時にアドレス プレフィックスを変更することもできます。 変更するときは、必ず、ローカル ネットワーク ゲートウェイの既存の名前を使用してください。 別の名前を使用する場合は、既存のゲートウェイ情報を上書きするのではなく、新しいローカル ネットワーク ゲートウェイを作成します。
New-AzLocalNetworkGateway -Name Site1 `
-Location "East US" -AddressPrefix @('10.101.0.0/24','10.101.1.0/24') `
-GatewayIpAddress "5.4.3.2" -ResourceGroupName TestRG1
ゲートウェイ接続を削除するには
接続の名前がわからない場合は、"Get-AzVirtualNetworkGatewayConnection" コマンドレットを使用して調べることができます。
Remove-AzVirtualNetworkGatewayConnection -Name VNet1toSite1 `
-ResourceGroupName TestRG1
次のステップ
- 接続が完成したら、仮想ネットワークに仮想マシンを追加することができます。 詳細については、Virtual Machines に関するページを参照してください。
- BGP の詳細については、BGP の概要に関する記事と BGP の構成方法に関する記事を参照してください。
- Azure Resource Manager テンプレートを使用してサイト間 VPN 接続を作成する方法については、「サイト間 VPN 接続の作成」を参照してください。
- Azure Resource Manager テンプレートを使用して VNet 間 VPN 接続を作成する方法については、「Deploy HBase geo replication (HBase geo レプリケーションのデプロイ)」を参照してください。