仮想ネットワーク ピアリングを作成する - Resource Manager、異なるサブスクリプションCreate a virtual network peering - Resource Manager, different subscriptions

このチュートリアルでは、Resource Manager で作成された仮想ネットワーク間に仮想ネットワーク ピアリングを作成する方法について説明します。In this tutorial, you learn to create a virtual network peering between virtual networks created through Resource Manager. 仮想ネットワークは、異なるサブスクリプションに存在します。The virtual networks exist in different subscriptions. 2 つの仮想ネットワークをピアリングすると、別々の仮想ネットワークに存在するリソースが、あたかも同じ仮想ネットワーク内に存在するかのような帯域幅と待ち時間で相互に通信を行うことができます。Peering two virtual networks enables resources in different virtual networks to communicate with each other with the same bandwidth and latency as though the resources were in the same virtual network. 詳しくは、「仮想ネットワーク ピアリング」をご覧ください。Learn more about Virtual network peering.

仮想ネットワーク ピアリングを作成する手順は、サブスクリプションが同じか異なるか、また、どのAzure デプロイメント モデルを使用して仮想ネットワークが作成されているかによって異なります。The steps to create a virtual network peering are different, depending on whether the virtual networks are in the same, or different, subscriptions, and which Azure deployment model the virtual networks are created through. 他のシナリオで仮想ネットワークを作成する方法については、次の表で目的のシナリオを選択してください。Learn how to create a virtual network peering in other scenarios by selecting the scenario from the following table:

Azure デプロイメント モデルAzure deployment model Azure サブスクリプションAzure subscription
両方とも Resource ManagerBoth Resource Manager 同じSame
一方が Resource Manager、もう一方がクラシックOne Resource Manager, one classic 同じSame
一方が Resource Manager、もう一方がクラシックOne Resource Manager, one classic 異なるDifferent

クラシック デプロイ モデルでデプロイされた 2 つの仮想ネットワークの間に、仮想ネットワーク ピアリングを作成することはできません。A virtual network peering cannot be created between two virtual networks deployed through the classic deployment model. どちらもクラシック デプロイ モデルで作成された仮想ネットワークを接続する必要がある場合は、Azure VPN Gateway を使ってそれらの仮想ネットワークを接続できます。If you need to connect virtual networks that were both created through the classic deployment model, you can use an Azure VPN Gateway to connect the virtual networks.

このチュートリアルでは同じリージョンで複数の仮想ネットワークをピアリングします。This tutorial peers virtual networks in the same region. 異なるサポート対象リージョン間での仮想ネットワーク ピアリングも可能です。You can also peer virtual networks in different supported regions. 仮想ネットワークのピアリングの前に、ピアリングの要件と制約をよく理解しておくことをお勧めします。It's recommended that you familiarize yourself with the peering requirements and constraints before peering virtual networks.

仮想ネットワーク ピアリングは、Azure Portal、Azure コマンド ライン インターフェイス (CLI)、Azure PowerShellAzure Resource Manager テンプレートのいずれかを使って作成できます。You can use the Azure portal, the Azure command-line interface (CLI), Azure PowerShell, or an Azure Resource Manager template to create a virtual network peering. いずれかのリンクを選択すると、そのツールを使って仮想ネットワーク ピアリングを作成するための手順に直接移動します。Select any of the previous tool links to go directly to the steps for creating a virtual network peering using your tool of choice.

ピアリングの作成 - Azure PortalCreate peering - Azure portal

ピアリングしようとする仮想ネットワークが、異なる Azure Active Directory テナントに関連付けられているサブスクリプション内にある場合は、この記事の CLI および PowerShell のセクションの手順に従います。If the virtual networks that you want to peer are in subscriptions that are associated to different Azure Active Directory tenants, follow steps in the CLI and PowerShell section of this article. ポータルでは、異なる Active Directory テナントのサブスクリプションに属している仮想ネットワークをピアリングすることはできません。Portal does not have support to peer virtual networks belonging to subscriptions from different Active Directory Tenants.

