Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3
이 페이지에서는 비공개 IP Cloud Composer 환경에 대한 정보를 제공합니다.
비공개 IP 환경의 경우 Cloud Composer가 환경의 관리형 Google Kubernetes Engine과 Cloud SQL VM에 비공개 IP(RFC 1918) 주소만 할당하므로 공개 인터넷에서 이러한 관리형 VM으로 들어오는 액세스가 없습니다. 옵션으로 비공개로 사용되는 공개 IP 주소와 IP 매스커레이드 에이전트를 사용하여 IP 주소 공간을 절약하고 RFC 1918 이외 주소를 사용할 수도 있습니다.
기본적으로 비공개 IP 환경에서 Cloud Composer 워크플로에는 아웃바운드 인터넷 액세스가 없습니다. Google Cloud API와 서비스에 대한 액세스는 Google의 비공개 네트워크를 통한 라우팅에 영향을 받지 않습니다.
VPC 기반 GKE 클러스터
환경을 만들면 Cloud Composer가 Google 관리 테넌트 프로젝트와 고객 프로젝트 간에 환경 리소스를 분산시킵니다.
비공개 IP 환경의 경우 Cloud Composer가 고객 프로젝트에 환경의 VPC 기반 GKE 클러스터를 만듭니다.
VPC 기반 클러스터는 VPC 네트워크에 기본 제공되는 별칭 IP 라우팅을 사용하여 VPC가 포트의 라우팅을 관리할 수 있게 해줍니다. VPC 기반 클러스터를 사용하면 GKE가 자동으로 보조 범위를 선택합니다. 특정 네트워킹 요구사항에 따라 환경을 만들 때 GKE 포드와 GKE 서비스의 보조 범위를 구성할 수도 있습니다.
비공개 IP Cloud Composer 환경
환경을 만들 때 비공개 IP 환경을 선택할 수 있습니다. 비공개 IP를 사용하면 환경의 GKE와 Cloud SQL VM은 할당된 공개 IP 주소 없이 Google의 내부 네트워크를 통해서만 통신합니다.
비공개 IP 환경을 만들 때 개발자 환경의 GKE 클러스터는 비공개 클러스터로 구성되고 Cloud SQL 인스턴스는 비공개 IP용으로 구성됩니다.
비공개 IP 환경에서 Private Service Connect를 사용하면 고객 프로젝트의 VPC 네트워크와 테넌트 프로젝트의 VPC 네트워크가 PSC 엔드포인트를 통해 연결됩니다.
비공개 IP 환경에서 VPC 피어링을 사용하면 Cloud Composer는 고객 프로젝트의 VPC 네트워크와 테넌트 프로젝트의 VPC 네트워크 간에 피어링 연결을 만듭니다.
개발자 환경에 비공개 IP가 사용 설정되면 환경의 GKE 클러스터와 Cloud SQL 데이터베이스 간의 IP 트래픽이 비공개 상태가 되므로 워크플로가 공개 인터넷과 격리됩니다.
이 추가 보안 계층은 이러한 리소스에 연결하는 방법과 환경에서 외부 리소스에 액세스하는 방식에 영향을 줍니다. 비공개 IP를 사용해도 공개 IP를 통해 Cloud Storage 또는 Airflow 웹 서버에 액세스하는 방식은 달라지지 않습니다.
GKE 클러스터
비공개 GKE 클러스터를 사용하면 클러스터의 제어 영역에 대한 액세스를 제어할 수 있습니다(클러스터 노드에는 공개 IP 주소가 없음).
비공개 IP Cloud Composer 환경을 만들 때 제어 영역에 대한 액세스가 공개 액세스인지 여부와 IP 범위를 지정합니다. 제어 영역 IP 범위는 VPC 네트워크의 서브네트워크와 겹치지 않아야 합니다.
옵션 | 설명 |
---|---|
공개 엔드포인트 액세스 중지 | 클러스터에 연결하려면 비공개 IP Cloud Composer 환경과 동일한 리전 및 동일한 VPC 네트워크에 있는 VM에서 연결해야 합니다.
연결 원본 VM 인스턴스에는 모든 Cloud API에 대한 전체 액세스 허용 액세스 범위가 필요합니다. 이 VM에서는 환경의 클러스터에서 kubectl 명령어를 실행할 수 있습니다. |
공개 엔드포인트 액세스 사용, 마스터 승인된 네트워크 사용 | 이 구성에서 클러스터 노드는 Google의 비공개 네트워크를 통해 제어 영역과 통신합니다. 노드는 환경 및 승인된 네트워크의 리소스에 액세스할 수 있습니다. GKE에서 승인된 네트워크를 추가할 수 있습니다. 승인된 네트워크에서는 환경의 클러스터에서 kubectl 명령어를 실행할 수 있습니다. |
Cloud SQL
Cloud SQL 인스턴스에는 공개 IP 주소가 없으므로 비공개 IP 환경 내 Cloud SQL 트래픽은 공개 인터넷에 노출되지 않습니다.
Cloud Composer는 비공개 서비스 액세스를 통해 들어오는 연결을 허용하도록 Cloud SQL을 구성합니다. 비공개 IP 주소를 사용하여 VPC 네트워크의 Cloud SQL 인스턴스에 액세스할 수 있습니다.
워크플로에 대한 공개 인터넷 액세스
권한이 없는 네트워크나 공개 인터넷의 리소스에 액세스해야 하는 연산자와 작업은 실패할 수 있습니다. 예를 들어 Dataflow Python 작업을 수행하려면 공개 인터넷 연결을 통해 pip에서 Apache Beam을 다운로드해야 합니다.
외부 IP 주소가 없는 VM 및 비공개 GKE 클러스터가 인터넷에 연결하려면 Cloud NAT가 필요합니다.
Cloud NAT를 사용하려면 비공개 IP Cloud Composer 환경이 속한 VPC 네트워크 및 리전에서 Cloud Router를 사용하여 NAT 구성을 만듭니다.