다음을 통해 공유


Azure Cosmos DB for PostgreSQL의 프라이빗 액세스

적용 대상: Azure Cosmos DB for PostgreSQL(PostgreSQL에 대한 Citus 데이터베이스 확장 기반)

Azure Cosmos DB for PostgreSQL은 세 가지 네트워킹 옵션을 지원합니다.

  • 액세스 권한 없음
    • 퍼블릭 또는 프라이빗 액세스가 사용하도록 설정되지 않은 경우 새로 만들어진 클러스터의 기본값입니다. Azure 내부 또는 외부에 있는지에 관계없이 어떤 컴퓨터도 데이터베이스 노드에 연결할 수 없습니다.
  • 공용 액세스
    • 공용 IP 주소가 코디네이터 노드에 할당됩니다.
    • 코디네이터 노드에 대한 액세스는 방화벽으로 보호됩니다.
    • 필요에 따라 모든 작업자 노드에 대한 액세스를 사용하도록 설정할 수 있습니다. 이 경우 공용 IP 주소가 작업자 노드에 할당되고 동일한 방화벽으로 보호됩니다.
  • 프라이빗 액세스
    • 개인 IP 주소만 클러스터의 노드에 할당됩니다.
    • 각 노드에는 선택한 가상 네트워크의 호스트가 노드에 액세스할 수 있도록 프라이빗 엔드포인트가 필요합니다.
    • 네트워크 보안 그룹과 같은 Azure 가상 네트워크의 보안 기능을 액세스 제어에 사용할 수 있습니다.

클러스터를 만들 때 퍼블릭 또는 프라이빗 액세스를 사용하도록 설정하거나 기본값인 액세스 없음을 선택할 수 있습니다. 클러스터가 만들어지면 퍼블릭 또는 프라이빗 액세스 간에 전환하도록 선택하거나 한 번에 둘 다 활성화할 수 있습니다.

이 페이지에서는 프라이빗 액세스 옵션을 설명합니다. 퍼블릭 액세스의 경우 여기를 참조하세요.

정의

가상 네트워크. Azure Virtual Network(VNet)는 Azure에서 개인 네트워킹의 기본 구성 요소입니다. 가상 네트워크를 사용하면 데이터베이스 서버 및 Azure VM(Virtual Machines)과 같은 다양한 유형의 Azure 리소스가 서로 안전하게 통신할 수 있습니다. 가상 네트워크는 온-프레미스 연결을 지원하고, 여러 가상 네트워크의 호스트가 피어링을 통해 서로 상호 작용할 수 있도록 하며, 규모, 보안 옵션, 격리의 추가적인 이점을 제공합니다. 클러스터의 각 프라이빗 엔드포인트에는 연결된 가상 네트워크가 필요합니다.

서브넷. 서브넷은 가상 네트워크를 하나 이상의 서브네트워크로 세분화합니다. 각 서브네트워크가 주소 공간의 일정 부분을 가져오므로 주소 할당 효율성이 향상됩니다. 네트워크 보안 그룹을 사용하여 서브넷 내의 리소스에 보안을 지정할 수 있습니다. 자세한 내용은 네트워크 보안 그룹을 참조하세요.

클러스터의 프라이빗 엔드포인트에 대한 서브넷을 선택할 때 해당 서브넷에서 현재 및 향후의 요구 사항에 대해 충분한 개인 IP 주소를 사용할 수 있는지 확인합니다.

프라이빗 엔드포인트 . 프라이빗 엔드포인트는 가상 네트워크의 개인 IP 주소를 사용하는 네트워크 인터페이스입니다. 이 네트워크 인터페이스는 Azure Private Link에서 제공하는 서비스에 비공개로 안전하게 연결합니다. 프라이빗 엔드포인트는 서비스를 가상 네트워크로 가져옵니다.

Azure Cosmos DB for PostgreSQL에 대한 프라이빗 액세스를 사용하도록 설정하면 클러스터의 코디네이터 노드에 대한 프라이빗 엔드포인트가 만들어집니다. 엔드포인트를 사용하면 선택한 가상 네트워크의 호스트가 코디네이터에 액세스할 수 있습니다. 필요에 따라 작업자 노드에 대한 프라이빗 엔드포인트도 만들 수 있습니다.

