PowerShell を使って複数のオンプレミス ポリシー ベース VPN デバイスに VPN ゲートウェイを接続するConnect Azure VPN gateways to multiple on-premises policy-based VPN devices using PowerShell

この記事は、S2S VPN 接続のカスタム IPsec/IKE ポリシーを利用して、複数のオンプレミス ポリシー ベース VPN デバイスに接続するように Azure ルート ベース VPN ゲートウェイを構成するのに役立ちます。This article helps you configure an Azure route-based VPN gateway to connect to multiple on-premises policy-based VPN devices leveraging custom IPsec/IKE policies on S2S VPN connections.

注意

この記事は、新しい Azure PowerShell Az モジュールを使用するために更新されました。This article has been updated to use the new Azure PowerShell Az module. AzureRM モジュールはまだ使用でき、少なくとも 2020 年 12 月までは引き続きバグ修正が行われます。You can still use the AzureRM module, which will continue to receive bug fixes until at least December 2020. Az モジュールと AzureRM の互換性の詳細については、「Introducing the new Azure PowerShell Az module (新しい Azure PowerShell Az モジュールの概要)」を参照してください。To learn more about the new Az module and AzureRM compatibility, see Introducing the new Azure PowerShell Az module. Az モジュールのインストール手順については、Azure PowerShell のインストールを参照してください。For Az module installation instructions, see Install Azure PowerShell.

ポリシー ベースおよびルート ベースの VPN ゲートウェイについてAbout policy-based and route-based VPN gateways

ポリシー ベース VPN デバイスルート ベース VPN デバイスでは、IPsec トラフィック セレクターを設定する方法が異なります。Policy- vs. route-based VPN devices differ in how the IPsec traffic selectors are set on a connection:

  • ポリシー ベース VPN デバイスは、両方のネットワークからプレフィクスの組み合わせを使用して、トラフィックがどのように IPsec トンネルを介して暗号化/復号化されるかを定義します。Policy-based VPN devices use the combinations of prefixes from both networks to define how traffic is encrypted/decrypted through IPsec tunnels. これは通常、パケット フィルタリングを実行するファイアウォール デバイスで構築されます。It is typically built on firewall devices that perform packet filtering. IPsec トンネルの暗号化と復号化は、パケット フィルタリングと処理エンジンに追加されます。IPsec tunnel encryption and decryption are added to the packet filtering and processing engine.
  • ルート ベース VPN デバイスは、あらゆる (ワイルドカード) のトラフィック セレクターを使用して、ルーティング/転送テーブルを異なる IPsec トンネルへのトラフィックに転送します。Route-based VPN devices use any-to-any (wildcard) traffic selectors, and let routing/forwarding tables direct traffic to different IPsec tunnels. これは通常、それぞれの IPsec トンネルがネットワーク インターフェイスまたは VTI (仮想トンネル インターフェイス) としてモデル化されるルーターのプラットフォームで構築されます。It is typically built on router platforms where each IPsec tunnel is modeled as a network interface or VTI (virtual tunnel interface).

次の図では、2 つのモデルが強調表示されています。The following diagrams highlight the two models:

ポリシー ベース VPN 例Policy-based VPN example

ポリシー ベース

ルート ベース VPN の例Route-based VPN example

ルート ベース

ポリシー ベース VPN の Azure のサポートAzure support for policy-based VPN

現在、Azure では、ルート ベース VPN ゲートウェイとポリシー ベース VPN ゲートウェイの両方の VPN ゲートウェイ モードをサポートしています。Currently, Azure supports both modes of VPN gateways: route-based VPN gateways and policy-based VPN gateways. これらは、異なる内部プラットフォームに基づいて構築され、結果として異なる仕様になります。They are built on different internal platforms, which result in different specifications:

PolicyBased VPN ゲートウェイPolicyBased VPN Gateway RouteBased VPN ゲートウェイRouteBased VPN Gateway
Azure ゲートウェイ SKUAzure Gateway SKU BasicBasic Basic、Standard、HighPerformance、VpnGw1、VpnGw2、VpnGw3Basic, Standard, HighPerformance, VpnGw1, VpnGw2, VpnGw3
IKE バージョンIKE version IKEv1IKEv1 IKEv2IKEv2
最大S2S 接続Max. S2S connections 11 Basic/Standard:10Basic/Standard: 10
HighPerformance:30HighPerformance: 30

