명령 줄 인터페이스와 환경 변수 참조

명령 줄 인터페이스와 환경 변수 참조 (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를 참고해요.

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_folderAIRFLOW__CORE__DAGS_FOLDER. 비밀 값(암호, 키 등)은 환경 변수로 제공하는 것이 권장되며, 페이지 본문에는 각 환경 변수와 그 설명이 나열되어 있어요.

더 알아보기 (Learn more)