프라이빗 DNS 영역. Azure 프라이빗 DNS 영역은 연결된 가상 네트워크 및 피어링된 가상 네트워크 내에서 호스트 이름을 확인합니다. 노드의 도메인 레코드는 해당 클러스터에 대해 선택된 프라이빗 DNS 영역에 만들어집니다. 노드의 PostgreSQL 연결 문자열에 FQDN(정규화된 도메인 이름)을 사용해야 합니다.

클러스터에 프라이빗 엔드포인트를 사용하면 VNet(가상 네트워크)의 호스트가 프라이빗 링크를 통해 데이터에 안전하게 액세스할 수 있습니다.

클러스터의 프라이빗 엔드포인트는 가상 네트워크 주소 공간의 IP 주소를 사용합니다. 가상 네트워크의 호스트와 노드 간의 트래픽은 Microsoft 백본 네트워크의 프라이빗 링크를 통해 이동하므로 공용 인터넷에 노출되지 않습니다.

가상 네트워크의 애플리케이션은 다른 방식으로 사용하는 것과 동일한 연결 문자열 및 권한 부여 메커니즘을 사용하여 프라이빗 엔드포인트를 통해 노드에 원활하게 연결할 수 있습니다.

클러스터를 만드는 중에 프라이빗 액세스를 선택할 수 있으며 언제든지 공용 액세스에서 프라이빗 액세스로 전환할 수 있습니다.

프라이빗 DNS 영역 사용

Azure Cosmos DB for PostgreSQL에서 이전에 만든 프라이빗 DNS 영역 중 하나를 선택하지 않는 한 새 프라이빗 DNS 영역은 각 프라이빗 엔드포인트에 대해 자동으로 프로비전됩니다. 자세한 내용은 프라이빗 DNS 영역 개요를 참조하세요.

Azure Cosmos DB for PostgreSQL 서비스는 프라이빗 엔드포인트가 있는 각 노드에 대해 선택한 프라이빗 DNS 영역에 c-mygroup01.12345678901234.privatelink.postgres.cosmos.azure.com과 같은 DNS 레코드를 만듭니다. 프라이빗 엔드포인트를 통해 Azure VM에서 노드에 연결하면 Azure DNS는 노드의 FQDN을 개인 IP 주소로 확인합니다.

프라이빗 DNS 영역 설정과 가상 네트워크 피어링은 서로 독립적입니다. 동일한 지역 또는 다른 지역의 다른 가상 네트워크에 프로비전된 클라이언트에서 클러스터의 노드에 연결하려는 경우 가상 네트워크와 프라이빗 DNS 영역을 연결해야 합니다. 자세한 내용은 가상 네트워크 연결을 참조하세요.

참고 항목

이 서비스는 항상 모든 노드에 대한 퍼블릭 CNAME 레코드(예: c-mygroup01.12345678901234.postgres.cosmos.azure.com)도 만듭니다. 그러나 데이터베이스 관리자가 클러스터에 대한 공용 액세스를 사용하는 경우에만 퍼블릭 인터넷에서 선택한 컴퓨터가 퍼블릭 호스트 이름에 연결할 수 있습니다.

사용자 지정 DNS 서버를 사용하는 경우 DNS 전달자를 사용하여 노드의 FQDN을 확인해야 합니다. 전달자 IP 주소는 168.63.129.16이어야 합니다. 사용자 지정 DNS 서버는 가상 네트워크 내부에 있거나 가상 네트워크의 DNS 서버 설정을 통해 연결할 수 있어야 합니다. 자세한 내용은 자체 DNS 서버를 사용하는 이름 확인을 참조하세요.

권장 사항

클러스터에 대한 프라이빗 액세스를 사용하도록 설정할 때 다음 사항을 고려합니다.

  • 서브넷 크기: 클러스터의 서브넷 크기를 선택할 때 조정자 또는 해당 클러스터의 모든 노드에 대한 IP 주소와 같은 현재 요구 사항과 해당 클러스터의 성장과 같은 향후 요구 사항을 고려합니다.

    현재 및 향후 요구 사항에 충분한 개인 IP 주소가 있는지 확인합니다. Azure는 각 서브넷에 5개의 IP 주소를 예약합니다.

    자세한 내용은 FAQ를 참조하세요.

  • 프라이빗 DNS 영역: 개인 IP 주소가 있는 DNS 레코드는 Azure Cosmos DB for PostgreSQL 서비스에서 유지 관리됩니다. 클러스터에 사용되는 프라이빗 DNS 영역을 삭제하지 않도록 합니다.

제한 및 제한 사항

Azure Cosmos DB for PostgreSQL 제한 및 제한 사항 페이지를 참조하세요.

다음 단계