ExpressRoute 接続とサイト間接続の共存の構成 (クラシック)

この記事は、共存する ExpressRoute とサイト間 VPN の接続を構成するのに役立ちます。 サイト間 VPN と ExpressRoute が構成可能な場合、いくつかの利点があります。 ExpressRoute 用にセキュリティで保護されたフェールオーバー パスとしてサイト間 VPN を構成したり、サイト間 VPN を使用して、ExpressRoute 経由で接続されていないサイトに接続したりできます。 この記事では、両方のシナリオを構成する手順について説明します。 この記事は、クラシック デプロイ モデルに適用されます。 この構成はポータルでは使用できません。

重要

2017 年 3 月 1 日の時点で、クラシック デプロイ モデルに新しい ExpressRoute 回線を作成することはできません。

  • 接続のダウン タイムを発生させずに、クラシック デプロイ モデルから Resource Manager デプロイ モデルに既存の ExpressRoute 回線を移動できます。 詳しくは、既存の回線の移動に関する記事をご覧ください。
  • allowClassicOperations を TRUE に設定することで、クラシック デプロイ モデル内の仮想ネットワークを接続できます。

Resource Manager デプロイ モデルで ExpressRoute 回線を作成して管理するには、次のリンクを使用します。

Azure のデプロイ モデルについて

Azure は現在、2 つのデプロイメント モデルで使用できます。Resource Manager とクラシックです。 これらの 2 つのモデルには、完全に互換性があるわけではありません。 作業を開始する前に、使用するモデルを把握しておく必要があります。 デプロイメント モデルについては、デプロイメント モデルの概要に関するページを参照してください。 Azure に慣れていない場合には、Resource Manager デプロイ モデルの使用をお勧めします。

重要

ExpressRoute 回線を事前に構成してから、この記事の手順に従ってください。 作業を進める前に必ず ExpressRoute 回線の作成ルーティングの構成に関するガイドに従ってください。

制限と制限事項

  • トランジット ルーティングはサポートされていません。 サイト間 VPN 経由で接続されたローカル ネットワークと ExpressRoute 経由で接続されたローカル ネットワークとの間で (Azure 経由で) ルーティングすることはできません。
  • ポイント対サイトはサポートされていません。 ExpressRoute に接続されているのと同じ VNet に対しては、ポイント対サイト VPN 接続を有効にできません。 ポイント対サイト VPN と ExpressRoute を同じ VNet に共存させることはできません。
  • サイト間 VPN ゲートウェイでは強制トンネリングを有効にできません。 できることは、すべてのインターネットへのトラフィックを ExpressRoute 経由でオンプレミスのネットワークに "強制的に" 戻すことのみです。
  • Basic SKU ゲートウェイはサポートされていません。 ExpressRoute ゲートウェイVPN ゲートウェイのどちらについても、Basic SKU 以外のゲートウェイを使用する必要があります。
  • サポートされているのはルート ベースの VPN ゲートウェイのみです。 ルート ベースの VPN ゲートウェイを使用する必要があります
  • VPN ゲートウェイのために静的ルートを構成する必要があります。 ローカル ネットワークが ExpressRoute とサイト間 VPN の両方に接続されている場合は、ローカル ネットワーク内で静的ルートを構成して、サイト間 VPN 接続をパブリック インターネットへルーティングする必要があります。

構成の設計

ExpressRoute のフェールオーバー パスとしてサイト間 VPN を構成する

ExpressRoute のバックアップとしてサイト間 VPN 接続を構成することができます。 この設定は、Azure のプライベート ピアリング パスに関連付けされている仮想ネットワークにのみ適用されます。 Azure パブリックと Microsoft ピアリングを通じてアクセス可能なサービスには VPN ベースのフェールオーバー ソリューションはありません。 ExpressRoute 回線は常にプライマリ リンクです。 サイト間 VPN パスでデータ フローが発生するのは、ExpressRoute 回線で障害が発生した場合に限られます。

注意

両方のルートが同じである場合は、ExpressRoute 回線がサイト間 VPN よりも優先されますが、Azure では最長プレフィックスの一致を使用してパケットの宛先へのルートを選択します。

ExpressRoute のバックアップとしてサイト間 VPN 接続が示されている図。

