비공개 서비스 액세스 개요

이 페이지에서는 PostgreSQL용 AlloyDB가 비공개 서비스 액세스를 사용하여 AlloyDB 인스턴스와 작동하는 데 필요한 다양한 내부 리소스 간에 네트워크 연결을 설정하는 방법을 설명합니다.

AlloyDB에서 네트워크 연결이 작동하는 방식에 대한 일반적인 개요는 연결 개요를 참고하세요.

클러스터와 내부 리소스 간 연결

비공개 서비스 액세스를 사용하면 AlloyDB 클러스터가 이를 지원하는 내부 리소스와 통신할 수 있습니다.

인스턴스 및 내부 리소스

Google Cloud 프로젝트에서 만드는 AlloyDB 클러스터와 인스턴스는 많은 내부 하위 수준 Google Cloud리소스를 사용합니다. 여기에는 AlloyDB 노드 및 부하 분산기 역할을 하는 가상 머신 (VM) 인스턴스 또는 데이터를 보유하는 스토리지 볼륨이 포함됩니다. 클러스터를 지원하는 모든 리소스는 Google 내부에서 관리하는Google Cloud 프로젝트 내에서 실행됩니다.

일반적으로 이러한 내부 리소스에 직접 연결하지는 않습니다. 대신 Google Cloud 콘솔 또는 Google Cloud CLI를 통해 클러스터와 인스턴스를 관리합니다. 애플리케이션은 비공개 IP 주소를 통해 AlloyDB 인스턴스에 연결하여 데이터를 쿼리하고 수정합니다. AlloyDB는 필요에 따라 내부 API를 사용하여 관리 요청이나 데이터 쿼리를 클러스터의 리소스에 전달합니다.

AlloyDB 인스턴스는 이러한 복잡한 파트 모음의 논리적 추상화 역할을 합니다. 비공개 고정 IP 주소와 일관된 PostgreSQL 호환 데이터베이스 인터페이스를 제공함으로써 AlloyDB는 활성 인스턴스의 내부 네트워크 경로를 자유롭게 업데이트하거나 내부 리소스를 재배치할 수 있습니다. 이를 통해 다운타임이나 중단 없이 최적화된 처리량과 고가용성을 제공할 수 있습니다.

클러스터에서 비공개 서비스 액세스를 사용하는 방법

프로젝트의 AlloyDB 클러스터와 인스턴스는 비공개 서비스 액세스를 통해 내부 리소스와 통신합니다. 이렇게 하면 자체 프로젝트의 Virtual Private Cloud (VPC) 네트워크와 내부 리소스를 호스팅하는 Google 관리 프로젝트에서 사용하는 별도의 VPC 간에 영구적인 피어링 연결이 설정됩니다. 이 연결을 통해 프로젝트의 AlloyDB 클러스터와 인스턴스는 자체 프로젝트의 VPC 내에 있는 것처럼 비공개 IP 주소를 사용하여 내부 리소스에 연결할 수 있습니다.

Google Cloud VPC 네트워크로 비공개 서비스 액세스를 구성하려면 연속된 비공개 IP 주소 블록을 하나 이상 예약해야 합니다.Google Cloud 에서 프로젝트의 VPC와 내부 프로젝트의 VPC 간에 피어링 연결을 설정하면 AlloyDB는 인스턴스에 필요한 하위 수준 리소스에 예약된 IP 블록의 주소를 적용합니다. 이렇게 하면 클러스터의 모든 작업 부분 간에 비공개 네트워크 연결이 가능합니다.

AlloyDB 클러스터를 만드는 과정에서 비공개 서비스 액세스로 이미 설정한 프로젝트 내의 VPC 네트워크를 지정해야 합니다. 특히 프로젝트에서 이미 AlloyDB 또는 비공개 서비스 액세스가 필요한 다른 Google Cloud 제품을 사용한 경우 프로젝트에 적격한 VPC 네트워크가 이미 있을 수 있습니다. 프로젝트에 비공개 서비스 액세스를 위해 설정된 VPC 네트워크가 없는 경우 AlloyDB 클러스터를 만들기 전에 VPC 네트워크를 구성해야 합니다.

AlloyDB에서 클러스터를 생성한 후에는 클러스터의 비공개 서비스 액세스 구성을 변경할 수 없습니다.

지원되는 비공개 서비스 액세스 구성

