Virtual WAN에서 프라이빗 링크 사용

Azure Private Link프라이빗 엔드포인트를 공개하여 개인 IP 주소 연결을 통해 Azure Platform-as-a-Service 제품을 연결할 수 있는 기술입니다. Azure Virtual WAN을 사용하면 가상 허브에 연결된 가상 네트워크 중 하나에 프라이빗 엔드포인트를 배포할 수 있습니다. 이 프라이빗 링크는 동일한 Virtual WAN에 연결된 다른 가상 네트워크나 분기에 대한 연결을 제공합니다.

시작하기 전에

이 문서의 단계에서는 하나 이상의 허브와 Virtual WAN에 연결된 두 개 이상의 가상 네트워크가 포함된 Virtual WAN을 이미 배포했다고 가정합니다.

새 Virtual WAN 및 새 허브를 만들려면 다음 문서의 단계를 수행합니다.

프라이빗 링크 엔드포인트 만들기

다양한 서비스의 프라이빗 링크 엔드포인트를 만들 수 있습니다. 이 예제에서는 Azure SQL Database를 사용합니다. 빠른 시작: Azure Portal을 사용하여 프라이빗 엔드포인트 만들기에서 Azure SQL Database의 프라이빗 엔드포인트를 만드는 방법에 관한 자세한 내용을 확인할 수 있습니다. 다음 이미지는 Azure SQL Database의 네트워크 구성을 보여 줍니다.

create private link

Azure SQL Database를 만든 후 프라이빗 엔드포인트를 검색하는 프라이빗 엔드포인트 IP 주소를 확인할 수 있습니다.

private endpoints

만든 프라이빗 엔드포인트를 클릭하면 해당 개인 IP 주소와 FQDN(정규화된 도메인 이름)이 표시됩니다. 프라이빗 엔드포인트에는 배포된 VNet 범위(10.1.3.0/24)에 IP 주소가 있어야 합니다.

SQL endpoint

동일한 VNet에서 연결 확인

이 예제에서는 MS SQL 도구가 설치된 Linux 가상 머신에서 Azure SQL Database에 대한 연결을 확인합니다. 첫 번째 단계는 DNS 확인이 작동하고 Azure SQL Database 정규화된 도메인 이름이 프라이빗 엔드포인트가 배포된 동일한 VNet(10.1.3.0/24)의 개인 IP 주소로 확인되는지 확인하는 것입니다.

nslookup wantest.database.windows.net
Server:         127.0.0.53
Address:        127.0.0.53#53

Non-authoritative answer:
wantest.database.windows.net    canonical name = wantest.privatelink.database.windows.net.
Name:   wantest.privatelink.database.windows.net
Address: 10.1.3.228

이전 출력에서 볼 수 있듯이 FQDN wantest.database.windows.net은 프라이빗 엔드포인트를 따라 생성된 프라이빗 DNS 영역이 개인 IP 주소 10.1.3.228로 확인되는 wantest.privatelink.database.windows.net에 매핑됩니다. 프라이빗 DNS 영역을 확인하여 개인 IP 주소에 매핑된 프라이빗 엔드포인트의 A 레코드가 있는지 확인합니다.

DNS zone

올바른 DNS 확인을 확인한 후 데이터베이스에 연결해 볼 수 있습니다.

query="SELECT CONVERT(char(15), CONNECTIONPROPERTY('client_net_address'));"
sqlcmd -S wantest.database.windows.net -U $username -P $password -Q "$query"
10.1.3.75

여기에서 볼 수 있듯이 SQL 서버가 클라이언트에서 확인하는 원본 IP 주소를 제공하는 특수 SQL 쿼리를 사용하고 있습니다. 이 경우 서버는 개인 IP(10.1.3.75)를 사용하는 클라이언트를 확인합니다. 즉, 트래픽이 VNet에서 직접 프라이빗 엔드포인트로 이동합니다.

이 가이드의 예제를 사용하려면 usernamepassword 변수를 Azure SQL Database에 정의된 자격 증명과 일치하도록 설정합니다.

다른 VNet에서 연결

Azure Virtual WAN의 한 VNet이 프라이빗 엔드포인트에 연결되어 있으므로 이제 Virtual WAN에 연결된 다른 모든 VNet과 분기도 해당 엔드포인트에 액세스할 수 있습니다. 두 예제에 이름을 지정하려면 Any-to-Any 시나리오 또는 Shared Services VNet 시나리오와 같이 Azure Virtual WAN에서 지원되는 임의 모델을 통해 연결을 제공해야 합니다.

VNet 또는 분기에서 프라이빗 엔드포인트가 배포된 VNet에 연결한 후 DNS 확인을 구성해야 합니다.

  • VNet에서 프라이빗 엔드포인트에 연결하는 경우 Azure SQL Database를 사용하여 만든 것과 동일한 프라이빗 영역을 사용할 수 있습니다.
  • 분기(사이트 간 VPN, 지점 및 사이트 간 VPN 또는 ExpressRoute)에서 프라이빗 엔드포인트에 연결하는 경우 온-프레미스 DNS 확인을 사용해야 합니다.

이 예제에서는 다른 VNet에서 연결합니다. 먼저 워크로드가 Azure SQL Database 정규화된 도메인 이름을 개인 IP 주소로 확인할 수 있도록 프라이빗 DNS 영역을 새 VNet에 연결합니다. 이 작업을 수행하려면 프라이빗 DNS 영역을 새 VNet에 연결합니다.

DNS link

이제 연결된 VNet의 모든 가상 머신이 Azure SQL Database FQDN을 프라이빗 링크의 개인 IP 주소로 올바르게 확인합니다.

nslookup wantest.database.windows.net
Server:         127.0.0.53
Address:        127.0.0.53#53

Non-authoritative answer:
wantest.database.windows.net    canonical name = wantest.privatelink.database.windows.net.
Name:   wantest.privatelink.database.windows.net
Address: 10.1.3.228

이 VNet(10.1.1.0/24)이 프라이빗 엔드포인트가 구성된 원래 VNet(10.1.3.0/24)에 연결되어 있는지 다시 확인하기 위해 VNet의 가상 머신에서 유효 경로 테이블을 확인할 수 있습니다.

effective routes

여기서 볼 수 있듯이 Azure Virtual WAN에서 Virtual Network 게이트웨이에 의해 삽입된 VNet 10.1.3.0/24를 가리키는 경로가 있습니다. 이제 마지막으로 데이터베이스에 대한 연결을 테스트할 수 있습니다.

query="SELECT CONVERT(char(15), CONNECTIONPROPERTY('client_net_address'));"
sqlcmd -S wantest.database.windows.net -U $username -P $password -Q "$query"
10.1.1.75

이 예제에서는 Virtual WAN에 연결된 VNet 중 하나에서 프라이빗 엔드포인트를 만들어 Virtual WAN의 나머지 VNet과 분기에 대한 연결을 제공하는 방법을 확인했습니다.

다음 단계

Virtual WAN에 대한 자세한 내용은 FAQ를 참조하세요.