以下の手順では、サブスクリプションごとに異なるアカウントを使用します。The following steps use different accounts for each subscription. 両方のサブスクリプションへのアクセス許可を持つアカウントを使用している場合は、すべての手順で同じアカウントを使用し、ポータルからログアウトする手順と、他のユーザーのアクセス許可を仮想ネットワークに割り当てる手順はスキップできます。If you're using an account that has permissions to both subscriptions, you can use the same account for all steps, skip the steps for logging out of the portal, and skip the steps for assigning another user permissions to the virtual networks.

  1. Azure PortalUserA としてログインします。Log in to the Azure portal as UserA. ログインに使用するアカウントには、仮想ネットワーク ピアリングを作成するためのアクセス許可が必要です。The account you log in with must have the necessary permissions to create a virtual network peering. アクセス許可の一覧については、仮想ネットワークのピアリングのアクセス許可に関するページをご覧ください。For a list of permissions, see Virtual network peering permissions.

  2. [+ リソースの作成] を選択します。[ネットワーク] を選択し、[仮想ネットワーク] を選択します。Select + Create a resource, select Networking, and then select Virtual network.

  3. 次の設定に対して、次の値の例を選択するか入力し、[作成] を選択します。Select or enter the following example values for the following settings, then select Create:

    • [名前]: myVnetAName: myVnetA
    • [アドレス空間]: 10.0.0.0/16Address space: 10.0.0.0/16
    • [サブネット名]: "既定値"Subnet name: default
    • [サブネットのアドレス範囲]: 10.0.0.0/24Subnet address range: 10.0.0.0/24
    • サブスクリプション:サブスクリプション A を選択します。Subscription: Select subscription A.
    • [リソース グループ]: [新規作成] を選択し、「myResourceGroupA」と入力しますResource group: Select Create new and enter myResourceGroupA
    • 場所: 米国東部Location: East US
  4. ポータル上部の [リソースの検索] ボックスに「myVnetA」と入力します。In the Search resources box at the top of the portal, type myVnetA. 検索結果に [myVnetA] が表示されたら、それを選択します。Select myVnetA when it appears in the search results.

  5. 左側にある縦長のオプション一覧から [アクセス制御 (IAM)] を選択します。Select Access control (IAM) from the vertical list of options on the left side.

  6. [myVnetA - アクセス制御 (IAM)][+ ロールの割り当ての追加] を選択します。Under myVnetA - Access control (IAM), select + Add role assignment.

  7. [ロール] ボックスで [ネットワーク共同作成者] を選択します。Select Network contributor in the Role box.

  8. [選択] ボックスで、[UserB] を選択するか、UserB のメール アドレスを入力して検索します。In the Select box, select UserB, or type UserB's email address to search for it.

  9. [保存] を選択します。Select Save.

  10. [myVnetA - アクセス制御 (IAM)] で、左側にある縦長のオプション一覧から [プロパティ] を選択します。Under myVnetA - Access control (IAM), select Properties from the vertical list of options on the left side. リソース ID をコピーします。これは後の手順で使用されます。Copy the RESOURCE ID, which is used in a later step. リソース ID は次の例に似ています: /subscriptions//resourceGroups/myResourceGroupA/providers/Microsoft.Network/virtualNetworks/myVnetAThe resource ID is similar to the following example: /subscriptions//resourceGroups/myResourceGroupA/providers/Microsoft.Network/virtualNetworks/myVnetA.

  11. UserA としてポータルからログアウトし、UserB としてログインします。Log out of the portal as UserA, then log in as UserB.

  12. 手順 2 ~ 3 を繰り返し、手順 3 で次の値を入力または選択します。Complete steps 2-3, entering or selecting the following values in step 3:

    • [名前]: myVnetBName: myVnetB
    • [アドレス空間]: 10.1.0.0/16Address space: 10.1.0.0/16
    • [サブネット名]: "既定値"Subnet name: default
    • [サブネットのアドレス範囲]: 10.1.0.0/24Subnet address range: 10.1.0.0/24
    • サブスクリプション:サブスクリプション B を選択します。Subscription: Select subscription B.
    • [リソース グループ]: [新規作成] を選択し、「myResourceGroupB」と入力しますResource group: Select Create new and enter myResourceGroupB
    • 場所: 米国東部Location: East US
  13. ポータル上部の [リソースの検索] ボックスに「myVnetB」と入力します。In the Search resources box at the top of the portal, type myVnetB. 検索結果に [myVnetB] が表示されたら、それを選択します。Select myVnetB when it appears in the search results.

  14. [myVnetB] で、左側にある縦長のオプション一覧から [プロパティ] を選択します。Under myVnetB, select Properties from the vertical list of options on the left side. リソース ID をコピーします。これは後の手順で使用されます。Copy the RESOURCE ID, which is used in a later step. リソース ID は次の例に似ています。/subscriptions//resourceGroups/myResoureGroupB/providers/Microsoft.ClassicNetwork/virtualNetworks/myVnetBThe resource ID is similar to the following example: /subscriptions//resourceGroups/myResourceGroupB/providers/Microsoft.ClassicNetwork/virtualNetworks/myVnetB.

  15. [myVnetB][アクセス制御 (IAM)] を選択し、myVnetB に対して手順 5 ~ 10 を実行します。手順 8 では「UserA」と入力します。Select Access control (IAM) under myVnetB, and then complete steps 5-10 for myVnetB, entering UserA in step 8.

  16. UserB としてポータルからログアウトし、UserA としてログインします。Log out of the portal as UserB and log in as UserA.

  17. ポータル上部の [リソースの検索] ボックスに「myVnetA」と入力します。In the Search resources box at the top of the portal, type myVnetA. 検索結果に [myVnetA] が表示されたら、それを選択します。Select myVnetA when it appears in the search results.

  18. [myVnetA] を選択します。Select myVnetA.

  19. [設定][ピアリング] を選択します。Under SETTINGS, select Peerings.

  20. [MyVnetA - ピアリング] で、[+ 追加] を選択します。Under myVnetA - Peerings, select + Add

  21. [ピアリングの追加] で、次のオプションを入力するか選択し、[OK] を選択します。Under Add peering, enter, or select, the following options, then select OK:

    • [名前]: myVnetAToMyVnetBName: myVnetAToMyVnetB
    • 仮想ネットワークのデプロイ モデル:[リソース マネージャー] を選択します。Virtual network deployment model: Select Resource Manager.
    • [リソース ID を知っている]:このボックスをオンにします。I know my resource ID: Check this box.
    • [リソース ID]:手順 14 のリソース ID を入力します。Resource ID: Enter the resource ID from step 14.
    • [仮想ネットワーク アクセスを許可する]:[有効] が選択されていることを確認します。Allow virtual network access: Ensure that Enabled is selected. その他の設定は、このチュートリアルでは使用しません。No other settings are used in this tutorial. すべてのピアリング設定については、仮想ネットワーク ピアリングの管理に関するページを参照してください。To learn about all peering settings, read Manage virtual network peerings.
  22. 前の手順で [OK] を選択してしばらく待つと、作成したピアリングが表示されますThe peering you created appears a short wait after selecting OK in the previous step. 作成した myVnetAToMyVnetB ピアリングの [ピアリング状態] 列に [開始済み] と表示されます。Initiated is listed in the PEERING STATUS column for the myVnetAToMyVnetB peering you created. myVnetA を myVnetB にピアリングできましたが、今度は myVnetB を myVnetA にピアリングする必要があります。You've peered myVnetA to myVnetB, but now you must peer myVnetB to myVnetA. 各仮想ネットワーク内のリソースが相互に通信するためには、ピアリングを双方向で作成する必要があります。The peering must be created in both directions to enable resources in the virtual networks to communicate with each other.

  23. UserA としてポータルからログアウトし、UserB としてログインします。Log out of the portal as UserA and log in as UserB.

  24. myVnetB について、手順 17 ~ 21 を繰り返します。Complete steps 17-21 again for myVnetB. 手順 21 では、ピアリングに「myVnetBToMyVnetA」という名前を設定し、[仮想ネットワーク]myVnetA を選び、手順 10 の ID を [リソース ID] ボックスに入力します。In step 21, name the peering myVnetBToMyVnetA, select myVnetA for Virtual network, and enter the ID from step 10 in the Resource ID box.

  25. [OK] をクリックして myVnetB のピアリングを作成してから数秒経つと、作成したばかりの myVnetBToMyVnetA ピアリングが [接続済み] として [ピアリング状態] 列に表示されます。A few seconds after selecting OK to create the peering for myVnetB, the myVnetBToMyVnetA peering you just created is listed with Connected in the PEERING STATUS column.

  26. UserB としてポータルからログアウトし、UserA としてログインします。Log out of the portal as UserB and log in as UserA.

  27. 手順 17 ~ 19 を繰り返します。Complete steps 17-19 again. myVnetAToVNetB ピアリングの [ピアリング状態]接続済みになります。The PEERING STATUS for the myVnetAToVNetB peering is now also Connected. ピアリングにおける両方の仮想ネットワークの [ピアリング状態] 列に接続済みと表示されれば、ピアリングは正常に確立されています。The peering is successfully established after you see Connected in the PEERING STATUS column for both virtual networks in the peering. 2 つの仮想ネットワークに作成した Azure リソースが、その IP アドレスを使用して相互に通信できるようになりました。Any Azure resources you create in either virtual network are now able to communicate with each other through their IP addresses. 仮想ネットワークに Azure の既定の名前解決を使用する場合、そのネットワーク内のリソースは、通信相手の仮想ネットワークに対して名前を解決することができません。If you're using default Azure name resolution for the virtual networks, the resources in the virtual networks are not able to resolve names across the virtual networks. ピアリングされた仮想ネットワークの間で名前を解決する必要がある場合は、独自の DNS サーバーを作成する必要があります。If you want to resolve names across virtual networks in a peering, you must create your own DNS server. その方法については、「独自 DNS サーバー使用の名前解決」を参照してください。Learn how to set up Name resolution using your own DNS server.

  28. 省略可能: このチュートリアルでは仮想マシンの作成について説明していませんが、それぞれの仮想ネットワークに仮想マシンを作成し、一方の仮想マシンからもう一方の仮想マシンに接続することで接続を検証することができます。Optional: Though creating virtual machines is not covered in this tutorial, you can create a virtual machine in each virtual network and connect from one virtual machine to the other, to validate connectivity.

  29. 省略可能: このチュートリアルで作成したリソースを削除するには、この記事の「リソースの削除」セクションの手順を実行してください。Optional: To delete the resources that you create in this tutorial, complete the steps in the Delete resources section of this article.

