Azure Resource Manager デプロイ モデルを使用した強制トンネリングの構成Configure forced tunneling using the Azure Resource Manager deployment model

強制トンネリングを使用すると、検査および監査のために、サイト間の VPN トンネルを介して、インターネットへのすべてのトラフィックをオンプレミスの場所に戻すようにリダイレクトする (つまり、"強制する") ことができます。Forced tunneling lets you redirect or "force" all Internet-bound traffic back to your on-premises location via a Site-to-Site VPN tunnel for inspection and auditing. これは、ほとんどの企業 IT ポリシーの重要なセキュリティ要件です。This is a critical security requirement for most enterprise IT policies. 強制トンネリングを使用しない場合、Azure の VM からインターネットへのトラフィックは、トラフィックを検査または監査できるオプションを使用せずに、常に Azure ネットワーク インフラストラクチャからインターネットへ直接トラバースします。Without forced tunneling, Internet-bound traffic from your VMs in Azure always traverses from Azure network infrastructure directly out to the Internet, without the option to allow you to inspect or audit the traffic. 認証されていないインターネット アクセスは、情報の漏えいまたは他の種類のセキュリティ侵害を招く可能性があります。Unauthorized Internet access can potentially lead to information disclosure or other types of security breaches.

注意

この記事は、新しい 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.

Azure は現在、2 つのデプロイメント モデルで使用できます。Resource Manager とクラシックです。Azure currently works with two deployment models: Resource Manager and classic. これらの 2 つのモデルには、完全に互換性があるわけではありません。The two models are not completely compatible with each other. 作業を開始する前に、使用するモデルを把握しておく必要があります。Before you begin, you need to know which model that you want to work in. デプロイメント モデルについては、デプロイメント モデルの概要に関するページを参照してください。For information about the deployment models, see Understanding deployment models. Azure に慣れていない場合には、Resource Manager デプロイ モデルの使用をお勧めします。If you are new to Azure, we recommend that you use the Resource Manager deployment model.

この記事では、Resource Manager デプロイ モデルを使用して作成された仮想ネットワークの強制トンネリングを構成する手順について説明します。This article walks you through configuring forced tunneling for virtual networks created using the Resource Manager deployment model. 強制トンネリングは、ポータルを経由せずに、PowerShell を使用して構成できます。Forced tunneling can be configured by using PowerShell, not through the portal. クラシック デプロイ モデル向けに強制トンネリングを構成する場合は、次のドロップダウン リストから従来の記事を選択します。If you want to configure forced tunneling for the classic deployment model, select classic article from the following dropdown list:

強制トンネリングについてAbout forced tunneling

以下の図には、強制トンネリングのしくみを示しています。The following diagram illustrates how forced tunneling works.

強制トンネリング

上記の例では、フロントエンドのサブネットは、トンネリングを強制されません。In the example above, the Frontend subnet is not forced tunneled. フロントエンドのサブネット内のワークロードは、直接、インターネットから顧客の要求を承認し応答し続けることができます。The workloads in the Frontend subnet can continue to accept and respond to customer requests from the Internet directly. Mid-tier および Backend のサブネットは、トンネリングを強制されます。The Mid-tier and Backend subnets are forced tunneled. これら 2 つのサブネットからのインターネットへのオウトバウンド接続は、S2S VPN トンネルの 1 つを介して、オンプレミス サイトに ”強制” リダイレクトされます。Any outbound connections from these two subnets to the Internet will be forced or redirected back to an on-premises site via one of the S2S VPN tunnels.

これにより、必要な多層サービス アーキテクチャが継続的に使用可能になっている間は、Azure 内の仮想マシンやクラウド サービスからのインターネット アクセスを制限および検査することができます。This allows you to restrict and inspect Internet access from your virtual machines or cloud services in Azure, while continuing to enable your multi-tier service architecture required. 仮想ネットワーク内にインターネットに接続されたワークロードがない場合、仮想ネットワーク全体に強制トンネリングを適用することもできます。If there are no Internet-facing workloads in your virtual networks, you also can apply forced tunneling to the entire virtual networks.

要件と考慮事項Requirements and considerations

