Cloud Composer 개요

Cloud Composer 1 | Cloud Composer 2

Cloud Composer는 클라우드 및 온프레미스 데이터 센터 전체의 워크플로 파이프라인을 생성, 예약, 모니터링, 관리할 수 있는 완전 관리형 워크플로 조정 서비스입니다.

Cloud Composer는 인기 있는 Apache Airflow 오픈소스 프로젝트를 기반으로 구축되어 Python 프로그래밍 언어로 작동합니다.

Apache Airflow의 로컬 인스턴스 대신 Cloud Composer를 사용하면 설치 또는 관리 오버헤드 없이 Airflow의 이점을 얻을 수 있습니다. Cloud Composer는 관리형 Airflow 환경을 신속하게 만들고 강력한 Airflow 웹 인터페이스 및 명령줄 도구와 같은 Airflow 전용 도구를 사용하여 인프라가 아닌 워크플로에 집중할 수 있도록 합니다.

Apache Airflow 및 Cloud Composer

워크플로, DAG, 태스크

데이터 분석에서 워크플로는 데이터 수집, 변환, 분석, 활용을 위한 일련의 태스크를 나타냅니다. Airflow에서 워크플로는 DAG(또는 Directed Acyclic Graph)를 사용하여 생성됩니다.

DAG와 태스크의 관계
그림 1. DAG와 태스크의 관계

DAG는 관계 및 종속 항목을 반영하는 방식으로 구성된 예약하고 실행하려는 태스크의 모음입니다. DAG는 코드를 사용하여 DAG 구조(태스크 및 종속 항목)를 정의하는 Python 스크립트에서 생성됩니다.

DAG의 각 태스크는 거의 모든 것을 나타낼 수 있습니다. 예를 들어 한 태스크는 다음 기능을 수행할 수 있습니다.

  • 수집을 위한 데이터 준비
  • API 모니터링
  • 이메일 보내기
  • 파이프라인 실행

DAG는 각 구성 태스크의 기능과 관련되지 않습니다. 이러한 이유는 각 태스크가 적절한 시점에, 올바른 순서로 실행되거나 올바른 문제 처리를 통해 실행되도록 하기 위함입니다.

Airflow 워크플로, DAG, 태스크

DAG 및 태스크에 대한 자세한 내용은 Apache Airflow 문서를 참조하세요.

Cloud Composer 환경

워크플로를 실행하려면 먼저 환경을 만들어야 합니다. Airflow는 실행할 많은 마이크로서비스에 의존하므로 Cloud Composer는 워크플로를 실행할 Google Cloud 구성요소를 프로비저닝합니다. 이러한 구성요소를 통칭하여 Cloud Composer 환경이라고 합니다.

환경은 Google Kubernetes Engine에 기반을 둔 독립 실행형 Airflow 배포입니다. Airflow에 기본 제공되는 커넥터를 사용하여 다른 Google Cloud 서비스와 함께 작동합니다. 단일 Google Cloud 프로젝트에서 하나 이상의 환경을 만들 수 있습니다. 지원되는 리전에서 Cloud Composer 환경을 만들 수 있습니다.

환경의 구성요소에 대한 자세한 내용은 Cloud Composer 환경 아키텍처를 참조하세요.

Cloud Composer 기능

Cloud Composer를 사용할 경우 다음과 같은 기능을 관리하고 사용할 수 있습니다.

  • Airflow 환경
  • Airflow 관리
  • Airflow 구성
  • Airflow DAG(워크플로)
  • 커스텀 Apache 플러그인

Cloud Composer가 Airflow DAG, Airflow 구성 매개변수, 커스텀 플러그인, Python 종속 항목과 같은 Airflow 기능과 작동하는 방식을 알아보려면 Cloud Composer 기능을 참조하세요.

자주 묻는 질문(FAQ)

Cloud Composer가 사용하는 Apache Airflow 버전은 무엇인가요?

Cloud Composer는 Airflow 1과 Airflow 2를 모두 지원합니다.

Cloud Composer 환경은 Cloud Composer 이미지를 기반으로 합니다. 환경을 만들 때 특정 Airflow 버전이 포함된 이미지를 선택할 수 있습니다.

환경의 Apache Airflow 버전을 제어할 수 있습니다. Cloud Composer 이미지의 최신 버전으로 환경을 업그레이드하도록 지정할 수 있습니다. 각 Cloud Composer 출시 버전은 여러 Apache Airflow 버전을 지원합니다.

기본 Airflow UI와 CLI를 사용할 수 있나요?

환경의 Apache Airflow 웹 인터페이스에 액세스할 수 있습니다. 환경마다 고유한 Airflow UI가 있습니다. Airflow UI에 액세스하는 방법에 대한 자세한 내용은 Airflow 웹 인터페이스를 참조하세요.

환경에서 Airflow CLI 명령어를 실행하려면 gcloud 명령어를 사용합니다. Cloud Composer 환경에서 Airflow CLI 명령어를 실행하는 방법에 대한 자세한 내용은 Airflow 명령줄 인터페이스를 참조하세요.

자체 데이터베이스를 Airflow 메타데이터 DB로 사용할 수 있나요?

Cloud Composer는 Airflow 메타데이터 DB에 대해 관리형 데이터베이스 서비스를 사용합니다. 사용자 제공 데이터베이스를 Airflow 메타데이터 DB로 사용하는 것은 불가능합니다.

자체 클러스터를 Cloud Composer 클러스터로 사용할 수 있나요?

Cloud Composer는 Google Kubernetes Engine 서비스를 사용해서 Airflow 구성요소가 실행되는 환경 클러스터를 만들고, 관리, 삭제할 수 있습니다. 이러한 클러스터는 Cloud Composer에서 완전히 관리됩니다.

자체 관리형 Google Kubernetes Engine 클러스터를 기반으로 Cloud Composer 환경을 빌드할 수는 없습니다.

자체 Container Registry를 사용할 수 있나요?

Cloud Composer는 Artifact Registry 서비스를 사용하여 Cloud Composer 환경에서 사용되는 컨테이너 이미지 저장소를 관리합니다. 이를 사용자가 제공한 Container Registry로 바꿀 수는 없습니다.

Cloud Composer 환경이 영역 또는 리전에 해당하나요?

Cloud Composer 1 환경은 영역에 해당합니다.

Cloud Composer 2 환경은 영역별 Airflow 메타데이터 DB와 리전별 Airflow 예약 및 실행 레이어를 갖습니다. Airflow 스케줄러, 작업자, 웹 서버는 Airflow 실행 레이어에서 실행됩니다.

다음 단계