カスタムの IPsec/IKE ポリシーでは、Azure ルート ベース VPN ゲートウェイを構成し、オプション "PolicyBasedTrafficSelectors" を指定してプレフィクス ベースのトラフィック セレクターを使用し、オンプレミス ポリシー ベース VPN デバイスに接続できるようになりました。With the custom IPsec/IKE policy, you can now configure Azure route-based VPN gateways to use prefix-based traffic selectors with option "PolicyBasedTrafficSelectors", to connect to on-premises policy-based VPN devices. この機能では、Azure 仮想ネットワークおよび VPN ゲートウェイから複数のオンプレミス ポリシー ベース VPN/ファイアウォール デバイスに接続し、現在の Azure ポリシー ベース VPN ゲートウェイから単一の接続制限をなくすことができます。This capability allows you to connect from an Azure virtual network and VPN gateway to multiple on-premises policy-based VPN/firewall devices, removing the single connection limit from the current Azure policy-based VPN gateways.

重要

  1. この接続を有効にするには、オンプレミス ポリシー ベース VPN デバイスが IKEv2 をサポートし、Azure ルートベース VPN ゲートウェイに接続する必要があります。To enable this connectivity, your on-premises policy-based VPN devices must support IKEv2 to connect to the Azure route-based VPN gateways. VPN デバイスの仕様を確認してください。Check your VPN device specifications.
  2. このメカニズムを使用してポリシー ベース VPN デバイスを介して接続するオンプレミス ネットワークは、Azure 仮想ネットワークにのみ接続できます。同じ Azure VPN ゲートウェイを介して別のオンプレミス ネットワークまたは仮想ネットワークには移行できませんThe on-premises networks connecting through policy-based VPN devices with this mechanism can only connect to the Azure virtual network; they cannot transit to other on-premises networks or virtual networks via the same Azure VPN gateway.
  3. 構成オプションは、カスタムの IPsec/IKE 接続ポリシーの一部です。The configuration option is part of the custom IPsec/IKE connection policy. ポリシー ベースのトラフィック セレクター オプションを有効にした場合は、完全なポリシー (IPsec/IKE 暗号化と整合性アルゴリズム、キーの強度、および SA の有効期間) を指定する必要があります。If you enable the policy-based traffic selector option, you must specify the complete policy (IPsec/IKE encryption and integrity algorithms, key strengths, and SA lifetimes).

以下の図は、Azure VPN ゲートウェイを介した移行ルーティングがポリシー ベース オプションで動作しない理由を示しています。The following diagram shows why transit routing via Azure VPN gateway doesn't work with the policy-based option:

ポリシー ベースの移行

図に示すように、Azure VPN ゲートウェイには、仮想ネットワークから各オンプレミス ネットワーク プレフィックスへのトラフィック セレクターはありますが、クロス接続のプレフィックスはありません。As shown in the diagram, the Azure VPN gateway has traffic selectors from the virtual network to each of the on-premises network prefixes, but not the cross-connection prefixes. たとえば、オンプレミス サイト 2、サイト 3、およびサイト 4 は、それぞれが VNet1 と通信できますが、Azure VPN ゲートウェイ経由で相互に接続することはできません。For example, on-premises site 2, site 3, and site 4 can each communicate to VNet1 respectively, but cannot connect via the Azure VPN gateway to each other. 図では、この構成の下にある Azure VPN ゲートウェイでは使用できない交差接続トラフィック セレクターを示しています。The diagram shows the cross-connect traffic selectors that are not available in the Azure VPN gateway under this configuration.

接続でのポリシー ベース トラフィック セレクターの構成Configure policy-based traffic selectors on a connection

この記事の手順では、「S2S VPN または VNet-to-VNet 接続の IPsec/IKE ポリシーを構成する」に示されている同じ例に従って、S2S VPN 接続を確立します。The instructions in this article follow the same example as described in Configure IPsec/IKE policy for S2S or VNet-to-VNet connections to establish a S2S VPN connection. これを次の図に示します。This is shown in the following diagram:

