자습서: Azure Portal을 사용하여 Azure 프라이빗 엔드포인트를 사용하여 Azure SQL 서버에 연결

Azure Private 엔드포인트는 Azure에서 Private Link를 만드는 데 사용되는 기본 구성 요소입니다. 이를 통해 VM(가상 머신)과 같은 Azure 리소스가 Azure SQL server와 같은 Private Link 리소스와 프라이빗으로 안전하게 통신할 수 있습니다.

프라이빗 엔드포인트 빠른 시작에서 만들어진 리소스의 다이어그램.

이 자습서에서는 다음을 하는 방법을 알아볼 수 있습니다.

  • 가상 네트워크 및 베스천 호스트를 만듭니다.
  • 가상 머신을 만듭니다.
  • Azure SQL Server 및 프라이빗 엔드포인트를 만듭니다.
  • SQL 서버 프라이빗 엔드포인트에 대한 연결을 테스트합니다.

Azure 구독이 아직 없는 경우 시작하기 전에 체험 계정을 만듭니다.

사전 요구 사항

  • Azure 구독

Azure에 로그인

Azure Portal에 로그인합니다.

가상 네트워크 및 Azure 베스천 호스트 만들기

다음 프로시저에서는 리소스 서브넷, Azure Bastion 서브넷 및 베스천 호스트가 포함된 가상 네트워크를 만듭니다.

  1. 포털에서 가상 네트워크를 검색하여 선택합니다.

  2. 가상 네트워크 페이지에서 + 만들기를 선택합니다.

  3. 가상 네트워크 만들기기본 사항 탭에서 다음 정보를 입력하거나 선택합니다.

    설정
    프로젝트 세부 정보
    Subscription 구독을 선택합니다.
    Resource group 새로 만들기를 선택합니다.
    이름으로 test-rg를 입력합니다.
    확인을 선택합니다.
    인스턴스 세부 정보
    Name vnet-1을 입력합니다.
    지역 미국 동부 2를 선택합니다.

    Azure Portal에서 가상 네트워크를 만들기 위한 기본 탭의 스크린샷.

  4. 다음을 선택하여 보안 탭으로 이동합니다.

  5. Azure Bastion 섹션에서 Bastion 사용을 선택합니다.

    Bastion은 브라우저를 사용하여 개인 IP 주소를 사용하여 SSH(보안 셸) 또는 RDP(원격 데스크톱 프로토콜)를 통해 가상 네트워크의 VM에 연결합니다. VM에는 공용 IP 주소, 클라이언트 소프트웨어 또는 특수 구성이 필요하지 않습니다. 자세한 내용은 Azure Bastion이란?을 참조하세요.

    참고 항목

    시간당 가격은 아웃바운드 데이터 사용량에 관계없이 Bastion이 배포되는 순간부터 시작됩니다. 자세한 내용은 가격 책정SKU를 참조하세요. 자습서 또는 테스트의 일부로 Bastion을 배포하는 경우 이 리소스 사용을 마친 후 삭제하는 것이 좋습니다.

  6. Azure Bastion에서 다음 정보를 입력하거나 선택합니다.

    설정
    Azure Bastion 호스트 이름 bastion을 입력합니다.
    Azure Bastion 공용 IP 주소 공용 IP 주소 만들기를 선택합니다.
    이름에 public-ip-bastion을 입력합니다.
    확인을 선택합니다.

    Azure Portal에서 가상 네트워크를 만드는 과정에서 Azure 베스천 호스트를 사용하도록 설정하기 위한 옵션 스크린샷.

  7. 다음을 선택하여 IP 주소 탭으로 이동합니다.

  8. 서브넷의 주소 공간 입력란에서 기본 서브넷을 선택합니다.

  9. 서브넷 편집에서 다음 정보를 입력하거나 선택합니다.

    설정
    서브넷 세부 정보
    서브넷 템플릿 기본값인 기본값을 그대로 둡니다.
    속성 subnet-1을 입력합니다.
    시작 주소 기본값인 10.0.0.0을 그대로 둡니다.
    서브넷 크기 기본값인 /24(256개 주소)를 그대로 둡니다.

    서브넷 구성 세부 정보 스크린샷.

  10. 저장을 선택합니다.

  11. 창 하단에서 검토 + 만들기를 선택합니다. 유효성 검사를 통과하면 만들기를 선택합니다.

테스트 가상 머신 만들기

