네트워킹

이 페이지에서는 설계 및 실행 환경에서 공개 또는 비공개 Cloud Data Fusion 인스턴스의 데이터 소스에 연결하는 방법에 대한 배경 정보를 제공합니다.

시작하기 전에

Cloud Data Fusion의 네트워킹에는 다음 항목에 대한 기본 이해가 필요합니다.

테넌트 프로젝트

Cloud Data Fusion은 고객 프로젝트에 있는 Dataproc 클러스터에서 파이프라인을 실행할 때와 같이 파이프라인을 자동으로 관리하기 위해 필요한 리소스 및 서비스를 보관하는 테넌트 프로젝트를 만듭니다. 테넌트 프로젝트는 고객에게 노출되지 않지만 비공개 인스턴스를 만들 때 프로젝트 이름을 사용하여 VPC 피어링을 설정합니다. 테넌트 프로젝트에는 다양한 Cloud Data Fusion 인스턴스가 있을 수 있습니다. Cloud Data Fusion UI 또는 Google Cloud CLI에서 인스턴스에 액세스할 때 여기에 저장된 리소스 및 서비스를 관리합니다. 자세한 내용은 테넌트 프로젝트에 대한 서비스 인프라 문서를 참조하세요.

고객 프로젝트

고객이 이 프로젝트를 만들고 소유하고 있습니다. 기본적으로 Cloud Data Fusion은 파이프라인을 실행하기 위해 이 프로젝트에 임시 Dataproc 클러스터를 만듭니다.

Cloud Data Fusion 인스턴스

Cloud Data Fusion 인스턴스는 파이프라인을 설계하고 실행하는 Cloud Data Fusion의 고유한 배포입니다. 단일 프로젝트에서 여러 인스턴스를 만들고 Cloud Data Fusion 인스턴스를 만들 Google Cloud 리전을 지정할 수 있습니다. 요구사항 및 비용 제약조건에 따라 Cloud Data Fusion의 Developer, Basic, Enterprise 에디션을 사용하는 인스턴스를 만들 수 있습니다. 각 인스턴스에는 고유하고 독립적인 Cloud Data Fusion 배포가 포함되어 있습니다. 이 배포에는 파이프라인 수명 주기 관리, 조정, 메타데이터 관리를 처리하는 일련의 서비스가 포함되어 있습니다. 이 서비스는 테넌트 프로젝트에서 장기 실행 리소스를 통해 실행됩니다.

네트워크 다이어그램

다음 다이어그램은 여러 온프레미스 및 클라우드 데이터 소스로부터 데이터를 추출, 변환, 혼합, 집계, 로드하는 데이터 파이프라인을 빌드할 때의 연결을 보여줍니다.

Cloud Data Fusion 버전 6.4 이상에서는 비공개 인스턴스에서 이그레스 제어공개 소스에 연결에 대한 다이어그램을 참조하세요.

6.4 이하 버전의 경우 다음 시스템 아키텍처 다이어그램에서 Cloud Data Fusion이 테넌트 프로젝트의 Preview 또는 Wrangler와 같은 서비스의 데이터 소스와 고객 프로젝트의 Dataproc을 연결하는 방법을 보여줍니다.

Cloud Data Fusion 네트워크 다이어그램

테넌트 프로젝트의 이점

Cloud Data Fusion의 테넌트 프로젝트에는 다음 이점이 있습니다.

  • 사용자 및 개발자만 Cloud Data Fusion의 UI 또는 gcloud CLI를 통해 테넌트 프로젝트에 제공된 관리형 서비스를 사용할 수 있습니다.
  • 사용자는 테넌트 프로젝트의 리소스를 보거나 관리할 수 없습니다. 따라서 비용 부과 또는 의도치 않은 서비스 변경으로 시스템이 중단될 위험을 방지합니다.
  • 테넌트 프로젝트의 각 관리형 서비스에는 자체 VPC 네트워크 및 서브넷이 있습니다.

파이프라인 설계 및 실행

Cloud Data Fusion은 설계 환경과 실행 환경의 분리를 제공하므로 파이프라인을 한 번 설계한 다음 여러 환경에서 실행할 수 있습니다. 설계 환경은 테넌트 프로젝트에 있고, 실행 환경은 하나 이상의 고객 프로젝트에 있습니다.