ピアリングの作成 - Azure CLICreate peering - Azure CLI

このチュートリアルでは、サブスクリプションごとに異なるアカウントを使用します。This tutorial uses different accounts for each subscription. 両方のサブスクリプションへのアクセス許可を持つアカウントを使用している場合は、すべての手順で同じアカウントを使用し、Azure からログアウトする手順をスキップして、ユーザー ロールの割り当てを作成するスクリプト行を削除できます。If you're using an account that has permissions to both subscriptions, you can use the same account for all steps, skip the steps for logging out of Azure, and remove the lines of script that create user role assignments. 次のすべてのスクリプトの UserA@azure.com と UserB@azure.com を、UserA と UserB で使用しているユーザー名に置き換えます。Replace UserA@azure.com and UserB@azure.com in all of the following scripts with the usernames you're using for UserA and UserB. 仮想ネットワークが異なるサブスクリプションに含まれ、サブスクリプションが異なる Azure Active Directory テナントに関連付けられている場合は、続行する前に、次の手順を完了します。If the virtual networks are in different subscriptions, and the subscriptions are associated to different Azure Active Directory tenants, complete the following steps before continuing:

  • 各 Active Directory テナントのユーザーを、反対側の Azure Active Directory テナントにゲスト ユーザーとして追加します。Add the user from each Active Directory tenant as a guest user in the opposite Azure Active Directory tenant.
  • 各ユーザーは、反対側の Azure Active Directory テナントからのゲスト ユーザーの招待を受け入れる必要があります。Each user has to accept the guest user invitation from the opposite Azure Active Directory tenant.

