既存の VPN ゲートウェイ接続を使用してサイト間接続を VNet に追加する (クラシック)

この記事では、PowerShell を使用して、クラシック (レガシ) デプロイ モデルを使用している既存の接続がある VPN ゲートウェイに、サイト間 (S2S) 接続を追加する方法について説明します。 この種類の接続は、"マルチサイト" 接続と呼ばれることがあります。 こちらの手順は、ExpressRoute とサイト間が共存する接続の構成には適用されません。

この記事の手順は、クラシック (レガシ) デプロイ モデルに適用されるもので、現在のデプロイ モデルである Resource Manager には適用されません。 特にクラシック デプロイ モデルで作業したい場合を除き、この記事の Resource Manager バージョンを使用することをお勧めします

Note

この記事は、クラシック (レガシ) デプロイ モデルのために書かれています。 代わりに、最新の Azure デプロイ モデルを使用することをお勧めします。 Resource Manager デプロイ モデルは、最新のデプロイ モデルであり、クラシック デプロイ モデルよりも多くのオプションと機能の互換性が提供されています。 これら 2 つのデプロイ モデルの違いについて理解するには、「デプロイ モデルとリソースの状態を理解する」を参照してください。

この記事の別のバージョンを使用したい場合は、左側のペインの目次を使用します。

接続の概要

複数のオンプレミスのサイトを単一の仮想ネットワークに接続できます。 これは、ハイブリッドなクラウドのソリューションを構築する際は特に魅力的です。 Azure 仮想ネットワーク ゲートウェイに複数の接続を行うことは、他のサイト間接続に似ています。 実際、ゲートウェイが動的 (ルートベース) である限り、既存の Azure VPN ゲートウェイを使用できます。

お使いの仮想ネットワークに既に静的ゲートウェイが接続されている場合は、複数のサイトを対応するために仮想ネットワークを構築することなく、ゲートウェイ タイプを動的に変更できます。 ルーティング タイプを変更する前に、オンプレミスの VPN ゲートウェイがルートベースの VPN 構成をサポートしていることを確認します。

Diagram showing classic multi-site connection architecture.

考慮すべき点

ポータルを使用して、この仮想ネットワークに変更を加えることはできません。 ポータルを使用しないで、ネットワーク構成ファイルに変更を加える必要があります。 ポータルで変更を行っても、この仮想ネットワークのマルチサイトのリファレンス設定が上書きされます。

マルチサイトの手順を終える頃には、ネットワーク構成ファイルを使用することにも慣れていることでしょう。 しかし、複数の人がネットワーク構成の作業を行う場合、必ず全員がこの制限事項について知っておく必要があります。 これはまったくポータルを使うことができないという意味ではありません。 この特定の仮想ネットワークへの構成の変更を行うとき以外には使用できます。

開始する前に

構成を開始する前に、次の前提があることを確認してください。

  • 各オンプレミスのロケーションと互換性のある VPN ハードウェア 「Virtual Network に使用する VPN デバイスについて」を参照して、使用するデバイスが互換性のあるものであることを確認してください。
  • 各 VPN デバイスの外部接続用パブリック IPv4 IP アドレス。 この IP アドレスを NAT の内側に割り当てることはできません。 これは必要条件です。
  • VPN ハードウェアの構成に詳しい作業者 そのため、VPN デバイスの構成に精通している必要があり、そうでなければ精通している人と一緒に作業を行ってください。
  • 仮想ネットワークに使用する予定の IP アドレス範囲 (まだ 1 つも作成していない場合)。
  • 接続する各ローカル ネットワークの IP アドレス範囲。 接続しようとしている各ローカル ネットワーク サイトの IP アドレス範囲が重複していないことを確認する必要があります。 そうしないと、アップロード中の構成は、ポータルまたは REST API によって拒否されます。
    例えば、2 つのローカル ネットワーク サイトの両方が IP アドレス範囲 10.2.3.0/24 を含んでおり、送信先アドレスが 10.2.3.3 のパッケージを持っている場合、アドレス範囲が重複しているため、Azure はパッケージを送ろうとしているのがどちらのサイトなのかわかりません。 ルーティングの問題を避けるため、Azure は重複した範囲を持つ構成ファイルをアップロードすることを許可しません。

