サイト間 VPN 接続を作成する - Azure CLI
この記事では、Azure CLI を使用して、オンプレミス ネットワークから仮想ネットワーク (VNet) へのサイト間 (S2S) VPN ゲートウェイ接続を作成する方法について説明します。
サイト間 VPN Gateway 接続は、IPsec/IKE (IKEv1 または IKEv2) VPN トンネルを介してオンプレミス ネットワークを Azure 仮想ネットワークに接続するために使用します。 この種類の接続では、外部接続用パブリック IP アドレスが割り当てられていてるオンプレミスの VPN デバイスが必要です。 この記事の手順では、共有キーを使用して、VPN ゲートウェイとオンプレミス VPN デバイスの間に接続を作成します。 VPN Gateway の詳細については、「VPN Gateway について」を参照してください。
開始する前に
構成を開始する前に、環境が次の条件を満たしていることを確認します。
機能しているルートベースの VPN ゲートウェイがあることを確認します。 VPN ゲートウェイを作成するには、VPN ゲートウェイの作成に関するページを参照してください。
オンプレミス ネットワーク構成に含まれている IP アドレス範囲になじみがない場合は、それらの詳細を提供できる担当者と連携する必要があります。 この構成を作成する場合は、Azure がオンプレミスの場所にルーティングする IP アドレスの範囲のプレフィックスを指定する必要があります。 オンプレミス ネットワークのサブネットと接続先の仮想ネットワーク サブネットが重複しないようにしなければなりません。
VPN デバイス:
- 互換性のある VPN デバイスがあり、それを構成できる人員がいることを確認します。 互換性のある VPN デバイスとデバイスの構成について詳しくは、VPN デバイスの概要に関する記事をご覧ください。
- VPN デバイスがアクティブ/アクティブ モード ゲートウェイをサポートしているかどうかを判別します。 この記事では、高可用性接続に推奨されるアクティブ/アクティブ モード VPN ゲートウェイを作成します。 アクティブ/アクティブ モードでは、両方のゲートウェイ VM インスタンスがアクティブであることが指定されます。 このモードでは、ゲートウェイ VM インスタンスごとに 1 つずつの、2 つのパブリック IP アドレスが必要です。 ゲートウェイ VM インスタンスごとに IP アドレスに接続するように VPN デバイスを構成します。
VPN デバイスでこのモードがサポートされていない場合、ゲートウェイでこのモードを有効にしないでください。 詳細については、「クロスプレミス接続と VNet 間接続用の高可用性接続を設計する」および「アクティブ/アクティブ モード VPN ゲートウェイについて」を参照してください。
この記事では、Azure CLI のバージョン 2.0 以降が必要です。
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 が参照できる名前を付け、接続を作成するオンプレミス 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 [IP address of your on-premises VPN device] --name Site1 --resource-group TestRG1 --local-address-prefixes 10.3.0.0/16 10.0.0.0/24
VPN デバイスの構成
オンプレミス ネットワークとのサイト間接続には VPN デバイスが必要です。 この手順では、VPN デバイスを構成します。 VPN デバイスを構成するときは、次の値が必要です。
[共有キー]: この共有キーは、サイト間 VPN 接続を作成するときに指定するものと同じです。 ここで紹介している例では、単純な共有キーを使用しています。 実際には、もっと複雑なキーを生成して使用することをお勧めします。
仮想ネットワーク ゲートウェイ インスタンスのパブリック IP アドレス: 各 VM インスタンスの IP アドレスを取得します。 ゲートウェイがアクティブ/アクティブ モードである場合、ゲートウェイ VM インスタンスごとに 1 つの IP アドレスがあります。 アクティブなゲートウェイ VM ごとに 1 つずつ、両方の IP アドレスを使用してデバイスを構成してください。 アクティブ/スタンバイ モード ゲートウェイの IP アドレスは 1 つのみです。
仮想ネットワーク ゲートウェイのパブリック IP アドレスを探すときには、az network public-ip list コマンドを使用します。 読みやすいように、出力は書式設定され、パブリック IP の一覧が表形式で表示されます。 この例では、VNet1GWpip1 は、パブリック 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 接続を作成します。 アクティブ/アクティブ モード ゲートウェイを使っている場合は (推奨)、ゲートウェイ VM インスタンスごとに個別に IP アドレスがあります。 高可用性接続を適切に構成するには、各 VM インスタンスと VPN デバイスの間にトンネルを確立する必要があります。 両方のトンネルが同じ接続の一部です。
接続の作成には、az network vpn-connection create コマンドを使用します。 共有キーは、VPN デバイスの構成に使用したものと同じ値にする必要があります。
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 と 10.3.0.0/16 です
az network local-gateway create --gateway-ip-address 23.99.221.164 --name Site2 -g TestRG1 --local-address-prefixes 10.0.0.0/24 10.3.0.0/16
ローカル ネットワーク ゲートウェイ IP アドレスのプレフィックスを変更するには (ゲートウェイに接続している場合)
ゲートウェイに接続している状態で IP アドレスのプレフィックスを追加または削除する場合には、az network local-gateway update を使ってプレフィックスを更新します。 これに伴い、VPN 接続のためにある程度のダウンタイムが発生します。
変更を加えるたびに、変更するプレフィックスだけでなく、プレフィックスの一覧全体を指定する必要があります。 この例では、10.0.0.0/24 と 10.3.0.0/16 が既に存在します。 更新にあたっては、追加する 10.5.0.0/16 と 10.6.0.0/16 も含め、プレフィックスを 4 つともすべて指定します。
az network local-gateway update --local-address-prefixes 10.0.0.0/24 10.3.0.0/16 10.5.0.0/16 10.6.0.0/16 --name VNet1toSite2 -g TestRG1
ローカル ネットワーク ゲートウェイの "gatewayIpAddress" を変更するには
VPN デバイスのパブリック IP アドレスを変更する場合は、更新された IP アドレスでローカル ネットワーク ゲートウェイを変更する必要があります。 ゲートウェイを変更するときは、必ずローカル ネットワーク ゲートウェイの既存の名前を指定してください。 別の名前を使用した場合には、既存のゲートウェイ情報が上書きされずに、新しいローカル ネットワーク ゲートウェイが作成されます。
ゲートウェイの 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 レプリケーションのデプロイ」を参照してください。