以下のスクリプトでは:The following scripts:

  • Azure CLI バージョン 2.0.4 以降が必要です。Requires the Azure CLI version 2.0.4 or later. バージョンを確認するには、az --version を実行します。To find the version, run az --version. アップグレードする必要がある場合は、「Azure CLI のインストール」を参照してください。If you need to upgrade, see Install Azure CLI.
  • Bash シェルで動作します。Works in a Bash shell. Azure CLI スクリプトを Windows クライアントで実行する方法については、「Windows での Azure CLI 2.0 のインストール」をご覧ください。For options on running Azure CLI scripts on Windows client, see Install the Azure CLI on Windows.

CLI とその依存関係をインストールする代わりに、Azure Cloud Shell を使うことができます。Instead of installing the CLI and its dependencies, you can use the Azure Cloud Shell. Azure Cloud Shell は、Azure Portal 内で直接実行できる無料の Bash シェルです。The Azure Cloud Shell is a free Bash shell that you can run directly within the Azure portal. Azure CLI が事前にインストールされており、アカウントで使用できるように構成されています。It has the Azure CLI preinstalled and configured to use with your account. 次のスクリプトの [使ってみる] ボタンを選択すると Cloud Shell が開き、Azure アカウントでログインできます。Select the Try it button in the script that follows, which invokes a Cloud Shell that you can log in to your Azure account with.

  1. CLI セッションを開き、azure login コマンドを使って UserA として Azure にログインします。Open a CLI session and log in to Azure as UserA using the azure login command. ログインに使用するアカウントには、仮想ネットワーク ピアリングを作成するためのアクセス許可が必要です。The account you log in with must have the necessary permissions to create a virtual network peering. アクセス許可の一覧については、仮想ネットワークのピアリングのアクセス許可に関するページをご覧ください。For a list of permissions, see Virtual network peering permissions.

  2. PC で次のスクリプトをテキスト エディターにコピーし、<SubscriptionA-Id> を SubscriptionA の ID に置き換えた後、変更後のスクリプトをコピーし、CLI セッションに貼り付けて、Enter キーを押します。Copy the following script to a text editor on your PC, replace <SubscriptionA-Id> with the ID of SubscriptionA, then copy the modified script, paste it in your CLI session, and press Enter. サブスクリプション ID がわからない場合は、"az account show" コマンドを入力します。If you don't know your subscription Id, enter the 'az account show` command. 出力された id の値がサブスクリプション ID です。The value for id in the output is your subscription Id.

    # Create a resource group.
    az group create \
      --name myResourceGroupA \
      --location eastus
    
    # Create virtual network A.
    az network vnet create \
      --name myVnetA \
      --resource-group myResourceGroupA \
      --location eastus \
      --address-prefix 10.0.0.0/16
    
    # Assign UserB permissions to virtual network A.
    az role assignment create \
      --assignee UserB@azure.com \
      --role "Network Contributor" \
      --scope /subscriptions/<SubscriptionA-Id>/resourceGroups/myResourceGroupA/providers/Microsoft.Network/VirtualNetworks/myVnetA
    
  3. az logout コマンドを使って UserA として Azure からログアウトした後、UserB として Azure にログインします。Log out of Azure as UserA using the az logout command, then log in to Azure as UserB. ログインに使用するアカウントには、仮想ネットワーク ピアリングを作成するためのアクセス許可が必要です。The account you log in with must have the necessary permissions to create a virtual network peering. アクセス許可の一覧については、仮想ネットワークのピアリングのアクセス許可に関するページをご覧ください。For a list of permissions, see Virtual network peering permissions.

  4. myVnetB を作成します。Create myVnetB. PC で、手順 2 のスクリプトの内容をテキスト エディターにコピーします。Copy the script contents in step 2 to a text editor on your PC. <SubscriptionA-Id> を SubscriptionB の ID に置き換えます。Replace <SubscriptionA-Id> with the ID of SubscriptionB. 10.0.0.0/16 を 10.1.0.0/16 に、すべての A を B に、すべての B を A に変更します。変更後のスクリプトをコピーし、CLI セッションに貼り付けて、Enter キーを押します。Change 10.0.0.0/16 to 10.1.0.0/16, change all As to B, and all Bs to A. Copy the modified script, paste it in to your CLI session, and press Enter.

  5. UserB として Azure をログアウトし、UserA として Azure にログインします。Log out of Azure as UserB and log in to Azure as UserA.

  6. myVnetA から myVnetB への仮想ネットワーク ピアリングを作成します。Create a virtual network peering from myVnetA to myVnetB. PC で次のスクリプトの内容をテキスト エディターにコピーします。Copy the following script contents to a text editor on your PC. <SubscriptionB-Id> を SubscriptionB の ID に置き換えます。Replace <SubscriptionB-Id> with the ID of SubscriptionB. スクリプトを実行するには、変更後のスクリプトをコピーし、CLI セッションに貼り付けて、Enter キーを押します。To execute the script, copy the modified script, paste it into your CLI session, and press Enter.

        # Get the id for myVnetA.
        vnetAId=$(az network vnet show \
          --resource-group myResourceGroupA \
          --name myVnetA \
          --query id --out tsv)
    
        # Peer myVNetA to myVNetB.
        az network vnet peering create \
          --name myVnetAToMyVnetB \
          --resource-group myResourceGroupA \
          --vnet-name myVnetA \
          --remote-vnet-id /subscriptions/<SubscriptionB-Id>/resourceGroups/myResourceGroupB/providers/Microsoft.Network/VirtualNetworks/myVnetB \
          --allow-vnet-access
    
  7. myVnetA のピアリングの状態を表示します。View the peering state of myVnetA.

    az network vnet peering list \
      --resource-group myResourceGroupA \
      --vnet-name myVnetA \
      --output table
    

    状態は開始済みです。The state is Initiated. myVnetB から myVnetA へのピアリングを作成すると、接続済みに変わります。It changes to Connected once you create the peering to myVnetA from myVnetB.

  8. UserA として Azure をログアウトし、UserB として Azure にログインします。Log out UserA from Azure and log in to Azure as UserB.

  9. myVnetB から myVnetA へのピアリングを作成します。Create the peering from myVnetB to myVnetA. PC で、手順 6 のスクリプトの内容をテキスト エディターにコピーします。Copy the script contents in step 6 to a text editor on your PC. <SubscriptionB-Id> を SubscriptionA の ID に置き換え、すべての A を B に、すべての B を A に変更します。変更したスクリプトをコピーし、CLI セッションに貼り付けて、Enter キーを押します。Replace <SubscriptionB-Id> with the ID for SubscriptionA and change all As to B and all Bs to A. Once you've made the changes, copy the modified script, paste it into your CLI session, and press Enter.

  10. myVnetB のピアリングの状態を表示します。View the peering state of myVnetB. PC で、手順 7 のスクリプトの内容をテキスト エディターにコピーします。Copy the script contents in step 7 to a text editor on your PC. リソース グループと仮想ネットワークの名前の A を B に変更したスクリプトをコピーし、CLI セッションに貼り付けて、Enter キーを押します。Change A to B for the resource group and virtual network names, copy the script, paste the modified script in to your CLI session, and then press Enter. ピアリングの状態は 接続済みです。The peering state is Connected. myVnetB から myVnetA へのピアリングを作成した後、myVnetA のピアリングの状態は接続済みに変わります。The peering state of myVnetA changes to Connected after you've created the peering from myVnetB to myVnetA. UserA を Azure に再びログインさせ、手順 7 を再度実行して、myVnetA のピアリング状態を確認します。You can log UserA back in to Azure and complete step 7 again to verify the peering state of myVnetA.

    注意

    両方の仮想ネットワークでピアリングの状態が接続済みになるまで、ピアリングは確立されません。The peering is not established until the peering state is Connected for both virtual networks.

  11. 省略可能:このチュートリアルでは仮想マシンの作成について説明していませんが、それぞれの仮想ネットワークに仮想マシンを作成し、一方の仮想マシンからもう一方の仮想マシンに接続することで接続を検証することができます。Optional: Though creating virtual machines is not covered in this tutorial, you can create a virtual machine in each virtual network and connect from one virtual machine to the other, to validate connectivity.

  12. 省略可能: このチュートリアルで作成したリソースを削除するには、この記事の「リソースの削除」の手順を実行してください。Optional: To delete the resources that you create in this tutorial, complete the steps in Delete resources in this article.

2 つの仮想ネットワークに作成した Azure リソースが、その IP アドレスを使用して相互に通信できるようになりました。Any Azure resources you create in either virtual network are now able to communicate with each other through their IP addresses. 仮想ネットワークに Azure の既定の名前解決を使用する場合、そのネットワーク内のリソースは、通信相手の仮想ネットワークに対して名前を解決することができません。If you're using default Azure name resolution for the virtual networks, the resources in the virtual networks are not able to resolve names across the virtual networks. ピアリングされた仮想ネットワークの間で名前を解決する必要がある場合は、独自の DNS サーバーを作成する必要があります。If you want to resolve names across virtual networks in a peering, you must create your own DNS server. その方法については、「独自 DNS サーバー使用の名前解決」を参照してください。Learn how to set up Name resolution using your own DNS server.

ピアリングの作成 - PowerShellCreate peering - PowerShell

注意

この記事は、新しい Azure PowerShell Az モジュールを使用するために更新されました。This article has been updated to use the new Azure PowerShell Az module. Az モジュールと AzureRM の互換性の詳細については、「Introducing the new Azure PowerShell Az module (新しい Azure PowerShell Az モジュールの概要)」を参照してください。To learn more about the new Az module and AzureRM compatibility, see Introducing the new Azure PowerShell Az module. インストール手順については、Azure PowerShell のインストール を参照してください。For installation instructions, see Install Azure PowerShell.

このチュートリアルでは、サブスクリプションごとに異なるアカウントを使用します。This tutorial uses different accounts for each subscription. 両方のサブスクリプションへのアクセス許可を持つアカウントを使用している場合は、すべての手順で同じアカウントを使用し、Azure からログアウトする手順をスキップして、ユーザー ロールの割り当てを作成するスクリプト行を削除できます。If you're using an account that has permissions to both subscriptions, you can use the same account for all steps, skip the steps for logging out of Azure, and remove the lines of script that create user role assignments. 次のすべてのスクリプトの UserA@azure.com と UserB@azure.com を、UserA と UserB で使用しているユーザー名に置き換えます。Replace UserA@azure.com and UserB@azure.com in all of the following scripts with the usernames you're using for UserA and UserB. 仮想ネットワークが異なるサブスクリプションに含まれ、サブスクリプションが異なる Azure Active Directory テナントに関連付けられている場合は、続行する前に、次の手順を完了します。If the virtual networks are in different subscriptions, and the subscriptions are associated to different Azure Active Directory tenants, complete the following steps before continuing:

  • 各 Active Directory テナントのユーザーを、反対側の Azure Active Directory テナントにゲスト ユーザーとして追加します。Add the user from each Active Directory tenant as a guest user in the opposite Azure Active Directory tenant.
  • 各ユーザーは、反対側の Active Directory テナントからのゲスト ユーザーの招待を受け入れる必要があります。Each user has to accept the guest user invitation from the opposite Active Directory tenant.
  1. Azure PowerShell バージョン 1.0.0 以降を使用していることを確認します。Confirm that you have Azure PowerShell version 1.0.0 or higher. これは、Get-Module -Name Az を実行することで行えます。最新バージョンの PowerShell の Az モジュールをインストールすることをお勧めします。You can do this by running the Get-Module -Name Az We recommend installing the latest version of the PowerShell Az module. Azure PowerShell を初めてお使いの方は、Azure PowerShell の概要に関する記事を参照してください。If you're new to Azure PowerShell, see Azure PowerShell overview.

  2. PowerShell セッションを開始します。Start a PowerShell session.

  3. PowerShell で、Connect-AzAccount コマンドを入力して UserA として Azure にログインします。In PowerShell, log in to Azure as UserA by entering the Connect-AzAccount command. ログインに使用するアカウントには、仮想ネットワーク ピアリングを作成するためのアクセス許可が必要です。The account you log in with must have the necessary permissions to create a virtual network peering. アクセス許可の一覧については、仮想ネットワークのピアリングのアクセス許可に関するページをご覧ください。For a list of permissions, see Virtual network peering permissions.

  4. リソース グループと仮想ネットワーク A を作成します。PC で、次のスクリプトをテキスト エディターにコピーします。Create a resource group and virtual network A. Copy the following script to a text editor on your PC. <SubscriptionA-Id> を SubscriptionA の ID に置き換えます。Replace <SubscriptionA-Id> with the ID of SubscriptionA. サブスクリプション ID がわからない場合は、Get-AzSubscription コマンドを入力して表示します。If you don't know your subscription Id, enter the Get-AzSubscription command to view it. 返された出力の id の値がサブスクリプション ID です。The value for Id in the returned output is your subscription ID. スクリプトを実行するには、変更後のスクリプトをコピーし、PowerShell に貼り付けて、Enter キーを押します。To execute the script, copy the modified script, paste it in to PowerShell, and then press Enter.

    # Create a resource group.
    New-AzResourceGroup `
      -Name MyResourceGroupA `
      -Location eastus
    
    # Create virtual network A.
    $vNetA = New-AzVirtualNetwork `
      -ResourceGroupName MyResourceGroupA `
      -Name 'myVnetA' `
      -AddressPrefix '10.0.0.0/16' `
      -Location eastus
    
    # Assign UserB permissions to myVnetA.
    New-AzRoleAssignment `
      -SignInName UserB@azure.com `
      -RoleDefinitionName "Network Contributor" `
      -Scope /subscriptions/<SubscriptionA-Id>/resourceGroups/myResourceGroupA/providers/Microsoft.Network/VirtualNetworks/myVnetA
    
  5. Azure から UserA をログアウトし、UserB でログインします。Log out UserA from Azure and log in UserB. ログインに使用するアカウントには、仮想ネットワーク ピアリングを作成するためのアクセス許可が必要です。The account you log in with must have the necessary permissions to create a virtual network peering. アクセス許可の一覧については、仮想ネットワークのピアリングのアクセス許可に関するページをご覧ください。For a list of permissions, see Virtual network peering permissions.

  6. PC で、手順 4 のスクリプトの内容をテキスト エディターにコピーします。Copy the script contents in step 4 to a text editor on your PC. <SubscriptionA-Id> を、サブスクリプション B の ID に置き換えます。10.0.0.0/16 を 10.1.0.0/16 に変更します。Replace <SubscriptionA-Id> with the ID for subscription B. Change 10.0.0.0/16 to 10.1.0.0/16. すべての A を B に、すべての B を A に変更します。スクリプトを実行するには、変更後のスクリプトをコピーし、PowerShell に貼り付けて、Enter キーを押します。Change all As to B and all Bs to A. To execute the script, copy the modified script, paste into PowerShell, and then press Enter.

  7. Azure から UserB をログアウトし、UserA でログインします。Log out UserB from Azure and log in UserA.

  8. myVnetA から myVnetB へのピアリングを作成します。Create the peering from myVnetA to myVnetB. PC で次のスクリプトをテキスト エディターにコピーします。Copy the following script to a text editor on your PC. <SubscriptionB-Id> を、サブスクリプション B の ID に置き換えます。スクリプトを実行するには、変更後のスクリプトをコピーし、PowerShell に貼り付けて、Enter キーを押します。Replace <SubscriptionB-Id> with the ID of subscription B. To execute the script, copy the modified script, paste in to PowerShell, and then press Enter.

    # Peer myVnetA to myVnetB.
    $vNetA=Get-AzVirtualNetwork -Name myVnetA -ResourceGroupName myResourceGroupA
    Add-AzVirtualNetworkPeering `
      -Name 'myVnetAToMyVnetB' `
      -VirtualNetwork $vNetA `
      -RemoteVirtualNetworkId "/subscriptions/<SubscriptionB-Id>/resourceGroups/myResourceGroupB/providers/Microsoft.Network/virtualNetworks/myVnetB"
    
  9. myVnetA のピアリングの状態を表示します。View the peering state of myVnetA.

    Get-AzVirtualNetworkPeering `
      -ResourceGroupName myResourceGroupA `
      -VirtualNetworkName myVnetA `
      | Format-Table VirtualNetworkName, PeeringState
    

    状態は開始済みです。The state is Initiated. myVnetB から myVnetA へのピアリングの設定が完了した時点で、接続済みに変わります。It changes to Connected once you set up the peering to myVnetA from myVnetB.

  10. Azure から UserA をログアウトし、UserB でログインします。Log out UserA from Azure and log in UserB.

  11. myVnetB から myVnetA へのピアリングを作成します。Create the peering from myVnetB to myVnetA. PC で、手順 8 のスクリプトの内容をテキスト エディターにコピーします。Copy the script contents in step 8 to a text editor on your PC. <SubscriptionB-Id> をサブスクリプション A の ID に置き換え、すべての A を B に、すべての B を A に変更します。スクリプトを実行するには、変更後のスクリプトをコピーし、PowerShell に貼り付けて、Enter キーを押します。Replace <SubscriptionB-Id> with the ID of subscription A and change all As to B and all Bs to A. To execute the script, copy the modified script, paste it in to PowerShell, and then press Enter.

  12. myVnetB のピアリングの状態を表示します。View the peering state of myVnetB. PC で、手順 9 のスクリプトの内容をテキスト エディターにコピーします。Copy the script contents in step 9 to a text editor on your PC. リソース グループと仮想ネットワークの名前の A を B に変更します。Change A to B for the resource group and virtual network names. スクリプトを実行するには、変更後のスクリプトを PowerShell に貼り付けて、Enter キーを押します。To execute the script, paste the modified script into PowerShell, and then press Enter. 状態は接続済みです。The state is Connected. myVnetB から myVnetA へのピアリングを作成した後、myVnetA のピアリングの状態は接続済みに変わります。The peering state of myVnetA changes to Connected after you've created the peering from myVnetB to myVnetA. UserA を Azure に再びログインさせ、手順 9 を再度実行して、myVnetA のピアリング状態を確認します。You can log UserA back in to Azure and complete step 9 again to verify the peering state of myVnetA.

    注意

    両方の仮想ネットワークでピアリングの状態が接続済みになるまで、ピアリングは確立されません。The peering is not established until the peering state is Connected for both virtual networks.

    2 つの仮想ネットワークに作成した Azure リソースが、その IP アドレスを使用して相互に通信できるようになりました。Any Azure resources you create in either virtual network are now able to communicate with each other through their IP addresses. 仮想ネットワークに Azure の既定の名前解決を使用する場合、そのネットワーク内のリソースは、通信相手の仮想ネットワークに対して名前を解決することができません。If you're using default Azure name resolution for the virtual networks, the resources in the virtual networks are not able to resolve names across the virtual networks. ピアリングされた仮想ネットワークの間で名前を解決する必要がある場合は、独自の DNS サーバーを作成する必要があります。If you want to resolve names across virtual networks in a peering, you must create your own DNS server. その方法については、「独自 DNS サーバー使用の名前解決」を参照してください。Learn how to set up Name resolution using your own DNS server.

  13. 省略可能: このチュートリアルでは仮想マシンの作成について説明していませんが、それぞれの仮想ネットワークに仮想マシンを作成し、一方の仮想マシンからもう一方の仮想マシンに接続することで接続を検証することができます。Optional: Though creating virtual machines is not covered in this tutorial, you can create a virtual machine in each virtual network and connect from one virtual machine to the other, to validate connectivity.

  14. 省略可能: このチュートリアルで作成したリソースを削除するには、この記事の「リソースの削除」の手順を実行してください。Optional: To delete the resources that you create in this tutorial, complete the steps in Delete resources in this article.