예: Wrangler 및 Preview와 같은 Cloud Data Fusion 서비스를 사용하여 파이프라인을 설계합니다. 이러한 서비스는 Google에서 관리하는 Cloud Data Fusion 서비스 에이전트 역할이 데이터 액세스를 제어하는 테넌트 프로젝트에서 실행됩니다. 그런 다음 고객 프로젝트에서 Dataproc 클러스터를 사용하도록 파이프라인을 실행합니다. 고객 프로젝트에서 기본 Compute Engine 서비스 계정은 데이터에 대한 액세스를 제어합니다. 커스텀 서비스 계정을 사용하도록 프로젝트를 구성할 수 있습니다.

서비스 계정 구성에 대한 자세한 내용은 Cloud Data Fusion 서비스 계정을 참조하세요.

설계 환경

고객 프로젝트에서 Cloud Data Fusion 인스턴스를 만들 때 Cloud Data Fusion은 파이프라인 및 메타데이터, Cloud Data Fusion UI, Preview 및 Wrangler와 같은 설계 시점 도구를 관리하는 데 필요한 서비스를 실행하기 위해 별도의 Google 관리 테넌트 프로젝트를 자동으로 만듭니다.

Cloud Data Fusion의 DNS 변환

Google Cloud로 전송 중인 데이터를 랭글링하고 미리보기할 때 설계 시점 환경에서 도메인 이름을 확인하려면 DNS 피어링을 사용합니다(Cloud Data Fusion 6.7.0부터 사용 가능). 소스 및 싱크에 도메인 또는 호스트 이름을 사용할 수 있으므로, IP 주소만큼 자주 재구성할 필요가 없습니다.

DNS 변환은 연결을 테스트하고 온프레미스 또는 기타 서비스(데이터베이스 또는 FTP 서버)의 도메인 이름을 비공개 VPC 네트워크에서 사용하는 파이프라인을 미리보기할 때 Cloud Data Fusion의 설계 시점 환경에서 권장됩니다.

자세한 내용은 DNS 피어링Cloud DNS 전달을 참조하세요.

실행 환경

인스턴스에서 파이프라인을 확인하고 배포한 후 파이프라인을 수동으로 실행하거나 시간 예약 또는 파이프라인 상태 트리거에서 실행됩니다.

실행 환경이 프로비저닝되고 관리되는 것이 Cloud Data Fusion에 의해서든지 고객에 의해서든지 관계없이 환경은 고객 프로젝트에 있습니다.

공개 인스턴스 (기본값)

Cloud Data Fusion 인스턴스를 프로비저닝하는 가장 쉬운 방법은 공개 인스턴스를 만드는 것입니다. 시작점 역할을 하고 공용 인터넷의 외부 엔드포인트에 대한 액세스를 제공합니다.

Cloud Data Fusion의 공개 인스턴스는 프로젝트의 기본 VPC 네트워크를 사용합니다.

기본 VPC 네트워크에는 다음이 포함됩니다.

  • 각 리전의 자동 생성된 서브넷
  • 라우팅 테이블
  • 컴퓨팅 리소스 간의 통신을 보장하는 방화벽 규칙

리전 간 네트워킹

새 프로젝트를 만들 때 기본 VPC 네트워크의 이점은 CIDR 블록으로 표시된 사전 정의된 IP 주소 범위를 사용하여 리전당 하나의 서브넷을 자동으로 채우는 것입니다. IP 주소 범위는 Google Cloud 전역 리전에서 10.128.0.0/20, 10.132.0.0/20로 시작합니다.

컴퓨팅 리소스가 여러 리전 간에 서로 연결되도록 하기 위해 기본 VPC 네트워크는 각 서브넷에 기본 로컬 경로를 설정합니다. 인터넷에 대한 기본 경로 (0.0.0.0/0)를 설정하면 인터넷에 액세스하고 라우팅되지 않은 모든 네트워크 트래픽을 캡처할 수 있습니다.

방화벽 규칙

기본 VPC 네트워크는 다음과 같은 방화벽 규칙 집합을 제공합니다.

기본값 설명
기본 허용 icmp 소스 0.0.0.0/0icmp 프로토콜 사용 설정
default-allow-internal 최소 10.128.0.1에서 최대 10.255.255.254 IP 주소를 커버하는 소스 10.128.0.0/9tcp:0-65535, udp:0-65535, icmp를 사용 설정
기본 허용 rdp 0.0.0.0/0 소스에 tcp:3389 사용 설정
기본 허용 ssh 0.0.0.0/0 소스에 tcp:22 사용 설정