Azure PowerShell を使用する

クラシック デプロイ モデルを使って作業している場合、Azure Cloud Shell は使用できません。 代わりに、Azure サービス管理 (SM) PowerShell コマンドレットの最新バージョンを、お使いのコンピューターにローカルにインストールする必要があります。 これらのコマンドレットは、AzureRM または Az のコマンドレットとは異なります。 SM コマンドレットをインストールするには、サービス管理コマンドレットのインストールに関する記事を参照してください。 Azure PowerShell 全般の詳細については、Azure PowerShell のドキュメントを参照してください。

1.サイト間 VPN を作成する

動的ルーティング ゲートウェイを持つサイト間 VPN が既に存在する場合は、 仮想ネットワーク構成設定のエクスポートに進んでください。 まだ作成していない場合は、以下の作業を行います。

サイト間仮想ネットワークは既に存在するが、静的な (ポリシー ベースの) ルーティング ゲートウェイの場合:

  1. ゲートウェイ タイプを動的ルーティングに変更します。 マルチサイト VPN は動的 (ルート ベースとも呼ばれます) ルーティング ゲートウェイを必要とします。 ゲートウェイ タイプを変更するには、最初に既存のゲートウェイを削除し、新規で作成します。
  2. 新しいゲートウェイを構成し、VPN トンネルを作成します。 手順については、「SKU と VPN の種類の指定」を参照してください。 ルーティングの種類として [動的] が指定されていることを確認してください。

サイト間仮想ネットワークが存在しない場合:

  1. Azure クラシック ポータルでサイト間 VPN 接続を使用して Virtual Network を作成する」の手順に従って、サイト間仮想ネットワークを作成します。
  2. 次の手順により動的ルーティング ゲートウェイを構成します。VPN ゲートウェイの構成 必ずゲートウェイ タイプに動的ルーティングを選択してください。

2.ネットワーク構成ファイルをエクスポートする

管理者特権で PowerShell コンソールを開きます。 サービス管理に切り替えるには、このコマンドを使用します。

azure config mode asm

アカウントに接続します。 接続については、次の例を参考にしてください。

Add-AzureAccount

次のコマンドを実行して、Azure のネットワーク構成ファイルをエクスポートします。 必要に応じて、ファイルの場所を変更して別の場所にエクスポートすることもできます。

Get-AzureVNetConfig -ExportToFile C:\AzureNet\NetworkConfig.xml

3.ネットワーク構成ファイルを開く

前のステップでダウンロードしたネットワーク構成ファイルを開きます。 任意の xml エディターを使用してください。 ファイルは次のようになります。

<NetworkConfiguration xmlns:xsd="https://www.w3.org/2001/XMLSchema" xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/ServiceHosting/2011/07/NetworkConfiguration">
  <VirtualNetworkConfiguration>
    <LocalNetworkSites>
      <LocalNetworkSite name="Site1">
        <AddressSpace>
          <AddressPrefix>10.0.0.0/16</AddressPrefix>
          <AddressPrefix>10.1.0.0/16</AddressPrefix>
        </AddressSpace>
        <VPNGatewayAddress>131.2.3.4</VPNGatewayAddress>
      </LocalNetworkSite>
      <LocalNetworkSite name="Site2">
        <AddressSpace>
          <AddressPrefix>10.2.0.0/16</AddressPrefix>
          <AddressPrefix>10.3.0.0/16</AddressPrefix>
        </AddressSpace>
        <VPNGatewayAddress>131.4.5.6</VPNGatewayAddress>
      </LocalNetworkSite>
    </LocalNetworkSites>
    <VirtualNetworkSites>
      <VirtualNetworkSite name="VNet1" AffinityGroup="USWest">
        <AddressSpace>
          <AddressPrefix>10.20.0.0/16</AddressPrefix>
          <AddressPrefix>10.21.0.0/16</AddressPrefix>
        </AddressSpace>
        <Subnets>
          <Subnet name="FE">
            <AddressPrefix>10.20.0.0/24</AddressPrefix>
          </Subnet>
          <Subnet name="BE">
            <AddressPrefix>10.20.1.0/24</AddressPrefix>
          </Subnet>
          <Subnet name="GatewaySubnet">
            <AddressPrefix>10.20.2.0/29</AddressPrefix>
          </Subnet>
        </Subnets>
        <Gateway>
          <ConnectionsToLocalNetwork>
            <LocalNetworkSiteRef name="Site1">
              <Connection type="IPsec" />
            </LocalNetworkSiteRef>
          </ConnectionsToLocalNetwork>
        </Gateway>
      </VirtualNetworkSite>
    </VirtualNetworkSites>
  </VirtualNetworkConfiguration>
