이 페이지에서는 설계 및 실행 환경에서 공개 또는 비공개 Cloud Data Fusion 인스턴스의 데이터 소스에 연결하는 방법에 대한 배경 정보를 제공합니다.
시작하기 전에
Cloud Data Fusion의 네트워킹에는 다음 항목에 대한 기본 이해가 필요합니다.
테넌트 프로젝트
Cloud Data Fusion은 고객 프로젝트에 있는 Dataproc 클러스터에서 파이프라인을 실행할 때와 같이 파이프라인을 자동으로 관리하기 위해 필요한 리소스 및 서비스를 보관하는 테넌트 프로젝트를 만듭니다.
테넌트 프로젝트는 직접 노출되지 않지만 비공개 인스턴스를 만들 때 프로젝트 이름을 사용하여 VPC 피어링을 설정합니다. 테넌트 프로젝트의 각 비공개 인스턴스에는 자체 VPC 네트워크와 서브넷이 있습니다.
프로젝트에는 여러 Cloud Data Fusion 인스턴스가 있을 수 있습니다. Cloud Data Fusion UI 또는 Google Cloud CLI에서 인스턴스에 액세스할 때 여기에 저장된 리소스 및 서비스를 관리합니다.
자세한 내용은 테넌트 프로젝트에 대한 Service Infrastructure 문서를 참조하세요.
고객 프로젝트
고객이 이 프로젝트를 만들고 소유하고 있습니다. 기본적으로 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은 설계 환경과 실행 환경의 분리를 제공하므로 파이프라인을 한 번 설계한 다음 여러 환경에서 실행할 수 있습니다. 설계 환경은 테넌트 프로젝트에 있고, 실행 환경은 하나 이상의 고객 프로젝트에 있습니다.
예: 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/0 에 icmp 프로토콜 사용 설정 |
default-allow-internal | 최소 10.128.0.1 에서 최대 10.255.255.254 IP 주소를 커버하는 소스 10.128.0.0/9 에 tcp: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 네트워크 설정에서 이러한 요구사항을 충족합니다.
Cloud Data Fusion의 Private Service Connect
Cloud Data Fusion 인스턴스는 온프레미스, Google Cloud, 기타 클라우드 제공업체에 있는 리소스에 연결해야 합니다. Cloud Data Fusion과 내부 IP 주소를 사용하면 Google Cloud 프로젝트의 VPC 네트워크를 통해 외부 리소스에 대한 연결이 설정됩니다. 네트워크 트래픽은 공개 인터넷을 통해 전달되지 않습니다. VPC 네트워크 피어링을 사용하여 VPC에 대한 액세스 권한을 Cloud Data Fusion에 제공하는 경우 제한사항이 있으며 이 제한사항은 대규모 네트워크를 사용할 때 명백해 집니다.
Private Service Connect 인터페이스를 사용하면 Cloud Data Fusion은 VPC 네트워크 피어링을 사용하지 않고 VPC에 연결합니다. Private Service Connect 인터페이스는 Cloud Data Fusion에서 소비자 VPC 네트워크에 대한 비공개 보안 연결을 시작하는 방법을 제공하는 일종의 Private Service Connect 유형입니다. 이 인터페이스는 VPC 네트워크 피어링과 같은 유연성과 액세스 편의성뿐만 아니라 Private Service Connect에서 제공하는 명시적인 승인과 소비자 측 제어를 제공합니다. 자세한 내용은 Private Service Connect를 사용하여 비공개 인스턴스 만들기를 참조하세요.
설계 및 실행 환경의 데이터에 대한 액세스
공용 인스턴스에서는 개방형 인터넷을 통해 네트워크 통신이 수행되므로 중요한 환경에서는 권장되지 않습니다. 데이터 소스에 안전하게 액세스하려면 항상 실행 환경의 비공개 인스턴스에서 파이프라인을 실행합니다.
소스에 대한 액세스
데이터 소스, 공개 및 비공개 인스턴스에 액세스하는 경우:
- 비공개 Google 액세스를 사용하여 Google Cloud API로 전화 걸기
- VPC 피어링을 통해 실행 (Dataproc) 환경과 통신
다음 표에서는 다양한 데이터 소스의 설계 및 실행 중에 공개 인스턴스와 비공개 인스턴스를 비교합니다.
데이터 소스 | 공개 Cloud Data Fusion 인스턴스 (디자인-시간) |
공개 Cloud Data Fusion Dataproc (실행) |
비공개 Cloud Data Fusion 인스턴스 (디자인-시간) |
비공개 Cloud Data Fusion Dataproc (실행) |
---|---|---|---|---|
Google Cloud 소스 (권한을 부여 및 방화벽 규칙 설정 후) |
||||
온프레미스 소스 (VPN/상호 연결 설정, 권한 부여, 방화벽 규칙 설정 후) |
||||
공개 인터넷 소스 (권한 부여 및 방화벽 규칙 설정 후) |