airflow.cfg
- 질문에 앞서 airflow.cfg의 위치 및 찾는 방법
- CLI : airflow-webserver에 위치하기 때문에 shell로 접근해야한다.
docker ps
후 docker exec -it -u root <container_id> sh
- GUI
- docker-desktop으로 접근
- airflow-webserver 컨테이너를 클릭 후 Files 탭을 클릭한다.
- opt>airflow>airflow.cfg를 클릭해 수정한다.
- DAGS 폴더의 저장 위치
- airflow.cfg에 들어가 확인하면 dags_folder = /opt/airflow/dags
를 확인 가능하다.

- 새로운 DAG 생성시 Airflow 시스템에서 스캔하는 주기 및 키의 이름
- 기본 값 : 300초(5분)
- 키 : dag_dir_list_interval
- airflow.cfg에서 API 형태로 외부에서 조작하고 싶은 경우 변경해야하는 부분 : api섹션
- [api]
- enable_experimental_api : 실험적 API의 활성변수이다. 2.0 이후에는 Stable REST API로 대체되었다고 한다.
- auth_backends : API 사용자 인증에 사용할 백엔드를 지정한다.
airflow.api.auth.backend.basic_auth
로 변경하면 ID/PW로 인증하는 형태로 변경되어 API형태로 외부에서 조작이 가능하다. (기본은 session)
- maximum_page_limit : API 요청에 대한 최대 페이지 제한을 설정한다. (기본 100)
- access_control_allow_headers, methods, origins : HTTP 헤더를 알려준다.
해당 변수의 헤더만 사용하고 싶게 하면 “Context-Type,Authorization”으로 설정한다고 한다.
- Variable에서 변수의 값을 encrypted로 만들기위해 변수 이름에 들어가야할 단어들
- value가 *로 암호화되려면 secret, password, passwd, authorization, api_key, apikey, access_token이라는 키워드가 들어가면 된다.
- 환경 설정 파일이 수정되고, 실제 반영을 위해서 해야할 일은?
- restart :
sudo systemctl restart airflow-webserver
& sudo systemctl restart airflow-scheduler
- Docker 컨테이너 재실행
- Metadata DB의 내용을 암호화하는데 사용되는 키
- fernet_key를 사용하여 암호화 가능하다.
- 해당 키는 암호화와 복호화에 같이 쓰이는 대칭키이다.
참고 블로그 글)
[Docker, Airflow] Windows Docker 기반 Airflow에서 airflow.cfg 접근+수정
[Airflow] Airflow.cfg 일부 살펴보기