Private Service Connect를 사용한 Dataproc 클러스터 네트워킹

이 페이지에서는 Private Service Connect를 사용할 때 Dataproc 클러스터의 네트워크 연결을 구성하는 방법을 안내합니다. 다양한 Dataproc 사용 사례에서 Private Service Connect와 가상 프라이빗 클라우드 피어링 간의 상호작용을 설명합니다. 또한 비공개 Google 액세스, Private Service Connect, Cloud NAT 간의 기능 유사점과 차이점을 요약합니다.

개요

Dataproc 클러스터에는 Dataproc API, Cloud Storage, Cloud Logging과 같은Google Cloud API 및 서비스와 다른 가상 프라이빗 클라우드 네트워크 또는 온프레미스 환경의 데이터 소스와 같은 사용자 리소스에 대한 네트워크 연결이 필요합니다.

기본적으로 이미지 버전 2.2 이상으로 생성된 Dataproc 클러스터는 내부 IP 주소만으로 생성됩니다. Dataproc은 공개 인터넷에 연결하지 않고 Google API 및 서비스에 연결할 수 있도록 내부 IP 전용 클러스터에서 사용하는 리전 서브넷에서 비공개 Google 액세스를 자동으로 사용 설정합니다.

더 세부적인 네트워크 제어를 제공하기 위해 VPC 네트워크 내의 비공개 엔드포인트를 통해 지원되는 Google API 및 서비스로 트래픽을 라우팅하는 Private Service Connect를 사용하도록 클러스터를 구성할 수 있습니다. 이는 보안 및 규정 준수에 도움이 될 수 있습니다.

일반적인 비공개 네트워킹 옵션

이 섹션에서는 비공개 Google 액세스, Private Service Connect, Cloud NAT 기능과 차이점을 설명합니다.

  • 비공개 Google 액세스는 VM이 인터넷을 사용하지 않고 Google 공개 서비스에 도달할 수 있는 단방향 경로입니다. 이는 공공 도로를 우회하여 Google 서비스 몰로 바로 연결되는 주변 지역(VPC 서브넷)의 특수 도로 출구와 유사합니다. 주변 지역의 모든 사람이 사용할 수 있습니다. Dataproc은 이미지 버전 2.2 이상으로 생성된 Dataproc 서버리스 클러스터에서 사용하는 리전 서브넷에서 비공개 Google 액세스를 자동으로 사용 설정합니다.

  • Private Service Connect는 VPC 네트워크 내에 있는 서비스의 비공개 양방향 엔드포인트를 만듭니다. 이는 사용자 위치(VPC 네트워크)에서 서비스로 직접 연결되는 전용 비공개 경로와 유사합니다. 사용자 위치에 주소(VPC 네트워크의 내부 IP 주소)가 있으며 이는 사용자만 사용할 수 있습니다.

  • Cloud NAT를 사용하면 비공개 IP 주소가 있는 VM이 인터넷에 액세스할 수 있습니다.

기능 및 차이점

기능 비공개 Google 액세스(PGA) PSC(Private Service Connect)
기능 소개 VM에서 특수 Google IP 주소 범위(private.googleapis.com)로 트래픽을 전달합니다. Google 서비스를 나타내는 전달 규칙(엔드포인트)을 VPC 네트워크 내에 만듭니다.
IP 주소 VM이 Google 소유 IP 주소에 연결됩니다. VM이 VPC 네트워크 내에서 소유한 내부 IP 주소에 연결됩니다.
방향 아웃바운드만 해당: VM이 Google에 대한 연결을 시작합니다. 양방향: VM이 서비스에 연결되고 서비스가 반환 트래픽을 시작할 수 있습니다.
범위 전체 서브넷에 대해 사용 설정 또는 사용 중지됩니다. 특정 엔드포인트 리소스로 배포됩니다.
서비스 Cloud Storage, BigQuery, Dataproc API와 같은 Google API에만 연결됩니다. Google API, 다른 회사의 서비스, 자체 서비스에 연결됩니다.

Dataproc의 경우 비공개 Google 액세스는 클러스터 VM이 Dataproc 컨트롤 플레인과 통신할 수 있도록 허용하는 기존의 더 간단한 방법입니다. Private Service Connect는 특히 복잡한 네트워크나 멀티 테넌트 네트워크에서 세밀한 제어 기능을 제공하는 최신의 유연한 접근 방식입니다.

