PR 라벨 기반으로 EKS에 동적 Airflow 개발 환경을 띄우고, AWS Secrets Manager 연동 Variable·Connection 등록과 git-sync 기반 DAG 배포로 개발·운영 환경을 다루는 절차.
목적
하나의 Airflow 서버를 여러 명이 공유 점유하지 않고, PR 단위로 독립된 개발 환경을 EKS 위에 동적으로 띄운다. 이 환경에서 Variable·Connection을 AWS Secrets Manager와 연동해 등록하고, DAG를 배포·확인하며, 운영(실서버) 환경을 다룬다.
사전 조건
- 개발 환경을 동적으로 띄우려면 다음을 모두 만족해야 한다.
miridih-batch-flowGitHub repository의 PR이어야 한다.- PR이 Open 상태여야 한다.
- PR의 Labels에
preview가 포함되어야 한다.
- Variable·Connection은
miridih-de계정의 AWS Secrets Manager에 등록된 값을 Airflow가 가져오는 구조다. 등록 권한을 가진 주체와 AWS 콘솔 접근 경로는 원문에 명시되지 않았다 (확인 필요).
수행 방법
1. 개발 환경 띄우기
-
miridih-batch-flow리포지토리에서 PR을 Open 상태로 올린다. -
PR의 Labels에
preview를 추가한다. -
8~10분 정도 지나면 환경이 배포된다.
-
아래 규칙으로 생성된 URL로 접속한다.
https://airflow-dev.de.miridih.com/{branch_slug}branch_slug는 PR 브랜치 명을 URL에 적합한 형태로 치환한 값이다.- 한글은 URL encoding 처리된다.
- 대문자는 소문자로 치환된다.
- 특수문자는
-로 치환된다. - 예) 브랜치 이름이
feature/DA-001이면branch_slug는feature-da-001이 된다.
-
Airflow UI 로그인 계정: 아이디
admin/ 비밀번호admin. -
ArgoCD에서 애플리케이션 배포 현황을 확인하고, 표시된 버튼을 눌러 해당 PR의 Airflow UI로 바로 이동할 수 있다. branch 명으로 path가 잡혀 있는 것을 확인할 수 있다. (ArgoCD 자체의 로그인 계정 정보는 원문이 별도 페이지로만 연결해 두어 이 문서에는 없다 — 확인 필요)
2. Variable 추가
-
AWS Secrets Manager(
miridih-de계정)에 아래 규칙으로 보안 암호 이름을 지정해 Variable 값을 일반 텍스트로 등록한다./de/airflow/{develop/production}/variables/{VARIABLE_NAME} -
개발 환경은 애플리케이션마다 데이터베이스 파드를 새로 띄우지만, 이 규칙에 맞게 등록해 두면 Airflow가 AWS Secrets Manager에서 값을 가져오므로 매번 다시 기입하지 않아도 Stateful하게 사용할 수 있다.
3. Connection 추가
-
AWS Secrets Manager(
miridih-de계정)에 아래 규칙으로 보안 암호 이름을 지정해 Connection을 키/값으로 등록한다./de/airflow/{develop/production}/connections/{conn_id} -
Variable과 동일하게, 이 규칙에 맞게 등록해 두면 개발 환경에서 파드가 새로 뜨더라도 매번 기입할 필요 없이 Stateful하게 사용할 수 있다.
4. DAG 배포 확인
- DAG 배포는 과거에는
git pull이 필요했으나, 현재는 git-sync sidecar container가 주기적으로 리포지토리를 동기화하는 방식(자동 배포)으로 바뀌었다. - 상황에 따라 다르지만 git sync가 코드를 동기화하는 시간과 dag processor가 파싱하는 시간을 합쳐 2~3분 내에 DAG를 확인할 수 있다.
5. 운영(실서버) 환경
- DAG 배포가 자동으로 이루어지는 것을 빼면 Docker 환경(EC2,
de-airflow/de-airflow-dev)과 동일하게 운영된다. → 관련 문서 - 운영 환경의 계정 정보는 원문이 별도 페이지로만 연결해 두어 이 문서에는 없다 (확인 필요).
관련 문서
- Airflow 서비스 운영 가이드 - EC2 (
docs/technology-data/data-platform/airflow-ec2-operations-guide.md) — Docker Compose 기반 EC2 환경의 운영 절차. 이 문서의 "운영(실서버) 환경"이 비교 대상으로 삼는 환경이다.