s2s ポリシー

この接続を有効にするワークフローは次のとおりです。The workflow to enable this connectivity:

  1. クロスプレミス接続用に仮想ネットワーク、VPN ゲートウェイ、およびローカル ネットワーク ゲートウェイを作成するCreate the virtual network, VPN gateway, and local network gateway for your cross-premises connection
  2. IPsec/IKE ポリシーの作成Create an IPsec/IKE policy
  3. S2S または VNet 対 VNet 接続を作成するときにはこのポリシーを適用し、接続でポリシー ベース トラフィック セレクターを有効にするApply the policy when you create a S2S or VNet-to-VNet connection, and enable the policy-based traffic selectors on the connection
  4. 接続が既に作成されている場合、ポリシーを既存の接続に適用するか、更新するIf the connection is already created, you can apply or update the policy to an existing connection

開始する前にBefore you begin

Azure サブスクリプションを持っていることを確認します。Verify that you have an Azure subscription. Azure サブスクリプションをまだお持ちでない場合は、MSDN サブスクライバーの特典を有効にするか、無料アカウントにサインアップしてください。If you don't already have an Azure subscription, you can activate your MSDN subscriber benefits or sign up for a free account.

この記事では、PowerShell コマンドレットを使用します。This article uses PowerShell cmdlets. コマンドレットを実行するには、Azure でホストされ、ブラウザーを介して使用される対話型のシェル環境である Azure Cloud Shell を使用できます。To run the cmdlets, you can use Azure Cloud Shell, an interactive shell environment hosted in Azure and used through the browser. Azure Cloud Shell には、Azure PowerShell コマンドレットが事前にインストールされています。Azure Cloud Shell comes with the Azure PowerShell cmdlets pre-installed.

この記事に含まれるコードを Azure Cloud Shell で実行するには、Cloud Shell セッションを開き、コード ブロック上の [コピー] ボタンを使ってコードをコピーし、Ctrl + Shift + V キー (Windows と Linux) または command + Shift + V キー (macOS) を押して Cloud Shell セッションに貼り付けます。To run any code contained in this article on Azure Cloud Shell, open a Cloud Shell session, use the Copy button on a code block to copy the code, and paste it into the Cloud Shell session with Ctrl+Shift+V on Windows and Linux, or Cmd+Shift+V on macOS. テキストを貼り付けても自動的には実行されません。コードを実行するには、Enter キーを押します。Pasted text is not automatically executed, so press Enter to run code.

Azure Cloud Shell は次の方法で起動できます。You can launch Azure Cloud Shell with:

コード ブロックの右上隅にある [使ってみる] を選択します。Select Try It in the upper-right corner of a code block. テキストが自動的に Cloud Shell にコピーされるわけでは__ありません__。This doesn't automatically copy text to Cloud Shell. Azure Cloud Shell の [使ってみる] の例
ブラウザーで shell.azure.com を開きます。Open shell.azure.com in your browser. Azure Cloud Shell の起動ボタンLaunch Azure Cloud Shell button
Azure Portal の右上隅にあるメニューの [Cloud Shell] ボタンを選択します。Select the Cloud Shell button on the menu in the upper-right corner of the Azure portal. Azure Portal の [Cloud Shell] ボタン

ローカルでの PowerShell の実行Running PowerShell locally

Azure PowerShell コマンドレットは、ローカルのコンピューターにインストールして実行することもできます。You can also install and run the Azure PowerShell cmdlets locally on your computer. PowerShell コマンドレットは、頻繁に更新されます。PowerShell cmdlets are updated frequently. 最新バージョンを実行していないと、手順で指定されている値は失敗する場合があります。If you are not running the latest version, the values specified in the instructions may fail. コンピューターにインストールされている Azure PowerShell のバージョンを確認するには、Get-Module -ListAvailable Az コマンドレットを使用します。To find the versions of Azure PowerShell installed on your computer, use the Get-Module -ListAvailable Az cmdlet. インストールまたは更新するには、「Install the Azure PowerShell module (Azure PowerShell モジュールのインストール)」を参照してください。To install or update, see Install the Azure PowerShell module.