ExpressRoute 経由で接続されていないサイトに接続するようにサイト間 VPN を構成する

サイト間 VPN 経由で Azure に直接接続するサイトと、ExpressRoute 経由で接続するサイトがあるネットワークを構成することができます。

共存

注意

トランジット ルーターとして仮想ネットワークを構成することはできません。

使用する手順の選択

共存できる接続を構成するために、選択できる 2 とおりの手順があります。 接続先にする既存の仮想ネットワークがある場合と、新しい仮想ネットワークを作成する場合とでは、選択できる構成手順が異なります。

  • VNet がないので作成する必要がある。

    仮想ネットワークがまだない場合、この手順に従うと、クラシック デプロイ モデルを使用して新しい仮想ネットワークを作成し、新しい ExpressRoute 接続とサイト間 VPN 接続を作成できます。 構成するには、この記事の「 新しい仮想ネットワークおよび共存する接続を作成するには」の手順に従います。

  • クラシック デプロイ モデル VNet が既にある。

    既存のサイト間 VPN 接続または ExpressRoute 接続を使用して、仮想ネットワークを既に配置している場合があります。 記事のセクション「既存の VNet で共存する接続を構成するには」を参照すると、ゲートウェイを削除し、新しい ExpressRoute 接続とサイト間 VPN 接続を作成できます。 新しい接続を作成する際は、一定の順序で手順を完了する必要があります。 他の記事の手順を使用してゲートウェイと接続を作成しないでください。

    この手順では、共存できる接続を作成する際に、ゲートウェイを削除してから新しいゲートウェイを構成する必要があります。 ゲートウェイと接続を削除し再作成する際にクロスプレミス接続でダウンタイムが発生しますが、VM やサービスを新しい仮想ネットワークに移行する必要はありません。 構成すれば、VM やサービスはゲートウェイの構成中であってもロード バランサー経由で通信できます。

PowerShell コマンドレットのインストール

最新バージョンの Azure Service Management (SM) PowerShell モジュールと ExpressRoute モジュールをインストールします。 Azure CloudShell 環境を使用して SM モジュールを実行することはできません。

  1. Service Management モジュールのインストールに関する記事の手順を使用して、Azure Service Management モジュールをインストールします。 Az または RM モジュールが既にインストールされている場合は、必ず '-AllowClobber' を使用してください。

  2. インストールされているモジュールをインポートします。 次の例を使用する場合、インストールされている PowerShell モジュールの場所とバージョンを反映するようにパスを調整します。

    Import-Module 'C:\Program Files\WindowsPowerShell\Modules\Azure\5.3.0\Azure.psd1'
    Import-Module 'C:\Program Files\WindowsPowerShell\Modules\Azure\5.3.0\ExpressRoute\ExpressRoute.psd1'
    
  3. Azure アカウントにサインインするには、管理者特権で PowerShell コンソールを開き、アカウントに接続します。 次の例を使用すると、Service Management モジュールを使用した接続に役立ちます。

    Add-AzureAccount
    

新しい仮想ネットワークおよび共存する接続を作成するには

