PowerShell を使用して仮想ネットワーク ゲートウェイを削除する
VPN ゲートウェイ構成の仮想ネットワーク ゲートウェイを削除する際に利用できる方法はいくつかあります。
テスト環境の場合のように、すべてを削除してやり直す場合は、リソース グループを削除することができます。 リソース グループを削除すると、グループ内のすべてのリソースが削除されます。 この方法は、リソース グループ内のどのリソースも保持する必要がない場合にのみお勧めします。 この方法を使用して一部のリソースだけを選択して削除することはできません。
リソース グループ内の一部のリソースを保持する必要がある場合は、仮想ネットワーク ゲートウェイの削除が少し複雑になります。 仮想ネットワーク ゲートウェイを削除する前に、まず、そのゲートウェイに依存しているリソースをすべて削除する必要があります。 従う手順は、作成した接続の種類と、各接続に依存するリソースによって異なります。
サイト間 VPN ゲートウェイを削除する
S2S 構成の仮想ネットワーク ゲートウェイを削除するには、まず、仮想ネットワーク ゲートウェイに関連する各リソースを削除する必要があります。 リソースは、依存関係に応じた特定の順序で削除する必要があります。 以下の例では、一部の値は指定する必要がありますが、その他の値は出力結果です。 デモンストレーション用に、この例では次の特定の値を使用します。
- VNet 名: VNet1
- リソース グループ名: TestRG1
- 仮想ネットワーク ゲートウェイ名: VNet1GW
削除する仮想ネットワーク ゲートウェイを取得します。
$GW=get-Azvirtualnetworkgateway -Name "VNet1GW" -ResourceGroupName "TestRG1"
仮想ネットワーク ゲートウェイに接続があるかどうかを確認します。
get-Azvirtualnetworkgatewayconnection -ResourceGroupName "TestRG1" | where-object {$_.VirtualNetworkGateway1.Id -eq $GW.Id} $Conns=get-Azvirtualnetworkgatewayconnection -ResourceGroupName "TestRG1" | where-object {$_.VirtualNetworkGateway1.Id -eq $GW.Id}
すべての接続を削除します。 各接続の削除の確認を求めるメッセージが表示される場合があります。
$Conns | ForEach-Object {Remove-AzVirtualNetworkGatewayConnection -Name $_.name -ResourceGroupName $_.ResourceGroupName}
仮想ネットワーク ゲートウェイを削除します。 ゲートウェイの削除の確認を求めるメッセージが表示される場合があります。 S2S 構成に加えてこの VNet に対する P2S 構成がある場合は、仮想ネットワーク ゲートウェイを削除すると、警告なしにすべての P2S クライアントが自動的に切断されます。
Remove-AzVirtualNetworkGateway -Name "VNet1GW" -ResourceGroupName "TestRG1"
この時点で、仮想ネットワーク ゲートウェイは削除されています。 次の手順を使用して、使用されなくなったリソースを削除できます。
ローカル ネットワーク ゲートウェイを削除するには、まず、対応するローカル ネットワーク ゲートウェイの一覧を取得します。
$LNG=Get-AzLocalNetworkGateway -ResourceGroupName "TestRG1" | where-object {$_.Id -In $Conns.LocalNetworkGateway2.Id}
次に、ローカル ネットワーク ゲートウェイを削除します。 各ローカル ネットワーク ゲートウェイの削除の確認を求めるメッセージが表示される場合があります。
$LNG | ForEach-Object {Remove-AzLocalNetworkGateway -Name $_.Name -ResourceGroupName $_.ResourceGroupName}
パブリック IP アドレス リソースを削除するには、まず、仮想ネットワーク ゲートウェイの IP 構成を取得します。
$GWIpConfigs = $Gateway.IpConfigurations
次に、この仮想ネットワーク ゲートウェイに使用されるパブリック IP アドレス リソースの一覧を取得します。 仮想ネットワーク ゲートウェイがアクティブ/アクティブであった場合は、2 つのパブリック IP アドレスが表示されます。
$PubIP=Get-AzPublicIpAddress | where-object {$_.Id -In $GWIpConfigs.PublicIpAddress.Id}
パブリック IP リソースを削除します。
$PubIP | foreach-object {remove-AzpublicIpAddress -Name $_.Name -ResourceGroupName "TestRG1"}
ゲートウェイ サブネットを削除し、構成を設定します。
$GWSub = Get-AzVirtualNetwork -ResourceGroupName "TestRG1" -Name "VNet1" | Remove-AzVirtualNetworkSubnetConfig -Name "GatewaySubnet" Set-AzVirtualNetwork -VirtualNetwork $GWSub
VNet 間 VPN ゲートウェイを削除する
V2V 構成の仮想ネットワーク ゲートウェイを削除するには、まず、仮想ネットワーク ゲートウェイに関連する各リソースを削除する必要があります。 リソースは、依存関係に応じた特定の順序で削除する必要があります。 以下の例では、一部の値は指定する必要がありますが、その他の値は出力結果です。 デモンストレーション用に、この例では次の特定の値を使用します。
- VNet 名: VNet1
- リソース グループ名: TestRG1
- 仮想ネットワーク ゲートウェイ名: VNet1GW
削除する仮想ネットワーク ゲートウェイを取得します。
$GW=get-Azvirtualnetworkgateway -Name "VNet1GW" -ResourceGroupName "TestRG1"
仮想ネットワーク ゲートウェイに接続があるかどうかを確認します。
get-Azvirtualnetworkgatewayconnection -ResourceGroupName "TestRG1" | where-object {$_.VirtualNetworkGateway1.Id -eq $GW.Id}
別のリソース グループに含まれている、仮想ネットワーク ゲートウェイへの他の接続が存在する可能性があります。 追加の各リソース グループで、追加の接続を確認します。 この例では、RG2 からの接続を確認しています。 仮想ネットワーク ゲートウェイへの接続が存在する可能性があるリソース グループごとに、これを実行します。
get-Azvirtualnetworkgatewayconnection -ResourceGroupName "RG2" | where-object {$_.VirtualNetworkGateway2.Id -eq $GW.Id}
双方向の接続の一覧を取得します。 これは VNet 間の構成であるため、双方向の接続の一覧が必要です。
$ConnsL=get-Azvirtualnetworkgatewayconnection -ResourceGroupName "TestRG1" | where-object {$_.VirtualNetworkGateway1.Id -eq $GW.Id}
この例では、RG2 からの接続を確認しています。 仮想ネットワーク ゲートウェイへの接続が存在する可能性があるリソース グループごとに、これを実行します。
$ConnsR=get-Azvirtualnetworkgatewayconnection -ResourceGroupName "<NameOfResourceGroup2>" | where-object {$_.VirtualNetworkGateway2.Id -eq $GW.Id}
すべての接続を削除します。 各接続の削除の確認を求めるメッセージが表示される場合があります。
$ConnsL | ForEach-Object {Remove-AzVirtualNetworkGatewayConnection -Name $_.name -ResourceGroupName $_.ResourceGroupName} $ConnsR | ForEach-Object {Remove-AzVirtualNetworkGatewayConnection -Name $_.name -ResourceGroupName $_.ResourceGroupName}
仮想ネットワーク ゲートウェイを削除します。 仮想ネットワーク ゲートウェイの削除の確認を求めるメッセージが表示される場合があります。 V2V 構成に加えて VNet に対する P2S 構成がある場合は、仮想ネットワーク ゲートウェイを削除すると、警告なしにすべての P2S クライアントが自動的に切断されます。
Remove-AzVirtualNetworkGateway -Name "VNet1GW" -ResourceGroupName "TestRG1"
この時点で、仮想ネットワーク ゲートウェイは削除されています。 次の手順を使用して、使用されなくなったリソースを削除できます。
パブリック IP アドレス リソースを削除するには、仮想ネットワーク ゲートウェイの IP 構成を取得します。
$GWIpConfigs = $Gateway.IpConfigurations
次に、この仮想ネットワーク ゲートウェイに使用されるパブリック IP アドレス リソースの一覧を取得します。 仮想ネットワーク ゲートウェイがアクティブ/アクティブであった場合は、2 つのパブリック IP アドレスが表示されます。
$PubIP=Get-AzPublicIpAddress | where-object {$_.Id -In $GWIpConfigs.PublicIpAddress.Id}
パブリック IP リソースを削除します。 パブリック IP の削除の確認を求めるメッセージが表示される場合があります。
$PubIP | foreach-object {remove-AzpublicIpAddress -Name $_.Name -ResourceGroupName "<NameOfResourceGroup1>"}
ゲートウェイ サブネットを削除し、構成を設定します。
$GWSub = Get-AzVirtualNetwork -ResourceGroupName "TestRG1" -Name "VNet1" | Remove-AzVirtualNetworkSubnetConfig -Name "GatewaySubnet" Set-AzVirtualNetwork -VirtualNetwork $GWSub
ポイント対サイト VPN ゲートウェイを削除する
P2S 構成の仮想ネットワーク ゲートウェイを削除するには、まず、仮想ネットワーク ゲートウェイに関連する各リソースを削除する必要があります。 リソースは、依存関係に応じた特定の順序で削除する必要があります。 以下の例を使用する場合、一部の値は指定する必要がありますが、その他の値は出力結果です。 デモンストレーション用に、この例では次の特定の値を使用します。
- VNet 名: VNet1
- リソース グループ名: TestRG1
- 仮想ネットワーク ゲートウェイ名: VNet1GW
Note
VPN ゲートウェイを削除すると、接続しているすべてのクライアントが VNet から警告なしで切断されます。
削除する仮想ネットワーク ゲートウェイを取得します。
GW=get-Azvirtualnetworkgateway -Name "VNet1GW" -ResourceGroupName "TestRG1"
仮想ネットワーク ゲートウェイを削除します。 仮想ネットワーク ゲートウェイの削除の確認を求めるメッセージが表示される場合があります。
Remove-AzVirtualNetworkGateway -Name "VNet1GW" -ResourceGroupName "TestRG1"
この時点で、仮想ネットワーク ゲートウェイは削除されています。 次の手順を使用して、使用されなくなったリソースを削除できます。
パブリック IP アドレス リソースを削除するには、まず、仮想ネットワーク ゲートウェイの IP 構成を取得します。
$GWIpConfigs = $Gateway.IpConfigurations
次に、この仮想ネットワーク ゲートウェイに使用されるパブリック IP アドレスの一覧を取得します。 仮想ネットワーク ゲートウェイがアクティブ/アクティブであった場合は、2 つのパブリック IP アドレスが表示されます。
$PubIP=Get-AzPublicIpAddress | where-object {$_.Id -In $GWIpConfigs.PublicIpAddress.Id}
パブリック IP を削除します。 パブリック IP の削除の確認を求めるメッセージが表示される場合があります。
$PubIP | foreach-object {remove-AzpublicIpAddress -Name $_.Name -ResourceGroupName "<NameOfResourceGroup1>"}
ゲートウェイ サブネットを削除し、構成を設定します。
$GWSub = Get-AzVirtualNetwork -ResourceGroupName "TestRG1" -Name "VNet1" | Remove-AzVirtualNetworkSubnetConfig -Name "GatewaySubnet" Set-AzVirtualNetwork -VirtualNetwork $GWSub
リソース グループを削除して VPN ゲートウェイを削除する
リソース グループにどのリソースも保持する必要がなく、単に最初からやり直したい場合は、リソース グループ全体を削除できます。 すべてを削除するには、これが簡単な方法です。
サブスクリプションのすべてのリソース グループの一覧を取得します。
Get-AzResourceGroup
削除するリソース グループを探します。
削除するリソース グループを見つけ、そのリソース グループ内のリソースの一覧を表示します。 この例では、リソース グループの名前は TestRG1 です。 すべてのリソースの一覧を取得するように、例を変更します。
Find-AzResource -ResourceGroupNameContains TestRG1
一覧のリソースを確認します。
一覧が返されたら、内容を調べて、リソース グループ内のすべてのリソースと、リソース グループ自体も削除してよいことを確認します。 リソース グループ内の一部のリソースを保持する場合は、この記事の前のセクションに記載した手順を使用して、ゲートウェイを削除します。
リソース グループとリソースを削除します。 リソース グループと、リソース グループに含まれているすべてのリソースを削除するには、例を変更して実行します。
Remove-AzResourceGroup -Name TestRG1
状態を確認します。 Azure によってすべてのリソースが削除されるまで、しばらく時間がかかります。 リソース グループの状態を確認するには、このコマンドレットを使用します。
Get-AzResourceGroup -ResourceGroupName TestRG1
結果が返され、"Succeeded" と表示されます。
ResourceGroupName : TestRG1 Location : eastus ProvisioningState : Succeeded
次の手順
FAQ 情報については、「Azure VPN Gateway に関する FAQ」を参照してください。