接続でのポリシー ベース トラフィック セレクターの有効化Enable policy-based traffic selectors on a connection

このセクションの「IPsec/IKE ポリシーの構成の記事のパート 3」を完了したことを確認してください。Make sure you have completed Part 3 of the Configure IPsec/IKE policy article for this section. 以下の例では、同じパラメーターと手順を使用します。The following example uses the same parameters and steps:

手順1 - 仮想ネットワーク、VPN ゲートウェイ、およびローカル ネットワーク ゲートウェイを作成するStep 1 - Create the virtual network, VPN gateway, and local network gateway

1.サブスクリプションに接続して変数を宣言する1. Connect to your subscription and declare your variables

昇格された特権で PowerShell コンソールを開きます。Open your PowerShell console with elevated privileges.

Azure PowerShell をローカルで実行している場合は、お使いの Azure アカウントに接続してください。If you are running Azure PowerShell locally, connect to your Azure account. Connect-AzAccount コマンドレットでは、資格情報の入力を求められます。The Connect-AzAccount cmdlet prompts you for credentials. 認証後にアカウント設定がダウンロードされ、Azure PowerShell で使用できるようになります。After authenticating, it downloads your account settings so that they are available to Azure PowerShell. PowerShell をローカルで実行しているのではなく、ブラウザーで Azure Cloud Shell の "試してみる" を使用している場合は、この最初の手順はスキップしてください。If you are not running PowerShell locally and are instead using the Azure Cloud Shell 'Try it' in the browser, skip this first step. お使いの Azure アカウントに自動的に接続されます。You will connect to your Azure account automatically.

Connect-AzAccount

複数のサブスクリプションがある場合は、Azure サブスクリプションの一覧を取得します。If you have more than one subscription, get a list of your Azure subscriptions.

Get-AzSubscription

使用するサブスクリプションを指定します。Specify the subscription that you want to use.

Select-AzSubscription -SubscriptionName "Name of subscription"

変数を宣言します。Declare your variables. この演習では、次の変数を使用します。For this exercise, we use the following variables:

$Sub1          = "<YourSubscriptionName>"
$RG1           = "TestPolicyRG1"
$Location1     = "East US 2"
$VNetName1     = "TestVNet1"
$FESubName1    = "FrontEnd"
$BESubName1    = "Backend"
$GWSubName1    = "GatewaySubnet"
$VNetPrefix11  = "10.11.0.0/16"
$VNetPrefix12  = "10.12.0.0/16"
$FESubPrefix1  = "10.11.0.0/24"
$BESubPrefix1  = "10.12.0.0/24"
$GWSubPrefix1  = "10.12.255.0/27"
$DNS1          = "8.8.8.8"
$GWName1       = "VNet1GW"
$GW1IPName1    = "VNet1GWIP1"
$GW1IPconf1    = "gw1ipconf1"
$Connection16  = "VNet1toSite6"

$LNGName6      = "Site6"
$LNGPrefix61   = "10.61.0.0/16"
$LNGPrefix62   = "10.62.0.0/16"
$LNGIP6        = "131.107.72.22"

2.仮想ネットワーク、VPN ゲートウェイ、およびローカル ネットワーク ゲートウェイを作成する2. Create the virtual network, VPN gateway, and local network gateway

リソース グループを作成します。Create a resource group.

New-AzResourceGroup -Name $RG1 -Location $Location1

次の例を使用して、3 つのサブネットを持つ仮想ネットワーク TestVNet1 と VPN ゲートウェイを作成します。Use the following example to create the virtual network TestVNet1 with three subnets, and the VPN gateway. 値を代入する場合は、ゲートウェイ サブネットの名前を必ず GatewaySubnet にすることが重要です。If you want to substitute values, it's important that you always name your gateway subnet specifically 'GatewaySubnet'. 別の名前にすると、ゲートウェイの作成は失敗します。If you name it something else, your gateway creation fails.

