次の方法で共有


PowerShell を使用して VPN ゲートウェイを作成する

この記事は、PowerShell を使用して Azure VPN ゲートウェイを作成する際に役立ちます。 VPN ゲートウェイが使用されるのは、ご利用のオンプレミスのネットワークへの VPN 接続を作成するときです。 また、VNet への接続に VPN ゲートウェイを使用することもできます。 この記事の一部の設定の詳細については、「VPN ゲートウェイの作成 - ポータル」を参照してください。

仮想ネットワークと VPN ゲートウェイを示す図。

VPN ゲートウェイは、仮想ネットワーク内のリソースに安全にアクセスできるようにするための接続アーキテクチャの 1 つの要素です。

  • 図の左側には、この記事の手順を使って作成する仮想ネットワークと VPN ゲートウェイが示されています。
  • 図の右側に示すように、後でさまざまな種類の接続を追加できます。 たとえば、サイト間接続やポイント対サイト接続を作成できます。 構築できるさまざまな設計アーキテクチャを確認するには、「VPN Gateway の設計」を参照してください。

この記事の手順では、Generation 2 VpnGw2AZ SKU を使用して、仮想ネットワーク、サブネット、ゲートウェイ サブネット、およびルートベースのゾーン冗長アクティブ/アクティブ VPN ゲートウェイ (仮想ネットワーク ゲートウェイ) を作成します。 代わりに Basic SKU を使用して VPN ゲートウェイを作成する場合は、Basic SKU VPN ゲートウェイの作成に関する記事を参照してください。 ゲートウェイの作成が完了すると、接続を作成できるようになります。

アクティブ/アクティブ ゲートウェイは、次の点でアクティブ/スタンバイ ゲートウェイと異なります。

  • アクティブ/アクティブ ゲートウェイには、2 つのゲートウェイ IP 構成と 2 つのパブリック IP アドレスがあります。
  • アクティブ/アクティブ ゲートウェイでは、アクティブ/アクティブ設定が有効になっています。
  • 仮想ネットワーク ゲートウェイの SKU では Basic または Standard は使用できません。

アクティブ/アクティブ ゲートウェイの詳細については、「高可用性のクロスプレミス接続および VNet 間接続」を参照してください。 可用性ゾーンとゾーン冗長ゲートウェイの詳細については、「可用性ゾーンとは」をご覧ください。

開始する前に

これらの手順には、Azure サブスクリプションが必要です。 Azure サブスクリプションをお持ちでない場合は、開始する前に 無料アカウント を作成してください。

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 モジュールのインストール)」を参照してください。

リソース グループを作成する

New-AzResourceGroup を使用して Azure リソース グループを作成します。 リソース グループとは、Azure リソースのデプロイと管理に使用する論理コンテナーです。 PowerShell をローカルで実行している場合は、昇格された特権で PowerShell コンソールを開き、Connect-AzAccount コマンドを使用して Azure に接続します。

New-AzResourceGroup -Name TestRG1 -Location EastUS

仮想ネットワークの作成

New-AzVirtualNetwork を使用して仮想ネットワークを作成します。 次の例では、EastUS の場所に、VNet1 という名前の仮想ネットワークを作成します。

$virtualnetwork = New-AzVirtualNetwork `
  -ResourceGroupName TestRG1 `
  -Location EastUS `
  -Name VNet1 `
  -AddressPrefix 10.1.0.0/16

New-AzVirtualNetworkSubnetConfig コマンドレットを使用してサブネット構成を作成します。

