Private Service Connect 개요

이 페이지에서는 Private Service Connect와 관련된 개념을 설명합니다. Private Service Connect는 다음 목적으로 사용할 수 있습니다.

  • 다른 그룹, 팀, 프로젝트, 조직에 속하는 여러 VPC 네트워크에서 Cloud SQL 인스턴스에 연결
  • 기본 인스턴스 또는 해당 읽기 복제본에 연결

Private Service Connect 엔드포인트

Private Service Connect 엔드포인트를 사용하여 소비자 VPC 네트워크에서 비공개로 Cloud SQL 인스턴스에 액세스할 수 있습니다. 이러한 엔드포인트는 Cloud SQL 인스턴스의 서비스 연결을 참조하는 전달 규칙과 연결된 내부 IP 주소입니다.

Cloud SQL이 엔드포인트를 자동으로 만들도록 설정하거나 사용자가 엔드포인트를 직접 만들 수 있습니다.

Cloud SQL이 엔드포인트를 자동으로 만들도록 하려면 다음을 수행합니다.

  1. VPC 네트워크에서 서비스 연결 정책을 만듭니다.
  2. 인스턴스에 대해 Private Service Connect가 사용 설정된 Cloud SQL 인스턴스를 만들고 엔드포인트를 자동으로 만들도록 인스턴스를 구성합니다. 인스턴스를 만들 때 VPC 네트워크 및 프로젝트와 같은 자동 연결 매개변수를 지정합니다.

    Cloud SQL은 이러한 네트워크에서 서비스 연결 정책을 찾고 인스턴스의 서비스 연결을 가리키는 Private Service Connect 엔드포인트를 만듭니다.

    인스턴스를 만들고 Cloud SQL이 엔드포인트를 만들면 해당 VPC 네트워크의 클라이언트가 IP 주소 또는 DNS 레코드를 통해 엔드포인트에서 인스턴스로 연결할 수 있습니다.

엔드포인트를 수동으로 만들려면 다음을 수행합니다.

  1. 인스턴스에 대해 Private Service Connect가 사용 설정된 Cloud SQL 인스턴스를 만듭니다.
  2. 엔드포인트를 수동으로 만들어야 하는 서비스 연결 URI를 가져옵니다.
  3. 엔드포인트에 대해 VPC 네트워크에서 내부 IP 주소를 예약하고 이 주소를 사용하여 엔드포인트를 만듭니다.

    인스턴스를 만들고 Cloud SQL이 엔드포인트를 만들면 해당 VPC 네트워크의 클라이언트가 IP 주소 또는 DNS 레코드를 통해 엔드포인트에서 인스턴스로 연결할 수 있습니다.

서비스 연결 정책

서비스 연결 정책을 사용하면 지정된 서비스 클래스가 VPC 네트워크 사이에 Private Service Connect 연결을 만들도록 승인할 수 있습니다. 따라서 Private Service Connect 엔드포인트를 자동으로 프로비저닝할 수 있습니다.

각 서비스 클래스, 리전, VPC 네트워크 조합당 최대 1개의 정책을 만들 수 있습니다. 정책은 특정 조합에 대한 서비스 연결 자동화를 나타냅니다. 정책을 구성할 때 서브넷을 선택합니다. 서브넷은 정책을 통해 만드는 엔드포인트의 IP 주소를 할당하는 데 사용됩니다. 여러 서비스 연결 정책이 동일한 리전을 공유하는 경우 모든 정책에 대해 동일한 서브넷을 재사용할 수 있습니다.

예를 들어 서로 다른 3곳의 리전에서 서비스 연결 자동화를 사용하려면 6개의 정책을 만듭니다. 각 리전에 하나씩 최소 3개의 서브넷을 사용할 수 있습니다.

서비스 연결 정책을 만든 후에는 정책의 서브넷 및 연결 한도만 업데이트할 수 있습니다. 다른 필드를 업데이트해야 하는 경우 다음을 수행합니다.

  1. 정책을 사용하는 모든 연결을 삭제합니다.
  2. 정책을 삭제합니다.
  3. 새 정책을 만듭니다.