다음 절차에서는 가상 네트워크에 vm-1이라는 테스트 VM(가상 머신)을 만듭니다.

  1. 포털에서 가상 머신을 검색하여 선택합니다.

  2. 가상 머신에서 + 만들기를 선택한 다음, +Azure 가상 머신을 선택합니다.

  3. 가상 머신 만들기기본 탭에서 다음 정보를 입력하거나 선택합니다.

    설정
    프로젝트 세부 정보
    Subscription 구독을 선택합니다.
    Resource group test-rg를 선택합니다.
    인스턴스 세부 정보
    가상 머신 이름 vm-1을 입력합니다.
    지역 미국 동부 2를 선택합니다.
    가용성 옵션 인프라 중복이 필요하지 않습니다.를 선택합니다.
    보안 유형 기본값인 표준을 그대로 둡니다.
    이미지 Ubuntu Server 22.04 LTS - x64 Gen2를 선택합니다.
    VM 아키텍처 x64(기본값)를 그대로 둡니다.
    크기 크기를 선택합니다.
    관리자 계정
    인증 유형 암호를 선택합니다.
    사용자 이름 azureuser를 입력합니다.
    암호 암호를 입력합니다.
    암호 확인 암호를 다시 입력합니다.
    인바운드 포트 규칙
    공용 인바운드 포트 없음을 선택합니다.
  4. 페이지 위쪽에 있는 네트워킹 탭을 선택합니다.

  5. 네트워킹 탭에서 다음 정보를 입력하거나 선택합니다.

    설정
    네트워크 인터페이스
    가상 네트워크 vnet-1을 선택합니다.
    서브넷 subnet-1(10.0.0.0/24)을 선택합니다.
    공용 IP 없음을 선택합니다.
    NIC 네트워크 보안 그룹 추가 고급을 선택합니다.
    네트워크 보안 그룹 구성 새로 만들기를 선택합니다.
    이름으로 nsg-1을 입력합니다.
    나머지는 기본값으로 두고 확인을 선택합니다.
  6. 나머지 설정은 기본값으로 두고 검토 + 만들기를 선택합니다.

  7. 설정을 검토하고 생성를 선택합니다.

참고 항목

베스천 호스트가 있는 가상 네트워크의 가상 머신에는 공용 IP 주소가 필요하지 않습니다. Bastion은 공용 IP를 제공하고 VM은 개인 IP를 사용하여 네트워크 내에서 통신합니다. 베스천 호스트된 가상 네트워크의 모든 VM에서 공용 IP를 제거할 수 있습니다. 자세한 내용은 Azure VM에서 공용 IP 주소 연결 해제를 참조하세요.

참고 항목

Azure는 공용 IP 주소가 할당되지 않았거나 내부 기본 Azure Load Balancer의 백 엔드 풀에 있는 VM에 대한 기본 아웃바운드 액세스 IP를 제공합니다. 기본 아웃바운드 액세스 IP 메커니즘은 구성할 수 없는 아웃바운드 IP 주소를 제공합니다.

다음 이벤트 중 하나가 발생하면 기본 아웃바운드 액세스 IP가 사용하지 않도록 설정됩니다.

  • 공용 IP 주소가 VM에 할당됩니다.
  • VM은 아웃바운드 규칙 유무에 관계없이 표준 Load Balancer의 백 엔드 풀에 배치됩니다.
  • Azure NAT Gateway 리소스는 VM의 서브넷에 할당됩니다.

유연한 오케스트레이션 모드에서 가상 머신 확장 집합을 사용하여 만드는 VM에는 기본 아웃바운드 액세스 권한이 없습니다.

Azure의 아웃바운드 연결에 대한 자세한 내용은 Azure의 기본 아웃바운드 액세스아웃바운드 연결에 SNAT(원본 네트워크 주소 변환) 사용을 참조하세요.

Azure SQL 서버 및 프라이빗 엔드포인트 만들기

이 섹션에서는 Azure에서 SQL 서버를 만듭니다.

  1. 포털 맨 위에 있는 검색 상자에 SQL을 입력합니다. 검색 결과에서 SQL 데이터베이스를 선택합니다.

  2. SQL 데이터베이스에서 + 만들기를 선택합니다.

  3. SQL 데이터베이스 만들기기본 사항 탭에서 다음 정보를 입력하거나 선택합니다.

    설정
    프로젝트 세부 정보
    Subscription 구독을 선택합니다.
    Resource group test-rg를 선택합니다.
    데이터베이스 세부 정보
    데이터베이스 이름 sql-db를 입력합니다.
    서버 새로 만들기를 선택합니다.
    서버 이름sql-server-1을 입력합니다(서버 이름은 고유해야 하며 sql-server-1을 고유 값으로 바꿔야 함).
    위치에서 (미국) 미국 동부 2를 선택합니다.
    SQL 인증 사용을 선택합니다.
    서버 관리자 로그인 및 암호를 입력합니다.
    확인을 선택합니다.
    SQL 탄력적 풀을 사용하시겠습니까? 아니오를 선택합니다.
    워크로드 환경 기본값인 프로덕션을 그대로 둡니다.
    백업 스토리지 중복성
    백업 스토리지 중복성 로컬 중복 백업 스토리지를 선택합니다.
  4. 다음: 네트워킹을 선택합니다.

  5. SQL 데이터베이스 만들기네트워킹 탭에서 다음 정보를 입력하거나 선택합니다.

    설정
    네트워크 연결
    연결 방법 프라이빗 엔드포인트를 선택합니다.
    프라이빗 엔드포인트
    +프라이빗 엔드포인트 추가를 선택합니다.
    프라이빗 엔드포인트 만들기
    Subscription 구독을 선택합니다.
    Resource group test-rg를 선택합니다.
    위치 미국 동부 2를 선택합니다.
    이름 private-endpoint-sql을 입력합니다.
    대상 하위 리소스 SqlServer를 선택합니다.
    네트워킹
    가상 네트워크 vnet-1을 선택합니다.
    서브넷 subnet-1을 선택합니다.
    프라이빗 DNS 통합
    프라이빗 DNS 영역과 통합 를 선택합니다.
    프라이빗 DNS 영역 privatelink.database.windows.net의 기본값을 그대로 둡니다.
  6. 확인을 선택합니다.

  7. 검토 + 만들기를 선택합니다.

  8. 만들기를 선택합니다.

