Cloud Composer 기능

Cloud Composer 1 | Cloud Composer 2

이 페이지에서는 Cloud Composer의 기능을 간략히 설명합니다.

Cloud Composer는 워크플로를 생성, 예약, 모니터링, 관리하는 데 유용한 관리형 Apache Airflow 서비스입니다.

Airflow 환경

Cloud Composer 환경은 Apache Airflow를 둘러싼 래퍼입니다. Cloud Composer는 각 환경의 다음 구성요소를 만듭니다.

  • GKE 클러스터: Airflow 스케줄러, 작업자, Redis 큐는 단일 클러스터에서 GKE 워크로드로 실행되며 DAG 처리 및 실행을 담당합니다. 이 클러스터는 또한 Composer Agent 및 Airflow Monitoring과 같은 다른 Cloud Composer 구성요소를 호스팅하여 Cloud Composer 환경 관리를 돕고, Cloud Logging에 저장할 로그를 수집하고, Cloud Monitoring에 업로드할 측정항목을 수집합니다.
  • 웹 서버: 웹 서버는 Apache Airflow 웹 인터페이스를 실행하고 IAP(Identity-Aware Proxy)는 인터페이스를 보호합니다. 자세한 내용은 Airflow 웹 인터페이스를 참조하세요.
  • 데이터베이스: 데이터베이스에는 Apache Airflow 메타데이터가 저장됩니다.
  • Cloud Storage 버킷: Cloud Composer는 Cloud Storage 버킷과 환경을 연결합니다. 연결된 버킷은 환경의 DAG, 로그, 커스텀 플러그인, 데이터를 저장합니다. Cloud Composer의 스토리지 버킷에 대한 자세한 내용은 Cloud Storage에 저장된 데이터를 참조하세요.

Airflow 관리

Airflow 환경에 액세스하여 관리하려면 다음과 같은 Airflow 전용 도구를 사용하면 됩니다.

  • 웹 인터페이스: Google Cloud Console에서 또는 적절한 권한이 있으면 직접 URL을 통해 Airflow 웹 인터페이스에 액세스할 수 있습니다. 자세한 내용은 Airflow 웹 인터페이스를 참조하세요.
  • 명령줄 도구: Cloud SDK를 설치한 후 gcloud composer environments 명령어를 실행하여 Cloud Composer 환경에 Airflow 명령줄 명령어를 실행할 수 있습니다. 자세한 내용은 [Airflow 명령줄 인터페이스][cc-access-airflow-cli]를 참조하세요.

전용 도구 외에 Cloud Composer REST 및 RPC API를 통해서도 Airflow 환경에 프로그래매틱 방식으로 액세스할 수 있습니다. 자세한 내용은 API 및 참조를 확인하세요.

Airflow 구성

일반적으로 Cloud Composer가 Apache Airflow에 제공하는 구성은 로컬에서 호스팅되는 Airflow 배포의 구성과 동일합니다. 일부 Airflow 구성은 Cloud Composer에 사전 구성되어 있으며, 구성 속성은 변경할 수 없습니다. 다른 구성은 환경을 만들거나 업데이트할 때 지정합니다. 자세한 내용은 차단된 Airflow 구성을 참조하세요.

Airflow DAG(워크플로)

Apache Airflow DAG는 태스크와 추가 태스크 종속 항목의 모음인 워크플로입니다. Cloud Composer는 Cloud Storage를 사용하여 DAG를 저장합니다. Cloud Composer 환경에서 DAG를 추가하거나 삭제하려면 환경과 연결된 환경 버킷에서 DAG를 추가 또는 삭제합니다. DAG를 스토리지 버킷으로 이동하면 DAG가 개발자 환경에 자동으로 추가 및 예약됩니다.

DAG를 예약하는 것 외에도, 연결된 Cloud Storage 버킷에서 발생하는 변경사항과 같은 이벤트에 대한 응답으로 또는 수동으로 DAG를 트리거할 수 있습니다. 자세한 내용은 DAG 트리거를 참조하세요.

플러그인

