仮想ネットワーク ピアリングを作成する - Resource Manager、異なるサブスクリプション、および Azure Active Directory テナント

このチュートリアルでは、Resource Manager で作成された仮想ネットワーク間に仮想ネットワーク ピアリングを作成する方法について説明します。 異なる Azure Active Directory (Azure AD) テナントに属している可能性のあるさまざまなサブスクリプションに仮想ネットワークが存在します。 2 つの仮想ネットワークをピアリングすると、別々の仮想ネットワークに存在するリソースが、あたかも同じ仮想ネットワーク内に存在するかのような帯域幅と待ち時間で相互に通信を行うことができます。 詳しくは、「仮想ネットワーク ピアリング」をご覧ください。

仮想ネットワークのサブスクリプションが同じか異なるかに応じて、仮想ネットワーク ピアリングを作成する手順は異なります。 クラシック デプロイ モデルで作成されたネットワークのピアリング手順は異なります。 デプロイ モデルの詳細については、「Azure デプロイ モデル」を参照してください。

他のシナリオで仮想ネットワークを作成する方法については、次の表で目的のシナリオを選択してください。

Azure デプロイメント モデル Azure サブスクリプション
両方とも Resource Manager 同じ
一方が Resource Manager、もう一方がクラシック 同じ
一方が Resource Manager、もう一方がクラシック 異なる

クラシック デプロイ モデルでデプロイされた 2 つの仮想ネットワークの間に、仮想ネットワーク ピアリングを作成することはできません。 どちらもクラシック デプロイ モデルで作成された仮想ネットワークを接続する必要がある場合は、Azure VPN Gateway を使ってそれらの仮想ネットワークを接続できます。

このチュートリアルでは同じリージョンで複数の仮想ネットワークをピアリングします。 異なるサポート対象リージョン間での仮想ネットワーク ピアリングも可能です。 仮想ネットワークのピアリングの前に、ピアリングの要件と制約をよく理解しておくことをお勧めします。

前提条件

  • 2 つのアクティブなサブスクリプションを持つ 1 つ以上の Azure アカウント。 無料でアカウントを作成できます

  • 1 つの Azure アカウント (両方のサブスクリプションにアクセス許可を持つもの)、または各サブスクリプションにある 1 つのアカウント (仮想ネットワーク ピアリングを作成できる適切なアクセス許可を持つもの)。 アクセス許可の一覧については、仮想ネットワークのピアリングのアクセス許可に関するページをご覧ください。

    • 異なるサブスクリプションと Active Directory テナントに仮想ネットワークがある場合は、各テナントのユーザーを、反対側のテナントでゲストとして追加します。 ゲスト ユーザーの詳細については、「Azure portal で Azure Active Directory B2B コラボレーション ユーザーを追加する」を参照してください。

    • 各ユーザーは、反対側の Azure Active Directory テナントからのゲスト ユーザーの招待を受け入れる必要があります。

  • 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.31.0 以降が必要です。 Azure Cloud Shell を使用している場合は、最新バージョンが既にインストールされています。

  • ローカルにインストールされた Azure PowerShell または Azure Cloud Shell。

  • Azure PowerShell にサインインし、この機能を使用するサブスクリプションが選択されていることを確認します。 詳細については、「Azure PowerShell を使用してサインインする」を参照してください。

  • Az.Network モジュールが 4.3.0 以降であることを確認します。 インストールされているモジュールを確認するには、コマンドGet-InstalledModule -Name "Az.Network"を使用します。 モジュールの更新が必要な場合は、必要に応じて Update-Module -Name Az.Network コマンドを使用します。

PowerShell をインストールしてローカルで使用する場合、この記事では Azure PowerShell モジュール バージョン 5.4.1 以降が必要になります。 インストールされているバージョンを確認するには、Get-Module -ListAvailable Az を実行します。 アップグレードする必要がある場合は、Azure PowerShell モジュールのインストールに関するページを参照してください。 PowerShell をローカルで実行している場合、Connect-AzAccount を実行して Azure との接続を作成することも必要です。