ピアリングの作成 - Resource Manager テンプレートCreate peering - Resource Manager template

仮想ネットワークが異なるサブスクリプションに含まれ、サブスクリプションが異なる Azure Active Directory テナントに関連付けられている場合は、続行する前に、次の手順を完了します。If the virtual networks are in different subscriptions, and the subscriptions are associated to different Azure Active Directory tenants, complete the following steps before continuing:

  • 各 Active Directory テナントのユーザーを、反対側の Azure Active Directory テナントにゲスト ユーザーとして追加します。Add the user from each Active Directory tenant as a guest user in the opposite Azure Active Directory tenant.
  • 各ユーザーは、反対側の Active Directory テナントからのゲスト ユーザーの招待を受け入れる必要があります。Each user has to accept the guest user invitation from the opposite Active Directory tenant.
  1. 仮想ネットワークを作成し、適切なアクセス許可を割り当てるには、この記事のポータルAzure CLI、または PowerShell のセクションの手順を完了します。To create a virtual network and assign the appropriate permissions, complete the steps in the Portal, Azure CLI, or PowerShell sections of this article.

  2. 次のテキストをローカル コンピューター上のファイルに保存します。Save the text that follows to a file on your local computer. <subscription ID> は、UserA のサブスクリプション ID で置き換えてください。Replace <subscription ID> with UserA's subscription ID. たとえば、このファイルを vnetpeeringA.json として保存します。You might save the file as vnetpeeringA.json, for example.

    {
         "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
         "contentVersion": "1.0.0.0",
         "parameters": {
         },
         "variables": {
         },
     "resources": [
             {
             "apiVersion": "2016-06-01",
             "type": "Microsoft.Network/virtualNetworks/virtualNetworkPeerings",
             "name": "myVnetA/myVnetAToMyVnetB",
             "location": "[resourceGroup().location]",
             "properties": {
             "allowVirtualNetworkAccess": true,
             "allowForwardedTraffic": false,
             "allowGatewayTransit": false,
             "useRemoteGateways": false,
                 "remoteVirtualNetwork": {
                 "id": "/subscriptions/<subscription ID>/resourceGroups/PeeringTest/providers/Microsoft.Network/virtualNetworks/myVnetB"
                 }
             }
             }
         ]
    }
    
  3. Azure に UserA としてログインし、ポータルPowerShell または Azure CLI を使用してテンプレートをデプロイします。Log in to Azure as UserA and deploy the template using the portal, PowerShell, or the Azure CLI. 手順 2 で保存したサンプルの json テキストのファイル名を指定します。Specify the file name you saved the example json text in step 2 to.

  4. 手順 2 のサンプル json をコンピューター上のファイルにコピーして、次から始まる行を変更します。Copy the example json from step 2 to a file on your computer and make changes to the lines that begin with:

    • name:myVnetA/myVnetAToMyVnetBmyVnetB/myVnetBToMyVnetA に変更します。name: Change myVnetA/myVnetAToMyVnetB to myVnetB/myVnetBToMyVnetA.
    • id:<subscription ID> を UserB のサブスクリプション ID で置き換え、myVnetBmyVnetA に変更します。id: Replace <subscription ID> with UserB's subscription ID and change myVnetB to myVnetA.
  5. 再び手順 3. を行います。ここでは Azure に UserB としてログインします。Complete step 3 again, logged in to Azure as UserB.

  6. 省略可能:このチュートリアルでは仮想マシンの作成について説明していませんが、それぞれの仮想ネットワークに仮想マシンを作成し、一方の仮想マシンからもう一方の仮想マシンに接続することで接続を検証することができます。Optional: Though creating virtual machines is not covered in this tutorial, you can create a virtual machine in each virtual network and connect from one virtual machine to the other, to validate connectivity.

  7. 省略可能:このチュートリアルで作成したリソースを削除するには、Azure portal、PowerShell、Azure CLI のいずれかを使って、この記事の「リソースの削除」セクションの手順を実行してください。Optional: To delete the resources that you create in this tutorial, complete the steps in the Delete resources section of this article, using either the Azure portal, PowerShell, or the Azure CLI.