커스텀, 사내 Apache Airflow 연산자, 후크, 센서 또는 인터페이스와 같은 커스텀 플러그인을 Cloud Composer 환경에 설치할 수 있습니다. 자세한 내용은 커스텀 플러그인 설치를 참조하세요.

Python 종속 항목

Python 패키지 색인에서 Python 종속 항목을 환경에 설치하거나 비공개 패키지 저장소에서 설치할 수 있습니다. 자세한 내용은 Python 종속 항목 설치를 참조하세요.

종속 항목이 패키지 색인에 없으면 플러그인 기능을 사용할 수도 있습니다.

액세스 제어

Google Cloud 프로젝트 수준에서 보안을 관리하고 개별 사용자가 환경을 수정하거나 만들지 못하게 하는 Identity and Access Management(IAM) 역할을 할당할 수 있습니다. 프로젝트에 액세스할 수 없거나 적절한 Cloud Composer IAM 역할이 할당되지 않은 사용자는 해당 환경에 액세스할 수 없습니다. 자세한 내용은 액세스 제어를 참조하세요.

로깅 및 모니터링

Airflow 웹 인터페이스에서 단일 DAG 태스크와 연결된 Airflow 로그와 환경의 Cloud Storage 버킷에 있는 logs 폴더를 볼 수 있습니다.

Cloud Composer에는 스트리밍 로그가 제공됩니다. 자세한 내용은 Cloud Composer 환경 모니터링을 참조하세요.

또한 Cloud Composer는 Google Cloud 프로젝트의 관리 활동 감사 로그와 같은 감사 로그를 제공합니다. 자세한 내용은 감사 로그 보기를 참조하세요.

네트워킹 및 보안

기본적으로 Cloud Composer는 Autopilot 모드 VPC 기반 Google Kubernetes Engine 클러스터를 배포합니다.

Cloud Composer는 보안 및 네트워킹 유연성을 높이기 위해 다음 기능도 지원합니다.

공유 VPC

공유 VPC는 중앙 호스트 프로젝트에서 공유 네트워크 리소스 관리를 통해 프로젝트 전체에 일관된 네트워크 정책을 적용하도록 합니다.

Cloud Composer가 공유 VPC에 참여하면 Cloud Composer 환경은 서비스 프로젝트에 위치하며 다른 Google Cloud 프로젝트에 호스팅된 서비스를 호출할 수 있습니다. 서비스 프로젝트 내 리소스가 내부 IP 주소를 사용하여 프로젝트 경계를 넘어 안전하게 통신합니다. 네트워크 및 호스트 프로젝트 요구사항은 공유 VPC 구성을 참조하세요.

VPC 기반 Cloud Composer 환경

VPC 기반에서 GKE 클러스터의 포드와 서비스 IP 주소는 VPC 네트워크 피어링을 통해 Google Cloud 네트워크 내에서 기본적으로 라우팅됩니다.

이 구성에서 Cloud Composer는 환경에 별칭 IP 주소를 사용하는 VPC 기반 GKE 클러스터를 배포합니다. VPC 기반 클러스터를 사용하면 GKE가 자동으로 보조 범위를 선택합니다. 특정 네트워킹 요구사항에 맞도록 Cloud Composer 환경 구성 중에 GKE pod 및 GKE 서비스의 보조 범위를 구성할 수도 있습니다.

비공개 IP Cloud Composer 환경

비공개 IP을 사용하면 Cloud Composer 워크플로가 공용 인터넷으로부터 완전히 격리됩니다.

이 구성에서 Cloud Composer는 고객 프로젝트에 별칭 IP 주소를 사용하는 VPC 기반 GKE 클러스터를 배포합니다. 환경의 GKE 클러스터는 비공개 클러스터로 구성되고 Cloud SQL 인스턴스는 비공개 IP로 구성됩니다.

또한 Cloud Composer는 고객 프로젝트의 VPC 네트워크와 테넌트 프로젝트의 VPC 네트워크 간에 피어링 연결을 만듭니다.

새로운 소식