$subnetConfig = Add-AzVirtualNetworkSubnetConfig `
  -Name Frontend `
  -AddressPrefix 10.1.0.0/24 `
  -VirtualNetwork $virtualnetwork

Set-AzVirtualNetwork コマンドレットを使用して仮想ネットワークのサブネット構成を設定します。

$virtualnetwork | Set-AzVirtualNetwork

ゲートウェイ サブネットの追加

ゲートウェイ サブネットには、仮想ネットワーク ゲートウェイ サービスが使用する予約済み IP アドレスが含まれます。 次の例を使用してゲートウェイ サブネットを追加します。

仮想ネットワーク用の変数を設定します。

$vnet = Get-AzVirtualNetwork -ResourceGroupName TestRG1 -Name VNet1

Add-AzVirtualNetworkSubnetConfig コマンドレットを使用してゲートウェイ サブネットを作成します。

Add-AzVirtualNetworkSubnetConfig -Name 'GatewaySubnet' -AddressPrefix 10.1.255.0/27 -VirtualNetwork $vnet

Set-AzVirtualNetwork コマンドレットを使用して仮想ネットワークのサブネット構成を設定します。

$vnet | Set-AzVirtualNetwork

パブリック IP アドレスの要求

各 VPN ゲートウェイには、割り当てられたパブリック IP アドレスが必要です。 VPN ゲートウェイへの接続を作成するときは、これが、ユーザーが指定する IP アドレスです。 この演習では、アクティブ/アクティブ ゾーン冗長 VPN ゲートウェイ環境を作成します。 つまり、ゲートウェイごとに 1 つずつ、2 つの Standard パブリック IP アドレスが必要であり、ゾーン設定も指定する必要があります。 この例では、3 つのリージョン ゾーンすべてを指定するため、ゾーン冗長構成を指定します。

次の例を使用して、各ゲートウェイのパブリック IP アドレスを要求します。 割り当て方法は静的である必要があります。

$gw1pip1 = New-AzPublicIpAddress -Name "VNet1GWpip1" -ResourceGroupName "TestRG1" -Location "EastUS" -AllocationMethod Static -Sku Standard -Zone 1,2,3
$gw1pip2 = New-AzPublicIpAddress -Name "VNet1GWpip2" -ResourceGroupName "TestRG1" -Location "EastUS" -AllocationMethod Static -Sku Standard -Zone 1,2,3

ゲートウェイ IP アドレスの構成の作成

ゲートウェイの構成で、使用するサブネットとパブリック IP アドレスを定義します。 次の例を使用してゲートウェイ構成を作成します。

$vnet = Get-AzVirtualNetwork -Name VNet1 -ResourceGroupName TestRG1
$subnet = Get-AzVirtualNetworkSubnetConfig -Name 'GatewaySubnet' -VirtualNetwork $vnet

$gwipconfig1 = New-AzVirtualNetworkGatewayIpConfig -Name gwipconfig1 -SubnetId $subnet.Id -PublicIpAddressId $gw1pip1.Id
$gwipconfig2 = New-AzVirtualNetworkGatewayIpConfig -Name gwipconfig2 -SubnetId $subnet.Id -PublicIpAddressId $gw1pip2.Id

VPN ゲートウェイを作成する

選択したゲートウェイ SKU によっては、ゲートウェイの作成に 45 分以上かかる場合も少なくありません。 ゲートウェイが完成したら、仮想ネットワークと別の仮想ネットワークの間の接続を作成できます。 または、自分の仮想ネットワークとオンプレミスの場所の間の接続を作成します。

New-AzVirtualNetworkGateway コマンドレットを使用して VPN ゲートウェイを作成します。 この例では、両方のパブリック IP アドレスが参照され、ゲートウェイがアクティブ/アクティブとして構成されていることに注意してください。 この例では、オプションの -Debug スイッチを追加します。

New-AzVirtualNetworkGateway -Name VNet1GW -ResourceGroupName TestRG1 `
-Location "East US" -IpConfigurations $gwipconfig1,$gwipconfig2 -GatewayType "Vpn" -VpnType RouteBased `
-GatewaySku VpnGw2AZ -VpnGatewayGeneration Generation2 -EnableActiveActiveFeature -Debug

VPN ゲートウェイを表示する

Get-AzVirtualNetworkGateway コマンドレットを使用して VPN ゲートウェイを表示できます。

Get-AzVirtualNetworkGateway -Name Vnet1GW -ResourceGroup TestRG1

パブリック IP アドレスを表示する

VPN ゲートウェイのパブリック IP アドレスを表示するには、Get-AzPublicIpAddress コマンドレットを使用します。 例:

Get-AzPublicIpAddress -Name VNet1GWpip1 -ResourceGroupName TestRG1

リソースをクリーンアップする

作成したリソースが不要になったら、Remove-AzResourceGroup コマンドを使用してリソース グループを削除します。 これによって、リソース グループと、それに含まれるすべてのリソースが削除されます。

Remove-AzResourceGroup -Name TestRG1

次のステップ

ゲートウェイの作成が完了したら、自分の仮想ネットワークと別の仮想ネットワークの間の接続を作成できます。 または、自分の仮想ネットワークとオンプレミスの場所の間の接続を作成します。