Azure では、強制トンネリングは仮想ネットワークのユーザー定義ルートを使用して構成されます。Forced tunneling in Azure is configured via virtual network user-defined routes. オンプレミス サイトへのトラフィックのリダイレクトは、Azure VPN Gateway への既定のルートとして表されます。Redirecting traffic to an on-premises site is expressed as a Default Route to the Azure VPN gateway. ユーザー定義のルートおよび仮想ネットワークの詳細については、「ユーザー定義のルートと IP 転送」を参照してください。For more information about user-defined routing and virtual networks, see User-defined routes and IP forwarding.

  • 各仮想ネットワーク サブネットには、システム ルーティング テーブルが組み込まれています。Each virtual network subnet has a built-in, system routing table. システム ルーティング テーブルには、次の 3 つのグループがあります。The system routing table has the following three groups of routes:

    • ローカル VNet ルーティング: 直接、同じ仮想ネットワーク内の宛先 VM へ。Local VNet routes: Directly to the destination VMs in the same virtual network.
    • オンプレミス ルート: Azure VPN ゲートウェイへ。On-premises routes: To the Azure VPN gateway.
    • 既定のルート: 直接、インターネットへ。Default route: Directly to the Internet. 前の 2 つのルートが網羅していないプライベート IP アドレスへ送信されるパケットは削除されます。Packets destined to the private IP addresses not covered by the previous two routes are dropped.
  • この手順ではユーザー定義ルート (UDR) を使用して、既定のルートを追加するルーティング テーブルを作成し、そのルーティング テーブルを VNet サブネットに関連付け、それらのサブネットでの強制トンネリングを有効にします。This procedure uses user-defined routes (UDR) to create a routing table to add a default route, and then associate the routing table to your VNet subnet(s) to enable forced tunneling on those subnets.

  • 強制トンネリングは、ルートベースの VPN ゲートウェイを持つ VNet に関連付ける必要があります。Forced tunneling must be associated with a VNet that has a route-based VPN gateway. 仮想ネットワークに接続されたクロスプレミス ローカル サイト間で「既定のサイト」を設定する必要があります。You need to set a "default site" among the cross-premises local sites connected to the virtual network. また、オンプレミス VPN デバイスを、トラフィック セレクターとして 0.0.0.0/0 を使用して構成する必要があります。Also, the on-premises VPN device must be configured using 0.0.0.0/0 as traffic selectors.

  • ExpressRoute の強制トンネリングは、このメカニズムを使用して構成されていませんが、代わりに ExpressRoute BGP ピアリング セッションを介して既定のルートを通知することで有効化されます。ExpressRoute forced tunneling is not configured via this mechanism, but instead, is enabled by advertising a default route via the ExpressRoute BGP peering sessions. 詳細については、「ExpressRoute のドキュメント」を参照してください。For more information, see the ExpressRoute Documentation.

構成の概要Configuration overview

次の手順は、リソース グループと VNet の作成に役立ちます。The following procedure helps you create a resource group and a VNet. その後、VPN Gateway を作成し、強制トンネリングを構成します。You'll then create a VPN gateway and configure forced tunneling. この手順では、仮想ネットワーク 'MultiTier-VNet' には 3 つのサブネット ('Frontend'、'Midtier'、'Backend') があり、クロスプレミス接続は 4 つ ('DefaultSiteHQ' および 3 つの分岐) 用意されています。In this procedure, the virtual network 'MultiTier-VNet' has three subnets: 'Frontend', 'Midtier', and 'Backend', with four cross-premises connections: 'DefaultSiteHQ', and three Branches.

以下の手順で "DefaultSiteHQ" を強制トンネリングの既定のサイト接続として設定し、強制トンネリングが使用されるように "Midtier" と "Backend" サブネットを構成します。The procedure steps set the 'DefaultSiteHQ' as the default site connection for forced tunneling, and configure the 'Midtier' and 'Backend' subnets to use forced tunneling.

開始する前にBefore you begin

Azure Resource Manager PowerShell コマンドレットの最新版をインストールしてください。Install the latest version of the Azure Resource Manager PowerShell cmdlets. PowerShell コマンドレットのインストールの詳細については、「 Azure PowerShell のインストールと構成の方法 」を参照してください。See How to install and configure Azure PowerShell for more information about installing the PowerShell cmdlets.

重要

PowerShell コマンドレットの最新バージョンのインストールが必要です。Installing the latest version of the PowerShell cmdlets is required. 最新バージョンをインストールしていない場合、一部のコマンドレットの実行時に検証エラーが発生することがあります。Otherwise, you may receive validation errors when running some of the cmdlets.

ログインするにはTo log in

この構成を開始する前に、Azure アカウントにサインインする必要があります。Before beginning this configuration, you must sign in to your Azure account. このコマンドレットは、Azure アカウントのサインイン資格情報をユーザーに求めます。The cmdlet prompts you for the sign-in credentials for your Azure account. サインイン後にアカウント設定がダウンロードされるため、Azure PowerShell で使用できるようになります。After signing in, it downloads your account settings so they are available to Azure PowerShell. 詳細については、「 リソース マネージャーでの Windows PowerShell の使用」を参照してください。For more information, see Using Windows PowerShell with Resource Manager.