</NetworkConfiguration>

4.複数のサイト リファレンスを追加する

サイト リファレンスの情報を追加または削除する場合、ConnectionsToLocalNetwork/LocalNetworkSiteRef に対して構成の変更を行います。 新しいローカル サイトのリファレンスを追加することで、Azure が新しくトンネルを作成します。 下の例で、ネットワーク構成はシングル サイト接続のものです。 変更が完了したら、ファイルを保存します。

  <Gateway>
    <ConnectionsToLocalNetwork>
      <LocalNetworkSiteRef name="Site1"><Connection type="IPsec" /></LocalNetworkSiteRef>
    </ConnectionsToLocalNetwork>
  </Gateway>

さらにサイト参照を追加するには (複数サイト構成を作成するには)、次の例に示すように "LocalNetworkSiteRef" 行を追加するだけです。

  <Gateway>
    <ConnectionsToLocalNetwork>
      <LocalNetworkSiteRef name="Site1"><Connection type="IPsec" /></LocalNetworkSiteRef>
      <LocalNetworkSiteRef name="Site2"><Connection type="IPsec" /></LocalNetworkSiteRef>
    </ConnectionsToLocalNetwork>
  </Gateway>

5.ネットワーク構成ファイルをインポートする

ネットワーク構成ファイルをインポートします。 変更を加えてこのファイルをインポートすると、新しいトンネルが追加されます。 トンネルは先ほど作成した動的ゲートウェイを使用します。 PowerShell を使用して、ファイルをインポートできます。

6.キーをダウンロードする

新しいトンネルが追加されたら、PowerShell コマンドレット 'Get-AzureVNetGatewayKey' を使用して、各トンネルに対して IPsec/IKE 事前共有キーを取得します。

たとえば次のような点です。

Get-AzureVNetGatewayKey –VNetName "VNet1" –LocalNetworkSiteName "Site1"
Get-AzureVNetGatewayKey –VNetName "VNet1" –LocalNetworkSiteName "Site2"

必要に応じて、Get Virtual Network Gateway Shared Key REST API を使用して事前共有キーを取得することもできます。

7.接続の確認

マルチサイトのトンネルの状態を確認します。 各トンネルのキーをダウンロードしたら、接続を確認します。 下の例で示すように、'Get-AzureVnetConnection' を使用して、仮想ネットワーク トンネルの一覧を取得します。 VNet1 とは VNet の名前です。

Get-AzureVnetConnection -VNetName VNET1

戻り値の例:

    ConnectivityState         : Connected
    EgressBytesTransferred    : 661530
    IngressBytesTransferred   : 519207
    LastConnectionEstablished : 5/2/2014 2:51:40 PM
    LastEventID               : 23401
    LastEventMessage          : The connectivity state for the local network site 'Site1' changed from Not Connected to Connected.
    LastEventTimeStamp        : 5/2/2014 2:51:40 PM
    LocalNetworkSiteName      : Site1
    OperationDescription      : Get-AzureVNetConnection
    OperationId               : 7f68a8e6-51e9-9db4-88c2-16b8067fed7f
    OperationStatus           : Succeeded

    ConnectivityState         : Connected
    EgressBytesTransferred    : 789398
    IngressBytesTransferred   : 143908
    LastConnectionEstablished : 5/2/2014 3:20:40 PM
    LastEventID               : 23401
    LastEventMessage          : The connectivity state for the local network site 'Site2' changed from Not Connected to Connected.
    LastEventTimeStamp        : 5/2/2014 2:51:40 PM
    LocalNetworkSiteName      : Site2
    OperationDescription      : Get-AzureVNetConnection
    OperationId               : 7893b329-51e9-9db4-88c2-16b8067fed7f
    OperationStatus           : Succeeded

次のステップ

VPN Gateway について詳しくは、「 VPN Gateway について」を参照してください。