Private Service Connect를 사용해야 하는 이유. Dataproc 클러스터에 비공개 Google 액세스가 사용 설정된 내부 전용 IP 주소가 있는 경우(2.2+ 이미지 버전 클러스터의 기본 구성)에도 Private Service Connect는 다음과 같은 이점을 제공합니다.

  • 비공개 Google 액세스의 공유 엔드포인트 집합을 사용하여 Google API 및 서비스에 연결하는 대신 Private Service Connect를 사용하면 VPC 네트워크 내에서 특정 Google 서비스에 직접 매핑되는 내부 IP 주소가 있는 비공개 엔드포인트를 만들 수 있습니다.

  • Private Service Connect 엔드포인트 IP 주소로만 트래픽을 허용하는 방화벽 규칙을 만들 수 있습니다. 예를 들어 Dataproc 클러스터 VM에서 BigQuery용 Private Service Connect 엔드포인트의 내부 IP 주소로만 이그레스 트래픽을 허용하고 다른 모든 이그레스 트래픽을 거부하는 규칙을 구성할 수 있습니다. 이는 비공개 Google 액세스를 사용하여 더 광범위한 방화벽 규칙을 만드는 것보다 더 안전한 접근 방식입니다.

  • VPC 네트워크 내에서 Private Service Connect 엔드포인트를 사용하면 Cloud Storage와 같은 서비스로 이동하는 트래픽이 다른 API 트래픽과 경로를 공유하지 않으므로 네트워크 경로를 명시적으로 지정할 수 있고 보안 및 규정 준수를 더 쉽게 감사할 수 있습니다.

비공개 및 공개 경로

비공개 Google 액세스, Private Service Connect, Cloud NAT를 사용하면 RFC 1918 주소가 있는 호스트가Google Cloud 서비스에 연결할 수 있습니다. 또한 비공개 RFC 1918 주소가 있는 Google Cloud 리소스가 Google Cloud 서비스에 연결을 시작할 수 있습니다.

다양한 연결 옵션을 평가할 때 중요한 차이점은 연결을 사용하는 트래픽이 비공개로 유지되는지 아니면 공개 인터넷을 통해 이동하는지 여부입니다.

  • 비공개 Google 액세스 및 Private Service Connect는 트래픽을 Google의 비공개 네트워크 내에 유지합니다. 데이터가 공개 인터넷을 통해 Google Cloud 서비스에 도달하지 않으므로, 이는 보안과 예측 가능한 성능에 이상적입니다.

  • Cloud NAT는 서비스의 공개 엔드포인트에 연결하여 Google Cloud 서비스에 도달합니다. 트래픽은 NAT 게이트웨이를 통해 VPC 네트워크를 벗어나 인터넷을 통해 이동합니다.

각 옵션의 작동 방식

각 연결 메커니즘의 주요 특성은 다음과 같습니다.

메서드 서비스 경로 대상 엔드포인트 기본 사용 사례
비공개 Google 액세스 Google 비공개 네트워크 특수 Google IP 주소(private.googleapis.com) VM이 Google API에 비공개로 도달할 수 있는 간단한 서브넷 수준 액세스입니다.
Private Service Connect Google 비공개 네트워크 VPC 네트워크 내의 비공개 IP 주소 엔드포인트 Google API, 서드 파티 또는 자체 서비스에 대한 세부적이고 안전한 액세스입니다.
Cloud NAT 공개 인터넷 서비스 공개 IP 주소 비공개 IP 주소가 있는 VM의 범용 아웃바운드 인터넷 액세스입니다.

Private Service Connect 구성

Dataproc 클러스터에서 Private Service Connect를 사용하려면 Dataproc에서 사용하는 모든 Google API에 대해 VPC 네트워크에서 필요한 Private Service Connect 엔드포인트와 DNS를 구성해야 합니다. 서브넷을 설정하고 DNS를 구성하는 방법은 엔드포인트를 통한 Google API 액세스 정보를 참조하세요.

필요한 경우 피어링 사용 설정