サインインするには、昇格された特権で PowerShell コンソールを開き、アカウントに接続します。To sign in, open your PowerShell console with elevated privileges, and connect to your account. 接続については、次の例を参考にしてください。Use the following example to help you connect:

Connect-AzAccount

複数の Azure サブスクリプションを所有している場合には、アカウントのサブスクリプションをすべて確認します。If you have multiple Azure subscriptions, check the subscriptions for the account.

Get-AzSubscription

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

Select-AzSubscription -SubscriptionName "Replace_with_your_subscription_name"

強制トンネリングについてConfigure forced tunneling

注意

"The output object type of this cmdlet will be modified in a future release"(このコマンドレットの出力オブジェクトの種類は将来のリリースで変更されます) という警告メッセージが表示されることがあります。You may see warnings saying "The output object type of this cmdlet will be modified in a future release". これは想定される動作であり、これらの警告は無視してもかまいません。This is expected behavior and you can safely ignore these warnings.

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

    New-AzResourceGroup -Name 'ForcedTunneling' -Location 'North Europe'
    
  2. 仮想ネットワークを作成し、サブネットを指定します。Create a virtual network and specify subnets.

    $s1 = New-AzVirtualNetworkSubnetConfig -Name "Frontend" -AddressPrefix "10.1.0.0/24"
    $s2 = New-AzVirtualNetworkSubnetConfig -Name "Midtier" -AddressPrefix "10.1.1.0/24"
    $s3 = New-AzVirtualNetworkSubnetConfig -Name "Backend" -AddressPrefix "10.1.2.0/24"
    $s4 = New-AzVirtualNetworkSubnetConfig -Name "GatewaySubnet" -AddressPrefix "10.1.200.0/28"
    $vnet = New-AzVirtualNetwork -Name "MultiTier-VNet" -Location "North Europe" -ResourceGroupName "ForcedTunneling" -AddressPrefix "10.1.0.0/16" -Subnet $s1,$s2,$s3,$s4
    
  3. ローカル ネットワーク ゲートウェイを作成します。Create the local network gateways.

    $lng1 = New-AzLocalNetworkGateway -Name "DefaultSiteHQ" -ResourceGroupName "ForcedTunneling" -Location "North Europe" -GatewayIpAddress "111.111.111.111" -AddressPrefix "192.168.1.0/24"
    $lng2 = New-AzLocalNetworkGateway -Name "Branch1" -ResourceGroupName "ForcedTunneling" -Location "North Europe" -GatewayIpAddress "111.111.111.112" -AddressPrefix "192.168.2.0/24"
    $lng3 = New-AzLocalNetworkGateway -Name "Branch2" -ResourceGroupName "ForcedTunneling" -Location "North Europe" -GatewayIpAddress "111.111.111.113" -AddressPrefix "192.168.3.0/24"
    $lng4 = New-AzLocalNetworkGateway -Name "Branch3" -ResourceGroupName "ForcedTunneling" -Location "North Europe" -GatewayIpAddress "111.111.111.114" -AddressPrefix "192.168.4.0/24"
    
  4. ルート テーブルおよびルート規則を作成します。Create the route table and route rule.

    New-AzRouteTable –Name "MyRouteTable" -ResourceGroupName "ForcedTunneling" –Location "North Europe"
    $rt = Get-AzRouteTable –Name "MyRouteTable" -ResourceGroupName "ForcedTunneling" 
    Add-AzRouteConfig -Name "DefaultRoute" -AddressPrefix "0.0.0.0/0" -NextHopType VirtualNetworkGateway -RouteTable $rt
    Set-AzRouteTable -RouteTable $rt
    
  5. ルート テーブルを Midtier および Backend サブネットに関連付けます。Associate the route table to the Midtier and Backend subnets.

    $vnet = Get-AzVirtualNetwork -Name "MultiTier-Vnet" -ResourceGroupName "ForcedTunneling"
    Set-AzVirtualNetworkSubnetConfig -Name "MidTier" -VirtualNetwork $vnet -AddressPrefix "10.1.1.0/24" -RouteTable $rt
    Set-AzVirtualNetworkSubnetConfig -Name "Backend" -VirtualNetwork $vnet -AddressPrefix "10.1.2.0/24" -RouteTable $rt
    Set-AzVirtualNetwork -VirtualNetwork $vnet
    
  6. 仮想ネットワーク ゲートウェイを作成します。Create the virtual network gateway. ゲートウェイを作成して構成するため、この手順の完了には 45 分以上かかる場合があります。This step takes some time to complete, sometimes 45 minutes or more, because you are creating and configuring the gateway. GatewaySKU の値に関する ValidateSet エラーが発生した場合は、PowerShell コマンドレットの最新バージョンがインストールされていることを確認してください。If you see ValidateSet errors regarding the GatewaySKU value, verify that you have installed the latest version of the PowerShell cmdlets. PowerShell コマンドレットの最新バージョンには、最新の Gateway SKU の新しい有効値が含まれています。The latest version of the PowerShell cmdlets contains the new validated values for the latest Gateway SKUs.

    $pip = New-AzPublicIpAddress -Name "GatewayIP" -ResourceGroupName "ForcedTunneling" -Location "North Europe" -AllocationMethod Dynamic
    $gwsubnet = Get-AzVirtualNetworkSubnetConfig -Name "GatewaySubnet" -VirtualNetwork $vnet
    $ipconfig = New-AzVirtualNetworkGatewayIpConfig -Name "gwIpConfig" -SubnetId $gwsubnet.Id -PublicIpAddressId $pip.Id
    New-AzVirtualNetworkGateway -Name "Gateway1" -ResourceGroupName "ForcedTunneling" -Location "North Europe" -IpConfigurations $ipconfig -GatewayType Vpn -VpnType RouteBased -GatewaySku VpnGw1 -EnableBgp $false
    
  7. 仮想ネットワーク ゲートウェイに既定のサイトを割り当てます。Assign a default site to the virtual network gateway. -GatewayDefaultSite は、強制ルーティング構成を動作させるコマンドレット パラメーターです。適切な設定になるように、慎重に構成してください。The -GatewayDefaultSite is the cmdlet parameter that allows the forced routing configuration to work, so take care to configure this setting properly.

    $LocalGateway = Get-AzLocalNetworkGateway -Name "DefaultSiteHQ" -ResourceGroupName "ForcedTunneling"
    $VirtualGateway = Get-AzVirtualNetworkGateway -Name "Gateway1" -ResourceGroupName "ForcedTunneling"
    Set-AzVirtualNetworkGatewayDefaultSite -GatewayDefaultSite $LocalGateway -VirtualNetworkGateway $VirtualGateway
    
  8. サイト間 VPN 接続を確立します。Establish the Site-to-Site VPN connections.

    $gateway = Get-AzVirtualNetworkGateway -Name "Gateway1" -ResourceGroupName "ForcedTunneling"
    $lng1 = Get-AzLocalNetworkGateway -Name "DefaultSiteHQ" -ResourceGroupName "ForcedTunneling" 
    $lng2 = Get-AzLocalNetworkGateway -Name "Branch1" -ResourceGroupName "ForcedTunneling" 
    $lng3 = Get-AzLocalNetworkGateway -Name "Branch2" -ResourceGroupName "ForcedTunneling" 
    $lng4 = Get-AzLocalNetworkGateway -Name "Branch3" -ResourceGroupName "ForcedTunneling" 
    
    New-AzVirtualNetworkGatewayConnection -Name "Connection1" -ResourceGroupName "ForcedTunneling" -Location "North Europe" -VirtualNetworkGateway1 $gateway -LocalNetworkGateway2 $lng1 -ConnectionType IPsec -SharedKey "preSharedKey"
    New-AzVirtualNetworkGatewayConnection -Name "Connection2" -ResourceGroupName "ForcedTunneling" -Location "North Europe" -VirtualNetworkGateway1 $gateway -LocalNetworkGateway2 $lng2 -ConnectionType IPsec -SharedKey "preSharedKey"
    New-AzVirtualNetworkGatewayConnection -Name "Connection3" -ResourceGroupName "ForcedTunneling" -Location "North Europe" -VirtualNetworkGateway1 $gateway -LocalNetworkGateway2 $lng3 -ConnectionType IPsec -SharedKey "preSharedKey"
    New-AzVirtualNetworkGatewayConnection -Name "Connection4" -ResourceGroupName "ForcedTunneling" -Location "North Europe" -VirtualNetworkGateway1 $gateway -LocalNetworkGateway2 $lng4 -ConnectionType IPsec -SharedKey "preSharedKey"
    
    Get-AzVirtualNetworkGatewayConnection -Name "Connection1" -ResourceGroupName "ForcedTunneling"