$fesub1 = New-AzVirtualNetworkSubnetConfig -Name $FESubName1 -AddressPrefix $FESubPrefix1
$besub1 = New-AzVirtualNetworkSubnetConfig -Name $BESubName1 -AddressPrefix $BESubPrefix1
$gwsub1 = New-AzVirtualNetworkSubnetConfig -Name $GWSubName1 -AddressPrefix $GWSubPrefix1

New-AzVirtualNetwork -Name $VNetName1 -ResourceGroupName $RG1 -Location $Location1 -AddressPrefix $VNetPrefix11,$VNetPrefix12 -Subnet $fesub1,$besub1,$gwsub1

$gw1pip1    = New-AzPublicIpAddress -Name $GW1IPName1 -ResourceGroupName $RG1 -Location $Location1 -AllocationMethod Dynamic
$vnet1      = Get-AzVirtualNetwork -Name $VNetName1 -ResourceGroupName $RG1
$subnet1    = Get-AzVirtualNetworkSubnetConfig -Name "GatewaySubnet" -VirtualNetwork $vnet1
$gw1ipconf1 = New-AzVirtualNetworkGatewayIpConfig -Name $GW1IPconf1 -Subnet $subnet1 -PublicIpAddress $gw1pip1

New-AzVirtualNetworkGateway -Name $GWName1 -ResourceGroupName $RG1 -Location $Location1 -IpConfigurations $gw1ipconf1 -GatewayType Vpn -VpnType RouteBased -GatewaySku HighPerformance

New-AzLocalNetworkGateway -Name $LNGName6 -ResourceGroupName $RG1 -Location $Location1 -GatewayIpAddress $LNGIP6 -AddressPrefix $LNGPrefix61,$LNGPrefix62

手順 2 - IPsec/IKE ポリシーを使用して S2S VPN 接続を作成するStep 2 - Create a S2S VPN connection with an IPsec/IKE policy

1.IPsec/IKE ポリシーの作成1. Create an IPsec/IKE policy

重要

接続で "UsePolicyBasedTrafficSelectors" オプションを有効にするために、IPsec/IKE ポリシーを作成する必要があります。You need to create an IPsec/IKE policy in order to enable "UsePolicyBasedTrafficSelectors" option on the connection.

次の例では、以下のアルゴリズムとパラメーターを使用して IPsec/IKE ポリシーを作成します。The following example creates an IPsec/IKE policy with these algorithms and parameters:

  • IKEv2:AES256、SHA384、DHGroup24IKEv2: AES256, SHA384, DHGroup24
  • IPsec:AES256、SHA256、PFS なし、SA の有効期間 14,400 秒および 102,400,000 KBIPsec: AES256, SHA256, PFS None, SA Lifetime 14400 seconds & 102400000KB
$ipsecpolicy6 = New-AzIpsecPolicy -IkeEncryption AES256 -IkeIntegrity SHA384 -DhGroup DHGroup24 -IpsecEncryption AES256 -IpsecIntegrity SHA256 -PfsGroup None -SALifeTimeSeconds 14400 -SADataSizeKilobytes 102400000

2.ポリシー ベースのトラフィックのセレクターと IPsec/IKE ポリシーを使用して S2S VPN 接続を作成する2. Create the S2S VPN connection with policy-based traffic selectors and IPsec/IKE policy

S2S VPN 接続を作成し、前の手順で作成した IPsec/IKE ポリシーを適用します。Create an S2S VPN connection and apply the IPsec/IKE policy created in the previous step. パラメーター "-UsePolicyBasedTrafficSelectors $True" を追加して、接続でポリシー ベース トラフィック セレクターを有効にします。Be aware of the additional parameter "-UsePolicyBasedTrafficSelectors $True" which enables policy-based traffic selectors on the connection.

$vnet1gw = Get-AzVirtualNetworkGateway -Name $GWName1  -ResourceGroupName $RG1
$lng6 = Get-AzLocalNetworkGateway  -Name $LNGName6 -ResourceGroupName $RG1

New-AzVirtualNetworkGatewayConnection -Name $Connection16 -ResourceGroupName $RG1 -VirtualNetworkGateway1 $vnet1gw -LocalNetworkGateway2 $lng6 -Location $Location1 -ConnectionType IPsec -UsePolicyBasedTrafficSelectors $True -IpsecPolicies $ipsecpolicy6 -SharedKey 'AzureA1b2C3'