AlloyDB는 AlloyDB와 동일한 프로젝트에 있거나 다른 프로젝트에 있는 VPC 네트워크의 비공개 서비스 액세스 구성을 사용할 수 있습니다.

클러스터와 동일한 프로젝트의 VPC 네트워크

AlloyDB 클러스터와 동일한 Google Cloud 프로젝트에 있는 VPC 네트워크를 사용하여 AlloyDB 연결을 구성하는 방법은 VPC 네트워크에 비공개 서비스 액세스 구성이 이미 있는지에 따라 달라집니다.

공유 VPC 네트워크

AlloyDB 클러스터가 포함된 프로젝트와 다른 Google Cloud 프로젝트에 있는 VPC 네트워크를 사용하여 AlloyDB 연결을 구성하려면 다음 단계를 완료하세요.

  1. VPC 네트워크가 있는 프로젝트를 공유 VPC용으로 구성합니다. 이 프로젝트는 호스트 프로젝트이고 AlloyDB가 있는 프로젝트는 서비스 프로젝트입니다.

  2. VPC 네트워크의 비공개 서비스 액세스 구성에 AlloyDB에 충분한 IP 주소 공간이 있는지 확인하고 필요한 경우 주소 공간을 늘립니다.

  3. 비공개 서비스 액세스 구성에서 적절한 할당된 IP 주소 범위에 액세스할 수 있는 서비스 프로젝트 관리자로 AlloyDB 리소스를 만들 수 있는 사용자를 구성합니다.

  4. Google Cloud CLI를 사용하여 공유 VPC 네트워크로 AlloyDB 인스턴스를 만들 때는 VPC 네트워크의 정규화된 경로(예: projects/cymbal-project/global/networks/shared-vpc-network)를 사용해야 합니다.

공유 VPC에 대한 자세한 내용은 공유 VPC 개요공유 VPC 프로비저닝을 참고하세요.

IP 주소 범위 크기 고려사항

AlloyDB의 요구사항과 동일한 주소 풀의 IP 주소가 필요한 다른Google Cloud 서비스의 요구사항을 수용할 수 있을 만큼 넓은 비공개 서비스 액세스 주소 범위를 선택하는 것이 중요합니다. 이 풀의 크기는 언제든지 조정할 수 있습니다.

AlloyDB는 클러스터를 배포하는 각 리전에서 크기가 /24인 서브넷을 사용합니다. 최소 크기는 단일 /24 블록 (주소 256개)이지만 권장 크기는 /16 블록 (주소 65,536개)입니다. 이렇게 하면 여러 리전에서 클러스터와 인스턴스를 만들 수 있으며 기타 Google Cloud 서비스에 사용할 수 있는 IP 주소가 충분히 남습니다.

비공개 서비스 액세스로 구성된 클러스터에 새 인스턴스를 프로비저닝하면 AlloyDB는 새로 생성된 또는 이전에 AlloyDB에서 생성한 기존 리전 서브넷에 리소스를 배포합니다. 기존 서브넷이 충분히 가득 찬 것으로 확인되면 할당된 IP 주소 범위가 크기 /24의 서브넷을 추가로 만들 수 있는 경우 AlloyDB는 동일한 리전에 새 서브넷을 만듭니다. AlloyDB에서 사용할 수 있는 기존 IP 주소 공간이 서브넷을 만들기에 충분하지 않으면 클러스터 또는 인스턴스를 만들려는 시도가 실패합니다. 클러스터 또는 인스턴스 생성을 다시 시도하기 전에 IP 주소 공간을 늘려 주소 부족 문제를 해결해야 합니다. IP 주소 공간을 늘리는 방법에 관한 자세한 내용은 프로젝트 내에서 AlloyDB에 사용할 수 있는 IP 주소 공간 늘리기를 참고하세요.

비공개로 사용되는 공개 IP 범위

비공개 서비스 액세스를 사용하는 경우 AlloyDB는 비공개로 사용되는 공개 IP 범위 (PUPI)의 사용을 지원하지 않습니다. 비공개로 사용되는 공개 IP 범위 (PUPI)를 사용하는 워크로드에서 AlloyDB에 연결하려면 Private Service Connect를 사용해야 합니다.

제한사항

  • 비공개 서비스 액세스 연결은 RFC 1918 IP 범위로 제한됩니다.

다음 단계