この手順に従うと、VNet を作成し、共存するサイト間接続と ExpressRoute 接続を作成できます。

  1. Azure PowerShell コマンドレットの最新版をインストールする必要があります。 この構成に使用するコマンドレットは、使い慣れたコマンドレットとは少し異なる場合があります。 必ず、これらの手順で指定されているコマンドレットを使用してください。

  2. 仮想ネットワークのスキーマを作成します。 構成スキーマの詳細については、「 Azure Virtual Network の構成スキーマ」を参照してください。

    スキーマを作成する場合は、次の値を使用していることを確認します。

    • 仮想ネットワークのゲートウェイ サブネットは /27 またはこれより短いプレフィックス (/26 や /25 など) にする必要があります。
    • ゲートウェイ接続の種類は Dedicated です。
    <VirtualNetworkSite name="MyAzureVNET" Location="Central US">
      <AddressSpace>
        <AddressPrefix>10.17.159.192/26</AddressPrefix>
      </AddressSpace>
      <Subnets>
        <Subnet name="Subnet-1">
          <AddressPrefix>10.17.159.192/27</AddressPrefix>
        </Subnet>
        <Subnet name="GatewaySubnet">
          <AddressPrefix>10.17.159.224/27</AddressPrefix>
          /Subnet>
      </Subnets>
      <Gateway>
        <ConnectionsToLocalNetwork>
          <LocalNetworkSiteRef name="MyLocalNetwork">
            <Connection type="Dedicated" />
          </LocalNetworkSiteRef>
        </ConnectionsToLocalNetwork>
      </Gateway>
    </VirtualNetworkSite>
    
  3. xml スキーマ ファイルを作成して構成した後、ファイルをアップロードして仮想ネットワークを作成します。

    次のコマンドレットを使用してファイルをアップロードし、値を自身の値に置き換えます。

    Set-AzureVNetConfig -ConfigurationPath 'C:\NetworkConfig.xml'
    
  4. ExpressRoute ゲートウェイを作成します。 GatewaySKU を StandardHighPerformance、または UltraPerformance に指定し、GatewayType を DynamicRouting に指定します。

    次のサンプルを使用して、自身の値に置き換えます。

    New-AzureVNetGateway -VNetName MyAzureVNET -GatewayType DynamicRouting -GatewaySKU HighPerformance
    
  5. ExpressRoute ゲートウェイを ExpressRoute 回線にリンクします。 この手順が完了すると、オンプレミスのネットワークと Azure 間の接続が ExpressRoute 経由で確立されます。

    New-AzureDedicatedCircuitLink -ServiceKey <service-key> -VNetName MyAzureVNET
    
  6. 次に、サイト間 VPN ゲートウェイを作成します。 GatewaySKU を StandardHighPerformance、または UltraPerformance にし、GatewayType を DynamicRouting にする必要があります。

    New-AzureVirtualNetworkGateway -VNetName MyAzureVNET -GatewayName S2SVPN -GatewayType DynamicRouting -GatewaySKU  HighPerformance
    

    ゲートウェイ ID とパブリック IP を含む仮想ネットワーク ゲートウェイ設定を取得するには、Get-AzureVirtualNetworkGateway コマンドレットを使用します。

    Get-AzureVirtualNetworkGateway
    
    GatewayId            : 348ae011-ffa9-4add-b530-7cb30010565e
    GatewayName          : S2SVPN
    LastEventData        :
    GatewayType          : DynamicRouting
    LastEventTimeStamp   : 5/29/2015 4:41:41 PM
    LastEventMessage     : Successfully created a gateway for the following virtual network: GNSDesMoines
    LastEventID          : 23002
    State                : Provisioned
    VIPAddress           : 104.43.x.y
    DefaultSite          :
    GatewaySKU           : HighPerformance
    Location             :
    VnetId               : 979aabcf-e47f-4136-ab9b-b4780c1e1bd5
    SubnetId             :
    EnableBgp            : False
    OperationDescription : Get-AzureVirtualNetworkGateway
    OperationId          : 42773656-85e1-a6b6-8705-35473f1e6f6a
    OperationStatus      : Succeeded
    
  7. ローカル サイト VPN ゲートウェイのエンティティを作成します。 このコマンドは、オンプレミスの VPN ゲートウェイを構成しません。 代わりに、パブリック IP やオンプレミスのアドレス空間などのローカル ゲートウェイ設定を指定できるため、Azure VPN ゲートウェイがこれに接続できます。

    重要

    サイト間 VPN のローカル サイトは、netcfg で定義されていません。 代わりに、このコマンドレットを使用してローカル サイトのパラメーターを指定する必要があります。 ポータルまたは netcfg ファイルを使用して、これを定義することはできません。

    次のサンプルを使用して、自身の値に置き換えます。

    New-AzureLocalNetworkGateway -GatewayName MyLocalNetwork -IpAddress <MyLocalGatewayIp> -AddressSpace <MyLocalNetworkAddress>
    

    注意

    ローカル ネットワークに複数のルートがある場合は、それらすべてを配列として渡すことができます。 $MyLocalNetworkAddress = @("10.1.2.0/24","10.1.3.0/24","10.2.1.0/24")

    ゲートウェイ ID とパブリック IP を含む仮想ネットワーク ゲートウェイ設定を取得するには、Get-AzureVirtualNetworkGateway コマンドレットを使用します。 次の例を参照してください。

    Get-AzureLocalNetworkGateway
    
    GatewayId            : 532cb428-8c8c-4596-9a4f-7ae3a9fcd01b
    GatewayName          : MyLocalNetwork
    IpAddress            : 23.39.x.y
    AddressSpace         : {10.1.2.0/24}
    OperationDescription : Get-AzureLocalNetworkGateway
    OperationId          : ddc4bfae-502c-adc7-bd7d-1efbc00b3fe5
    OperationStatus      : Succeeded
    
  8. ローカルの VPN デバイスを構成して新しいゲートウェイに接続します。 VPN デバイスを構成するときに、手順 6 で取得した情報を使用します。 VPN デバイス構成の詳細については、「 VPN デバイスの構成」を参照してください。

  9. Azure のサイト間 VPN ゲートウェイをローカル ゲートウェイにリンクします。

    この例では、connectedEntityId がローカル ゲートウェイ ID です。これは、Get-AzureLocalNetworkGateway を実行すると見つけることができます。 Get-AzureVirtualNetworkGateway コマンドレットを使用すると、virtualNetworkGatewayId を見つけることができます。 この手順の後に、ローカル ネットワークと Azure 間の接続がサイト間 VPN 接続経由で確立されます。

    New-AzureVirtualNetworkGatewayConnection -connectedEntityId <local-network-gateway-id> -gatewayConnectionName Azure2Local -gatewayConnectionType IPsec -sharedKey abc123 -virtualNetworkGatewayId <azure-s2s-vpn-gateway-id>
    

