Airflow 공식문서에서 제공하는
Quick Start 중 도커로 Airflow 실행(Running Airflow in Docker) 시 관리자 계정 패스워드를 변경하는 방법에 대한 포스팅입니다.
(도커로 Airflow를 실행하면 default로 계정/패스워드가 airflow/airflow로 설정되고, 이는 Webserver에 접속해 수정할 수 있지만 보안에 취약할 수 있어 처음부터 변경해주는 것이 좋습니다.)
패스워드 변경 방법 외 설치 방법은 아래 공식문서와 공식문서를 정리한 자료 참고 부탁드립니다.
- 공식문서: https://airflow.apache.org/docs/apache-airflow/stable/start/docker.html#
- 공식문서 정리한 자료: https://wooiljeong.github.io/server/docker-airflow/ (정우일님 블로그)
관리자 계정 패스워드 변경해서 Airflow 실행하는 방법
- docker-compose.yaml 파일 경로에 .env 파일 생성
- .env파일에 아래 2개 변수 설정
_AIRFLOW_WWW_USER_USERNAME=계정명
_AIRFLOW_WWW_USER_PASSWORD=패스워드
- docker-compose.yaml 파일에 아래 2개 변수 값을 직접 설정할 수도 있습니다.
- 하지만 직접 변수 값을 입력할 경우 외부에 계정/패스워드명이 바로 노출되므로 .env 파일을 생성해 변수를 읽어오게 하는 게 좋습니다.
설정 결과
1. 변수 설정 파일(.env) 생성
- docker-compose.yaml과 같은 경로에 .env 파일을 생성 한 후 2개 변수를 설정 했습니다.
- 변수 1: _AIRFLOW_WWW_USER_USERNAME=계정명
- 변수 2: _AIRFLOW_WWW_USER_PASSWORD=패스워드

2. Airflow DB 및 계정 생성
- .env 파일에서 설정한 계정명(_AIRFLOW_WWW_USER_USERNAME=menthamin)으로 계정이 생성된 것을 확인할 수 있습니다.

3. 도커로 Airflow 실행: docker-compose up -d

4. Airflow Webserver 접속
- .env 파일에 설정한 계정/패스워드로 로그인이 가능하고, 해당 계정이 관리자 계정(Role: Admin)인 것을 확인할 수 있습니다.

계정 관련 추가 설정 자료
- 계정 소유자의 이름, Email 등을 설정하는 변수들도 존재하고 이또한 .env 파일로 설정 할 수 있습니다.
- 변수 목록은 아래에 첨부하겠습니다.

* 기타 Tip: Airflow 실행 간 예제 DAG 설치를 원하시지 않는 경우에는 아래 환경 변수를 false로 설정해주시면 됩니다.
AIRFLOW__CORE__LOAD_EXAMPLES: 'false'
기타 궁금하신 사항은 댓글 남겨주세요.
감사합니다.
'데이터사이언스 > Airflow' 카테고리의 다른 글
| 적은 리소스로 Airflow 설치하기 (LocalExecutor, Docker) (0) | 2022.08.08 |
|---|---|
| [Airflow] Airflow log 정기적으로 삭제하기 (mtime 활용 Logrotate 설정) (0) | 2021.09.18 |
| [Airflow] Airflow Connections에 DB접속 정보(Oracle) 저장 및 사용 1 (0) | 2021.05.29 |