안녕하세요~ BTC Hallo 팀입니다. 오늘은 GCP 빅데이터 구성에 큰 비중을 차지하고 있는 Composer에 대해 살펴보겠습니다.
Cloud Composer는 클라우드 및 온프레미스 데이터 센터 전체의 워크플로를 생성, 예약, 모니터링, 관리할 수 있는 완전 관리형 워크플로 조정 서비스입니다.
Cloud Composer는 인기 있는 Apache Airflow 오픈소스 프로젝트를 기반으로 구축되어 Python 프로그래밍 언어로 작동합니다.
Apache Airflow의 로컬 인스턴스 대신 Cloud Composer를 사용하면 설치 또는 관리 오버헤드 없이 Airflow의 이점을 얻을 수 있습니다. Cloud Composer는 Airflow 환경을 신속하게 만들고 강력한 Airflow 웹 인터페이스 및 명령줄 도구와 같은 Airflow 전용 도구를 사용하여 인프라가 아닌 워크플로에 집중할 수 있도록 합니다.
관리의 편이성을 위해 만들어진 Airflow를 또다시 관리 오버헤드 없이 사용할 수 있는 꿈의 리소스 Composer에 대해 자세히 알아보겠습니다.
Cloud Composer 환경
워크플로를 실행하려면 먼저 환경을 만들어야 합니다. Airflow는 실행할 많은 마이크로서비스에 의존하므로 Cloud Composer는 워크플로를 실행할 Google Cloud 구성요소를 프로비저닝합니다. 이러한 구성요소를 통칭하여 Cloud Composer 환경이라고 합니다.
환경은 Google Kubernetes Engine에 기반을 둔 독립 실행형 Airflow 배포입니다. Airflow에 기본 제공되는 커넥터를 사용하여 다른 Google Cloud 서비스와 함께 작동합니다. 단일 Google Cloud 프로젝트에서 하나 이상의 환경을 만들 수 있습니다. 지원되는 리전에서 Cloud Composer 환경을 만들 수 있습니다.
Cloud Composer는 Airflow 1과 Airflow 2를 모두 지원 합니다. 단 Airflow 1을 사용중에 Airflow 2로 업그레이드 하는것은 불가능 하기 때문에 현 상황에서 운영중인 Airflow1을 2로 업그레이드 하기 위해서는 별도의 Migration작업을 거쳐서 진행하여야 합니다.
Composer를 사용하면서 기본 Airflow의 UI를 이용 가능합니다. 각 환경마다 고유한 Airflow UI가 존재하며 Composer환경의 Apache Airflow 웹 인터페이스에 액세스 할 수 있습니다.
Apache Airflow에는 DAG 트리거 및 관리, DAG 실행 및 태스크 정보 가져오기, 연결 및 사용자 추가와 삭제 등의 작업을 수행하는 데 사용할 수 있는 명령줄 인터페이스(CLI)가 있습니다. Airflow CLI를 이용하기 위해서는 gcloud 명령어를 사용합니다.
Composer는 관리형 서비스 이기 때문에 사용자가 자체적인 DB나 클러스터를 구성하여 사용하는것은 불가능 합니다. 예를 들어, Cloud Composer는 Airflow 메타데이터 DB에 대해 관리형 데이터베이스 서비스를 사용합니다. 사용자 제공 데이터베이스를 Airflow 메타데이터 DB로 사용하는 것은 불가능합니다.
또한, Cloud Composer는 Google Kubernetes Engine 서비스를 사용해서 Airflow 구성요소가 실행되는 환경 클러스터를 만들고, 관리, 삭제할 수 있습니다. 이러한 클러스터는 Cloud Composer에서 완전히 관리됩니다.
자체 관리형 Google Kubernetes Engine 클러스터를 기반으로 Cloud Composer 환경을 빌드할 수는 없습니다.
Cloud Composer 1 환경은 영역에 해당합니다.
Cloud Composer 2 환경은 영역별 Airflow 메타데이터 DB와 리전별 Airflow 예약 및 실행 레이어를 갖습니다. Airflow 스케줄러, 작업자, 웹 서버는 Airflow 실행 레이어에서 실행됩니다.
이상으로 Cloud Composer에 대해 알아보았습니다. Composer의 핵심인 Airflow에 대해서 소개하는 시간도 준비해 볼 수 있도록 하겠습니다.
'CSP (Cloud Service Provider) > GCP' 카테고리의 다른 글
[Google Cloud Platform] BigQuery (1) | 2022.09.30 |
---|---|
VPC Service Control (1) | 2022.09.26 |
[GCP] Ops Agent (1) | 2022.09.15 |
Resource Manager 활용하기 (0) | 2022.09.13 |
[GCP]GKE Pod에 GCE PV를 Attaching 하는 방법 (0) | 2022.09.07 |
댓글