가상 네트워크 피어링 만들기 - Resource Manager, 서로 다른 구독 및 Microsoft Entra 테넌트
이 문서의 내용
이 자습서에서는 리소스 관리자를 통해 만든 가상 네트워크 간의 가상 네트워크 피어링을 만드는 방법을 알아봅니다. 가상 네트워크는 다른 Microsoft Entra 테넌트에 속할 수 있는 다른 구독에 존재합니다. 두 가상 네트워크를 피어링하면 서로 다른 가상 네트워크에 있는 리소스가 같은 가상 네트워크에 있는 리소스인 것처럼 같은 대역폭 및 대기 시간으로 서로 통신할 수 있습니다. 가상 네트워크 피어링 에 대해 자세히 알아보세요.
가상 네트워크가 동일한 구독에 있는지 아니면 서로 다른 구독에 있는지에 따라 가상 네트워크 피어링을 만드는 단계가 달라집니다. 클래식 배포 모델을 사용하여 만든 네트워크를 피어링하는 단계는 다릅니다. 배포 모델에 대한 자세한 내용은 Azure 배포 모델 을 참조하세요.
다음 표에 나온 시나리오를 선택하여 다른 시나리오에서 가상 네트워크 피어링을 만드는 방법을 알아보세요.
클래식 배포 모델을 통해 배포된 두 가상 네트워크 간에는 가상 네트워크 피어링을 만들 수 없습니다. 둘 다 클래식 배포 모델을 통해 생성된 가상 네트워크를 연결해야 할 경우 Azure VPN Gateway 를 사용하여 가상 네트워크를 연결할 수 있습니다.
이 자습서는 동일한 지역에 가상 네트워크를 피어링합니다. 다른 지원되는 지역 에 있는 가상 네트워크를 피어링할 수도 있습니다. 가상 네트워크를 피어링하기 전에 피어링 요구 사항 및 제약 조건 을 숙지합니다.
필수 조건
활성 구독이 두 개 있는 Azure 계정 또는 계정입니다. 체험 계정을 만듭니다 .
두 구독 모두에서 권한이 있는 Azure 계정 또는 가상 네트워크 피어링을 만들 수 있는 적절한 권한이 있는 각 구독의 계정. 사용 권한 목록은 가상 네트워크 피어링 사용 권한 을 참조하세요.
각 테넌트에 속한 네트워크를 관리하는 의무를 분리하려면 각 테넌트의 사용자를 반대 테넌트에 게스트로 추가하고 가상 네트워크에 대한 네트워크 contributor 역할을 할당합니다. 이 절차는 가상 네트워크가 서로 다른 구독과 서로 다른 Active Directory 테넌트에 있을 때 적용됩니다.
각 테넌트에 속한 네트워크 관리 의무를 분리할 생각이 없는 경우 네트워크 피어링을 설정하려면 테넌트 A의 사용자를 반대 테넌트의 게스트로 추가합니다. 그런 다음, 네트워크 contributor 역할을 할당하여 각 구독에서 네트워크 피어링을 시작하고 연결합니다. 이러한 권한을 통해 사용자는 각 구독에서 네트워크 피어링을 설정할 수 있습니다.
게스트 사용자에 대한 자세한 내용은 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와 연결해야 합니다.
이 방법 문서대로 하려면 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
참고 항목
단일 계정을 사용하여 단계를 완료하는 경우 포털에서 로그아웃하고 가상 네트워크에 다른 사용자 권한을 할당하는 단계를 건너뛸 수 있습니다.
다음 절차에 따라 리소스 서브넷이 있는 가상 네트워크를 만듭니다.
포털에서 가상 네트워크 를 검색하여 선택합니다.
가상 네트워크 페이지에서 + 만들기 를 선택합니다.
가상 네트워크 만들기 의 기본 사항 탭에서 다음 정보를 입력하거나 선택합니다.
설정
값
프로젝트 세부 정보
Subscription
구독을 선택합니다.
Resource group
새로 만들기 를 선택합니다. 이름에 test-rg 를 입력합니다. 확인 을 선택합니다.
인스턴스 세부 정보
Name
vnet-1 을 입력합니다.
지역
미국 동부 2 를 선택합니다.
다음 을 선택하여 보안 탭으로 이동합니다.
다음 을 선택하여 IP 주소 탭으로 이동합니다.
서브넷 의 주소 공간 입력란에서 기본 서브넷을 선택합니다.
서브넷 편집 에서 다음 정보를 입력하거나 선택합니다.
설정
값
서브넷 목적
기본값 으로 둡니다.
이름
subnet-1 을 입력합니다.
나머지 설정은 기본값으로 둡니다. 저장 을 선택합니다.
저장 을 선택합니다.
화면 아래쪽에서 검토 + 만들기 를 선택하고, 유효성 검사를 통과하면 만들기 를 선택합니다.
subscription-1에 로그인
Connect-AzAccount 를 사용하여 subscription-1 에 로그인합니다.
Connect-AzAccount
두 구독에 단일 계정을 사용하는 경우 해당 계정에 로그인하고, 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
두 구독에 단일 계정을 사용하는 경우 해당 계정에 로그인하고, 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의 권한 할당
피어링하려는 다른 구독의 사용자 계정을 이전에 만든 네트워크에 추가해야 합니다. 두 구독에 단일 계정을 사용하는 경우 이 섹션을 건너뛰어도 됩니다.
포털에 user-1 으로 로그인한 상태를 유지합니다.
포털 맨 위에 있는 검색 창에 가상 네트워크 를 입력합니다. 검색 결과에서 가상 네트워크 를 선택합니다.
vnet-1 을 선택합니다.
액세스 제어(IAM) 를 선택합니다.
+ 추가 ->역할 할당 추가 를 선택합니다.
역할 탭의 역할 할당 추가 에서 네트워크 contributor 를 선택합니다.
다음 을 선택합니다.
구성원 탭에서 + 구성원 선택 을 선택합니다.
검색 창의 구성원 선택 에서 user-2 를 입력합니다.
선택 을 선택합니다.
검토 + 할당 을 선택합니다.
검토 + 할당 을 선택합니다.
Get-AzVirtualNetwork 를 사용하여 vnet-1 의 리소스 ID를 가져옵니다. New-AzRoleAssignment 를 사용하여 subscription-2 의 user-2 를 vnet-1 에 할당합니다.
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 의 user-2 를 vnet-1 에 할당합니다.
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": "16d51293-ec4b-43b1-b54b-3422c108321a",
"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를 기록해 둡니다. 이 예제에서는 16d51293-ec4b-43b1-b54b-3422c108321a 입니다.
vnetid=$(az network vnet show \
--name vnet-1 \
--resource-group test-rg \
--query id \
--output tsv)
az role assignment create \
--assignee 16d51293-ec4b-43b1-b54b-3422c108321a \
--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 에 피어링 연결을 설정하기 위한 가상 네트워크를 만듭니다.
이전 섹션 의 단계를 반복하여 다음 값으로 두 번째 가상 네트워크를 만듭니다.
설정
값
구독
subscription-2
Resource group
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
두 구독에 단일 계정을 사용하는 경우 해당 계정에 로그인하고, 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
두 구독에 단일 계정을 사용하는 경우 해당 계정에 로그인하고, 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의 권한 할당
피어링하려는 다른 구독의 사용자 계정을 이전에 만든 네트워크에 추가해야 합니다. 두 구독에 단일 계정을 사용하는 경우 이 섹션을 건너뛰어도 됩니다.
포털에 user-2 로 로그인한 상태를 유지합니다.
포털 맨 위에 있는 검색 창에 가상 네트워크 를 입력합니다. 검색 결과에서 가상 네트워크 를 선택합니다.
vnet-2 를 선택합니다.
액세스 제어(IAM) 를 선택합니다.
+ 추가 ->역할 할당 추가 를 선택합니다.
역할 탭의 역할 할당 추가 에서 네트워크 contributor 를 선택합니다.
다음 을 선택합니다.
구성원 탭에서 + 구성원 선택 을 선택합니다.
검색 창의 구성원 선택 에서 user-1 을 입력합니다.
선택 을 선택합니다.
검토 + 할당 을 선택합니다.
검토 + 할당 을 선택합니다.
Get-AzVirtualNetwork 를 사용하여 vnet-1 의 리소스 ID를 가져옵니다. New-AzRoleAssignment 를 사용하여 subscription-1 의 user-1 을 vnet-2 에 할당합니다.
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 의 user-1 을 vnet-2 에 할당합니다.
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": "ee0645cc-e439-4ffc-b956-79577e473969",
"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를 기록해 둡니다. 이 예제에서는 ee0645cc-e439-4ffc-b956-79577e473969 입니다.
vnetid=$(az network vnet show \
--name vnet-2 \
--resource-group test-rg-2 \
--query id \
--output tsv)
az role assignment create \
--assignee ee0645cc-e439-4ffc-b956-79577e473969 \
--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 가 필요합니다.
Azure Portal 에 user-1 으로 로그인합니다. 두 구독에 단일 계정을 사용하는 경우 포털에서 subscription-1 으로 변경합니다.
포털 맨 위에 있는 검색 창에 가상 네트워크 를 입력합니다. 검색 결과에서 가상 네트워크 를 선택합니다.
vnet-1 을 선택합니다.
피어링 을 선택합니다.
+ 추가 를 선택합니다.
피어링 추가 에서 다음 정보를 입력하거나 선택합니다.
설정
값
원격 가상 네트워크 요약
피어링 링크 이름
vnet-2-to-vnet-1
가상 네트워크 배포 모델
Resource Manager
리소스 ID를 알고 있음
상자 선택
리소스 ID
vnet-2에 대한 리소스 ID 입력
디렉터리
vnet-2 및 user-2 에 해당하는 Microsoft Entra ID 디렉터리 선택
원격 가상 네트워크 피어링 설정
'피어링된 가상 네트워크'가 'vnet-1'에 액세스하도록 허용
기본값인 사용 을 그대로 둡니다.
'피어링된 가상 네트워크'가 'vnet-1'에서 전달된 트래픽을 수신하도록 허용
상자 선택
로컬 가상 네트워크 요약
피어링 링크 이름
vnet-1-to-vnet-2
로컬 가상 네트워크 피어링 설정
'vnet-1'이 '피어링된 가상 네트워크'에 액세스하도록 허용
기본값인 사용 을 그대로 둡니다.
'vnet-1'이 '피어된 가상 네트워크'에서 전달된 트래픽을 받도록 허용
상자 선택
추가 를 선택합니다.
포털에서 user-1 으로 로그아웃합니다.
subscription-1에 로그인
Connect-AzAccount 를 사용하여 subscription-1 에 로그인합니다.
Connect-AzAccount
두 구독에 단일 계정을 사용하는 경우 해당 계정에 로그인하고, 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
두 구독에 단일 계정을 사용하는 경우 해당 계정에 로그인하고, 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
Peerings 에 피어링 연결 상태가 Initiated 로 표시됩니다. 피어를 완료하려면 vnet-2 에서 해당 연결을 설정해야 합니다.
피어링 연결 만들기 - vnet-2에서 vnet-1으로
피어링 연결을 설정하려면 이전 단계에서 확인한 vnet-1 의 리소스 ID 가 필요합니다.
Azure Portal 에 user-2 로 로그인합니다. 두 구독에 단일 계정을 사용하는 경우 포털에서 subscription-2 로 변경합니다.
포털 맨 위에 있는 검색 창에 가상 네트워크 를 입력합니다. 검색 결과에서 가상 네트워크 를 선택합니다.
vnet-2 를 선택합니다.
피어링 을 선택합니다.
+ 추가 를 선택합니다.
피어링 추가 에서 다음 정보를 입력하거나 선택합니다.
설정
값
원격 가상 네트워크 요약
피어링 링크 이름
vnet-1-to-vnet-2
가상 네트워크 배포 모델
Resource Manager
리소스 ID를 알고 있음
상자 선택
리소스 ID
vnet-2에 대한 리소스 ID 입력
디렉터리
vnet-1 및 user-1 ㅇ 해당하는 Microsoft Entra ID 디렉터리 선택
원격 가상 네트워크 피어링 설정
'피어링된 가상 네트워크'가 'vnet-1'에 액세스하도록 허용
기본값인 사용 을 그대로 둡니다.
'피어링된 가상 네트워크'가 'vnet-1'에서 전달된 트래픽을 수신하도록 허용
상자 선택
로컬 가상 네트워크 요약
피어링 링크 이름
vnet-1-to-vnet-2
로컬 가상 네트워크 피어링 설정
'vnet-1'이 '피어링된 가상 네트워크'에 액세스하도록 허용
기본값인 사용 을 그대로 둡니다.
'vnet-1'이 '피어된 가상 네트워크'에서 전달된 트래픽을 받도록 허용
상자 선택
추가 를 선택합니다.
풀다운 상자에서 vnet-1 및 user-1 에 해당하는 디렉터리 를 선택합니다.
인증 을 선택합니다.
추가 를 선택합니다.
subscription-2에 로그인
Connect-AzAccount 를 사용하여 subscription-2 에 로그인합니다.
Connect-AzAccount
두 구독에 단일 계정을 사용하는 경우 해당 계정에 로그인하고, 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
두 구독에 단일 계정을 사용하는 경우 해당 계정에 로그인하고, 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
피어링하는 두 가상 네트워크의 PeeringState 열에 Connected 가 표시되면 피어링이 성공적으로 설정된 것입니다. 어느 쪽 가상 네트워크에서든 만든 모든 Azure 리소스는 이제 해당 IP 주소를 통해 서로 통신할 수 있습니다. 가상 네트워크에 Azure 이름 확인을 사용하는 경우 가상 네트워크의 리소스가 가상 네트워크에서 이름을 확인할 수 없습니다. 피어링의 가상 네트워크에서 이름을 확인하려면 사용자 고유의 DNS(도메인 이름 시스템) 서버를 만들거나 Azure DNS를 사용해야 합니다.
이름 확인에 자체 DNS 사용에 대한 자세한 내용은 자체 DNS 서버를 이용한 이름 확인 을 참조하세요.
Azure DNS에 대한 자세한 내용은 Azure DNS란? 을 참조하세요.
다음 단계