명령 줄 인터페이스와 환경 변수 참조
명령 줄 인터페이스와 환경 변수 참조 (Command Line Interface and Environment Variables Reference)
이 페이지는 Airflow의 CLI(Command Line Interface)와 환경 변수에 대한 종합 참조 문서예요. Airflow는 DAG에 대한 많은 종류의 작업, 서비스 시작, 개발·테스트 지원을 가능하게 하는 매우 풍부한 명령 줄 인터페이스를 제공해요. 호출 형식, 모든 하위 명령(sub-command)과 그 옵션, 그리고 환경 변수(AIRFLOW__{SECTION}__{KEY}) 규칙을 정리해요.
출처: 문서
본문
Command Line Interface (명령 줄 인터페이스)
Airflow는 DAG에 대한 많은 종류의 작업, 서비스 시작, 개발·테스트 지원을 가능하게 하는 매우 풍부한 명령 줄 인터페이스를 제공해요.
Note
CLI 사용에 대한 자세한 내용은 Using the Command Line Interface를 참고해요.
Executor를 구현하는 provider는 CLI에 추가 명령을 기여할 수 있어요. 커뮤니티 provider가 기여한 명령은 다음과 같아요:
Important
Airflow
3.2.0부터 auth manager와 executor 같은 core 확장을 관리하기 위한 provider 레벨 CLI 명령이 제공돼요. Provider 레벨 CLI 명령을 구현하면 불필요한 무거운 import를 피해 CLI 시작 시간을 줄일 수 있어요. 구현 지침은 provider-level CLI를 참고해요.
- Celery Executor 및 관련 CLI 명령: Celery Executor Commands
- Kubernetes Executor 및 관련 CLI 명령: Kubernetes Executor Commands
- Edge Executor 및 관련 CLI 명령: Edge Executor Commands
- AWS 및 관련 CLI 명령: Amazon CLI Commands
users와rolesCLI 명령은 FAB provider 문서에 설명되어 있어요: FAB CLI Commands
Usage: airflow [-h] GROUP_OR_COMMAND ...
위치 인자 (Positional Arguments)
GROUP_OR_COMMAND
: 가능한 선택: api-server, assets, backfill, cheat-sheet, config, connections, dag-processor, dags, db, db-manager, info, jobs, kerberos, partitions, plugins, pools, providers, rotate-fernet-key, scheduler, standalone, state-store, tasks, teams, triggerer, variables, version
하위 명령 (Sub-commands)
각 하위 명령의 역할은 다음과 같아요:
- api-server — Airflow API server 인스턴스를 시작해요.
airflow api-server [-h] [--apps APPS] [-D] [-d] [-H HOST] [--log-config LOG_CONFIG] [-l LOG_FILE] [--pid [PID]] [-p PORT] [--proxy-headers] [--ssl-ca-file SSL_CA_FILE] [--ssl-cert SSL_CERT] [--ssl-cert-reqs {none,optional,required}] [--ssl-key SSL_KEY] [--stderr STDERR] [--stdout STDOUT] [-t WORKER_TIMEOUT] [-w WORKERS]주요 옵션:--apps— 실행할 애플리케이션(쉼표 구분). 기본은 all. 옵션: core, execution, all (기본'all')-D, --daemon— 포그라운드 대신 데몬으로 실행 (기본False)-d, --dev— hot-reload가 활성화된 개발 모드로 시작 (기본False)-H, --host— API server를 실행할 호스트 설정 (기본'0.0.0.0')--log-config— (선택) uvicorn 서버용 로깅 설정 파일 경로. 설정하지 않으면 기본 uvicorn 로깅 설정 사용-l, --log-file— 로그 파일 위치--pid— PID 파일 위치-p, --port— API server를 실행할 포트 (기본8080)--proxy-headers— X-Forwarded-Proto, X-Forwarded-For, X-Forwarded-Port를 활성화해 원격 주소 정보를 채워요 (기본False)--ssl-ca-file— (선택) SSL CA 파일 경로--ssl-cert— webserver용 SSL 인증서 경로 (기본'')--ssl-cert-reqs— 가능한 선택: none, optional, required. 인증서 검증 옵션 설정 (기본'none')--ssl-key— SSL 인증서와 함께 사용할 키 경로 (기본'')--stderr/--stdout— stderr/stdout을 이 파일로 리다이렉트-t, --worker-timeout— API server worker 대기 타임아웃 (기본120)-w, --workers— API server에서 실행할 worker 수
- assets — assets를 관리해요.
- backfill — backfill을 관리해요.
- cheat-sheet — cheat sheet를 표시해요.
- config — 구성을 조회해요.
- connections — connections를 관리해요.
- dag-processor — dag processor 인스턴스를 시작해요.
- dags — DAGs를 관리해요.
- db — 데이터베이스 작업.
- db-manager — 외부로 연결된 데이터베이스 관리자를 관리해요.
- info — 현재 Airflow와 환경에 대한 정보를 보여줘요.
- jobs — jobs를 관리해요.
- kerberos — kerberos 티켓 갱신기를 시작해요.
- partitions — Dag run 파티션 메타데이터를 관리해요.
- plugins — 로드된 플러그인에 대한 정보를 출력해요.
- pools — pools를 관리해요.
- providers — provider를 표시해요.
- rotate-fernet-key — 모든 암호화된 connection 자격 증명과 variables를 회전시켜요. 참고: https://airflow.apache.org/docs/apache-airflow/stable/howto/secure-connections.html#rotating-encryption-keys
- scheduler — scheduler 인스턴스를 시작해요.
- standalone — Airflow의 올인원(all-in-one) 사본을 실행해요.
- state-store — task와 asset 상태 저장소를 관리해요.
- tasks — tasks를 관리해요.
- teams — teams를 관리해요.
- triggerer — triggerer 인스턴스를 시작해요.
- variables — variables를 관리해요.
- version — 버전을 보여줘요.
각 하위 명령마다 페이지 본문에는 해당 명령의 위치 인자·이름 있는 인자(named arguments)와 기본값이 상세히 나열되어 있어요. 위 예시(api-server)처럼 각 명령의 세부 옵션은
airflow <command> --help로도 확인할 수 있어요.
Environment Variables (환경 변수)
Airflow는 설정 파일(airflow.cfg)과 함께 환경 변수로도 구성을 지정할 수 있어요. Airflow 설정 항목마다 대응하는 환경 변수가 있으며, 일반적인 규칙은 AIRFLOW__{SECTION}__{KEY} 형식이에요 — 예: [core] 섹션의 dags_folder → AIRFLOW__CORE__DAGS_FOLDER. 비밀 값(암호, 키 등)은 환경 변수로 제공하는 것이 권장되며, 페이지 본문에는 각 환경 변수와 그 설명이 나열되어 있어요.