手順が完了したら、S2S VPN 接続は、定義された IPsec/IKE ポリシーを使用し、接続でポリシー ベース トラフィック セレクターを有効にします。After completing the steps, the S2S VPN connection will use the IPsec/IKE policy defined, and enable policy-based traffic selectors on the connection. 同じ手順を繰り返し、同じ Azure VPN ゲートウェイから追加のオンプレミス ポリシー ベース VPN デバイスへの接続を追加できます。You can repeat the same steps to add more connections to additional on-premises policy-based VPN devices from the same Azure VPN gateway.

接続でのポリシー ベース トラフィック セレクターの更新Update policy-based traffic selectors for a connection

最後のセクションでは、既存の S2S VPN 接続のポリシー ベース トラフィック セレクター オプションを更新する方法を示します。The last section shows you how to update the policy-based traffic selectors option for an existing S2S VPN connection.

1.接続を取得する1. Get the connection

接続リソースを取得します。Get the connection resource.

$RG1          = "TestPolicyRG1"
$Connection16 = "VNet1toSite6"
$connection6  = Get-AzVirtualNetworkGatewayConnection -Name $Connection16 -ResourceGroupName $RG1

2.ポリシー ベース トラフィック セレクター オプションを確認する2. Check the policy-based traffic selectors option

次の行は、ポリシー ベース トラフィック セレクターが接続に使用されているかどうかを示しています。The following line shows whether the policy-based traffic selectors are used for the connection:

$connection6.UsePolicyBasedTrafficSelectors

この行が "True" を返す場合、ポリシー ベース トラフィック セレクターが接続で構成されています。それ以外の場合は "False" が返されます。If the line returns "True", then policy-based traffic selectors are configured on the connection; otherwise it returns "False."

手順 3.接続でのポリシー ベース トラフィック セレクターを有効/無効にする3. Enable/Disable the policy-based traffic selectors on a connection

接続リソースを取得したら、このオプションを有効または無効にできます。Once you obtain the connection resource, you can enable or disable the option.

UsePolicyBasedTrafficSelectors を有効にするにはTo Enable UsePolicyBasedTrafficSelectors

次の例では、ポリシー ベース トラフィック セレクター オプションを有効にしますが、IPsec/IKE ポリシーは変更されません。The following example enables the policy-based traffic selectors option, but leaves the IPsec/IKE policy unchanged:

$RG1          = "TestPolicyRG1"
$Connection16 = "VNet1toSite6"
$connection6  = Get-AzVirtualNetworkGatewayConnection -Name $Connection16 -ResourceGroupName $RG1

Set-AzVirtualNetworkGatewayConnection -VirtualNetworkGatewayConnection $connection6 -UsePolicyBasedTrafficSelectors $True

UsePolicyBasedTrafficSelectors を無効にするにはTo Disable UsePolicyBasedTrafficSelectors

次の例では、ポリシー ベース トラフィック セレクター オプションを無効にしますが、IPsec/IKE ポリシーは変更されません。The following example disables the policy-based traffic selectors option, but leaves the IPsec/IKE policy unchanged:

$RG1          = "TestPolicyRG1"
$Connection16 = "VNet1toSite6"
$connection6  = Get-AzVirtualNetworkGatewayConnection -Name $Connection16 -ResourceGroupName $RG1

Set-AzVirtualNetworkGatewayConnection -VirtualNetworkGatewayConnection $connection6 -UsePolicyBasedTrafficSelectors $False

次の手順Next steps

接続が完成したら、仮想ネットワークに仮想マシンを追加することができます。Once your connection is complete, you can add virtual machines to your virtual networks. 手順については、 仮想マシンの作成 に関するページを参照してください。See Create a Virtual Machine for steps.

カスタムの IPsec/IKE ポリシーの詳細については、S2S VPN または VNet 対 VNet 接続用のIPsec/IKE ポリシーを構成するに関するページも参照してください。Also review Configure IPsec/IKE policy for S2S VPN or VNet-to-VNet connections for more details on custom IPsec/IKE policies.