次の手順では、異なるサブスクリプションと Azure Active Directory テナント内の仮想ネットワークをピアリングする方法について説明します。

両方のサブスクリプションにアクセス許可を持つ同じアカウントを使うか、各サブスクリプションで個別のアカウントを使ってピアリングを設定できます。 両方のサブスクリプションにアクセス許可を持つアカウントは、ポータルからサインアウトしてサインインし、アクセス許可を割り当てることなく、すべての手順を完了できます。

この記事の手順では、次のリソースとアカウントの例を使います。

ユーザー アカウント Resource group サブスクリプション 仮想ネットワーク
UserA myResourceGroupA SubscriptionA myVNetA
UserB myResourceGroupB SubscriptionB myVNetB

仮想ネットワークを作成する - myVNetA

Note

1 つのアカウントを使って手順を完了する場合は、ポータルからログアウトし、別のユーザーに仮想ネットワークへのアクセス許可を割り当てる手順をスキップできます。

  1. Azure portalUserA としてサインインします。

  2. ポータルの上部にある検索ボックスに「仮想ネットワーク」と入力します。 検索結果で、[仮想ネットワーク] を選択します。

  3. [+ 作成] を選択します。

  4. [仮想ネットワークの作成][基本] タブで、次の情報を入力するか選びます。

    設定
    プロジェクトの詳細
    サブスクリプション [SubscriptionA] を選びます。
    リソース グループ [新規作成] を選択します。
    [名前] に「myResourceGroupA」と入力します。

    を選択します。
    インスタンスの詳細
    Name myVNetA」と入力します
    リージョン リージョンを選択します。
  5. 次へ:[次へ: IP アドレス] を選択します。

  6. [IPv4 アドレス空間] に「10.1.0.0/16」と入力します。

  7. [+ サブネットの追加] を選択します。

  8. 次の情報を入力または選択します。

    設定
    サブネット名 mySubnet」と入力します。
    サブネットのアドレス範囲 10.1.0.0/24」と入力します。
  9. [追加] を選択します。

  10. [Review + create](レビュー + 作成) を選択します。

  11. [作成] を選択します

UserB にアクセス許可を割り当てる

ピアリングする他のサブスクリプションのユーザー アカウントを、以前に作成したネットワークに追加する必要があります。 両方のサブスクリプションに 1 つのアカウントを使っている場合は、このセクションをスキップできます。

  1. UserA としてポータルにサインインしたままにします。

  2. ポータルの上部にある検索ボックスに「仮想ネットワーク」と入力します。 検索結果で、[仮想ネットワーク] を選択します。

  3. [myVNetA] を選びます。

  4. [アクセス制御 (IAM)] を選択します。

  5. [+ 追加] ->[ロールの割り当ての追加] を選びます。

  6. [ロール] タブの [ロールの割り当ての追加] で、[ネットワーク共同作成者] を選びます。

  7. [次へ] を選択します。

  8. [メンバー] タブで、[+ メンバーの選択] を選びます。

  9. 検索ボックスの [メンバーの選択] に「UserB」と入力します。

  10. [選択] を選択します。

  11. [レビューと割り当て] を選択します。

  12. [レビューと割り当て] を選択します。

myVNetA のリソース ID を取得する

  1. UserA としてポータルにサインインしたままにします。

  2. ポータルの上部にある検索ボックスに「仮想ネットワーク」と入力します。 検索結果で、[仮想ネットワーク] を選択します。

  3. [myVNetA] を選びます。

  4. [設定][プロパティ] を選択します。

  5. [リソース ID] フィールドの情報をコピーし、後の手順のために保存しておきます。 リソース ID は次の例のようになります。/subscriptions/<Subscription Id>/resourceGroups/myResourceGroupA/providers/Microsoft.Network/virtualNetworks/myVnetA

  6. UserA としてポータルからサインアウトします。

