이 페이지에서는 Cloud Composer 버전 관리를 설명하고 Cloud Composer의 주요 버전 간의 차이점을 나열합니다.
Cloud Composer의 메이저 버전
Cloud Composer에는 다음과 같은 메이저 버전이 있습니다.
- Cloud Composer 1. 수동 환경 확장 기능이 있으며 인프라가 프로젝트 및 네트워크에 배포됩니다.
- Cloud Composer 2. 이 버전에서는 환경의 클러스터가 리소스 요구사항에 맞게 자동으로 확장됩니다.
- Cloud Composer 3. 이 버전은 간소화된 네트워크 설정을 제공하며, 환경 클러스터 및 다른 서비스에 대한 환경 종속 항목을 포함한 인프라 구성요소를 숨깁니다.
Cloud Composer 버전 비교
다음 표에는 Cloud Composer 1, Cloud Composer 2, Cloud Composer 3의 주요 차이점이 나와 있습니다.
| 기능 | Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3 |
|---|---|---|---|
| 이미지 버전 | composer-1.b.c-airflow-x.y.z |
composer-2.b.c-airflow-x.y.z |
composer-3-airflow-x.y.z-build.t |
| Airflow 버전 | Airflow 1.10.* 및 Airflow 2 | Airflow 2 | Airflow 2, Airflow 3 (미리보기) |
| Python 버전 | 3.8.12 | 3.11.8 (이전 버전에서는 3.11.5 및 3.8.12) | 3.11.8 |
| 환경 클러스터 | 표준 모드 VPC 기반 또는 경로 기반 Google Kubernetes Engine 클러스터 | Autopilot 모드 VPC 기반 Google Kubernetes Engine 클러스터 | 환경의 클러스터가 프로젝트에 배포되지 않았습니다. |
| 수평 확장 | 환경 클러스터의 노드 수를 조정할 수 있습니다. 이렇게 하면 Airflow 작업자 수가 변경됩니다. Airflow 스케줄러 수를 조정할 수 있습니다. |
수요에 따라 Airflow 작업자 수를 자동으로 확장합니다. 작업자 수의 상한과 하한을 설정하고 변경할 수 있습니다. Airflow 스케줄러 및 트리거 수를 조정할 수 있습니다. |
수요에 따라 Airflow 작업자 수를 자동으로 확장합니다. 작업자 수의 상한과 하한을 설정하고 변경할 수 있습니다. Airflow 스케줄러, 트리거, DAG 프로세서 수를 조정할 수 있습니다. |
| 수직 확장 | 환경을 만들 때 클러스터 노드, Airflow 웹 서버, 데이터베이스의 머신 유형을 설정할 수 있습니다. Airflow 웹 서버와 데이터베이스의 머신 유형을 변경할 수 있습니다. | 워크로드 구성(Airflow 작업자의 CPU, 메모리, 스토리지 매개변수, 스케줄러, 웹 서버, 환경 크기)을 설정하고 변경할 수 있습니다. | 워크로드 구성(Airflow 작업자의 CPU, 메모리, 스토리지 매개변수, 스케줄러, 웹 서버, DAG 프로세서, 환경 크기)을 설정하고 변경할 수 있습니다. |
| 가격 책정 모델 | Cloud Composer 1 가격 책정 모델 | Cloud Composer 2 가격 책정 모델 | Cloud Composer 3 가격 책정 모델 |
| 액세스 제어 | Cloud Composer 1 역할 | Cloud Composer 역할. GKE용 워크로드 아이덴티티 제휴를 사용하고 Cloud Composer 서비스 에이전트 계정에 대한 추가 권한이 필요합니다. | Cloud Composer 역할. GKE용 워크로드 아이덴티티 제휴를 사용합니다. 추가 권한이 필요하지 않습니다. |
| 직원 ID 제휴를 통한 액세스 | 지원되지 않음 | 지원됨 | 지원됨 |
| 복원력이 우수한 환경 | 지원되지 않음 | 지원됨 | 지원됨 |
| 데이터베이스 보관 정책 | 지원되지 않음 | 아직 사용할 수 없음 | 지원됨 |
| 비공개 IP 네트워킹 | VPC 피어링 | Private Service Connect | 간소화된 네트워크 설정. 기존 환경에서 공개 및 비공개 IP 간에 변경할 수 있습니다. |
| VPC 서비스 제어 | 지원됨 | 지원됨 | 지원됨 |
| Airflow Executor | Celery Executor | Celery Executor | CeleryKubernetes Executor |
| Airflow 트리거(지연 가능한 연산자) | 지원되지 않음 | 지원됨 | 지원됨 |
| KubernetesPodOperator의 맞춤 서비스 계정 | 지원됨 | 지원됨 | 지원되지 않음 |
| CMEK | 지원됨 | 지원됨 | 지원됨 |
| 웹 서버 액세스 제어 | 지원됨 | 지원됨 | 지원됨 |
| 웹 서버 다시 시작 | 지원됨 | 지원됨 | 지원됨 |
| 웹 서버 플러그인 | DAG 직렬화가 사용 중지된 Airflow 1 환경에서 지원됩니다. | 지원됨 | 지원됨, 플러그인은 필요에 따라 사용 중지하거나 사용 설정할 수 있습니다. |
| 스케줄러 플러그인 | 지원되지 않음 | 지원됨 | 지원되지 않음 |
| 리스너 | 지원되지 않음 | 지원됨 | 작업 수준 리스너만 |
| TimeTables | 기본 제공만 | 맞춤 및 기본 제공 | 기본 제공만 |
| 스케줄러 맞춤 PyPI 패키지 | 지원되지 않음 | 지원됨 | 지원되지 않음 |
| 커스텀 플러그인 설치 | 지원됨 | 지원됨 | 지원됨 |
| 유지보수 작업 | 모든 태스크가 영향을 받을 수 있습니다. | 실행 시간이 55분 미만인 태스크는 영향을 받지 않습니다. | 실행 시간이 24시간 미만인 태스크는 영향을 받지 않습니다. |
| 스냅샷 저장 | Airflow 2.x 및 1.10.15 버전에 지원됨 | 지원됨 | 지원됨 |
| 스냅샷 로드 | 지원되지 않음 | 지원됨 | 지원됨 |
| 예약된 스냅샷 | 지원되지 않음 | 지원됨 | 지원됨 |
| 커스텀 환경의 버킷 | 지원되지 않음 | 지원됨 | 지원됨 |
| Cloud Logging에만 Airflow 작업 로그 저장 | 지원되지 않음 | 지원됨 | 지원됨 |
| 데이터 계보 통합 | 지원되지 않음 | 지원됨 | 지원됨 |
| Composer 로컬 개발 CLI 도구 | 지원되지 않음 | 지원됨 | 지원됨 |
Airflow 버전 비교
Cloud Composer 3은 Airflow 2 및 Airflow 3 환경을 제공합니다. Airflow 3가 미리보기인 동안 일부 Airflow 및 Cloud Composer 기능을 사용하지 못할 수 있습니다.
Cloud Composer 3 기능 지원
다음 표에는 Airflow 3 미리보기에서 아직 지원되지 않는 Cloud Composer 3 기능이 요약되어 있습니다. 나열되지 않은 Cloud Composer 3의 다른 모든 기능은 Airflow 3 미리보기에서 지원되며 Airflow 2가 있는 환경과 유사하게 작동합니다.
| 기능 | 상태 | 설명 |
|---|---|---|
| 환경 스냅샷 | Airflow 3 미리보기에서 지원되지 않음 | Airflow 3 환경의 스냅샷을 저장하거나 로드합니다. |
| Airflow 3 (스냅샷)으로 업그레이드 | Airflow 3 미리보기에서 지원되지 않음 | 스냅샷을 사용하여 Airflow 2에서 Airflow 3으로 기존 Cloud Composer 3 환경을 나란히 마이그레이션합니다. |
| Airflow 3으로 업그레이드 (인플레이스) | Airflow 3 미리보기에서 지원되지 않음 | 업그레이드 중에 Airflow 3이 포함된 버전을 지정하여 Airflow 2에서 Airflow 3으로 기존 Cloud Composer 3 환경을 인플레이스 업그레이드합니다. |
| 직원 ID 제휴 지원 | Airflow 3 미리보기에서 지원되지 않음 | Airflow 3이 있는 환경에서 외부 ID 공급업체 사용 |
| 폴더별 역할 등록 | Airflow 3 미리보기에서 지원되지 않음 | Airflow 3에서 이 기능을 사용하여 DAG 수준 권한을 자동으로 구성합니다. |
Airflow 3 미리보기의 알려진 문제
Airflow 3 미리보기에서 다음과 같은 알려진 문제가 확인되었습니다.
- Airflow 워크로드 로그의 경고 메시지 이러한 메시지는 무시해도 됩니다.
airflowctl유틸리티는 Cloud Composer의 Airflow 작업자나 Docker 컨테이너와 같은 헤드리스 환경에서 쉽게 사용할 수 없습니다. 이는 유틸리티의 제한사항입니다. 이 제한사항에 대한 자세한 내용은 GitHub의 Airflow 저장소에서 문제 58230을 참고하세요.
Airflow 3 기능 지원
다음 표에는 Airflow 3 기능과 Airflow 3 미리보기에서의 지원이 나열되어 있습니다.
| 기능 | 상태 |
|---|---|
| Airflow 3.0 UI | 지원됨 |
| DAG 버전 관리 | 지원됨 |
| 백필 (Airflow UI에서) | 지원됨 |
| 이벤트 기반 일정 | 지원됨 |
| 애셋 | 지원됨 |
| 추론 실행 및 초매개변수 조정 | 지원됨 |
| airflowctl 명령줄 도구 | 지원됨 |
| DAG 번들 (LocalDagBundle 제외) | Airflow 3 미리보기에서 지원되지 않음 |
| Edge Executor 및 기타 프로그래밍 언어의 작업 | Airflow 3 미리보기에서 지원되지 않음 |
Cloud Composer 이미지
Apache Airflow를 실행하기 위해 Cloud Composer는 Airflow 출시 버전과 다른 일반 바이너리 및 Python 라이브러리를 묶어 놓은 Docker 이미지를 빌드합니다.
Cloud Composer 이미지는 Cloud Composer와 관련된 Airflow 수정사항을 포함하며 업스트림 Airflow 코드베이스에는 부적합합니다. 각 Cloud Composer 이미지에는 사전 설치된 패키지와 Cloud Composer 관련 Airflow 변경사항이 포함되어 있습니다.
Google은 주기적으로 새로운 Cloud Composer 이미지를 출시합니다.
Cloud Composer 3의 이미지에는 지원되는 Airflow 버전의 새 빌드가 포함됩니다. 사용할 Airflow 버전과 빌드를 선택할 수 있습니다. 환경에 Cloud Composer 개선사항이 자동으로 적용됩니다.
Cloud Composer 2 및 Cloud Composer 1의 이미지에는 Cloud Composer 개선사항 및 지원되는 Airflow 버전의 새 빌드가 포함됩니다. Cloud Composer 개선사항을 적용하려면 환경을 Cloud Composer의 최신 버전으로 업그레이드합니다.
버전 지원 중단 및 지원
Composer 3
Google은 출시 후 일정 기간 동안 Airflow 빌드를 지원합니다.
출시일로부터 0~12개월: 이 Airflow 빌드를 실행하는 Cloud Composer 3 환경이 지원됩니다.
출시일로부터 12개월 이상: 이러한 버전을 실행하는 Cloud Composer 3 환경이 지원되지 않습니다.
Airflow 빌드가 더 이상 지원되지 않으면 이 Airflow 빌드를 실행하는 환경도 지원되지 않으며 전적으로 사용자가 관리해야 합니다.
환경은 다음과 같은 방식으로 지원되는 Airflow 빌드 및 지원되지 않는 Airflow 빌드와 함께 작동합니다.
지원되는 모든 Airflow 빌드로 환경을 만들 수 있습니다.
더 이상 지원되지 않는 Airflow 빌드가 있는 환경을 계속 사용할 수 있습니다. 환경은 계속 작동하며, 계속 사용할 수 있고 지원되는 Airflow 빌드로 업그레이드할 수 있습니다.
경우에 따라 이후 Airflow 버전 또는 빌드로 업그레이드하는 것이 보안 취약점에 사용할 수 있는 유일한 솔루션입니다.
Composer 2
Google은 버전 출시 후 일정 기간 동안 Cloud Composer 2 버전을 지원합니다.
출시일로부터 0~12개월: 이러한 버전을 실행하는 Cloud Composer 2 환경이 지원됩니다.
출시일로부터 12개월 이상: 이러한 버전을 실행하는 Cloud Composer 2 환경이 지원되지 않습니다.
더 이상 지원되지 않는 날짜 이후에도 Cloud Composer 버전을 계속 사용할 수 있습니다. 예를 들어 지원 기간이 지난 Cloud Composer 버전을 기반으로 하는 환경도 계속 작동하며 이를 계속 사용할 수 있습니다. 이 경우 해당 환경을 지원되는 버전으로 업그레이드하는 것이 좋습니다.
Composer 1
새로운 Cloud Composer 1 버전은 2023년 3월 말에 출시되었습니다. 출시된 모든 Cloud Composer 1 버전은 Cloud Composer 2와 동일한 버전 지원 중단 정책을 따르며 이에 따라 지원됩니다.
버전 스키마
이 섹션에서는 Airflow 및 Cloud Composer 버전 스키마와 버전 별칭을 설명합니다.
Airflow 버전 스키마
Airflow는 의미론적인 소프트웨어 버전 관리 스키마를 따릅니다. Airflow 버전마다 주, 부, 패치 버전이 있습니다.
Composer 3
Cloud Composer 3에서는 시간이 지남에 따라 새로운 Airflow 버전과 빌드를 사용할 수 있게 됩니다.
환경은 이전의 모든 Airflow 버전 및 빌드로 작동할 수 있으며 인프라 구성요소의 업데이트를 자동으로 수신합니다. 각 버전과 빌드는 버전 지원 중단 및 지원에 설명된 대로 지원되며, Airflow 버전을 최신 버전 또는 빌드로 업그레이드할 수 있습니다.
Composer 2
각 Cloud Composer 버전에서 지원되는 Airflow 버전 목록은 Cloud Composer 버전 목록을 참조하세요.
Cloud Composer 2는 출시 버전마다 Airflow 2의 두 가지 부 버전을 지원합니다.
예를 들어 Cloud Composer 2.4.0은 Airflow 2.4.* 및 Airflow 2.5.*를 지원합니다.
Cloud Composer는 Airflow 2의 각 부 버전에 대해 하나의 패치 버전을 지원합니다.
예를 들어 Airflow 2.4.*의 경우 Cloud Composer는 Airflow 2.4.3를 지원합니다.
Cloud Composer에서 Airflow 2의 새 패치 버전이 제공되면 해당 출시 버전에는 Airflow의 동일한 부 버전에 사용할 수 있는 Airflow 2의 패치 버전 두 가지가 포함됩니다. 이후에 이전 패치 버전이 다음 출시 버전 중 하나에서 삭제됩니다.
예를 들어 Cloud Composer 2.3.4는 Airflow 2.5.1 및 Airflow 2.5.3를 둘 다 지원합니다.
Cloud Composer는 Cloud Composer 출시 버전 간에 일부 Airflow 패치 버전을 건너뛸 수 있습니다. 또한 Airflow의 특정 패치 버전에 함수, 품질 또는 성능 문제가 있으면 Cloud Composer에서도 이 버전을 건너뛸 수 있습니다.
예를 들어 Airflow 2.1.3은 건너뛰고 Airflow 2.1.4가 제공됩니다.
안정적인 Airflow 버전을 실행하는 Cloud Composer 출시 버전에는 이후 Airflow 버전에서 백포트된 Airflow 업데이트가 포함될 수 있습니다.
Composer 1
Cloud Composer 1에서 지원되는 최신 버전의 Airflow는 Airflow 2.4.3입니다.
Cloud Composer 1만 Airflow 1의 최신 출시 버전인 Airflow 1.10.15를 지원합니다.
Cloud Composer 버전 스키마
Composer 3
Cloud Composer 3 버전 관리 스키마는 Airflow 버전과 빌드를 캡처합니다.
composer-3-airflow-x.y.z-build.t
각 항목의 의미는 다음과 같습니다.
composer-3은 Cloud Composer의 메이저 버전입니다.airflow-x.y.z.build.t는 Airflow 버전 및 빌드입니다. Cloud Composer 3에서 동일한 Airflow 버전이 출시될 때마다 빌드 번호가 더 높습니다. 빌드 번호는 Airflow 오픈소스 프로젝트가 아닌 Cloud Composer에 의해 정의됩니다.
Composer 2
Cloud Composer 2 이미지 버전 관리 스키마는 Cloud Composer 및 Airflow 버전을 캡처합니다.
composer-2.b.c-airflow-x.y.z
각 항목의 의미는 다음과 같습니다.
composer-2.b.c는 Cloud Composer 2에서 Cloud Composer 관리형 맞춤설정의 부 버전 및 패치 버전을 나타냅니다. 일반적으로 Cloud Composer의 마이너 버전은 사용 가능한 Airflow 버전이 변경되는 경우와 같이 이전 마이너 버전과 비교하여 기능이 크게 변경되는 경우에 해당합니다. 패치 버전은 후속 출시에서 업데이트됩니다.airflow-x.y.z은 Airflow 출시이며, 특정 Cloud Composer 이미지에서 사용되는 Airflow의 주 버전, 부 버전, 패치 버전을 나타냅니다.
Composer 1
Cloud Composer 1 이미지 버전 관리 스키마는 Cloud Composer 및 Airflow 버전을 캡처합니다.
composer-1.b.c-airflow-x.y.z
각 항목의 의미는 다음과 같습니다.
composer-1.b.c는 Cloud Composer 관리형 맞춤설정 버전입니다.airflow-x.y.z는 Airflow 출시 버전입니다.
버전 별칭
버전 별칭은 다음과 같은 방식으로 작동합니다.
Cloud Composer는 환경을 만들 때 버전 별칭을 전체 형식으로 확인합니다.
- Cloud Composer 3에서 모든 버전 별칭은
composer-3-airflow-x.y.z-build.t가 됩니다. - Cloud Composer 2 및 Cloud Composer 1에서 모든 버전 별칭은
composer-a.b.c-airflow-x.y.z가 됩니다.
- Cloud Composer 3에서 모든 버전 별칭은
Cloud Composer 3에서
composer-3-airflow-x.y와 같은 버전 별칭을 사용하면 환경의 Airflow 버전과 빌드가 자동으로 업그레이드되지 않습니다. 환경은 업그레이드할 때까지 동일한 Airflow 빌드 및 버전을 유지합니다. 환경은 평소와 같이 자동 인프라 업그레이드를 계속 받습니다.Cloud Composer 2 및 Cloud Composer 1에서
composer-a-airflow-x.y.z와 같은 버전 별칭을 사용하면 환경에 대한 자동 업그레이드가 제공되지 않습니다. 환경은 업그레이드할 때까지 동일한 Cloud Composer 및 Airflow 버전을 유지합니다.
Cloud Composer 3 버전 별칭
Cloud Composer 3에서는 다음과 같은 버전 별칭을 지원합니다.
| 별칭 | Airflow 버전 |
|---|---|
composer-3-airflow-2 |
Airflow 2의 최신 버전 및 빌드 |
composer-3-airflow-x.y |
x.y 메이저 버전과 마이너 버전 내 Airflow의 최신 버전 및 빌드 |
composer-3-airflow-x.y.z |
지정된 Airflow 버전의 최신 빌드 |
Cloud Composer 2 버전 별칭
Cloud Composer 2에서는 다음과 같은 버전 별칭을 지원합니다.
| 별칭 | Cloud Composer 버전 | Airflow 버전 |
|---|---|---|
composer-2-airflow-2 |
Cloud Composer 2 최신 버전 | Airflow 2 최신 버전 |
composer-2-airflow-x.y |
Cloud Composer 2 최신 버전 | x.y 주 버전과 부 버전 내 최신 버전의 Airflow |
composer-2-airflow-x.y.z |
Cloud Composer 2 최신 버전 | 지정된 Airflow 버전 |
composer-2.b.c-airflow-x.y |
Cloud Composer 2의 지정된 버전 | x.y 주 버전과 부 버전 내에서 사용 가능한 최신 버전의 Airflow |
Cloud Composer 1 버전 별칭
Cloud Composer 1에서는 다음과 같은 버전 별칭을 지원합니다.
| 별칭 | Cloud Composer 버전 | Airflow 버전 |
|---|---|---|
composer-1-airflow-2 |
Cloud Composer 1 최신 버전 | Airflow 2 최신 버전 |
composer-1-airflow-1 |
Cloud Composer 1 최신 버전 | Airflow 1 최신 버전 |
composer-1-airflow-x.y |
Cloud Composer 1 최신 버전 | x.y 주 버전과 부 버전 내 최신 버전의 Airflow |
composer-1-airflow-x.y.z |
Cloud Composer 1 최신 버전 | 지정된 Airflow 버전 |
composer-1.b.c-airflow-x.y |
Cloud Composer 1의 지정된 버전 | x.y 주 버전과 부 버전 내에서 사용 가능한 최신 버전의 Airflow |
다음 버전 별칭은 Cloud Composer 3을 가리킵니다. 계속 사용할 수 있지만 Cloud Composer 버전의 별칭으로 전환하는 것이 좋습니다.
composer-latest-airflow-x.y는composer-3-airflow-x.y와 같습니다.composer-latest-airflow-x.y.z는composer-3-airflow-x.y.z와 같습니다.
Google Cloud CLI의 버전 인수
Google Cloud CLI를 사용하여 Cloud Composer 환경을 만들거나 업그레이드할 때는 Cloud Composer 및 Airflow 버전을 지정할 수 있습니다.
Composer 3
--image-version인수는composer-3-airflow-x.y.z-build.t형식으로 Airflow 버전 및 빌드를 지정합니다. Google Cloud CLI에서 전체 형식으로 변환되는 버전 별칭을 사용할 수 있습니다.--airflow-version은 다음 형식으로 Airflow 버전을 지정합니다.x.y.z형식은 지정된 버전의 Airflow의 최신 빌드에 사용됩니다. 이 형식은composer-3-airflow-x.y.z버전 별칭과 동일합니다.x.y형식은x.y메이저 버전 및 마이너 버전 내에서 사용 가능한 Airflow의 최신 빌드에 사용됩니다. 이 형식은composer-3-airflow-x.y버전 별칭과 동일합니다.x.y.z-build.t은 지정된 Airflow 버전 및 빌드입니다. 이 형식은composer-3-airflow-x.y.z-build.t과 같습니다.
Composer 2
--image-version인수는 Cloud Composer 2 및 Airflow 버전을 지정합니다.composer-a.b.c-airflow-x.y.z형식은 지정된 버전의 Cloud Composer 및 Airflow를 사용하여 환경을 만듭니다.- 버전 별칭은 먼저
composer-a.b.c-airflow-x.y.z형식으로 확인된 후 지정된 버전의 Cloud Composer 2 및 Airflow를 사용하여 환경을 만듭니다.
--airflow-version은 다음 형식으로 Airflow 버전을 지정합니다.x.y.z형식은 Cloud Composer 2 최신 버전과 Airflow 지정 버전에 사용됩니다. 이 형식은composer-2-airflow-x.y.z버전 별칭과 동일합니다.x.y형식은 Cloud Composer 2 최신 버전과x.y주 버전 및 부 버전 내에서 사용 가능한 Airflow 최신 버전에 사용됩니다. 이 형식은composer-2-airflow-x.y버전 별칭과 동일합니다.
Composer 1
--image-version인수는 Cloud Composer 1 및 Airflow 버전을 지정합니다.composer-a.b.c-airflow-x.y.z형식은 지정된 버전의 Cloud Composer 및 Airflow를 사용하여 환경을 만듭니다.- 버전 별칭은 먼저
composer-a.b.c-airflow-x.y.z형식으로 확인된 후 지정된 버전의 Cloud Composer 1 및 Airflow를 사용하여 환경을 만듭니다.
--airflow-version은 다음 형식으로 Airflow 버전을 지정합니다.x.y.z형식은 Cloud Composer 1 최신 버전과 Airflow 지정 버전에 사용됩니다. 이 형식은composer-1-airflow-x.y.z버전 별칭과 동일합니다.x.y형식은 최신 버전의 Cloud Composer 1과x.y주 버전과 부 버전 내에 사용 가능한 최신 버전의 Airflow에 사용됩니다. 이 형식은composer-1-airflow-x.y버전 별칭과 동일합니다.