네트워킹

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

시작하기 전에

이 페이지는 사용자가 다음 용어에 익숙하다고 가정합니다.

테넌트 프로젝트

Cloud Data Fusion은 사용자를 대신하여 파이프라인을 관리하는 데 필요한 리소스와 서비스를 보관할 테넌트 프로젝트를 만듭니다. 예를 들어 고객 프로젝트에 있는 Dataproc 클러스터에서 파이프라인을 실행합니다. 테넌트 프로젝트는 고객에게 노출되지 않지만 비공개 인스턴스를 만들 때 테넌트 프로젝트 이름을 사용하여 VPC 피어링을 설정해야 할 수 있습니다.

테넌트 프로젝트에는 다양한 Cloud Data Fusion 인스턴스가 있을 수 있습니다. Cloud Data Fusion 웹 UI 또는 gcloud 명령줄 도구에서 Cloud Data Fusion 인스턴스를 통해 테넌트 프로젝트가 보유한 리소스 및 서비스에 액세스할 수 있습니다.

자세한 내용은 테넌트 프로젝트에 대한 서비스 인프라 문서를 참조하세요.

고객 프로젝트

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

Cloud Data Fusion 인스턴스

Cloud Data Fusion 인스턴스는 Cloud Data Fusion의 고유한 배포입니다. Cloud Data Fusion을 시작하려면 Google Cloud Console을 사용하여 Cloud Data Fusion 인스턴스를 만듭니다.

단일 Google Cloud 프로젝트에서 여러 인스턴스를 만들고 Cloud Data Fusion 인스턴스를 만들 Google Cloud 리전을 지정할 수 있습니다.

요구사항 및 비용 제약조건에 따라 개발자, 기본 또는 엔터프라이즈 인스턴스를 만들 수 있습니다.

각 Cloud Data Fusion 인스턴스에는 고유하고 독립적인 Cloud Data Fusion 배포가 포함되어 있습니다. 이 배포에는 파이프라인 수명 주기 관리, 조정, 메타데이터 관리를 처리하는 일련의 서비스가 포함되어 있습니다. 이 서비스는 테넌트 프로젝트에서 장기 실행 리소스를 통해 실행됩니다.

네트워크 다이어그램

다양한 온프레미스 및 클라우드 데이터 소스에서 데이터를 추출, 변환, 혼합, 집계, 로드하는 데이터 파이프라인을 빌드할 수 있습니다.

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

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

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

테넌트 프로젝트 사용의 이점

Cloud Data Fusion에서 테넌트 프로젝트를 사용하면 다음과 같은 이점이 있습니다.

  • 사용자와 개발자는 Cloud Data Fusion 웹 UI 또는 gcloud 도구에서 제공하는 테넌트 프로젝트의 관리형 서비스만 사용할 수 있습니다.
  • 사용자는 테넌트 프로젝트의 리소스를 보거나 관리할 수 없으므로 요금이 청구되지 않으며 서비스가 의도치 않게 변경되어 시스템이 중단될 수 있습니다.
  • 테넌트 프로젝트의 각 관리형 서비스에는 자체 VPC 네트워크 및 서브넷이 있습니다.

설계 및 실행 환경

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

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

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

설계 환경

고객 프로젝트에 Cloud Data Fusion 인스턴스를 만들면 Cloud Data Fusion은 각 고객 프로젝트에 대해 별도의 Google 관리 테넌트 프로젝트를 자동으로 만듭니다. 테넌트 프로젝트에서 파이프라인 및 메타데이터의 수명 주기, Cloud Data Fusion UI, 설계 시간 도구(예: 미리보기 및 랭글러)를 관리하는 데 필요한 서비스를 실행합니다.

실행 환경

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

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

Cloud Data Fusion 인스턴스

액세스 모델에 따른 두 가지 유형의 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 공개 인스턴스를 만들 수 없습니다. 대신 Cloud Data Fusion 비공개 인스턴스 만들기 단계를 따릅니다.

기본 VPC 네트워크에는 리소스에 대한 공개 액세스 권한이 부여되지 않습니다. 대신 ID 및 액세스 관리 (IAM) 서비스가 리소스에 액세스할 수 있는 사용자를 제어합니다.

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

비공개 인스턴스

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

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

비공개 인스턴스에서 공개 인터넷의 데이터 소스에 연결하려면 파이프라인을 공개 인스턴스에서 설계하고, 실행 시 고객 프로젝트의 비공개 인스턴스로 옮겨서 프로젝트의 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

다음 단계