仮想ネットワーク ピアリングを使用すると、さまざまなサブスクリプションと Microsoft Entra テナント間で Azure 仮想ネットワークを接続できます。 このチュートリアルでは、異なるサブスクリプションに存在する Resource Manager を使用して作成された仮想ネットワーク間に仮想ネットワーク ピアリングを作成する方法について説明します。 2 つの仮想ネットワークをピアリングすると、別々の仮想ネットワークに存在するリソースが、あたかも同じ仮想ネットワーク内に存在するかのような帯域幅と待ち時間で相互に通信を行うことができます。 詳しくは、「仮想ネットワーク ピアリング」をご覧ください。
仮想ネットワークのサブスクリプションが同じか異なるかに応じて、仮想ネットワーク ピアリングを作成する手順は異なります。 クラシック デプロイ モデルで作成されたネットワークのピアリング手順は異なります。 デプロイ モデルの詳細については、「Azure デプロイ モデル」を参照してください。
他のシナリオで仮想ネットワークを作成する方法については、次の表で目的のシナリオを選択してください。
クラシック デプロイ モデルでデプロイされた 2 つの仮想ネットワークの間に、仮想ネットワーク ピアリングを作成することはできません。 どちらもクラシック デプロイ モデルで作成された仮想ネットワークを接続する必要がある場合は、Azure VPN Gateway を使ってそれらの仮想ネットワークを接続できます。
このチュートリアルでは同じリージョンで複数の仮想ネットワークをピアリングします。 異なるサポート対象リージョン間での仮想ネットワーク ピアリングも可能です。 仮想ネットワークのピアリングの前に、ピアリングの要件と制約をよく理解します。
Prerequisites
2 つのアクティブなサブスクリプションを持つ Azure アカウント (1 つまたは複数)。
無料でアカウントを作成できます。
1 つの Azure アカウント (両方のサブスクリプションにアクセス許可を持つもの)、または各サブスクリプションにある 1 つのアカウント (仮想ネットワーク ピアリングを作成できる適切なアクセス許可を持つもの)。 アクセス許可の一覧については、仮想ネットワークのピアリングのアクセス許可に関するページをご覧ください。
各テナントに属するネットワークを管理する職務を分離するには、各テナントのユーザーを他方のテナントのゲストとして追加し、仮想ネットワークに対するネットワーク共同作成者ロールを割り当てます。 この手順は、異なるサブスクリプションと Active Directory テナント内に仮想ネットワークがある場合に適用されます。
各テナントに属するネットワークを管理する職務を分離しない場合、ネットワーク ピアリングを確立するには、テナント A のユーザーを他方のテナントのゲストとして追加します。 次に、各サブスクリプションからネットワーク ピアリングを開始して接続するためのネットワーク共同作成者ロールを割り当てます。 これらのアクセス許可により、ユーザーは各サブスクリプションからネットワーク ピアリングを確立できます。
ゲスト ユーザーの詳細については、「Azure portal での Microsoft Entra B2B コラボレーション ユーザーの追加」を参照してください。
各ユーザーは、反対側の Microsoft Entra テナントからのゲスト ユーザーの招待を受け入れる必要があります。
Azure ポータルにサインインします。
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 テナントの仮想ネットワークをピアリングする方法について説明します。
両方のサブスクリプションにアクセス許可を持つ同じアカウントを使うか、各サブスクリプションで個別のアカウントを使ってピアリングを設定できます。 両方のサブスクリプションにアクセス許可を持つアカウントは、ポータルからサインアウトしてサインインし、アクセス許可を割り当てることなく、すべての手順を完了できます。
この記事の手順では、次のリソースとアカウントの例を使います。
| ユーザー アカウント |
リソースグループ |
Subscription |
仮想ネットワーク |
|
user-1 |
test-rg |
subscription-1 |
vnet-1 |
|
user-2 |
test-rg-2 |
subscription-2 |
vnet-2 |
仮想ネットワークを作成する - vnet-1
Note
1 つのアカウントを使用して手順を完了している場合は、ポータルからログアウトし、別のユーザーアクセス許可を仮想ネットワークに割り当てる手順をスキップできます。
以下の手順ではリソース サブネットを持つ仮想ネットワークが作成されます。
ポータルで、[仮想ネットワーク] を検索して選択します。
[仮想ネットワーク] ページで、[+ 作成] を選択します。
[仮想ネットワークの作成] の [基本] タブで、次の情報を入力するか選択します。
| Setting |
Value |
|
プロジェクトの詳細 |
|
| Subscription |
サブスクリプションを選択します。 |
| リソースグループ |
[新規作成] を選択します。
[名前] に「test-rg」と入力します。
[OK] を選択します。 |
|
インスタンスの詳細 |
|
| Name |
「vnet-1」と入力します。 |
| Region |
[米国東部 2] を選択します。 |
[次へ] を選択して、[セキュリティ] タブに進みます。
[次へ] を選択して、[IP アドレス] タブに進みます。
[サブネット] のアドレス空間ボックスで、既定のサブネットを選択します。
[サブネットの編集] で、次の情報を入力するか選択します。
| Setting |
Value |
| サブネットの目的 |
既定値の [既定] のままにします。 |
| Name |
「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-2 から vnet-1 へのピアリング接続を設定するには、vnet-1 のリソース ID が必要です。
Get-AzVirtualNetwork を使って vnet-1 のリソース ID を取得します。
$id = @{
Name = 'vnet-1'
ResourceGroupName = 'test-rg'
}
$vnetA = Get-AzVirtualNetwork @id
$vnetA.id
vnet-2 から vnet-1 へのピアリング接続を設定するには、vnet-1 のリソース ID が必要です。
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 つ目の仮想ネットワークを作成します。
| Setting |
Value |
| Subscription |
subscription-2 |
| リソースグループ |
test-rg-2 |
| Name |
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-2 にサインインします。
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-2 のリソース 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-1 から vnet-2 へのピアリング接続を設定するには、vnet-2 のリソース ID が必要です。 次の手順を使って、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-1 から vnet-2 へのピアリング接続を設定するには、vnet-2 のリソース ID が必要です。
Get-AzVirtualNetwork を使って vnet-2 のリソース ID を取得します。
$id = @{
Name = 'vnet-2'
ResourceGroupName = 'test-rg-2'
}
$vnetB = Get-AzVirtualNetwork @id
$vnetB.id
vnet-1 から vnet-2 へのピアリング接続を設定するには、vnet-2 のリソース ID が必要です。
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] を選択します。
[ピアリング] を選択します。
[+ 追加]を選択します。
[ピアリングの追加] で、次の情報を入力するか選びます。
| Setting |
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] を選択します。
[ピアリング] を選択します。
[+ 追加]を選択します。
[ピアリングの追加] で、次の情報を入力するか選びます。
| Setting |
Value |
|
リモート仮想ネットワークの概要 |
|
| [Peering link name]\(ピアリング リンク名\) |
vnet-1-to-vnet-2 |
| 仮想ネットワークのデプロイ モデル |
Resource Manager |
| リソース ID を知っている |
ボックスを選択する |
| リソースID |
vnet-1 のリソース 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 とは」を参照してください。
次のステップ