Important

프라이빗 엔드포인트 연결을 추가할 때 Azure SQL 서버에 대한 공용 라우팅은 기본적으로 차단되지 않습니다. "방화벽 및 가상 네트워크" 블레이드 아래의 "공용 네트워크 액세스 거부" 설정은 기본적으로 선택 취소된 상태로 유지됩니다. 공용 네트워크 액세스를 사용하지 않도록 설정하려면 이 옵션을 선택해야 합니다.

Azure SQL 논리 서버에 대한 공용 액세스 사용 안 함

이 시나리오에서는 Azure SQL 서버에 대한 모든 공용 액세스를 사용하지 않도록 설정하고 가상 네트워크의 연결만 허용한다고 가정합니다.

  1. 포털 맨 위에 있는 검색 상자에 SQL 서버를 입력합니다. 검색 결과에서 SQL 서버를 선택합니다.

  2. sql-server-1를 선택합니다.

  3. 네트워킹 페이지에서 공용 액세스 탭을 선택한 다음 공용 네트워크 액세스에 대해 사용 안 함을 선택합니다.

  4. 저장을 선택합니다.

프라이빗 엔드포인트에 연결 테스트

이 섹션에서는 이전 단계에서 만든 가상 머신을 사용하여 프라이빗 엔드포인트에서 SQL 서버에 연결합니다.

  1. 포털 맨 위에 있는 검색 상자에 가상 머신을 입력합니다. 검색 결과에서 가상 머신을 선택합니다.

  2. vm-1을 선택합니다.

  3. 작업에서 Bastion을 선택합니다.

  4. 가상 머신의 사용자 이름 및 암호를 입력합니다.

  5. 연결을 선택합니다.

  6. 프라이빗 엔드포인트의 이름 확인을 확인하려면 터미널 창에서 다음 명령을 입력합니다.

    nslookup sql-server-1.database.windows.net
    

    다음 예와 유사한 메시지가 표시됩니다. 반환되는 IP 주소는 프라이빗 엔드포인트의 개인 IP 주소입니다.

    Server:    127.0.0.53
    Address:   127.0.0.53#53
    
    Non-authoritative answer:
    sql-server-8675.database.windows.netcanonical name = sql-server-8675.privatelink.database.windows.net.
    Name:sql-server-8675.privatelink.database.windows.net
    Address: 10.1.0.4
    
  7. Linux에 SQL Server 명령줄 도구 sqlcmd 및 bcp 설치에서 SQL Server 명령줄 도구를 설치합니다. 설치가 완료된 후 다음 단계를 진행합니다.

  8. 다음 명령을 사용하여 이전 단계에서 만든 SQL Server에 연결합니다.

    • <server-admin>을 SQL Server를 만드는 동안 입력한 관리자 이름으로 바꿉니다.

    • <admin-password>를 SQL Server를 만드는 동안 입력한 관리자 암호로 바꿉니다.

    • sql-server-1을 SQL 서버의 이름으로 바꿉니다.

    sqlcmd -S sql-server-1.database.windows.net -U '<server-admin>' -P '<admin-password>'
    
  9. 로그인 성공 시 SQL 명령 프롬프트가 표시됩니다. exit를 입력하여 sqlcmd 도구를 종료합니다.

리소스 정리

만든 리소스 사용을 마치면 리소스 그룹과 해당 리소스를 모두 삭제할 수 있습니다.

  1. Azure Portal에서 리소스 그룹을 검색하고 선택합니다.

  2. 리소스 그룹 페이지에서 test-rg 리소스 그룹을 선택합니다.

  3. test-rg 페이지에서 리소스 그룹 삭제를 선택합니다.

  4. 삭제 확인을 위한 리소스 그룹 이름 입력test-rg를 입력한 다음 삭제를 선택합니다.

다음 단계

이 자습서에서는 다음을 만드는 방법을 알아보았습니다.

  • 가상 네트워크 및 베스천 호스트

  • 가상 머신

  • 프라이빗 엔드포인트를 사용하는 Azure SQL 서버

가상 머신을 사용하여 프라이빗 엔드포인트에서 SQL Server에 대한 연결을 프라이빗으로 안전하게 테스트했습니다.

다음 단계로, 가상 네트워크 외부의 웹 애플리케이션을 데이터베이스의 프라이빗 엔드포인트에 연결하는 Azure SQL Database에 대한 프라이빗 연결이 있는 웹앱 아키텍처 시나리오에 관심이 있을 수도 있습니다.