서비스 연결

Cloud SQL 인스턴스 만들기를 수행하고 Private Service Connect를 사용하도록 인스턴스를 구성하면 Cloud SQL이 인스턴스에 대한 서비스 연결을 자동으로 만듭니다. 서비스 연결은 VPC 네트워크에서 인스턴스에 액세스하는 데 사용하는 연결 지점입니다.

VPC 네트워크가 서비스 연결 지점에 연결하는 데 사용하는 Private Service Connect 엔드포인트를 만듭니다. 이렇게 하면 네트워크에서 해당 인스턴스에 액세스할 수 있습니다.

각 Cloud SQL 인스턴스에는 Private Service Connect 엔드포인트가 VPC 네트워크를 통해 연결할 수 있는 하나의 서비스 연결이 있습니다. 네트워크가 여러 개인 경우 각 네트워크에 자체 엔드포인트가 있습니다.

DNS 이름 및 레코드

Private Service Connect가 사용 설정된 인스턴스에는 서로 다른 네트워크가 동일한 인스턴스에 연결할 수 있고 각 네트워크의 Private Service Connect 엔드포인트에 IP 주소가 다를 수 있으므로 DNS 이름을 사용하는 것이 좋습니다. 또한 Cloud SQL 인증 프록시에서 이러한 인스턴스에 연결하려면 DNS 이름이 필요합니다.

Cloud SQL은 DNS 레코드를 자동으로 만들지 않습니다. 대신 인스턴스 조회 API 응답에서 추천되는 DNS 이름을 제공합니다. 해당 VPC 네트워크의 비공개 DNS 영역에 DNS 레코드를 만드는 것이 좋습니다. 이렇게 하면 다른 네트워크에서 일관된 방식으로 연결할 수 있습니다.

허용되는 Private Service Connect 프로젝트

허용되는 프로젝트는 VPC 네트워크와 연결되며 각 Cloud SQL 인스턴스에 따라 다릅니다. 허용되는 프로젝트에 인스턴스가 포함되지 않으면 인스턴스에 Private Service Connect를 사용 설정할 수 없습니다.

이러한 프로젝트에 대해서는 각 인스턴스에 대해 Private Service Connect 엔드포인트를 만들 수 있습니다. 프로젝트가 명시적으로 허용되지 않는 경우에도 프로젝트의 인스턴스에 대해 엔드포인트를 만들 수 있지만 해당 엔드포인트는 PENDING 상태로 유지됩니다.

Private Service Connect 엔드포인트 전파

기본적으로 Private Service Connect 연결은 피어링된 VPC 네트워크에서 전파되지 않습니다. Cloud SQL 인스턴스에 연결해야 하는 각 VPC 네트워크에 Private Service Connect 엔드포인트를 만들어야 합니다. 예를 들어 인스턴스에 연결해야 하는 VPC 네트워크가 3개 있으면 각 VPC 네트워크에 대해 하나씩 Private Service Connect 엔드포인트를 3개 만들어야 합니다.

하지만 Network Connectivity Center 허브를 통해 Private Service Connect 엔드포인트를 전파하면 동일 허브에 있는 다른 스포크 VPC 네트워크에서 이러한 엔드포인트에 연결할 수 있습니다. 허브는 스포크 VPC 네트워크를 Private Service Connect 엔드포인트에 상호 연결하기 위한 중앙화된 연결 관리 모델을 제공합니다.

Network Connectivity Center의 연결 전파 기능은 Private Service Connect 배포에 대해 다음과 같은 사용 사례에 이점을 제공합니다.

공통 서비스 VPC 네트워크를 사용하여 여러 Private Service Connect 엔드포인트를 만들 수 있습니다. 단일 공통 서비스 VPC 네트워크를 Network Connectivity Center 허브에 추가하면 VPC 네트워크의 모든 Private Service Connect 엔드포인트가 허브를 통해 자동으로 다른 스포크 VPC 네트워크에 액세스할 수 있습니다. 이 연결을 사용하면 각 VPC 네트워크에서 각 Private Service Connect 엔드포인트를 개별적으로 관리할 필요가 없습니다.

