이 문서에서는 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 관계형 데이터베이스 서비스(Amazon RDS) 또는 Amazon Aurora PostgreSQL | 공용 액세스 권한이 있는 Azure Database for PostgreSQL 유연한 서버 | 예 |
| VPN 또는 ExpressRoute를 통한 프라이빗 액세스가 가능한 Amazon RDS for PostgreSQL 또는 Amazon Aurora PostgreSQL | VNet 통합 Azure Database for PostgreSQL의 유연성 있는 서버 | 예 |
| PostgreSQL용 Google Cloud SQL | 공용 액세스 권한이 있는 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의 대상 인스턴스에서 원본 데이터베이스로의 연결을 확인하여 설정을 테스트합니다. 마이그레이션 서비스가 원본 데이터에 액세스할 수 있는지 확인합니다.
온-프레미스(개인 IP)에서 VNet에 통합된형 유연한 서버(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 Management Console 또는 Google Cloud 콘솔)에서 설정을 변경하여 공용 접근성을 허용합니다.
- 클라우드 공급자의 보안 설정(예: AWS의 보안 그룹 또는 GCP의 방화벽 규칙)에서 Azure Database for PostgreSQL 공용 IP 주소 또는 도메인에서 트래픽을 허용하는 인바운드 규칙을 추가합니다.
프라이빗 액세스
- 클라우드 공급자(Azure ExpressRoute, AWS Direct Connect, GCP Interconnect)의 ExpressRoute, IPsec VPN 또는 이와 동등한 프라이빗 연결 서비스를 사용하여 Azure로 보안 연결을 설정합니다.
- 원본 클라우드 공급자의 보안 설정(예: AWS 보안 그룹 또는 GCP 방화벽 규칙)에서 Azure Database for PostgreSQL 공용 IP 주소 또는 도메인, 또는 PostgreSQL 포트(기본 포트는 5432)에서 Azure 가상 네트워크의 IP 주소 범위에서 트래픽을 허용하는 인바운드 규칙을 추가합니다.
- Azure Database for PostgreSQL 인스턴스와 동일한 지역의 Azure에 가상 네트워크를 만듭니다. 기본 포트 5432에서 원본 클라우드 공급자의 PostgreSQL 인스턴스의 IP 주소에 대한 아웃바운드 연결을 허용하도록 네트워크 보안 그룹을 설정합니다.
- Azure에서 네트워크 보안 그룹 규칙을 설정하여 클라우드 공급자(예: AWS 또는 GCP)에서 Azure Database for PostgreSQL IP 주소 범위로 수신 연결을 허용합니다.
- 관리 PostgreSQL 서비스(예: AWS, GCP 또는 Heroku)의 PostgreSQL 인스턴스와 Azure Database for PostgreSQL 간의 연결을 테스트하여 네트워크 문제가 발생하지 않는지 확인합니다.
Azure VM(프라이빗 액세스)에서 Azure Database for PostgreSQL(다른 가상 네트워크)로
이 시나리오에서는 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 Compute Engine의 경우 Azure 가상 네트워크에 대한 보안 연결을 위해 가상 네트워크 피어링, VPN Gateway 또는 ExpressRoute 인스턴스가 있는지 확인합니다.
마이그레이션 런타임 서버에 대한 VNet 세부 정보를 수집합니다.
- Azure Portal에서 마이그레이션 런타임 서버로 이동합니다. 즉, VNet 통합 Azure Database for PostgreSQL 유연한 서버의 인스턴스로 이동합니다.
- 가상 네트워크 아래에 나열된 가상 네트워크 및 서브넷 세부 정보를 기록합니다.
VNet 피어링 요구 사항 평가:
- 서버가 서로 다른 VNet에 있는 경우 가상 네트워크 피어링을 사용하도록 설정합니다. 서버가 동일한 가상 네트워크에 있지만 서로 다른 서브넷에 있는 경우 피어링이 필요하지 않습니다.
- 네트워크 보안 그룹이 원본 서버, 마이그레이션 런타임 서버, 대상 서버 간의 트래픽을 차단하지 않는지 확인합니다.
프라이빗 DNS 영역 구성:
- 마이그레이션 런타임 서버의 네트워킹 창에서 프라이빗 DNS 영역이 사용 중인지 확인합니다.
- 원본 및 대상 유연한 서버의 VNet이 모두 마이그레이션 런타임 서버의 프라이빗 DNS 영역에 연결되어 있는지 확인합니다.
- 아직 구성되지 않았다면 유연한 서버의 프라이빗 엔드포인트에 프라이빗 DNS 영역을 연결합니다.
- 유연한 서버와 마이그레이션 런타임 서버에 대한 가상 네트워크 링크를 프라이빗 DNS 영역에 추가합니다.
또는 사용자 지정 DNS 서버나 사용자 지정 DNS 네임스페이스를 사용하는 경우 프라이빗 DNS 영역을 연결하는 대신 사용자 지정 FQDN/IP 필드를 사용할 수 있습니다. 이 설정을 사용하면 프라이빗 DNS 영역 통합이 필요 없이 FQDN이나 IP를 직접 확인할 수 있습니다.