既存の VNet で共存する接続を構成するには

既存の仮想ネットワークがある場合は、ゲートウェイ サブネットのサイズを確認します。 ゲートウェイ サブネットが /28 または /29 の場合、まず仮想ネットワーク ゲートウェイを削除してから、ゲートウェイ サブネットのサイズを増やしてください。 このセクションの手順では、その方法を説明します。

ゲートウェイ サブネットが /27 以上で、仮想ネットワークへの接続が ExpressRoute 経由の場合、この手順をスキップして、前のセクションの「手順 6 - サイト間 VPN ゲートウェイの作成手順」に進んでください。

注意

この既存のゲートウェイを削除すると、この構成で作業している間、ローカル環境から仮想ネットワークに接続できなくなります。

  1. Azure Resource Manager PowerShell コマンドレットの最新版をインストールする必要があります。 この構成に使用するコマンドレットは、使い慣れたコマンドレットとは少し異なる場合があります。 必ず、これらの手順で指定されているコマンドレットを使用してください。

  2. 既存の ExpressRoute またはサイト間 VPN ゲートウェイを削除します。 次のコマンドレットを使用して、自身の値に置き換えます。

    Remove-AzureVNetGateway –VnetName MyAzureVNET
    
  3. 仮想ネットワークのスキーマをエクスポートします。 次の PowerShell コマンドレットを使用して、自身の値に置き換えます。

    Get-AzureVNetConfig –ExportToFile "C:\NetworkConfig.xml"
    
  4. ゲートウェイ サブネットが /27 またはこれより短いプレフィックス (/26 や /25 など) になるように、ネットワーク構成ファイルのスキーマを編集します。 次の例を参照してください。

    Note

    仮想ネットワーク内の IP アドレスが不足していてゲートウェイ サブネットのサイズを増やせない場合は、IP アドレス空間を追加する必要があります。 構成スキーマの詳細については、「 Azure Virtual Network の構成スキーマ」を参照してください。

    <Subnet name="GatewaySubnet">
      <AddressPrefix>10.17.159.224/27</AddressPrefix>
    </Subnet>
    
  5. 以前のゲートウェイがサイト間 VPN であった場合は、接続の種類を Dedicatedに変更する必要もあります。

    <Gateway>
      <ConnectionsToLocalNetwork>
        <LocalNetworkSiteRef name="MyLocalNetwork">
          <Connection type="Dedicated" />
        </LocalNetworkSiteRef>
      </ConnectionsToLocalNetwork>
    </Gateway>
    
  6. この時点では、VNet にゲートウェイがありません。 新しいゲートウェイを作成し、接続を完了するには、前述の 手順 4、ExpressRoute ゲートウェイの作成手順に進みます。

次のステップ

ExpressRoute の詳細については、「 ExpressRoute の FAQ