Azure Database for PostgreSQL의 마이그레이션 서비스에 대한 네트워크 시나리오
적용 대상: Azure Database for PostgreSQL - 유연한 서버
이 문서에서는 Azure Database for PostgreSQL의 마이그레이션 서비스를 사용하여 원본 데이터베이스를 Azure Database for PostgreSQL 인스턴스에 연결하는 다양한 시나리오를 간략하게 설명합니다. 각 시나리오에는 마이그레이션에 대한 연결을 성공적으로 설정하기 위한 다양한 네트워킹 요구 사항 및 구성이 있습니다. 특정 세부 정보는 원본 환경 및 대상 환경의 실제 네트워크 설정 및 요구 사항에 따라 달라집니다.
다음 표에서는 마이그레이션 시나리오를 요약합니다. 이 표는 원본 및 대상 환경의 구성에 따라 각 시나리오가 지원되는지 여부를 나타냅니다.
PostgreSQL 원본 | 대상 | 지원 여부 |
---|---|---|
공용 IP 주소가 있는 온-프레미스 | Azure Database for PostgreSQL - 공용 액세스가 가능한 유연한 서버 | 예 |
VPN(가상 사설망) 또는 Azure ExpressRoute를 통한 개인 IP 주소가 있는 온-프레미스 | VNet(가상 네트워크) 통합 Azure Database for PostgreSQL - 유연한 서버 | 예 |
공용 IP 주소가 있는 PostgreSQL용 Amazon RDS(Amazon Relational Database Service) 또는 Amazon Aurora PostgreSQL | Azure Database for PostgreSQL - 공용 액세스가 가능한 유연한 서버 | 예 |
VPN 또는 ExpressRoute를 통한 프라이빗 액세스가 있는 Amazon RDS for PostgreSQL 또는 Amazon Aurora PostgreSQL | VNet에 통합된 Azure Database for PostgreSQL - 유연한 서버 | 예 |
Google Cloud SQL for PostgreSQL | Azure Database for PostgreSQL - 공용 액세스가 가능한 유연한 서버 | 예 |
VPN 또는 ExpressRoute를 통한 프라이빗 액세스가 있는 PostgreSQL용 Google Cloud SQL | VNet에 통합된 Azure Database for PostgreSQL - 유연한 서버 | 예 |
동일한 가상 네트워크 또는 다른 가상 네트워크의 Azure VM(가상 머신)에 설치된 PostgreSQL | VNet 통합 Azure Database for PostgreSQL - 동일한 가상 네트워크 또는 다른 가상 네트워크의 유연한 서버 | 예 |
공용 액세스 권한이 있는 Azure Database for PostgreSQL - 단일 서버 | VNet에 통합된 Azure Database for PostgreSQL - 유연한 서버 | 예 |
Azure Database for PostgreSQL - 프라이빗 엔드포인트가 있는 단일 서버 | VNet에 통합된 Azure Database for PostgreSQL - 유연한 서버 | 예 |
Azure Database for PostgreSQL - 프라이빗 엔드포인트가 있는 단일 서버 | Azure Database for PostgreSQL - 프라이빗 엔드포인트가 있는 유연한 서버 | 예 |
프라이빗 액세스 권한이 있는 PostgreSQL 원본 | Azure Database for PostgreSQL - 프라이빗 엔드포인트가 있는 유연한 서버 | 예 |
프라이빗 액세스 권한이 있는 PostgreSQL 원본 | Azure Database for PostgreSQL - 공용 액세스가 가능한 유연한 서버 | 아니요 |
온-프레미스(공용 IP)에서 유연한 서버로(공용 액세스)
네트워킹 단계:
- 원본 데이터베이스 서버에 공용 IP 주소가 있는지 확인합니다.
- PostgreSQL 포트에서 아웃바운드 연결을 허용하도록 방화벽을 구성합니다(기본 포트는 5432).
- 인터넷을 통해 원본 데이터베이스 서버에 액세스할 수 있는지 확인합니다.
- Azure Database for PostgreSQL의 대상 인스턴스에서 원본 데이터베이스로의 연결을 확인하여 설치 프로그램을 테스트합니다. 마이그레이션 서비스가 원본 데이터에 액세스할 수 있음을 확인합니다.
VNet 통합 유연한 서버에 온-프레미스(개인 IP)(ExpressRoute 또는 VPN)
네트워킹 단계:
- 온-프레미스 네트워크와 Azure 간의 안전하고 안정적인 연결을 위해 사이트 간 VPN 또는 ExpressRoute 인스턴스를 설정합니다.
- 온-프레미스 IP 주소 범위에서의 액세스를 허용하도록 Azure 가상 네트워크를 구성합니다.
- 온-프레미스 네트워크에서 PostgreSQL 포트(기본 포트는 5432)의 트래픽을 허용하도록 네트워크 보안 그룹 규칙을 설정합니다.
- Azure Database for PostgreSQL의 대상 인스턴스에서 원본 데이터베이스로의 연결을 확인하여 설치 프로그램을 테스트합니다. 마이그레이션 서비스가 원본 데이터에 액세스할 수 있음을 확인합니다.
유연한 서버에 대한 관리형 PostgreSQL 서비스(공용 IP)(퍼블릭/프라이빗 액세스)
클라우드 공급자(예: AWS 또는 GCP)의 원본 PostgreSQL 인스턴스에는 공용 IP 주소 또는 Azure에 대한 직접 연결이 있어야 합니다.
네트워킹 단계:
공용 액세스
- AWS(Amazon Web Services), GCP(Google Cloud Platform) 또는 다른 관리되는 PostgreSQL 서비스의 PostgreSQL 인스턴스에 공개적으로 액세스할 수 없는 경우 Azure에서 연결을 허용하도록 인스턴스를 수정합니다. 클라우드 공급자 콘솔(예: AWS 관리 콘솔 또는 Google 클라우드 콘솔)에서 공용 접근성을 허용하도록 설정을 변경합니다.
- 클라우드 공급자의 보안 설정(예: AWS의 보안 그룹 또는 GCP의 방화벽 규칙)에서 Azure Database for PostgreSQL 공용 IP 주소 또는 도메인의 트래픽을 허용하는 인바운드 규칙을 추가합니다.
프라이빗 액세스
- 클라우드 공급자(Azure ExpressRoute, AWS Direct Connect, GCP 상호 연결)에서 Azure로 ExpressRoute, IPsec VPN 또는 이와 동등한 프라이빗 연결 서비스를 사용하여 보안 연결을 설정합니다.
- 원본 클라우드 공급자의 보안 설정(예: AWS 보안 그룹 또는 GCP 방화벽 규칙)에서 Azure Database for PostgreSQL 공용 IP 주소 또는 도메인 또는 PostgreSQL 포트에 있는 Azure 가상 네트워크의 IP 주소 범위에서 트래픽을 허용하는 인바운드 규칙을 추가합니다(기본 포트는 5432).
- Azure Database for PostgreSQL 인스턴스와 동일한 지역에 Azure에 가상 네트워크를 만듭니다. 기본 포트 5432에서 원본 클라우드 공급자의 PostgreSQL 인스턴스의 IP 주소에 대한 아웃바운드 연결을 허용하도록 네트워크 보안 그룹을 설정합니다.
- 클라우드 공급자(예: AWS 또는 GCP)에서 Azure Database for PostgreSQL IP 주소 범위로 들어오는 연결을 허용하도록 Azure에서 네트워크 보안 그룹 규칙을 설정합니다.
- 관리되는 PostgreSQL 서비스(예: AWS, GCP 또는 Heroku)의 PostgreSQL 인스턴스와 Azure Database for PostgreSQL 간의 연결을 테스트하여 네트워크 문제가 발생하지 않도록 합니다.
Azure Database for PostgreSQL(다른 가상 네트워크)에 대한 Azure VM(프라이빗 액세스)
이 시나리오에서는 Azure Virtual Machines 인스턴스와 다른 가상 네트워크에 있는 Azure Database for PostgreSQL 인스턴스 간의 연결을 설명합니다. VNet 간의 트래픽을 용이하게 하려면 가상 네트워크 피어링 및 적절한 네트워크 보안 그룹 규칙이 필요합니다.
네트워킹 단계:
- 두 VNet 간에 가상 네트워크 피어링을 설정하여 직접 네트워크 연결을 사용하도록 설정합니다.
- PostgreSQL 포트에서 VNet 간의 트래픽을 허용하도록 네트워크 보안 그룹 규칙을 구성합니다.
Azure VM에서 Azure Database for PostgreSQL로(동일한 가상 네트워크)
Azure VM 및 Azure Database for PostgreSQL 인스턴스가 동일한 가상 네트워크에 있는 경우 구성은 간단합니다. PostgreSQL 포트에서 내부 트래픽을 허용하도록 네트워크 보안 그룹 규칙을 설정합니다. 트래픽이 가상 네트워크에 남아 있기 때문에 다른 방화벽 규칙이 필요하지 않습니다.
네트워킹 단계:
- VM과 PostgreSQL 서버가 동일한 가상 네트워크에 있는지 확인합니다.
- PostgreSQL 포트의 가상 네트워크 내에서 트래픽을 허용하도록 네트워크 보안 그룹 규칙을 구성합니다.
VNet 통합 유연한 서버에 대한 단일 서버(공용 액세스)
공용 액세스 권한이 있는 Azure Database for PostgreSQL - 단일 서버와 VNet 통합 유연한 서버 간의 연결을 용이하게 하려면 유연한 서버가 배포된 서브넷에서 연결을 허용하도록 단일 서버를 구성합니다.
다음은 이 연결을 설정하는 단계에 대한 간략한 개요입니다.
단일 서버에 VNet 규칙을 추가합니다.
Azure Portal에서 Azure Database for PostgreSQL - 단일 서버의 인스턴스로 이동합니다.
연결 보안 설정으로 이동합니다.
가상 네트워크 규칙 섹션에서 기존 가상 네트워크 추가를 선택합니다.
단일 서버에 연결할 수 있는 가상 네트워크를 지정합니다.
규칙 설정 구성:
구성 창에서 새 가상 네트워크 규칙의 이름을 입력합니다.
유연한 서버가 있는 구독을 선택합니다.
유연한 서버와 연결된 가상 네트워크 및 특정 서브넷을 선택합니다.
확인을 선택하여 설정을 확인합니다.
이러한 단계를 완료하면 두 서버 간의 보안 통신을 위해 유연한 서버의 서브넷에서 연결을 허용하도록 단일 서버가 설정됩니다.
단일 서버(프라이빗 엔드포인트)에서 VNet 통합 유연한 서버로
프라이빗 엔드포인트가 있는 Azure Database for PostgreSQL - 단일 서버 인스턴스에서 VNet 통합 유연한 서버로의 연결을 용이하게 하려면 다음을 수행합니다.
프라이빗 엔드포인트 세부 정보 가져오기:
Azure Portal에서 Azure Database for PostgreSQL - 단일 서버의 인스턴스로 이동합니다. 프라이빗 엔드포인트를 선택하여 가상 네트워크 및 서브넷 세부 정보를 봅니다.
유연한 서버의 네트워킹 창으로 이동합니다. 서버의 가상 네트워크 및 서브넷 정보를 확인합니다.
VNet 피어링 요구 사항 평가:
두 서버가 서로 다른 VNet에 있는 경우 가상 네트워크 피어링을 사용하도록 설정하여 가상 네트워크를 연결해야 합니다. 서버가 동일한 가상 네트워크에 있지만 다른 서브넷에 있는 경우 피어링이 선택 사항입니다. 네트워크 보안 그룹이 유연한 서버에서 단일 서버로의 트래픽을 차단하지 않는지 확인합니다.
프라이빗 DNS 영역을 구성합니다.
유연한 서버의 네트워킹 창으로 이동하여 프라이빗 DNS 영역이 구성되어 있는지 확인합니다. 프라이빗 DNS 영역이 사용 중인 경우 포털의 프라이빗 DNS 영역으로 이동합니다. 왼쪽 창에서 가상 네트워크 링크를 선택하고 단일 서버의 가상 네트워크와 유연한 서버가 이 목록에 표시되는지 확인합니다.
프라이빗 DNS 영역을 사용하지 않는 경우 추가 단추를 선택하고 단일 서버 및 유연한 서버의 VNet에 대한 이 프라이빗 DNS 영역에 대한 링크를 만듭니다.
단일 서버의 프라이빗 엔드포인트로 이동하여 DNS 구성 창을 선택합니다. 프라이빗 DNS 영역이 이 엔드포인트에 연결되어 있는지 확인합니다. 그렇지 않은 경우 구성 추가 단추를 선택하여 프라이빗 DNS 영역을 연결합니다.
단일 서버의 프라이빗 엔드포인트에서 프라이빗 DNS 영역을 선택합니다. 단일 서버와 유연한 서버의 VNet이 가상 네트워크 링크에 표시되는지 확인합니다. 그렇지 않은 경우 앞에서 설명한 단계를 완료하여 단일 서버의 가상 네트워크와 유연한 서버의 링크를 이 프라이빗 DNS 영역에 추가합니다.
최종 확인을 위해 단일 서버에서 프라이빗 엔드포인트의 프라이빗 DNS 영역으로 이동하여 개인 IP 주소를 가리키는 단일 서버에 대해 A 레코드가 설정되어 있는지 확인합니다.
이러한 단계를 완료하면 Azure Database for PostgreSQL - 유연한 서버 인스턴스가 Azure Database for PostgreSQL - 단일 서버의 인스턴스에 연결할 수 있습니다.
단일 서버(프라이빗 엔드포인트)에서 유연한 서버로(프라이빗 엔드포인트)
이 섹션에서는 프라이빗 엔드포인트가 있는 단일 서버에서 Azure Database for PostgreSQL에 프라이빗 엔드포인트가 있는 유연한 서버로 마이그레이션하는 데 필요한 네트워킹 단계를 설명합니다. 여기에는 프라이빗 엔드포인트와 런타임 서버 가상 네트워크의 통합이 포함됩니다. 자세한 내용은 마이그레이션 런타임 서버를 참조 하세요.
단일 서버에 대한 프라이빗 엔드포인트 세부 정보를 수집합니다.
- Azure Portal에서 Azure Database for PostgreSQL - 단일 서버의 인스턴스로 이동합니다.
- 단일 서버의 프라이빗 엔드포인트 연결 아래에 나열된 가상 네트워크 및 서브넷 세부 정보를 기록합니다.
유연한 서버에 대한 프라이빗 엔드포인트 세부 정보를 수집합니다.
- Azure Portal에서 Azure Database for PostgreSQL - 유연한 서버의 인스턴스로 이동합니다.
- 유연한 서버의 프라이빗 엔드포인트 연결 아래에 나열된 가상 네트워크 및 서브넷 세부 정보를 기록합니다.
마이그레이션 런타임 서버에 대한 VNet 세부 정보를 수집합니다.
- Azure Portal에서 마이그레이션 런타임 서버로 이동합니다. 즉, VNet 통합 Azure Database for PostgreSQL - 유연한 서버의 인스턴스로 이동합니다.
- 가상 네트워크 아래에 나열된 가상 네트워크 및 서브넷 세부 정보를 기록합니다.
VNet 피어링 요구 사항 평가:
- 서버가 다른 VNet에 있는 경우 가상 네트워크 피어링을 사용하도록 설정합니다. 서버가 동일한 가상 네트워크에 있지만 다른 서브넷에 있는 경우 피어링이 필요하지 않습니다.
- 원본 서버, 마이그레이션 런타임 서버 및 대상 서버 간의 트래픽을 차단하는 네트워크 보안 그룹이 없는지 확인합니다.
프라이빗 DNS 영역 구성:
유연한 서버의 네트워킹 창으로 이동하여 프라이빗 DNS 영역이 구성되어 있는지 확인합니다.
프라이빗 DNS 영역이 사용 중인 경우 포털의 프라이빗 DNS 영역으로 이동합니다. 왼쪽 창에서 가상 네트워크 링크를 선택하고 단일 서버의 가상 네트워크와 유연한 서버가 이 목록에 표시되는지 확인합니다.
아직 구성되지 않은 경우 프라이빗 DNS 영역을 단일 서버의 프라이빗 엔드포인트에 연결합니다.
- 단일 서버 및 마이그레이션 런타임 서버에 대한 가상 네트워크 링크를 프라이빗 DNS 영역에 추가합니다.
- 유연한 서버의 프라이빗 엔드포인트에 대한 DNS 영역 첨부 파일 및 가상 네트워크 연결 프로세스를 반복합니다.
또는 사용자 지정 DNS 서버 또는 사용자 지정 DNS 네임스페이스를 사용하는 경우 프라이빗 DNS 영역을 연결하는 대신 사용자 지정 FQDN/IP 필드를 사용할 수 있습니다. 이 설정을 사용하면 프라이빗 DNS 영역 통합 없이도 FQDN 또는 IP를 직접 확인할 수 있습니다.
PostgreSQL 원본(프라이빗 IP)에서 유연한 서버로(프라이빗 엔드포인트)
이 섹션에서는 클라우드 기반 PostgreSQL 서비스, 온-프레미스 설정 또는 개인 IP 주소가 있는 VM에서 프라이빗 엔드포인트로 보호되는 Azure Database for PostgreSQL - 유연한 서버 인스턴스로 PostgreSQL 데이터베이스를 마이그레이션하는 네트워킹 단계를 설명합니다. 마이그레이션은 온-프레미스 연결에 Azure VPN 또는 ExpressRoute를 사용하고, 가상 네트워크 피어링 또는 클라우드-클라우드 마이그레이션을 위한 VPN을 사용하여 프라이빗 네트워크 공간 내에서 안전한 데이터 전송을 보장합니다. 자세한 내용은 마이그레이션 런타임 서버를 참조 하세요.
네트워크 연결 설정:
- 온-프레미스 원본의 경우 사이트-사이트 VPN을 설정하거나 ExpressRoute를 설정하여 로컬 네트워크를 Azure의 가상 네트워크에 연결합니다.
- Azure VM 또는 Amazon 인스턴스 또는 Google 컴퓨팅 엔진의 경우 가상 네트워크 피어링, VPN 게이트웨이 또는 ExpressRoute 인스턴스가 Azure의 가상 네트워크에 안전하게 연결되도록 합니다.
마이그레이션 런타임 서버에 대한 VNet 세부 정보를 수집합니다.
- Azure Portal에서 마이그레이션 런타임 서버로 이동합니다. 즉, VNet 통합 Azure Database for PostgreSQL - 유연한 서버의 인스턴스로 이동합니다.
- 가상 네트워크 아래에 나열된 가상 네트워크 및 서브넷 세부 정보를 기록합니다.
VNet 피어링 요구 사항 평가:
- 서버가 다른 VNet에 있는 경우 가상 네트워크 피어링을 사용하도록 설정합니다. 서버가 동일한 가상 네트워크에 있지만 다른 서브넷에 있는 경우 피어링이 필요하지 않습니다.
- 원본 서버, 마이그레이션 런타임 서버 및 대상 서버 간의 트래픽을 차단하는 네트워크 보안 그룹이 없는지 확인합니다.
프라이빗 DNS 영역 구성:
- 마이그레이션 런타임 서버의 네트워킹 창에서 프라이빗 DNS 영역이 사용 중인지 확인합니다.
- 원본 및 대상 유연한 서버에 대한 VNet이 모두 마이그레이션 런타임 서버의 프라이빗 DNS 영역에 연결되어 있는지 확인합니다.
- 아직 구성되지 않은 경우 프라이빗 DNS 영역을 유연한 서버의 프라이빗 엔드포인트에 연결합니다.
- 유연한 서버 및 마이그레이션 런타임 서버에 대한 가상 네트워크 링크를 프라이빗 DNS 영역에 추가합니다.
또는 사용자 지정 DNS 서버 또는 사용자 지정 DNS 네임스페이스를 사용하는 경우 프라이빗 DNS 영역을 연결하는 대신 사용자 지정 FQDN/IP 필드를 사용할 수 있습니다. 이 설정을 사용하면 프라이빗 DNS 영역 통합 없이도 FQDN 또는 IP를 직접 확인할 수 있습니다.