Network Connectivity Center 허브를 사용하여 Private Service Connect 엔드포인트를 스포크 VPC 네트워크에 전파하는 방법을 알아보려면 Network Connectivity Center—Private Service Connect 전파 Codelab을 참조하세요.

Private Service Connect 백엔드

Private Service Connect 엔드포인트 대신 Private Service Connect 백엔드를 사용하여 Cloud SQL 인스턴스에 액세스할 수 있습니다. 사용 편의성을 위해 Private Service Connect 엔드포인트를 사용하여 Cloud SQL 인스턴스에 연결하는 것이 좋습니다. 추가 제어 및 가시성을 위해 Private Service Connect 백엔드를 사용하여 연결할 수 있습니다.

Private Service Connect 백엔드를 사용하려면 특정 Cloud SQL 인스턴스에 액세스하려는 각 서비스 포트에 대해 다음 리소스를 설정해야 합니다.

MySQL에서 지원되는 서빙 포트는 다음과 같습니다.

Private Service Connect 아웃바운드 연결

네트워크 연결을 사용하여 기존 Cloud SQL Private Service Connect 지원 인스턴스에 Private Service Connect 인터페이스를 연결하면 Cloud SQL 인스턴스에서 네트워크에 아웃바운드 연결을 설정할 수 있습니다. 네트워크의 Private Service Connect 인터페이스에 연결하려면 Google Cloud 프로젝트 내에서 신규 또는 기존 네트워크 연결이 필요합니다.

아웃바운드 연결을 사용하여 네트워크 내의 외부 서버에서 데이터를 마이그레이션하거나 Database Migration Service를 사용하여 동종 마이그레이션을 실행할 수 있습니다.

네트워크 연결과 함께 Private Service Connect 인터페이스를 사용하여 Cloud SQL 인스턴스에서 네트워크로의 아웃바운드 연결을 만들 때는 다음 제한사항에 유의하세요.

  • Private Service Connect 아웃바운드 연결을 사용 설정하거나 사용 중지하려면 다운타임이 필요합니다. 이 작업은 완료하는 데 약 8분이 걸리며 다운타임은 약 3분입니다.
  • 아웃바운드 연결에 호스트 이름이나 DNS를 사용하는 경우 DNS 이름을 공개적으로 변환할 수 있어야 하며 RFC-1918 IP 범위로 변환되어야 합니다.
  • IPv6 주소는 지원되지 않습니다.
  • 공개 IP 주소는 지원되지 않습니다.
  • 읽기 복제본 인스턴스에서는 Private Service Connect 아웃바운드 연결을 사용 설정할 수 없습니다.
  • Private Service Connect 아웃바운드 연결이 사용 설정된 인스턴스에는 전환이 지원되지 않습니다.
  • DR 복제본이 있는 인스턴스에는 Private Service Connect 아웃바운드 연결을 사용 설정할 수 없습니다.
  • Private Service Connect 아웃바운드 연결이 사용 설정된 인스턴스의 복제본을 DR 복제본으로 변환할 수 없습니다.
  • 아웃바운드 연결 IP 주소가 eth0 IP 또는 Private Service Connect 전달 규칙과 충돌하면 IP 주소가 올바르게 연결되지 않을 수 있습니다. 자세한 내용은 Private Service Connect 개요를 참조하세요.
  • 인스턴스가 비공개 서비스 액세스와 Private Service Connect 모두에 구성된 경우에는 인스턴스에 Private Service Connect 아웃바운드 연결을 사용 설정할 수 없습니다.

Cloud SQL 인스턴스의 아웃바운드 연결을 설정하는 방법에 대한 자세한 내용은 아웃바운드 연결 구성을 참조하세요.

다음 단계