仮想ネットワークを作成する - myVNetB

このセクションでは、UserB としてサインインし、myVNetA へのピアリング接続用の仮想ネットワークを作成します。

  1. UserB としてポータルにサインインします。 両方のサブスクリプションに 1 つのアカウントを使っている場合は、ポータルで SubscriptionB に変更します。

  2. ポータルの上部にある検索ボックスに「仮想ネットワーク」と入力します。 検索結果で、[仮想ネットワーク] を選択します。

  3. [+ 作成] を選択します。

  4. [仮想ネットワークの作成][基本] タブで、次の情報を入力するか選びます。

    設定
    プロジェクトの詳細
    サブスクリプション [SubscriptionB] を選びます。
    リソース グループ [新規作成] を選択します。
    [名前] に「myResourceGroupB」と入力します。

    を選択します。
    インスタンスの詳細
    Name myVNetB」と入力します
    リージョン リージョンを選択します。
  5. 次へ:[次へ: IP アドレス] を選択します。

  6. [IPv4 アドレス空間] に「10.2.0.0/16」と入力します。

  7. [+ サブネットの追加] を選択します。

  8. 次の情報を入力または選択します。

    設定
    サブネット名 mySubnet」と入力します。
    サブネットのアドレス範囲 10.2.0.0/24」と入力します。
  9. [追加] を選択します。

  10. [Review + create](レビュー + 作成) を選択します。

  11. [作成] を選択します

UserA にアクセス許可を割り当てる

ピアリングする他のサブスクリプションのユーザー アカウントを、以前に作成したネットワークに追加する必要があります。 両方のサブスクリプションに 1 つのアカウントを使っている場合は、このセクションをスキップできます。

  1. UserB としてポータルにサインインしたままにします。

  2. ポータルの上部にある検索ボックスに「仮想ネットワーク」と入力します。 検索結果で、[仮想ネットワーク] を選択します。

  3. [myVNetB] を選びます。

  4. [アクセス制御 (IAM)] を選択します。

  5. [+ 追加] ->[ロールの割り当ての追加] を選びます。

  6. [ロール] タブの [ロールの割り当ての追加] で、[ネットワーク共同作成者] を選びます。

  7. [次へ] を選択します。

  8. [メンバー] タブで、[+ メンバーの選択] を選びます。

  9. 検索ボックスの [メンバーの選択] に「UserA」と入力します。

  10. [選択] を選択します。

  11. [レビューと割り当て] を選択します。

  12. [レビューと割り当て] を選択します。

myVNetB のリソース ID を取得する

myVNetB のリソース ID は、myVNetA から myVNetB へのピアリング接続を設定するために必要です。 次の手順を使って myVNetB のリソース ID を取得します。

  1. UserB としてポータルにサインインしたままにします。

  2. ポータルの上部にある検索ボックスに「仮想ネットワーク」と入力します。 検索結果で、[仮想ネットワーク] を選択します。

  3. [myVNetB] を選びます。

  4. [設定][プロパティ] を選択します。

  5. [リソース ID] フィールドの情報をコピーし、後の手順のために保存しておきます。 リソース ID は次の例のようになります。/subscriptions/<Subscription Id>/resourceGroups/myResourceGroupB/providers/Microsoft.Network/virtualNetworks/myVnetB

  6. UserB としてポータルからサインアウトします。

ピアリング接続を作成する - myVNetA から myVNetB へ

