仮想ネットワーク ピアリングの作成 - Resource Manager、さまざまなサブスクリプション、Microsoft Entra テナント
[アーティクル] 07/01/2024
25 人の共同作成者
フィードバック
この記事の内容
このチュートリアルでは、Resource Manager で作成された仮想ネットワーク間に仮想ネットワーク ピアリングを作成する方法について説明します。 仮想ネットワークは、異なる Microsoft Entra テナントに属している可能性のある異なるサブスクリプションに存在します。 2 つの仮想ネットワークをピアリングすると、別々の仮想ネットワークに存在するリソースが、あたかも同じ仮想ネットワーク内に存在するかのような帯域幅と待ち時間で相互に通信を行うことができます。 詳しくは、「仮想ネットワーク ピアリング 」をご覧ください。
仮想ネットワークのサブスクリプションが同じか異なるかに応じて、仮想ネットワーク ピアリングを作成する手順は異なります。 クラシック デプロイ モデルで作成されたネットワークのピアリング手順は異なります。 デプロイ モデルの詳細については、「Azure デプロイ モデル 」を参照してください。
他のシナリオで仮想ネットワークを作成する方法については、次の表で目的のシナリオを選択してください。
クラシック デプロイ モデルでデプロイされた 2 つの仮想ネットワークの間に、仮想ネットワーク ピアリングを作成することはできません。 どちらもクラシック デプロイ モデルで作成された仮想ネットワークを接続する必要がある場合は、Azure VPN Gateway を使ってそれらの仮想ネットワークを接続できます。
このチュートリアルでは同じリージョンで複数の仮想ネットワークをピアリングします。 異なるサポート対象リージョン 間での仮想ネットワーク ピアリングも可能です。 仮想ネットワークのピアリングの前に、ピアリングの要件と制約 をよく理解します。
前提条件
2 つのアクティブなサブスクリプションを持つ Azure アカウント (1 つまたは複数)。 無料でアカウントを作成できます 。
1 つの Azure アカウント (両方のサブスクリプションにアクセス許可を持つもの)、または各サブスクリプションにある 1 つのアカウント (仮想ネットワーク ピアリングを作成できる適切なアクセス許可を持つもの)。 アクセス許可の一覧については、仮想ネットワークのピアリングのアクセス許可 に関するページをご覧ください。
各テナントに属するネットワークを管理する職務を分離するには、各テナントのユーザーを他方のテナントのゲストとして追加し、仮想ネットワークに対するネットワーク共同作成者ロールを割り当てます。 この手順は、異なるサブスクリプションと Active Directory テナント内に仮想ネットワークがある場合に適用されます。
各テナントに属するネットワークを管理する職務を分離しない場合、ネットワーク ピアリングを確立するには、テナント A のユーザーを他方のテナントのゲストとして追加します。 次に、各サブスクリプションからネットワーク ピアリングを開始して接続するためのネットワーク共同作成者ロールを割り当てます。 これらのアクセス許可により、ユーザーは各サブスクリプションからネットワーク ピアリングを確立できます。
ゲスト ユーザーの詳細については、「Azure portal での Microsoft Entra B2B コラボレーション ユーザーの追加」 を参照してください。
各ユーザーは、反対側の Microsoft Entra テナントからのゲスト ユーザー招待を受け入れる必要があります。
Azure portal にサインインします。
2 つのアクティブなサブスクリプションを持つ Azure アカウント (1 つまたは複数)。 無料でアカウントを作成できます 。
1 つの Azure アカウント (両方のサブスクリプションにアクセス許可を持つもの)、または各サブスクリプションにある 1 つのアカウント (仮想ネットワーク ピアリングを作成できる適切なアクセス許可を持つもの)。 アクセス許可の一覧については、仮想ネットワークのピアリングのアクセス許可 に関するページをご覧ください。
各テナントに属するネットワークを管理する職務を分離するには、各テナントのユーザーを他方のテナントのゲストとして追加し、仮想ネットワークに対するネットワーク共同作成者ロールを割り当てます。 この手順は、異なるサブスクリプションと Active Directory テナント内に仮想ネットワークがある場合に適用されます。
各テナントに属するネットワークを管理する職務を分離しない場合、ネットワーク ピアリングを確立するには、テナント A のユーザーを他方のテナントのゲストとして追加します。 次に、各サブスクリプションからネットワーク ピアリングを開始して接続するためのネットワーク共同作成者ロールを割り当てます。 これらのアクセス許可により、ユーザーは各サブスクリプションからネットワーク ピアリングを確立できます。
ゲスト ユーザーの詳細については、「Azure portal での Microsoft Entra B2B コラボレーション ユーザーの追加」 を参照してください。
各ユーザーは、反対側の Microsoft Entra テナントからのゲスト ユーザー招待を受け入れる必要があります。
ローカルにインストールされた 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 との接続を作成することも必要です。
2 つのアクティブなサブスクリプションを持つ Azure アカウント (1 つまたは複数)。 無料でアカウントを作成できます 。
1 つの Azure アカウント (両方のサブスクリプションにアクセス許可を持つもの)、または各サブスクリプションにある 1 つのアカウント (仮想ネットワーク ピアリングを作成できる適切なアクセス許可を持つもの)。 アクセス許可の一覧については、仮想ネットワークのピアリングのアクセス許可 に関するページをご覧ください。
各テナントに属するネットワークを管理する職務を分離するには、各テナントのユーザーを他方のテナントのゲストとして追加し、仮想ネットワークに対するネットワーク共同作成者ロールを割り当てます。 この手順は、異なるサブスクリプションと Active Directory テナント内に仮想ネットワークがある場合に適用されます。
各テナントに属するネットワークを管理する職務を分離しない場合、ネットワーク ピアリングを確立するには、テナント A のユーザーを他方のテナントのゲストとして追加します。 次に、各サブスクリプションからネットワーク ピアリングを開始して接続するためのネットワーク共同作成者ロールを割り当てます。 これらのアクセス許可により、ユーザーは各サブスクリプションからネットワーク ピアリングを確立できます。
ゲスト ユーザーの詳細については、「Azure portal での Microsoft Entra B2B コラボレーション ユーザーの追加」 を参照してください。
各ユーザーは、反対側の Microsoft Entra テナントからのゲスト ユーザー招待を受け入れる必要があります。
この操作方法に関する記事では、Azure CLI のバージョン 2.31.0 以降が必要です。 Azure Cloud Shell を使用している場合は、最新バージョンが既にインストールされています。
次の手順では、異なるサブスクリプションと Microsoft Entra テナントの仮想ネットワークをピアリングする方法について説明します。
両方のサブスクリプションにアクセス許可を持つ同じアカウントを使うか、各サブスクリプションで個別のアカウントを使ってピアリングを設定できます。 両方のサブスクリプションにアクセス許可を持つアカウントは、ポータルからサインアウトしてサインインし、アクセス許可を割り当てることなく、すべての手順を完了できます。
この記事の手順では、次のリソースとアカウントの例を使います。
ユーザー アカウント
Resource group
サブスクリプション
仮想ネットワーク
user-1
test-rg
subscription-1
vnet-1
user-2
test-rg-2
subscription-2
vnet-2
仮想ネットワーク - vnet-1 を作成する
Note
1 つのアカウントを使って手順を完了する場合は、ポータルからログアウトし、別のユーザーに仮想ネットワークへのアクセス許可を割り当てる手順をスキップできます。
以下の手順ではリソース サブネットを持つ仮想ネットワークが作成されます。
ポータルで、[仮想ネットワーク] を検索して選択します。
[仮想ネットワーク] ページで、[+ 作成] を選択します。
[仮想ネットワークの作成] の [基本] タブで、次の情報を入力するか選択します。
設定
値
プロジェクトの詳細
サブスクリプション
サブスクリプションを選択します。
Resource group
[新規作成] を選択します。 [名前] に「test-rg 」と入力します。 [OK] を選択します。
インスタンスの詳細
Name
「vnet-1 」と入力します。
リージョン
[米国東部 2] を選択します。
[次へ] を選択して、[セキュリティ] タブに進みます。
[次へ] を選択して、[IP アドレス] タブに進みます。
[サブネット] のアドレス空間ボックスで、既定 のサブネットを選択します。
[サブネットの編集] で次の情報を入力または選択します。
設定
Value
サブネットの目的
既定値の [既定] のままにします。
名前
「subnet-1 」と入力します。
残りの設定は既定のままにします。 [保存] を選択します。
[保存] を選択します。
画面の下部にある [確認と作成] を選択し、検証に合格したら [作成] を選択します。
subscription-1 にサインインする
Connect-AzAccount を使用して subscription-1 にサインインします。
Connect-AzAccount
両方のサブスクリプションに 1 つのアカウントを使用している場合、そのアカウントにサインインし、Set-AzContext を使用してサブスクリプション コンテキストを subscription-1 に変更します。
Set-AzContext -Subscription subscription-1
リソース グループ - test-rg を作成する
Azure リソース グループとは、Azure リソースのデプロイと管理に使用する論理コンテナーです。
New-AzResourceGroup を使用して、次のようにリソース グループを作成します。
$rsg = @{
Name = 'test-rg'
Location = 'eastus2'
}
New-AzResourceGroup @rsg
仮想ネットワークの作成
New-AzVirtualNetwork を使用して仮想ネットワークを作成します。 この例では、米国西部 3 の場所内に vnet-1 という名前の subnet-1 仮想ネットワークを作成します。
$vnet = @{
Name = 'vnet-1'
ResourceGroupName = 'test-rg'
Location = 'eastus2'
AddressPrefix = '10.0.0.0/16'
}
$virtualNetwork = New-AzVirtualNetwork @vnet
サブネットの追加
Azure では、仮想ネットワーク内のサブネットにリソースがデプロイされるため、サブネットを作成する必要があります。 Add-AzVirtualNetworkSubnetConfig を使用し、subnet-1 というサブネット構成を作成します。
$subnet = @{
Name = 'subnet-1'
VirtualNetwork = $virtualNetwork
AddressPrefix = '10.0.0.0/24'
}
$subnetConfig = Add-AzVirtualNetworkSubnetConfig @subnet
サブネットを仮想ネットワークに関連付ける
Set-AzVirtualNetwork を使用して、仮想ネットワークにサブネット構成を書き込むことができます。 このコマンドで、サブネットが作成されます。
$virtualNetwork | Set-AzVirtualNetwork
subscription-1 にサインインする
az sign-in を使用して subscription-1 にサインインします。
az login
両方のサブスクリプションに 1 つのアカウントを使用している場合、そのアカウントにサインインし、az account set を使用してサブスクリプション コンテキストを subscription-1 に変更します。
az account set --subscription "subscription-1"
リソース グループ - test-rg を作成する
Azure リソース グループとは、Azure リソースのデプロイと管理に使用する論理コンテナーです。
az group create を使用して、次のようにリソース グループを作成します。
az group create \
--name test-rg \
--location eastus2
仮想ネットワークの作成
az network vnet create を使って仮想ネットワークとサブネットを作成します。 この例では、米国西部 3 の場所内に vnet-1 という名前の subnet-1 仮想ネットワークを作成します。
az network vnet create \
--resource-group test-rg\
--location eastus2 \
--name vnet-1 \
--address-prefixes 10.0.0.0/16 \
--subnet-name subnet-1 \
--subnet-prefixes 10.0.0.0/24
user-2 にアクセス許可を割り当てる
ピアリングする他のサブスクリプションのユーザー アカウントを、以前に作成したネットワークに追加する必要があります。 両方のサブスクリプションに 1 つのアカウントを使っている場合は、このセクションをスキップできます。
user-1 としてポータルにサインインしたままにします。
ポータルの上部にある検索ボックスに「仮想ネットワーク 」と入力します。 検索結果で、[仮想ネットワーク] を選択します。
[vnet-1] を選択します。
[アクセス制御 (IAM)] を選択します。
[+ 追加] ->[ロールの割り当ての追加] を選びます。
[ロール] タブの [ロールの割り当ての追加] で、[ネットワーク共同作成者] を選びます。
[次へ] を選択します。
[メンバー] タブで、[+ メンバーの選択] を選びます。
検索ボックスの [メンバーの選択] に「user-2 」と入力します。
選択 を選択します。
[レビューと割り当て] を選択します。
[レビューと割り当て] を選択します。
Get-AzVirtualNetwork を使用して vnet-1 のリソース ID を取得します。 New-AzRoleAssignment を使用して subscription-2 から vnet-1 に user-2 を割り当てます。
Get-AzADUser を使用して user-2 のオブジェクト ID を取得します。
user-2 は、この例ではユーザー アカウントに使用されています。 この値を、vnet-1 にアクセス許可を割り当てる subscription-2 のユーザーの表示名に置き換えます。 両方のサブスクリプションに同じアカウントを使っている場合は、この手順をスキップできます。
$id = @{
Name = 'vnet-1'
ResourceGroupName = 'test-rg'
}
$vnet = Get-AzVirtualNetwork @id
$obj = Get-AzADUser -DisplayName 'user-2'
$role = @{
ObjectId = $obj.id
RoleDefinitionName = 'Network Contributor'
Scope = $vnet.id
}
New-AzRoleAssignment @role
az network vnet show を使用して vnet-1 のリソース ID を取得します。 az role assignment create を使用して subscription-2 から vnet-1 に user-2 を割り当てます。
az ad user list を使用して user-2 のオブジェクト ID を取得します。
user-2 は、この例ではユーザー アカウントに使用されています。 この値を、vnet-1 にアクセス許可を割り当てる subscription-2 のユーザーの表示名に置き換えます。 両方のサブスクリプションに同じアカウントを使っている場合は、この手順をスキップできます。
az ad user list --display-name user-2
[
{
"businessPhones": [],
"displayName": "user-2",
"givenName": null,
"id": "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb",
"jobTitle": null,
"mail": "user-2@fabrikam.com",
"mobilePhone": null,
"officeLocation": null,
"preferredLanguage": null,
"surname": null,
"userPrincipalName": "user-2_fabrikam.com#EXT#@contoso.onmicrosoft.com"
}
]
[ID] フィールドに user-2 のオブジェクト ID を書き留めます。この例では、aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb です。
vnetid=$(az network vnet show \
--name vnet-1 \
--resource-group test-rg \
--query id \
--output tsv)
az role assignment create \
--assignee aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb \
--role "Network Contributor" \
--scope $vnetid
--assignee
の例の guid を user-2 の実際のオブジェクト ID に置き換えます。
vnet-1 のリソース ID を取得する
user-1 としてポータルにサインインしたままにします。
ポータルの上部にある検索ボックスに「仮想ネットワーク 」と入力します。 検索結果で、[仮想ネットワーク] を選択します。
[vnet-1] を選択します。
[設定] で [プロパティ] を選択します。
[リソース ID] フィールドの情報をコピーし、後の手順のために保存しておきます。 リソース ID は次の例のようになります。/subscriptions/<Subscription Id>/resourceGroups/test-rg/providers/Microsoft.Network/virtualNetworks/vnet-1
user-1 としてポータルからサインアウトします。
vnet-1 のリソース ID は、vnet-2 から vnet-1 にピアリング接続を設定するために必要です。 Get-AzVirtualNetwork を使用して vnet-1 のリソース ID を取得します。
$id = @{
Name = 'vnet-1'
ResourceGroupName = 'test-rg'
}
$vnetA = Get-AzVirtualNetwork @id
$vnetA.id
vnet-1 のリソース ID は、vnet-2 から vnet-1 にピアリング接続を設定するために必要です。 az network vnet show を使用して vnet-1 のリソース ID を取得します。
vnetidA=$(az network vnet show \
--name vnet-1 \
--resource-group test-rg \
--query id \
--output tsv)
echo $vnetidA
仮想ネットワーク - vnet-2 を作成する
このセクションでは、user-2 としてサインインし、vnet-1 へのピアリング接続用の仮想ネットワークを作成します。
前のセクション の手順を繰り返し、次の値を使用して 2 つ目の仮想ネットワークを作成します。
設定
値
サブスクリプション
subscription-2
リソース グループ
test-rg-2
名前
vnet-2
アドレス空間
10.1.0.0/16
サブネット名
subnet-1
サブネットのアドレス範囲
10.1.0.0/24
subscription-2 にサインインする
Connect-AzAccount を使用して subscription-2 にサインインします。
Connect-AzAccount
両方のサブスクリプションに 1 つのアカウントを使用している場合、そのアカウントにサインインし、Set-AzContext を使用してサブスクリプション コンテキストを subscription-2 に変更します。
Set-AzContext -Subscription subscription-2
リソース グループ - test-rg-2 を作成する
Azure リソース グループとは、Azure リソースのデプロイと管理に使用する論理コンテナーです。
New-AzResourceGroup を使用して、次のようにリソース グループを作成します。
$rsg = @{
Name = 'test-rg-2'
Location = 'eastus2'
}
New-AzResourceGroup @rsg
仮想ネットワークの作成
New-AzVirtualNetwork を使用して仮想ネットワークを作成します。 この例では、米国西部 3 の場所内に vnet-2 という名前の subnet-1 仮想ネットワークを作成します。
$vnet = @{
Name = 'vnet-2'
ResourceGroupName = 'test-rg-2'
Location = 'eastus2'
AddressPrefix = '10.1.0.0/16'
}
$virtualNetwork = New-AzVirtualNetwork @vnet
サブネットの追加
Azure では、仮想ネットワーク内のサブネットにリソースがデプロイされるため、サブネットを作成する必要があります。 Add-AzVirtualNetworkSubnetConfig を使用し、subnet-1 というサブネット構成を作成します。
$subnet = @{
Name = 'subnet-1'
VirtualNetwork = $virtualNetwork
AddressPrefix = '10.1.0.0/24'
}
$subnetConfig = Add-AzVirtualNetworkSubnetConfig @subnet
サブネットを仮想ネットワークに関連付ける
Set-AzVirtualNetwork を使用して、仮想ネットワークにサブネット構成を書き込むことができます。 このコマンドで、サブネットが作成されます。
$virtualNetwork | Set-AzVirtualNetwork
subscription-2 にサインインする
az sign-in を使用して subscription-1 にサインインします。
az login
両方のサブスクリプションに 1 つのアカウントを使用している場合、そのアカウントにサインインし、az account set を使用してサブスクリプション コンテキストを subscription-2 に変更します。
az account set --subscription "subscription-2"
リソース グループ - test-rg-2 を作成する
Azure リソース グループとは、Azure リソースのデプロイと管理に使用する論理コンテナーです。
az group create を使用して、次のようにリソース グループを作成します。
az group create \
--name test-rg-2 \
--location eastus2
仮想ネットワークの作成
az network vnet create を使って仮想ネットワークとサブネットを作成します。 この例では、米国西部 3 の場所内に vnet-2 という名前の subnet-1 仮想ネットワークを作成します。
az network vnet create \
--resource-group test-rg-2\
--location eastus2 \
--name vnet-2 \
--address-prefixes 10.1.0.0/16 \
--subnet-name subnet-1 \
--subnet-prefixes 10.1.0.0/24
user-1 にアクセス許可を割り当てる
ピアリングする他のサブスクリプションのユーザー アカウントを、以前に作成したネットワークに追加する必要があります。 両方のサブスクリプションに 1 つのアカウントを使っている場合は、このセクションをスキップできます。
user-2 としてポータルにサインインしたままにします。
ポータルの上部にある検索ボックスに「仮想ネットワーク 」と入力します。 検索結果で、[仮想ネットワーク] を選択します。
[vnet-2] を選択します。
[アクセス制御 (IAM)] を選択します。
[+ 追加] ->[ロールの割り当ての追加] を選びます。
[ロール] タブの [ロールの割り当ての追加] で、[ネットワーク共同作成者] を選びます。
[次へ] を選択します。
[メンバー] タブで、[+ メンバーの選択] を選びます。
検索ボックスの [メンバーの選択] に「user-1 」と入力します。
選択 を選択します。
[レビューと割り当て] を選択します。
[レビューと割り当て] を選択します。
Get-AzVirtualNetwork を使用して vnet-1 のリソース ID を取得します。 New-AzRoleAssignment を使用して subscription-1 から vnet-2 に user-1 を割り当てます。
Get-AzADUser を使用して user-1 のオブジェクト ID を取得します。
user-1 は、この例ではユーザー アカウントに使用されています。 この値を、vnet-2 にアクセス許可を割り当てる subscription-1 のユーザーの表示名に置き換えます。 両方のサブスクリプションに同じアカウントを使っている場合は、この手順をスキップできます。
$id = @{
Name = 'vnet-2'
ResourceGroupName = 'test-rg-2'
}
$vnet = Get-AzVirtualNetwork @id
$obj = Get-AzADUser -DisplayName 'user-1'
$role = @{
ObjectId = $obj.id
RoleDefinitionName = 'Network Contributor'
Scope = $vnet.id
}
New-AzRoleAssignment @role
az network vnet show を使用して vnet-2 のリソース ID を取得します。 az role assignment create を使用して subscription-1 から vnet-2 に user-1 を割り当てます。
az ad user list を使用して user-1 のオブジェクト ID を取得します。
user-1 は、この例ではユーザー アカウントに使用されています。 この値を、vnet-2 にアクセス許可を割り当てる subscription-1 のユーザーの表示名に置き換えます。 両方のサブスクリプションに同じアカウントを使っている場合は、この手順をスキップできます。
az ad user list --display-name user-1
[
{
"businessPhones": [],
"displayName": "user-1",
"givenName": null,
"id": "bbbbbbbb-1111-2222-3333-cccccccccccc",
"jobTitle": null,
"mail": "user-1@contoso.com",
"mobilePhone": null,
"officeLocation": null,
"preferredLanguage": null,
"surname": null,
"userPrincipalName": "user-1_contoso.com#EXT#@fabrikam.onmicrosoft.com"
}
]
[ID] フィールドに user-1 のオブジェクト ID を書き留めます。この例では、bbbbbbbb-1111-2222-3333-cccccccccccc です。
vnetid=$(az network vnet show \
--name vnet-2 \
--resource-group test-rg-2 \
--query id \
--output tsv)
az role assignment create \
--assignee bbbbbbbb-1111-2222-3333-cccccccccccc \
--role "Network Contributor" \
--scope $vnetid
vnet-2 のリソース ID を取得する
vnet-2 のリソース ID は、vnet-1 から vnet-2 にピアリング接続を設定するために必要です。 次の手順を使用して vnet-2 のリソース ID を取得します。
user-2 としてポータルにサインインしたままにします。
ポータルの上部にある検索ボックスに「仮想ネットワーク 」と入力します。 検索結果で、[仮想ネットワーク] を選択します。
[vnet-2] を選択します。
[設定] で [プロパティ] を選択します。
[リソース ID] フィールドの情報をコピーし、後の手順のために保存しておきます。 リソース ID は次の例のようになります。/subscriptions/<Subscription Id>/resourceGroups/test-rg-2/providers/Microsoft.Network/virtualNetworks/vnet-2
user-2 としてポータルからサインアウトします。
vnet-2 のリソース ID は、vnet-1 から vnet-2 にピアリング接続を設定するために必要です。 Get-AzVirtualNetwork を使用して vnet-2 のリソース ID を取得します。
$id = @{
Name = 'vnet-2'
ResourceGroupName = 'test-rg-2'
}
$vnetB = Get-AzVirtualNetwork @id
$vnetB.id
vnet-2 のリソース ID は、vnet-1 から vnet-2 にピアリング接続を設定するために必要です。 az network vnet show を使用して vnet-2 のリソース ID を取得します。
vnetidB=$(az network vnet show \
--name vnet-2 \
--resource-group test-rg-2 \
--query id \
--output tsv)
echo $vnetidB
ピアリング接続の作成 - vnet-1 から vnet-2 へ
ピアリング接続を設定するには、前の手順で得た vnet-2 のリソース ID が必要です。
user-1 として Azure portal にサインインします。 両方のサブスクリプションに 1 つのアカウントを使用している場合、ポータルで subscription-1 に変更します。
ポータルの上部にある検索ボックスに「仮想ネットワーク 」と入力します。 検索結果で、[仮想ネットワーク] を選択します。
[vnet-1] を選択します。
[ピアリング] を選びます。
[+ 追加] を選択します。
[ピアリングの追加] で、次の情報を入力するか選びます。
設定
Value
リモート仮想ネットワークの概要
[Peering link name](ピアリング リンク名)
vnet-2-to-vnet-1
仮想ネットワークのデプロイ モデル
Resource Manager
リソース ID を知っている
ボックスを選択する
リソース ID
vnet-2 のリソース ID を入力する
Directory
vnet-2 と user-2 に対応する Microsoft Entra ID ディレクトリを選択する
リモート仮想ネットワーク ピアリングの設定
[ピアリングされた仮想ネットワーク] に 'vnet-1' へのアクセスを許可する
既定値の [有効] のままにします。
[ピアリングされた仮想ネットワーク] が 'vnet-1' からトラフィック転送を受信することを許可する
ボックスを選択する
ローカル仮想ネットワークの概要
[Peering link name](ピアリング リンク名)
vnet-1-to-vnet-2
ローカル仮想ネットワーク ピアリングの設定
[ピアリングされた仮想ネットワーク] へのアクセスを 'vnet-1' に許可する
既定値の [有効] のままにします。
'vnet-1' が [ピアリングされた仮想ネットワーク] からトラフィック転送を受信することを許可する
ボックスを選択する
[追加] を選択します。
user-1 としてポータルからサインアウトします。
subscription-1 にサインインする
Connect-AzAccount を使用して subscription-1 にサインインします。
Connect-AzAccount
両方のサブスクリプションに 1 つのアカウントを使用している場合、そのアカウントにサインインし、Set-AzContext を使用してサブスクリプション コンテキストを subscription-1 に変更します。
Set-AzContext -Subscription subscription-1
subscription-2 にサインインする
ピアリングを設定できるように subscription-2 の認証を受けます。
Connect-AzAccount を使用して subscription-2 にサインインします。
Connect-AzAccount
subscription-1 に変更する (省略可能)
subscription-1 での操作を続けるために、必要に応じて subscription-1 に切り替えることがあります。
コンテキストを subscription-1 に変更します。
Set-AzContext -Subscription subscription-1
ピアリング接続を作成する
Add-AzVirtualNetworkPeering を使用して vnet-1 と vnet-2 間のピアリング接続を作成します。
$netA = @{
Name = 'vnet-1'
ResourceGroupName = 'test-rg'
}
$vnetA = Get-AzVirtualNetwork @netA
$peer = @{
Name = 'vnet-1-to-vnet-2'
VirtualNetwork = $vnetA
RemoteVirtualNetworkId = '/subscriptions/<subscription-2-Id>/resourceGroups/test-rg-2/providers/Microsoft.Network/virtualNetworks/vnet-2'
}
Add-AzVirtualNetworkPeering @peer
Get-AzVirtualNetworkPeering を使用して vnet-1 から vnet-2 までのピアリング接続の状態を取得します。
$status = @{
ResourceGroupName = 'test-rg'
VirtualNetworkName = 'vnet-1'
}
Get-AzVirtualNetworkPeering @status | Format-Table VirtualNetworkName, PeeringState
PS /home/azureuser> Get-AzVirtualNetworkPeering @status | Format-Table VirtualNetworkName, PeeringState
VirtualNetworkName PeeringState
------------------ ------------
vnet-1 Initiated
subscription-1 にサインインする
az sign-in を使用して subscription-1 にサインインします。
az login
両方のサブスクリプションに 1 つのアカウントを使用している場合、そのアカウントにサインインし、az account set を使用してサブスクリプション コンテキストを subscription-1 に変更します。
az account set --subscription "subscription-1"
subscription-2 にサインインする
ピアリングを設定できるように subscription-2 の認証を受けます。
az sign-in を使用して subscription-2 にサインインします。
az login
subscription-1 に変更する (省略可能)
subscription-1 での操作を続けるために、必要に応じて subscription-1 に切り替えることがあります。
コンテキストを subscription-1 に変更します。
az account set --subscription "subscription-1"
ピアリング接続を作成する
az network vnet peering create を使用して vnet-1 と vnet-2 間にピアリング接続を作成します。
az network vnet peering create \
--name vnet-1-to-vnet-2 \
--resource-group test-rg \
--vnet-name vnet-1 \
--remote-vnet /subscriptions/<subscription-2-Id>/resourceGroups/test-rg-2/providers/Microsoft.Network/VirtualNetworks/vnet-2 \
--allow-vnet-access
az network vnet peering list を使用して vnet-1 から vnet-2 までのピアリング接続の状態を取得します。
az network vnet peering list \
--resource-group test-rg \
--vnet-name vnet-1 \
--output table
ピアリング接続は、[ピアリング] で "開始済み " の状態と表示されます。 ピアを完成させるには、対応する接続を vnet-2 に設定する必要があります。
ピアリング接続の作成 - vnet-2 から vnet-1 へ
ピアリング接続を設定するには、前の手順で得た vnet-1 のリソース ID が必要です。
user-2 として Azure portal にサインインします。 両方のサブスクリプションに 1 つのアカウントを使用している場合、ポータルで subscription-2 に変更します。
ポータルの上部にある検索ボックスに「仮想ネットワーク 」と入力します。 検索結果で、[仮想ネットワーク] を選択します。
[vnet-2] を選択します。
[ピアリング] を選びます。
[+ 追加] を選択します。
[ピアリングの追加] で、次の情報を入力するか選びます。
設定
Value
リモート仮想ネットワークの概要
[Peering link name](ピアリング リンク名)
vnet-1-to-vnet-2
仮想ネットワークのデプロイ モデル
Resource Manager
リソース ID を知っている
ボックスを選択する
リソース ID
vnet-2 のリソース ID を入力する
Directory
vnet-1 と user-1 に対応する Microsoft Entra ID ディレクトリを選択する
リモート仮想ネットワーク ピアリングの設定
[ピアリングされた仮想ネットワーク] に 'vnet-1' へのアクセスを許可する
既定値の [有効] のままにします。
[ピアリングされた仮想ネットワーク] が 'vnet-1' からトラフィック転送を受信することを許可する
ボックスを選択する
ローカル仮想ネットワークの概要
[Peering link name](ピアリング リンク名)
vnet-1-to-vnet-2
ローカル仮想ネットワーク ピアリングの設定
[ピアリングされた仮想ネットワーク] へのアクセスを 'vnet-1' に許可する
既定値の [有効] のままにします。
'vnet-1' が [ピアリングされた仮想ネットワーク] からトラフィック転送を受信することを許可する
ボックスを選択する
[追加] を選択します。
プルダウン ボックスで、vnet-1 と user-1 に対応する [ディレクトリ] を選択します。
[認証] を選びます。
[追加] を選択します。
subscription-2 にサインインする
Connect-AzAccount を使用して subscription-2 にサインインします。
Connect-AzAccount
両方のサブスクリプションに 1 つのアカウントを使用している場合、そのアカウントにサインインし、Set-AzContext を使用してサブスクリプション コンテキストを subscription-2 に変更します。
Set-AzContext -Subscription subscription-2
subscription-1 にサインインする
ピアリングを設定できるように subscription-1 の認証を受けます。
Connect-AzAccount を使用して subscription-1 にサインインします。
Connect-AzAccount
subscription-2 に変更する (省略可能)
subscription-2 での操作を続けるために、必要に応じて subscription-2 に切り替えることがあります。
コンテキストを subscription-2 に変更します。
Set-AzContext -Subscription subscription-2
ピアリング接続を作成する
Add-AzVirtualNetworkPeering を使用して vnet-2 と vnet-1 間のピアリング接続を作成します。
$netB = @{
Name = 'vnet-2'
ResourceGroupName = 'test-rg-2'
}
$vnetB = Get-AzVirtualNetwork @netB
$peer = @{
Name = 'vnet-2-to-vnet-1'
VirtualNetwork = $vnetB
RemoteVirtualNetworkId = '/subscriptions/<subscription-1-Id>/resourceGroups/test-rg/providers/Microsoft.Network/virtualNetworks/vnet-1'
}
Add-AzVirtualNetworkPeering @peer
Get-AzVirtualNetworkPeering を使用して vnet-2 から vnet-1 までのピアリング接続の状態を取得します。
$status = @{
ResourceGroupName = 'test-rg-2'
VirtualNetworkName = 'vnet-2'
}
Get-AzVirtualNetworkPeering @status | Format-Table VirtualNetworkName, PeeringState
PS /home/azureuser> Get-AzVirtualNetworkPeering @status | Format-Table VirtualNetworkName, PeeringState
VirtualNetworkName PeeringState
------------------ ------------
vnet-2 Connected
subscription-2 にサインインする
az sign-in を使用して subscription-2 にサインインします。
az login
両方のサブスクリプションに 1 つのアカウントを使用している場合、そのアカウントにサインインし、az account set を使用してサブスクリプション コンテキストを subscription-2 に変更します。
az account set --subscription "subscription-2"
subscription-1 にサインインする
ピアリングを設定できるように subscription-1 の認証を受けます。
az sign-in を使用して subscription-1 にサインインします。
az login
subscription-2 に変更する (省略可能)
subscription-2 での操作を続けるために、必要に応じて subscription-2 に切り替えることがあります。
コンテキストを subscription-2 に変更します。
az account set --subscription "subscription-2"
ピアリング接続を作成する
az network vnet peering create を使用して vnet-2 と vnet-1 間にピアリング接続を作成します。
az network vnet peering create \
--name vnet-2-to-vnet-1 \
--resource-group test-rg-2 \
--vnet-name vnet-2 \
--remote-vnet /subscriptions/<subscription-1-Id>/resourceGroups/test-rg/providers/Microsoft.Network/VirtualNetworks/vnet-1 \
--allow-vnet-access
az network vnet peering list を使用して vnet-2 から vnet-1 までのピアリング接続の状態を取得します。
az network vnet peering list \
--resource-group test-rg-2 \
--vnet-name vnet-2 \
--output table
ピアリングにおける両方の仮想ネットワークの [ピアリング状態] 列に "接続済み " と表示されれば、ピアリングは正常に確立されています。 2 つの仮想ネットワークに作成した Azure リソースが、その IP アドレスを使用して相互に通信できるようになりました。 仮想ネットワークに Azure の名前解決を使用する場合、そのネットワーク内のリソースは、通信相手の仮想ネットワークに対して名前を解決することができません。 ピアリングされた仮想ネットワークの間で名前を解決する必要がある場合は、独自の DNS (ドメイン ネーム システム) サーバーを作成するか、Azure DNS を使う必要があります。
独自の DNS を使った名前解決の詳細については、「独自の DNS サーバーを使用する名前解決 」を参照してください。
Azure DNS の詳細については、「Azure DNS とは 」を参照してください。
次のステップ