Private Service Connect는 여러 Google 서비스에 대한 비공개 액세스를 제공하지만, 특히 다음 시나리오에서는 VPC 피어링을 사용 설정해야 할 수도 있습니다.

  • 기타 가상 프라이빗 클라우드 네트워크: Private Service Connect는 다른 고객 VPC 네트워크에 직접 연결되지 않고 Google 관리형 서비스에 연결됩니다. 데이터 소스, 커스텀 애플리케이션 또는 기타 서비스가 Dataproc 클러스터와 다른 VPC 네트워크에 있는 경우 일반적으로 이러한 네트워크 간에 비공개 통신을 사용 설정하려면 VPC 피어링이 필요합니다.

  • 온프레미스 네트워크: Dataproc 클러스터가 온프레미스 환경의 데이터 또는 서비스에 액세스하는 경우 온프레미스 네트워크에 대한 Cloud VPN 또는 Cloud Interconnect 연결이 필요하며, VPC 피어링과 결합되는 경우가 많습니다.

  • Google 서비스와의 포괄적인 내부 통신: Private Service Connect는 Cloud Storage 및 BigQuery와 같은 구성된 Google 서비스에 대한 비공개 액세스를 제공하지만, 내부 컨트롤 플레인 통신 또는 특정 Dataproc 기능은 기본 Google 인프라 또는 기타 Google API에 액세스하기 위해 광범위한 Google 서비스 접근성을 갖춘 네트워크에 대한 VPC 피어링이 필요할 수 있습니다.

  • 다른 VPC 네트워크의 데이터 소스에 대한 액세스: Dataproc 작업이 다른 VPC 네트워크에 있는 Cloud SQL, 자체 관리형 데이터베이스, 커스텀 애플리케이션과 같은 데이터 소스에서 읽거나 쓰는 경우 Dataproc 클러스터 VPC 네트워크와 이러한 데이터 소스가 포함된 VPC 네트워크 간에 VPC 피어링을 설정해야 합니다. Private Service Connect는 고객 소유 네트워크 간의 VPC 간 네트워크 통신을 제공하지 않습니다.

  • 하이브리드 연결: Dataproc 클러스터가 온프레미스 데이터 센터의 리소스와 상호작용해야 하는 하이브리드 클라우드 배포의 경우 Cloud VPN 또는 Cloud Interconnect를 사용하여 온프레미스 네트워크를 Google Cloud VPC 네트워크에 연결하려면 VPC 피어링이 필수입니다.

Private Service Connect 문제 해결

Private Service Connect(VPC 피어링 없음)가 있는 Dataproc 클러스터를 만들 수 없거나 연결 문제가 있는 경우 다음 단계에 따라 문제를 해결하세요.

  • 필수 API 액세스 권한을 확인합니다.

    • Google Cloud 프로젝트에서 필요한 모든 Google API가 사용 설정되어 있는지 확인합니다.
  • Private Service Connect 엔드포인트 구성을 확인합니다.

    • 클러스터에 필요한 모든 Google API(예: dataproc.googleapis.com, storage.googleapis.com, logging.googleapis.com, bigquery.googleapis.com, compute.googleapis.com)에 대해 Private Service Connect 엔드포인트가 올바르게 구성되어 있는지 확인합니다.

    • VPC 서브넷 내의 VM에서 dig 또는 nslookup와 같은 도구를 사용하여 필수 서비스의 DNS 레코드가 Private Service Connect 엔드포인트를 사용하여 VPC 네트워크 내의 비공개 IP 주소로 올바르게 해결되는지 확인합니다.

  • 방화벽 규칙을 확인합니다.

    • VPC 네트워크의 방화벽 규칙이 Dataproc 클러스터 인스턴스에서 Private Service Connect 엔드포인트로의 아웃바운드 연결을 허용하는지 확인합니다.

    • 공유 VPC를 사용하는 경우 호스트 프로젝트에 적절한 방화벽 규칙이 구성되어 있는지 확인합니다.

  • Dataproc 클러스터 로그를 검사합니다.

    • 로깅에서 클러스터 생성 로그를 검토하여 connection refused, timeout, unreachable host와 같은 네트워크 관련 오류가 있는지 확인합니다. 이러한 오류는 경로가 누락되었거나 방화벽 규칙이 잘못되었음을 나타낼 수 있습니다. 클러스터 인스턴스의 직렬 콘솔 로그를 검사합니다.
  • VPC 피어링의 필요성을 평가합니다.

    • 워크로드 종속 항목에 따라 Dataproc 클러스터에 별도의 VPC 네트워크에 있는 데이터베이스 및 온프레미스 서버와 같은 Google 관리형이 아닌 리소스에 대한 연결이 필요한 경우 VPC 피어링을 설정합니다.

    • Dataproc 클러스터가 상호작용하는Google Cloud 서비스의 네트워크 요구사항을 검사합니다. Private Service Connect와 함께 사용되는 경우에도 일부 서비스에는 특정 피어링 요구사항이 있을 수 있습니다.

권장사항 준수

  • 포괄적인 네트워크 아키텍처 계획: Private Service Connect를 사용하여 Dataproc을 배포하기 전에 모든 암시적 및 명시적 종속 항목과 데이터 흐름 경로를 고려하여 네트워크 아키텍처를 신중하게 설계합니다. 여기에는 프로비저닝 및 작업 중에 Dataproc 클러스터가 상호작용하는 모든 Google API를 식별하는 작업이 포함됩니다.

  • 연결 테스트: 개발 및 스테이징 단계에서 Dataproc 클러스터에서 필요한 모든 서비스 및 데이터 소스로의 네트워크 연결을 철저히 테스트합니다.

  • Network Intelligence Center 사용: 연결 테스트와 같은 Google Cloud Network Intelligence Center 도구를 사용하여 네트워크 연결 문제를 진단하고 해결합니다.

다음 단계