ピアリング接続を設定するには、前の手順で得た myVNetBリソース ID が必要です。

  1. Azure portalUserA としてサインインします。 両方のサブスクリプションに 1 つのアカウントを使っている場合は、ポータルで SubscriptionA に変更します。

  2. ポータルの上部にある検索ボックスに「仮想ネットワーク」と入力します。 検索結果で、[仮想ネットワーク] を選択します。

  3. [myVNetA] を選びます。

  4. [ピアリング] を選びます。

  5. [+ 追加] を選択します。

  6. [ピアリングの追加] で、次の情報を入力するか選びます。

    設定
    この仮想ネットワーク
    [Peering link name](ピアリング リンク名) myVNetAToMyVNetB」と入力します。
    [Traffic to remote virtual network](リモート仮想ネットワークへのトラフィック) 既定値の [許可 (既定値)] のままにします。
    [Traffic forwarded from remote virtual network](リモート仮想ネットワークから転送されるトラフィック) 既定値の [許可 (既定値)] のままにします。
    仮想ネットワーク ゲートウェイまたは Route Server 既定値の [なし (既定値)] のままにします。
    リモート仮想ネットワーク
    [Peering link name](ピアリング リンク名) 空白のままにします。
    仮想ネットワークのデプロイ モデル [リソース マネージャー] を選択します。
    [リソース ID を知っている] のボックスを選びます。
    Resource ID myVNetBリソース ID を入力するか貼り付けます。
  7. プルダウン ボックスで、myVNetBUserB に対応する [ディレクトリ] を選びます。

  8. [認証] を選びます。

  9. [追加] を選択します。

  10. UserA としてポータルからサインアウトします。

ピアリング接続は、[ピアリング] で "開始済み" の状態と表示されます。 ピアを完成させるには、対応する接続を myVNetB に設定する必要があります。

ピアリング接続を作成する - myVNetB から myVNetA へ

ピアリング接続を設定するには、前の手順で得た myVNetAリソース ID が必要です。

  1. UserB として Azure portal にサインインします。 両方のサブスクリプションに 1 つのアカウントを使っている場合は、ポータルで SubscriptionB に変更します。

  2. ポータルの上部にある検索ボックスに「仮想ネットワーク」と入力します。 検索結果で、[仮想ネットワーク] を選択します。

  3. [myVNetB] を選びます。

  4. [ピアリング] を選びます。

  5. [+ 追加] を選択します。

  6. [ピアリングの追加] で、次の情報を入力するか選びます。

    設定
    この仮想ネットワーク
    [Peering link name](ピアリング リンク名) myVNetBToMyVNetA」と入力します。
    [Traffic to remote virtual network](リモート仮想ネットワークへのトラフィック) 既定値の [許可 (既定値)] のままにします。
    [Traffic forwarded from remote virtual network](リモート仮想ネットワークから転送されるトラフィック) 既定値の [許可 (既定値)] のままにします。
    仮想ネットワーク ゲートウェイまたは Route Server 既定値の [なし (既定値)] のままにします。
    リモート仮想ネットワーク
    [Peering link name](ピアリング リンク名) 空白のままにします。
    仮想ネットワークのデプロイ モデル [リソース マネージャー] を選択します。
    [リソース ID を知っている] のボックスを選びます。
    Resource ID myVNetAリソース ID を入力するか貼り付けます。
  7. プルダウン ボックスで、myVNetAUserA に対応する [ディレクトリ] を選びます。

  8. [認証] を選びます。

  9. [追加] を選択します。

ピアリングにおける両方の仮想ネットワークの [ピアリング状態] 列に "接続済み" と表示されれば、ピアリングは正常に確立されています。 2 つの仮想ネットワークに作成した Azure リソースが、その IP アドレスを使用して相互に通信できるようになりました。 仮想ネットワークに Azure の既定の名前解決を使用する場合、そのネットワーク内のリソースは、通信相手の仮想ネットワークに対して名前を解決することができません。 ピアリングされた仮想ネットワークの間で名前を解決する必要がある場合は、独自の DNS サーバーを作成するか、Azure DNS を使う必要があります。

独自の DNS を使った名前解決の詳細については、「独自の DNS サーバーを使用する名前解決」を参照してください。

Azure DNS の詳細については、「Azure DNS とは」を参照してください。

次のステップ