자습서: 프라이빗 엔드포인트를 사용하여 Data Factory 관리형 VNET에서 Microsoft Azure SQL Managed Instance에 액세스하는 방법
Important
이제 SQL Managed Instance는 프라이빗 엔드포인트에 대한 기본 지원을 제공합니다. 이 문서에서 솔루션을 구현하는 대신 관리형 프라이빗 엔드포인트에 설명된 대로 SQL Managed Instance 리소스에 직접 프라이빗 엔드포인트를 만드는 것이 좋습니다.
이 자습서에서는 Azure Portal을 사용하여 Private Link 서비스를 설치하고 프라이빗 엔드포인트를 사용하여 관리형 VNET에서 SQL Managed Instance에 액세스하는 단계를 제공합니다.
참고 항목
이 솔루션을 사용하여 Azure SQL Database Managed Instance에 연결하는 경우 “리디렉션” 연결 정책이 지원되지 않으므로 “프록시” 모드로 전환해야 합니다.
필수 조건
- Azure 구독. Azure 구독이 없는 경우 시작하기 전에 체험 계정을 만듭니다.
- Virtual Network. 가상 네트워크가 없는 경우 가상 네트워크 만들기를 따라서 가상 네트워크를 만듭니다.
- 가상 네트워크를 온-프레미스 네트워크로. ExpressRoute 또는 VPN을사용하여 가상 네트워크와 온-프레미스 네트워크 간에 연결을 만듭니다.
- 관리형 VNET이 사용하도록 설정된 Data Factory. Data Factory가 없거나 관리형 VNET을 사용하도록 설정하지 않은 경우 관리형 VNET을 사용하여 Data Factory 만들기를 따라서 Data Factory를 만듭니다.
리소스에 대한 서브넷 만들기
포털을 사용하여 가상 네트워크에 서브넷을 만듭니다.
서브넷 | 설명 |
---|---|
be-subnet | 백 엔드 서버용 서브넷 |
fe-subnet | 표준 내부 부하 분산 장치용 서브넷 |
pls-subnet | Private Link Service에 대한 서브넷 |
표준 부하 분산 장치 만들기
포털을 사용하여 표준 내부 부하 분산 장치를 만듭니다.
포털 위쪽의 검색 창에서 검색 창의 서비스 섹션에서 부하 분산 장치를 검색하고 선택합니다.
부하 분산 서비스 페이지에서 만들기를 선택하여 새 부하 분산 장치를 만듭니다.
부하 분산 장치 만들기 페이지의 기본 사항 탭에서 다음 세부 정보를 입력하거나 선택합니다.
설정 값 Subscription 구독을 선택합니다. Resource group 리소스 그룹을 선택합니다. 이름 myLoadBalancer를 입력합니다. 지역 미국 동부를 선택합니다. SKU 표준을 선택합니다. 유형 내부를 선택합니다. 부하 분산 장치 만들기 페이지의 프런트 엔드 IP 구성 탭에서 프런트 엔드 IP 구성 추가를 선택한 다음, 프런트 엔드 IP 주소 추가 구성 창에서 다음 세부 정보를 입력하거나 선택합니다.
설정 값 프런트 엔드 IP 이름 프런트 엔드 IP 이름 입력 가상 네트워크 가상 네트워크를 선택합니다. 서브넷 이전 단계에서 만든 fe-subnet을 선택합니다. IP 주소 할당 동적을 선택합니다. 가용성 영역 영역 중복을 선택합니다. 나머지 설정에는 기본값을 적용한 다음, 검토 + 만들기를 선택합니다.
검토 + 만들기 탭에서 만들기를 선택합니다.
부하 분산 장치 리소스 만들기
백 엔드 풀 만들기
백 엔드 주소 풀에는 부하 분산 장치에 연결된 가상(NIC)의 IP 주소가 포함됩니다.
인터넷 트래픽의 부하를 분산하기 위한 가상 머신을 포함할 백 엔드 주소 풀 myBackendPool을 만듭니다.
- 왼쪽 메뉴에서 모든 서비스를 선택하고 모든 리소스를 선택한 다음, 리소스 목록에서 myLoadBalancer를 선택합니다.
- 설정에서 백 엔드 풀을 선택한 다음, 추가를 선택합니다.
- 백 엔드 풀 추가 페이지에서 이름에 백 엔드 풀의 이름인 myBackEndPool을 입력한 후 추가를 선택합니다.
상태 프로브 만들기
부하 분산 장치는 상태 프로브를 사용하여 앱의 상태를 모니터링합니다.
상태 프로브는 상태 검사의 응답에 따라 부하 분산 장치에서 VM을 추가하거나 제거합니다.
VM 상태를 모니터링할 myHealthProbe라는 상태 프로브를 만듭니다.
왼쪽 메뉴에서 모든 서비스를 선택하고 모든 리소스를 선택한 다음, 리소스 목록에서 myLoadBalancer를 선택합니다.
설정에서 상태 프로브를 선택한 다음, 추가를 선택합니다.
설정 값 속성 myHealthProbe를 입력합니다. 프로토콜 TCP를 선택합니다. 포트 22를 입력합니다. Interval 프로브 시도 간격(초)으로 15를 입력합니다. 비정상 임계값 비정상 임계값 또는 VM이 비정상 상태로 간주되는 데 필요한 연속 프로브 오류 횟수로 2를 선택합니다. 나머지는 기본값으로 두고 확인을 선택합니다.
부하 분산 장치 규칙 만들기
부하 분산 장치 규칙은 VM으로 트래픽이 분산되는 방법을 정의하는 데 사용됩니다. 들어오는 트래픽에 대한 프런트 엔드 IP 구성 및 트래픽을 받는 백 엔드 IP 풀을 정의합니다. 원본 및 대상 포트는 규칙에 정의됩니다.
이 섹션에서 만드는 부하 분산 장치 규칙은 다음과 같습니다.
왼쪽 메뉴에서 모든 서비스를 선택하고 모든 리소스를 선택한 다음, 리소스 목록에서 myLoadBalancer를 선택합니다.
설정 아래에서 부하 분산 규칙을 선택한 다음, 추가를 선택합니다.
다음 값을 사용하여 부하 분산 규칙을 구성합니다.
설정 값 속성 myRule을 입력합니다. IP 버전 IPv4를 선택합니다. 프런트 엔드 IP 주소 LoadBalancerFrontEnd를 선택합니다. 프로토콜 TCP를 선택합니다. 포트 1433을 입력합니다. 백 엔드 포트 1433을 입력합니다. 백 엔드 풀 myBackendPool을 선택합니다. 상태 프로브 myHealthProbe를 선택합니다. 유휴 제한 시간(분) 슬라이더를 15분으로 이동합니다. TCP 재설정 사용 안 함을 선택합니다. 나머지는 기본값으로 둔 다음, 확인을 선택합니다.
Private Link 서비스 만들기
이 섹션에서는 표준 부하 분산 장치 뒤에 Private Link 서비스를 만듭니다.
Azure Portal의 왼쪽 상단에서 리소스 만들기를 선택합니다.
Marketplace 검색 상자에서 Private Link를 검색합니다.
만들기를 실행합니다.
Private Link 센터의 개요에서 파란색 Private Link 서비스 만들기 단추를 선택합니다.
프라이빗 링크 서비스 만들기의 기본 탭에서 다음 정보를 선택합니다.
설정 값 프로젝트 세부 정보 Subscription 구독을 선택합니다. 리소스 그룹 리소스 그룹을 선택합니다. 인스턴스 세부 정보 이름 myPrivateLinkService를 입력합니다. 지역 미국 동부를 선택합니다. 아웃바운드 설정 탭을 선택하거나 페이지 하단에 있는 다음: 아웃바운드 설정을 선택합니다.
아웃바운드 설정 탭에서 다음 정보를 입력하거나 선택합니다.
설정 값 부하 분산 장치 myLoadBalancer를 선택합니다. 부하 분산 장치 프런트 엔드 IP 주소 LoadBalancerFrontEnd를 선택합니다. 원본 NAT 서브넷 pls-subnet을 선택합니다. TCP 프록시 V2 사용 아니요(기본값)를 그대로 둡니다. 개인 IP 주소 설정 기본 설정을 그대로 둡니다. 액세스 보안 탭을 선택하거나 페이지 맨 아래에 있는 다음: 액세스 보안 선택합니다.
액세스 보안 탭에서 기본값인 역할 기반 액세스 제어만을 그대로 둡니다.
태그 탭을 선택하거나 페이지 아래쪽에서 다음: 태그를 선택합니다.
검토 + 만들기 탭을 선택하거나 페이지 하단에서 다음: 검토 + 만들기를 선택합니다.
검토 + 만들기 탭에서 만들기를 선택합니다.
백 엔드 서버 만들기
포털의 왼쪽 위에서 리소스 만들기 > 컴퓨팅 > 가상 머신을 차례로 선택합니다.
가상 머신 만들기의 기본 탭에서 값을 입력하거나 선택합니다.
설정 값 프로젝트 세부 정보 구독 Azure 구독을 선택합니다. 리소스 그룹 리소스 그룹을 선택합니다. 인스턴스 세부 정보 가상 머신 이름 myVM1을 입력합니다. 지역 미국 동부를 선택합니다. 가용성 옵션 가용성 영역을 선택합니다. 가용성 영역 1을 선택합니다. 이미지 Ubuntu Server 18.04LTS – Gen1을 선택합니다. Azure Spot 인스턴스 아니오를 선택합니다. 크기 VM 크기를 선택하거나 기본 설정을 사용합니다. 관리자 계정 사용자 이름 사용자 이름을 입력합니다. SSH 공개 키 원본 새 키 쌍을 생성합니다. 키 쌍 이름 mySSHKey. 인바운드 포트 규칙 공용 인바운드 포트 없음. 네트워킹 탭을 선택하거나 다음: 디스크, 다음: 네트워킹을 차례로 선택합니다.
네트워킹 탭에서 다음을 선택하거나 입력합니다.
설정 값 네트워크 인터페이스 가상 네트워크 가상 네트워크를 선택합니다. 서브넷 be-subnet. 공용 IP 없음을 선택합니다. NIC 네트워크 보안 그룹 추가 없음을 선택합니다. 부하 분산 기존 부하 분산 솔루션 뒤에 이 가상 머신을 배치하시겠습니까? 예를 선택합니다. 부하 분산 설정 부하 분산 옵션 Azure 부하 분산을 선택합니다. 부하 분산 장치 선택 myLoadBalancer를 선택합니다. 백 엔드 풀 선택 myBackendPool을 선택합니다. 검토 + 만들기를 선택합니다.
설정을 검토한 다음, 만들기를 선택합니다.
1~6단계를 반복하여 HA용 백 엔드 서버 VM을 1개 이상 사용할 수 있습니다.
엔드포인트에 전달 규칙을 만드는 중
로그인하고 ip_fwd.sh 스크립트를 백 엔드 서버 VM에 복사합니다.
참고 항목
이 스크립트는 일시적으로만 IP 전달을 설정합니다. 이 설정을 영구적으로 설정하려면 /etc/sysctl.conf 파일에서 "net.ipv4.ip_forward=1" 줄의 주석 처리가 해제되어 있는지 확인하세요.
다음 옵션을 사용하여 스크립트를 실행합니다.
sudo ./ip_fwd.sh -i eth0 -f 1433 -a <FQDN/IP> -b 1433
<FQDN/IP>는 SQL Managed Instance의 호스트입니다.아래 명령을 실행하고 백 엔드 서버 VM에서 iptable을 확인합니다. iptable에서 대상 IP를 통해 하나의 레코드를 볼 수 있습니다.
sudo iptables -t nat -v -L PREROUTING -n --line-number참고 항목
참고: SQL MI 또는 다른 데이터 원본이 둘 이상 있는 경우 여러 개의 부하 분산 장치 규칙과 다른 포트를 사용하는 IP 테이블 레코드를 정의해야 합니다. 그렇지 않으면 충돌이 발생합니다. 예를 들면 다음과 같습니다.
부하 분산 장치 규칙의 포트 부하 분산 규칙의 백 엔드 포트 백 엔드 서버 VM에서 실행되는 명령 SQL MI 1 1433 1433 sudo ./ip_fwd.sh -i eth0 -f 1433 -a <FQDN/IP> -b 1433 SQL MI 2 1434 1434 sudo ./ip_fwd.sh -i eth0 -f 1434 -a <FQDN/IP> -b 1433 참고 항목
부하 분산 장치 뒤에서 VM을 다시 시작할 때마다 스크립트를 다시 실행합니다.
Private Link 서비스에 대한 프라이빗 엔드포인트 만들기
왼쪽 메뉴에서 모든 서비스를 선택하고 모든 리소스를 선택한 다음, 리소스 목록에서 데이터 팩터리를 선택합니다.
작성 및 모니터링을 선택하여 별도의 탭에서 Data Factory UI를 선택합니다.
관리 탭으로 이동한 다음 관리형 프라이빗 엔드포인트 섹션으로 이동합니다.
관리형 프라이빗 엔드포인트에서 + 새로 만들기를 선택합니다.
목록에서 Private Link 서비스 타일, 계속을 차례로 선택합니다.
프라이빗 엔드포인트의 이름을 입력하고 프라이빗 링크 서비스 목록에서 myPrivateLinkService를 선택합니다.
대상 SQL Managed Instance의 FQDN을 추가합니다.
프라이빗 엔드포인트 만들기
연결된 서비스 만들기 및 연결 테스트
관리 탭으로 이동한 다음 관리형 프라이빗 엔드포인트 섹션으로 이동합니다.
연결된 서비스에서 + 새로 만들기를 선택합니다.
목록에서 Azure SQL Database Managed Instance 타일, 계속을 차례로 선택합니다.
대화형 작성을 사용하도록 설정합니다.
SQL Managed Instance의 호스트, 사용자 이름 및 암호를 입력합니다.
참고 항목
SQL Managed Instance의 호스트를 수동으로 입력하세요. 그렇지 않으면 선택 목록에서 도메인 이름이 정규화되지 않습니다.
다음으로 연결 테스트를 클릭합니다.
관련 콘텐츠
프라이빗 엔드포인트를 사용하여 Data Factory 관리형 VNET에서 온-프레미스 SQL Server로 액세스하는 방법을 알아보려면 다음 자습서를 계속 진행하세요.