リソースの削除Delete resources

このチュートリアルが完了したら、使用料がかからないように、チュートリアルで作成したリソースを削除することをお勧めします。When you've finished this tutorial, you might want to delete the resources you created in the tutorial, so you don't incur usage charges. リソース グループを削除すると、リソース グループ内にあるリソースもすべて削除されます。Deleting a resource group also deletes all resources that are in the resource group.

Azure PortalAzure portal

  1. Azure Portal に UserA としてログインします。Log in to the Azure portal as UserA.
  2. ポータルの検索ボックスに、「myResourceGroupA」と入力します。In the portal search box, enter myResourceGroupA. 検索結果で、[myResourceGroupA] を選択します。In the search results, select myResourceGroupA.
  3. [削除] を選択します。Select Delete.
  4. 削除を確定するには、[リソース グループ名を入力してください] ボックスに「myResourceGroupA」と入力し、[削除] を選択します。To confirm the deletion, in the TYPE THE RESOURCE GROUP NAME box, enter myResourceGroupA, and then select Delete.
  5. UserA としてポータルからログアウトし、UserB としてログインします。Log out of the portal as UserA and log in as UserB.
  6. myResourceGroupB に対して手順 2 ~ 4 を実行します。Complete steps 2-4 for myResourceGroupB.

Azure CLIAzure CLI

  1. UserA として Azure にログインし、次のコマンドを実行します。Log in to Azure as UserA and execute the following command:

    az group delete --name myResourceGroupA --yes
    
  2. UserA として Azure からログアウトし、UserB としてログインします。Log out of Azure as UserA and log in as UserB.

  3. 次のコマンドを実行します。Execute the following command:

    az group delete --name myResourceGroupB --yes
    

PowerShellPowerShell

  1. UserA として Azure にログインし、次のコマンドを実行します。Log in to Azure as UserA and execute the following command:

    Remove-AzResourceGroup -Name myResourceGroupA -force
    
  2. UserA として Azure からログアウトし、UserB としてログインします。Log out of Azure as UserA and log in as UserB.

  3. 次のコマンドを実行します。Execute the following command:

    Remove-AzResourceGroup -Name myResourceGroupB -force
    

次の手順Next steps