이러한 기본 VPC 네트워크 설정은 Cloud Data Fusion을 포함한 클라우드 서비스 설정의 기본 요건을 최소화합니다. 네트워크 보안 문제로 인해 조직에서 비즈니스 운영에 기본 VPC 네트워크를 사용하는 것을 허용하지 않는 경우가 있습니다. 기본 VPC 네트워크가 없으면 Cloud Data Fusion 공개 인스턴스를 만들 수 없습니다. 대신 비공개 인스턴스를 만듭니다.

기본 VPC 네트워크에는 리소스에 대한 공개 액세스 권한이 부여되지 않습니다. 대신 Identity and Access Management(IAM)가 액세스를 제어합니다.

  • Google Cloud에 로그인하려면 확인된 ID가 필요합니다.
  • 로그인한 후 Google Cloud 서비스를 보려면 명시적인 권한 (예: 뷰어 역할)이 필요합니다.

비공개 인스턴스

일부 조직은 모든 프로덕션 시스템을 공개 IP 주소에서 격리해야 합니다. Cloud Data Fusion 비공개 인스턴스는 모든 종류의 VPC 네트워크 설정에서 이러한 요구사항을 충족합니다.

버전 6.4 이하의 비공개 인스턴스

6.4 이전 버전의 Cloud Data Fusion에서는 설계 및 실행 환경에 내부 IP 주소만 사용됩니다. Cloud Data Fusion Compute Engine에 연결된 공용 인터넷 IP 주소를 사용하지 않습니다. 설계 시점 도구로서 Cloud Data Fusion 비공개 인스턴스는 공개 인터넷의 데이터 소스에 액세스할 수 없습니다.

대신 공개 인스턴스에서 파이프라인을 설계합니다. 그런 후 실행을 위해 프로젝트의 VPC 정책을 제어하는 고객 프로젝트의 비공개 인스턴스로 이동합니다. 두 프로젝트 모두의 데이터에 연결해야 합니다.

설계 및 실행 환경의 데이터에 대한 액세스

공용 인스턴스에서는 개방형 인터넷을 통해 네트워크 통신이 수행되므로 중요한 환경에서는 권장되지 않습니다. 데이터 소스에 안전하게 액세스하려면 항상 실행 환경의 비공개 인스턴스에서 파이프라인을 실행합니다.

Cloud Data Fusion 버전 6.4에서는 파이프라인을 설계할 때 비공개 인스턴스에서 개방형 인터넷의 데이터 소스에 액세스할 수 없습니다. 대신 공개 인스턴스를 사용하여 테넌트 프로젝트에서 파이프라인을 설계하여 인터넷에서 데이터 소스에 연결합니다. 파이프라인을 빌드한 후에는 고객 프로젝트로 이동하고 비공개 인스턴스에서 실행하여 VPC 정책을 제어할 수 있습니다. 두 프로젝트 모두의 데이터에 연결해야 합니다.

소스에 대한 액세스

실행 환경이 6.4 이전의 Cloud Data Fusion 버전에서 실행되면 VPC 네트워크 내의 리소스에만 액세스할 수 있습니다. 온프레미스 데이터 소스에 액세스하도록 Cloud VPN 또는 Cloud Interconnect를 설정합니다. 6.4 이전의 Cloud Data Fusion 버전은 Cloud NAT 게이트웨이를 설정한 경우에만 공개 인터넷의 소스에 액세스할 수 있습니다.

데이터 소스, 공개 및 비공개 인스턴스에 액세스하는 경우:

  • 비공개 Google 액세스를 사용하여 Google Cloud API로 전화 걸기
  • VPC 피어링을 통해 실행 (Dataproc) 환경과 통신

다음 표에서는 다양한 데이터 소스의 설계 및 실행 중에 공개 인스턴스와 비공개 인스턴스를 비교합니다.

데이터 소스 공개 Cloud Data Fusion 인스턴스
(디자인-시간)
공개 Cloud Data Fusion Dataproc
(실행)
비공개 Cloud Data Fusion 인스턴스
(디자인-시간)
비공개 Cloud Data Fusion Dataproc
(실행)
Google Cloud 소스
(권한을 부여 및 방화벽 규칙 설정 후)
온프레미스 소스
(VPN/상호 연결 설정, 권한 부여, 방화벽 규칙 설정 후)
공개 인터넷 소스
(권한 부여 및 방화벽 규칙 설정 후)
버전 ≥ 6.4 버전 < 6.4

다음 단계