Cloud Storage에 저장된 데이터

이 페이지에서는 Cloud Composer가 Cloud Storage에 저장하는 사용자 환경 데이터를 설명합니다.

사용자가 환경을 만들면 Cloud Composer가 Cloud Storage 버킷을 만들고 사용자 환경과 버킷을 연결합니다. 버킷 이름은 환경 리전, 이름, 임의의 ID를 기반으로 합니다(예: us-central1-b1-6efannnn-bucket).

Cloud Composer는 워크플로(DAG)의 소스 코드 및 해당 종속 항목을 Cloud Storage의 특정 폴더에 저장하고 Cloud Storage FUSE를 사용하여 폴더를 Cloud Composer 환경의 Airflow 인스턴스에 매핑합니다.

Cloud Storage 버킷의 폴더

폴더설명스토리지 경로매핑되는 디렉토리
DAG 사용자 환경의 DAG를 저장합니다. 이 폴더의 DAG만 사용자 환경용으로 예약됩니다. gs://bucket-name/dags /home/airflow/gcs/dags
플러그인 커스텀 사내 Airflow 연산자, 후크, 센서 또는 인터페이스와 같은 커스텀 플러그인을 저장합니다. gs://bucket-name/plugins /home/airflow/gcs/plugins
데이터 태스크가 생성하고 사용하는 데이터를 저장합니다. 이 폴더는 모든 워커 노드에 마운트됩니다. gs://bucket-name/data /home/airflow/gcs/data
로그 태스크의 Airflow 로그를 저장합니다. Airflow 웹 인터페이스에서 로그를 볼 수도 있습니다. gs://bucket-name/logs /home/airflow/gcs/logs

용량 고려 사항

DAG 및 플러그인: 기본적으로 Cloud Composer는 개발자 환경, dags/ 폴더, plugins/ 폴더에 100 GB 용량을 프로비저닝합니다.

워크플로 오류를 방지하기 위해 Python 모듈에 DAG 또는 플러그인이 없더라도 DAG, 플러그인, Python 모듈을 dags/ 폴더 또는 plugins/ 폴더에 저장합니다. 예를 들어 DataFlowPythonOperator가 참조하는 py_filedags/ 또는 plugins/에 저장해야 합니다.

데이터 및 로그: data/ 폴더와 logs/ 폴더에는 용량 제한이 적용되지 않습니다.

웹 서버 오류를 방지하기 위해 웹 서버가 DAG를 파싱(실행 아님)해야 하는 데이터가 dags/ 폴더에 있어야 합니다. 그렇지 않으면 웹 서버가 데이터에 액세스하거나 Airflow 웹 인터페이스를 로드할 수 없습니다.

데이터 동기화

Cloud Storage 버킷에서 DAG 또는 플러그인이 수정되면 Cloud Composer는 클러스터의 모든 노드에서 데이터를 동기화합니다.

Cloud Composer는 dags/ 폴더와 plugins/ 폴더를 로컬에서 복사하여 단방향으로 동기화합니다. 단방향 동기화는 이러한 폴더의 로컬 변경사항을 덮어쓴다는 것을 의미합니다.

data/ 폴더와 logs/ 폴더는 Cloud Storage FUSE를 사용하여 양방향으로 동기화됩니다.

용량이 제한되어 있고 웹 서버가 Cloud Composer 환경에서 DAG를 파싱하지만 실행하지 않기 때문에 데이터는 웹 서버와 동기화되지 않습니다. 작업자가 DAG를 실행합니다.

다음 단계