サイト間 VPN 接続を作成する - 共有キー認証 - Azure CLI
この記事では、Azure CLI を使用して、オンプレミス ネットワークから仮想ネットワークへのサイト間 (S2S) VPN Gateway 接続を作成する方法について説明します。 また、この構成の作成には、次のリストから別のオプションを選択して、別のデプロイ ツールを使用することもできます。
サイト間 VPN Gateway 接続は、IPsec/IKE (IKEv1 または IKEv2) VPN トンネルを介してオンプレミス ネットワークを Azure 仮想ネットワークに接続するために使用します。 この種類の接続では、外部接続用パブリック IP アドレスが割り当てられていてるオンプレミスの VPN デバイスが必要です。 VPN Gateway の詳細については、「VPN Gateway について」を参照してください。
開始する前に
構成を開始する前に、環境が次の条件を満たしていることを確認します。
- アクティブなサブスクリプションが含まれる Azure アカウントを用意します。 アカウントがない場合は、ここで無料で作成できます。
- オンプレミス ネットワーク構成に含まれている IP アドレス範囲になじみがない場合は、それらの詳細を提供できる担当者と連携する必要があります。 この構成を作成する場合は、Azure がオンプレミスの場所にルーティングする IP アドレスの範囲のプレフィックスを指定する必要があります。 オンプレミス ネットワークのサブネットと接続先の仮想ネットワーク サブネットが重複しないようにしなければなりません。
- VPN デバイス:
- 互換性のある VPN デバイスがあり、それを構成できる人員がいることを確認します。 互換性のある VPN デバイスとデバイスの構成について詳しくは、VPN デバイスの概要に関する記事をご覧ください。
- VPN デバイスがアクティブ/アクティブ モード ゲートウェイをサポートしているかどうか確認します。 この記事では、高可用性接続に推奨されるアクティブ/アクティブ モード VPN ゲートウェイを作成します。 アクティブ/アクティブ モードでは、両方のゲートウェイ VM インスタンスがアクティブであることが指定されます。 このモードでは、ゲートウェイ VM インスタンスごとに 1 つずつの、2 つのパブリック IP アドレスが必要です。 ゲートウェイ VM インスタンスごとに IP アドレスに接続するように VPN デバイスを構成します。
VPN デバイスでこのモードがサポートされていない場合、ゲートウェイでこのモードを有効にしないでください。 詳細については、「クロスプレミス接続と VNet 間接続用の高可用性接続を設計する」および「アクティブ/アクティブ モード VPN ゲートウェイについて」を参照してください。
Azure Cloud Shell で Bash 環境を使用します。 詳細については、「Azure Cloud Shell の Bash のクイックスタート」を参照してください。
CLI リファレンス コマンドをローカルで実行する場合、Azure CLI をインストールします。 Windows または macOS で実行している場合は、Docker コンテナーで Azure CLI を実行することを検討してください。 詳細については、「Docker コンテナーで Azure CLI を実行する方法」を参照してください。
ローカル インストールを使用する場合は、az login コマンドを使用して Azure CLI にサインインします。 認証プロセスを完了するには、ターミナルに表示される手順に従います。 その他のサインイン オプションについては、Azure CLI でのサインインに関するページを参照してください。
初回使用時にインストールを求められたら、Azure CLI 拡張機能をインストールします。 拡張機能の詳細については、Azure CLI で拡張機能を使用する方法に関するページを参照してください。
az version を実行し、インストールされているバージョンおよび依存ライブラリを検索します。 最新バージョンにアップグレードするには、az upgrade を実行します。
- この記事では、Azure CLI のバージョン 2.0 以降が必要です。 Azure Cloud Shell を使用している場合は、最新バージョンが既にインストールされています。
サブスクリプションへの接続
CLI をローカルで実行することを選択した場合、お使いのサブスクリプションに接続します。 ブラウザーで Azure Cloud Shell を使用している場合は、お使いのサブスクリプションに接続する必要はありません。 ただし、接続した後に、正しいサブスクリプションを使用していることを確認したい場合もあります。
az login コマンドで Azure サブスクリプションにサインインし、画面上の指示に従います。 サインインの詳細については、「Azure CLI を使ってみる」を参照してください。
az login
複数の Azure サブスクリプションを所有している場合は、アカウントのサブスクリプションが一覧表示されます。
az account list --all
使用するサブスクリプションを指定します。
az account set --subscription <replace_with_your_subscription_id>
リソース グループを作成する
次の例では、"TestRG1" という名前のリソース グループを "eastus" の場所に作成します。 仮想ネットワークを作成するリージョンにリソース グループが既にある場合は、代わりにそのリソース グループを使用できます。
az group create --name TestRG1 --location eastus
仮想ネットワークの作成
まだ仮想ネットワークがない場合は、az network vnet create コマンドを使って作成します。 仮想ネットワークを作成する際は、指定したアドレス空間がオンプレミス ネットワーク内に存在するあらゆるアドレス空間と重複していないことを確認します。
Note
この仮想ネットワークをオンプレミスの場所に接続するには、オンプレミスのネットワーク管理者と調整を行って、この仮想ネットワーク専用に使用できる IP アドレスの範囲を見つけ出す必要があります。 VPN 接続の両側に重複するアドレス範囲が存在する場合、トラフィックが期待どおりにルーティングされない可能性があります。 また、この仮想ネットワークを別の仮想ネットワークに接続する場合、アドレス空間を別の仮想ネットワークと重複させることはできません。 したがって、慎重にネットワーク構成を計画してください。
次の例では、"VNet1" という名前の仮想ネットワークと "Subnet1" というサブネットを作成します。
az network vnet create --name VNet1 --resource-group TestRG1 --address-prefix 10.1.0.0/16 --location eastus --subnet-name Subnet1 --subnet-prefix 10.1.0.0/24
ゲートウェイ サブネットを作成する
仮想ネットワーク ゲートウェイは、"ゲートウェイ サブネット" と呼ばれる特定のサブネットを使用します。 ゲートウェイ サブネットは、仮想ネットワークの構成時に指定した仮想ネットワーク IP アドレス範囲に含まれます。 そこには、仮想ネットワーク ゲートウェイのリソースやサービスによって使用される IP アドレスが含まれます。 ゲートウェイのリソースを Azure でデプロイするためには、サブネットに "GatewaySubnet" という名前を付ける必要があります。 異なるサブネットを指定してゲートウェイのリソースをデプロイすることはできません。 "GatewaySubnet" という名前のサブネットが存在しない場合、VPN ゲートウェイを作成するときにエラーが発生します。
ゲートウェイ サブネットを作成するときに、サブネットに含まれる IP アドレスの数を指定します。 必要な IP アドレスの数は、作成する VPN ゲートウェイの構成によって異なります。 一部の構成では、他の構成よりも多くの IP アドレスを割り当てる必要があります。 作成するゲートウェイ サブネットには /27 または /28 を使用することをお勧めします。
アドレス空間がサブネットと重複していることを示すエラーや、ご使用の仮想ネットワークのアドレス空間内にサブネットが存在しないことを示すエラーが表示された場合は、VNet のアドレス範囲をチェックしてください。 仮想ネットワーク用に作成したアドレス範囲から、十分な IP アドレスを確保できない場合があります。 たとえば、既定のサブネットがアドレス範囲全体にわたる場合、新たに別のサブネットを作成するだけの IP アドレスは残っていません。 既存のアドレス空間内のサブネットを調整して IP アドレスを解放するか、または新たに別のアドレス範囲を指定して、そこにゲートウェイ サブネットを作成してください。
ゲートウェイ サブネットを作成するには、azure network vnet subnet create コマンドを使用します。
az network vnet subnet create --address-prefix 10.1.255.0/27 --name GatewaySubnet --resource-group TestRG1 --vnet-name VNet1
重要
ゲートウェイ サブネット上のネットワーク セキュリティ グループ (NSG) はサポートされていません。 ネットワーク セキュリティ グループをこのサブネットに関連付けると、仮想ネットワーク ゲートウェイ (VPN と ExpressRoute ゲートウェイ) が想定どおりに機能しなくなる可能性があります。 ネットワーク セキュリティ グループの詳細については、「ネットワーク セキュリティ グループ (NSG) について」を参照してください。
ローカル ネットワーク ゲートウェイを作成する
ローカル ネットワーク ゲートウェイは通常、オンプレミスの場所を指します。 サイトに Azure が参照できる名前を付け、接続を作成するオンプレミス VPN デバイスの IP アドレスを指定します。 また、VPN ゲートウェイを介して VPN デバイスにルーティングされる IP アドレスのプレフィックスも指定します。 指定するアドレスのプレフィックスは、オンプレミス ネットワークのプレフィックスです。 オンプレミス ネットワークが変わった場合は、プレフィックスを簡単に更新できます。
次の値を使用します。
- --gateway-ip-address は、オンプレミス VPN デバイスの IP アドレスです。
- --local-address-prefixes は、オンプレミスのアドレス空間です。
複数のアドレス プレフィックスを含むローカル ネットワーク ゲートウェイを追加するには、az network local-gateway create コマンドを使用します。
az network local-gateway create --gateway-ip-address 203.0.133.8 --name Site1 --resource-group TestRG1 --local-address-prefixes 192.168.1.0/24 192.168.3.0/24
パブリック IP アドレスの要求
VPN ゲートウェイには、パブリック IP アドレスが必要です。 アクティブ/アクティブ ゲートウェイを作成する場合 (推奨)、2 つのパブリック IP アドレスを要求する必要があります。 アクティブ/アクティブ ゲートウェイの構成の詳細については、最初に IP アドレス リソースを要求し、仮想ネットワーク ゲートウェイを作成するときにそれを参照する方法の詳細を参照してください。 IP アドレスは、VPN ゲートウェイの作成時にリソースに対して割り当てられます。 パブリック IP アドレスが変わるのは、ゲートウェイが削除され、再度作成されたときのみです。 VPN ゲートウェイのサイズ変更、リセット、その他の内部メンテナンス/アップグレードでは、IP アドレスは変わりません。 Basic ゲートウェイ SKU を使用して VPN Gateway を作成する場合は、次の値 --allocation-method Dynamic --sku Basic
でパブリック IP を要求します。
パブリック IP アドレスを要求するには、az network public-ip create コマンドを使用します。
az network public-ip create --name VNet1GWpip1 --resource-group TestRG1 --allocation-method Static --sku Standard --version IPv4 --zone 1 2 3
アクティブ/アクティブ ゲートウェイを作成するには (推奨)、2 つ目のパブリック IP を要求します。
az network public-ip create --name VNet1GWpip2 --resource-group TestRG1 --allocation-method Static --sku Standard --version IPv4 --zone 1 2 3
VPN ゲートウェイを作成する
仮想ネットワーク VPN ゲートウェイを作成します。 選択したゲートウェイ SKU によっては、ゲートウェイの作成に 45 分以上かかる場合も少なくありません。
次の値を使用します。
- サイト間構成の --gateway-type は Vpn です。 ゲートウェイの種類は常に、実装する構成に対応するものとなります。 詳細については、「ゲートウェイの種類」を参照してください。
- --vpn-type は RouteBased です。
- 使用するゲートウェイ SKU を選択します。 特定の SKU には構成の制限があります。 詳細については、「ゲートウェイの SKU」を参照してください。
VPN ゲートウェイの作成には、az network vnet-gateway create コマンドを使用します。 このコマンドの実行時に "--no-wait" パラメーターを使用した場合には、フィードバックや出力が表示されなくなります。 このパラメーターは、ゲートウェイをバックグラウンドで作成するためのものです。 SKU によっては、ゲートウェイの作成に 45 分以上かかります。
アクティブ/アクティブ モード ゲートウェイ
az network vnet-gateway create --name VNet1GW --public-ip-addresses VNet1GWpip1 VNet1GWpip2 --resource-group TestRG1 --vnet VNet1 --gateway-type Vpn --vpn-type RouteBased --sku VpnGw2AZ --vpn-gateway-generation Generation2 --no-wait
アクティブ/スタンバイ モード ゲートウェイ
az network vnet-gateway create --name VNet1GW --public-ip-addresses VNet1GWpip1 --resource-group TestRG1 --vnet VNet1 --gateway-type Vpn --vpn-type RouteBased --sku VpnGw2AZ --vpn-gateway-generation Generation2 --no-wait
VPN デバイスの構成
オンプレミス ネットワークとのサイト間接続には VPN デバイスが必要です。 この手順では、VPN デバイスを構成します。 VPN デバイスを構成するときは、次の値が必要です。
[共有キー]: この共有キーは、サイト間 VPN 接続を作成するときに指定するものと同じです。 ここで紹介している例では、単純な共有キーを使用しています。 実際には、もっと複雑なキーを生成して使用することをお勧めします。
仮想ネットワーク ゲートウェイ インスタンスのパブリック IP アドレス: 各 VM インスタンスの IP アドレスを取得します。 ゲートウェイがアクティブ/アクティブ モードである場合、ゲートウェイ VM インスタンスごとに 1 つの IP アドレスがあります。 アクティブなゲートウェイ VM ごとに 1 つずつ、両方の IP アドレスを使用してデバイスを構成してください。 アクティブ/スタンバイ モード ゲートウェイの IP アドレスは 1 つのみです。
Note
アクティブ/アクティブ モードの VPN ゲートウェイとのサイト間接続の場合は、各ゲートウェイ VM インスタンスにトンネルが確立されていることを確認してください。 1 つのゲートウェイ VM インスタンスのみにトンネルを確立すると、メンテナンス中に接続がダウンします。 VPN デバイスがこの設定に対応していない場合は、代わりにアクティブ/スタンバイ モード用にゲートウェイを構成してください。
仮想ネットワーク ゲートウェイのパブリック IP アドレスを探すときには、az network public-ip list コマンドを使用します。 読みやすいように、出力は書式設定され、パブリック IP の一覧が表形式で表示されます。
az network public-ip list --resource-group TestRG1 --output table
ご利用の VPN デバイスによっては、VPN デバイス構成スクリプトをダウンロードできる場合があります。 詳細については、VPN デバイス構成スクリプトのダウンロードに関するページを参照してください。
次のリンクには、構成の詳細についての情報が掲載されています。
適合する VPN デバイスについては、「VPN デバイスについて」を参照してください。
VPN デバイスを構成する前に、デバイスの互換性に関する既知の問題がないか確認します。
デバイスの構成設定へのリンクについては、検証済みの VPN デバイスに関するページを参照してください。 デバイス構成リンクはベストエフォート ベースで提供されていますが、最新の構成情報については常にデバイスの製造元に確認することをお勧めします。
この一覧には、テストしたバージョンが表示されます。 VPN デバイスの OS バージョンが一覧にない場合でも、互換性がある可能性があります。 デバイスの製造元に問い合わせてください。
VPN デバイス構成に関する基本情報については、「パートナー VPN デバイス構成の概要」を参照してください。
デバイス構成サンプルの編集については、サンプルの編集に関するセクションを参照してください。
暗号化の要件については、「About cryptographic requirements and Azure VPN gateways」(暗号化要件と Azure VPN ゲートウェイについて) を参照してください。
構成を完了するために必要なパラメーターについては、「既定の IPsec/IKE パラメーター」を参照してください。 この情報には、IKE バージョン、Diffie-Hellman (DH) グループ、認証方法、暗号化とハッシュ アルゴリズム、セキュリティ アソシエーション (SA) の有効期間、前方秘匿性 (PFS)、およびデッド ピア検出 (DPD) が含まれます。
IPsec/IKE ポリシーの構成手順については、サイト間 VPN と VNet 間のカスタム IPsec/IKE 接続ポリシーの構成に関するページを参照してください。
複数のポリシーベースの VPN デバイスを接続するには、「VPN ゲートウェイを複数のオンプレミスのポリシー ベースの VPN デバイスに接続する」を参照してください。
VPN 接続を作成する
仮想ネットワーク ゲートウェイとオンプレミス VPN デバイスとの間にサイト間 VPN 接続を作成します。 共有キーの値は VPN デバイスの構成された共有キーの値と一致する必要があるため、特に注意してください。
接続の作成には、az network vpn-connection create コマンドを使用します。 アクティブ/アクティブ モードなどの高可用性ゲートウェイ構成を作成する場合は、追加の接続を作成します。
az network vpn-connection create --name VNet1toSite1 --resource-group TestRG1 --vnet-gateway1 VNet1GW -l eastus --shared-key abc123 --local-gateway2 Site1
しばらくすると、接続が確立されます。
VPN 接続の確認
接続に成功したことを確認するには、az network vpn-connection show コマンドを使用します。 この例では、"--name" はテストする接続の名前を示しています。 接続が確立中の場合は、接続状態は "Connecting" と表示されます。 接続が確立されると、状態は "Connected" に変更されます。 環境の値を使用して次の例を変更します。
az network vpn-connection show --name <connection-name> --resource-group <resource-group-name>
別の方法で接続を確認する場合は、「VPN Gateway 接続の確認」を参照してください。
一般的なタスク
このセクションでは、使用頻度の高いコマンドのうち、サイト間構成の操作に役立つものを紹介しています。 CLI のネットワーク関連のコマンドの一覧については、Azure CLI のネットワーク関連のコマンドのページを参照してください。
ローカル ネットワーク ゲートウェイを表示するには
ローカル ネットワーク ゲートウェイの一覧を表示するには、az network local-gateway list コマンドを使用します。
az network local-gateway list --resource-group TestRG1
ローカル ネットワーク ゲートウェイ IP アドレスのプレフィックスを変更するには (ゲートウェイに接続していない場合)
ゲートウェイに接続していない場合に IP アドレスのプレフィックスを追加または削除するには、ローカル ネットワーク ゲートウェイの作成に使用するコマンド az network local-gateway create を使います。 このコマンドは、VPN デバイスのゲートウェイ IP アドレスの更新にも使用できます。 現在の設定を上書きするには、ローカル ネットワーク ゲートウェイの既存の名前を使用します。 別の名前を使用した場合には、既存のゲートウェイが上書きされずに、新しいローカル ネットワーク ゲートウェイが作成されます。
変更を加えるたびに、変更するプレフィックスだけでなく、プレフィックスの一覧全体を指定する必要があります。 今回は、保持する必要があるプレフィックスだけを指定します。 今回の場合、10.0.0.0/24 と 20.0.0.0/24 です。
az network local-gateway create --gateway-ip-address 23.99.221.164 --name Site2 -g TestRG1 --local-address-prefixes 10.0.0.0/24 20.0.0.0/24
ローカル ネットワーク ゲートウェイ IP アドレスのプレフィックスを変更するには (ゲートウェイに接続している場合)
ゲートウェイに接続している状態で IP アドレスのプレフィックスを追加または削除する場合には、az network local-gateway update を使ってプレフィックスを更新します。 これに伴い、VPN 接続のためにある程度のダウンタイムが発生します。 IP アドレスのプレフィックスを変更するときに、VPN ゲートウェイを削除する必要はありません。
変更を加えるたびに、変更するプレフィックスだけでなく、プレフィックスの一覧全体を指定する必要があります。 この例では、10.0.0.0/24 と 20.0.0.0/24 が既に存在します。 更新にあたっては、追加する 30.0.0.0/24 と 40.0.0.0/24 も含め、プレフィックスを 4 つともすべて指定します。
az network local-gateway update --local-address-prefixes 10.0.0.0/24 20.0.0.0/24 30.0.0.0/24 40.0.0.0/24 --name VNet1toSite2 -g TestRG1
ローカル ネットワーク ゲートウェイの "gatewayIpAddress" を変更するには
接続先の VPN デバイスのパブリック IP アドレスが変更された場合には、ローカル ネットワーク ゲートウェイを変更してアドレスの変更を反映する必要があります。 ゲートウェイの IP アドレスは、既存の VPN ゲートウェイ接続 (がある場合には、その接続) を削除することなく変更できます。 ゲートウェイの IP アドレスを変更するには、az network local-gateway update コマンドを使用します。値 "Site2" と "TestRG1" は独自の値に置き換えてください。
az network local-gateway update --gateway-ip-address 23.99.222.170 --name Site2 --resource-group TestRG1
出力に表示されている IP アドレスが正しいことを確認します。
"gatewayIpAddress": "23.99.222.170",
共有キーの値を確認するには
共有キーの値が VPN デバイスの構成に使用したものと同じ値であることを確認します。 異なる場合は、デバイスの値を使用して接続をもう一度実行するか、返された値でデバイスを更新します。 値が一致する必要があります。 共有キーを表示するには、az network vpn-connection-list を使用します。
az network vpn-connection shared-key show --connection-name VNet1toSite2 --resource-group TestRG1
VPN ゲートウェイのパブリック IP アドレスを表示するには
仮想ネットワーク ゲートウェイのパブリック IP アドレスを探すときには、az network public-ip list コマンドを使用します。 読みやすいように、この例の出力には書式を設定し、パブリック IP の一覧が表形式で表示されるようにしてあります。
az network public-ip list --resource-group TestRG1 --output table
次のステップ
- BGP について詳しくは、BGP の概要と BGP の構成方法に関する記事をご覧ください。
- 強制トンネリングについては、強制トンネリングに関する記事を参照してください。
- 高可用性のアクティブ/アクティブ接続については、「高可用性のクロスプレミス接続および VNet 間接続」を参照してください。
- ネットワーク関連の Azure CLI コマンドの一覧については、Azure CLI に関するページを参照してください。
- Azure Resource Manager テンプレートを使用してサイト間 VPN 接続を作成する方法については、「サイト間 VPN 接続の作成」を参照してください。
- Azure Resource Manager テンプレートを使用して VNet 間 VPN 接続を作成する方法については、「HBase geo レプリケーションのデプロイ」を参照してください。