Airflow 설치 - EC2 사용
우분투 20.04 사용
AWS EC2 t3.small나 t3a.small 인스턴스를 사용할 예정
2 CPU, 2 GB Memory, 8GB SSD Disk 사용
AWS 계정 필요
위 인스턴스 타입은 Free Tier가 아니기에 비용이 발생함을 인지
- t3.small 인스턴스의 경우 한달 비용이 $18.72
- t3a.small 인스턴스의 경우 한달 비용이 $16.85
가능하면 실제 개발 실습은 Docker 환경을 사용하고 이 설치 과정은 그냥 시청
리눅스 이해하기
우분투 (ubuntu): 리눅스 타입 중의 하나. 다른 타입은 데비안, 레드햇, 페도라, ...
ssh: 리눅스 혹은 유닉스 서버에 로그인해주는 프로그램 (터미널)
- private key와 public key를 사용 (키페어를 사용)
sudo: 보통 슈퍼유저로서 프로그램을 구동할 수 있도록 하는 프로그램이다.
apt-get: 우분투/데비안 계열의 리눅스에서 프로그램 설치/삭제를 관리해주는 프로그램
- apt-get update, apt-get install
su: substitue user의 약자로 현재 사용 중인 사용자 계정을 로그아웃하지 않고 다른 사용자의 권한을 얻을 때 사용한다. 보통 sudo화 함께 사용한다. sudo su postgres 혹은 sudo su airflow
vi: 텍스트 에디터. https://withcoding.com/112
Airflow 2.5.1 설치 과정
↑ Github에서 자세히 설명을 해두었습니다.
최신 안정 버전을 찾아서 2.5.1을 적절히 변경해서 실행할 것!
이곳 에서 설명 드렸듯이 구글 클라우드 컴포저가 사용하는 최신 버전을 확인한 후 적절히 버전을 변경해서 실행합니다.
Airflow 메타데이터베이스로 로컬 서버에 Postgres를 설치할 예정
디폴트로 설치된 SQLite 성능이 매우 좋지 않아 다른 MySQL이나 PostgreSQL을 설치해 대신 사용한다고 했습니다.
Airflow는 /var/lib/airflow/ 밑에 설치됨
Airflow 서버에 총 3개의 어카운트가 사용됨
- ubuntu: 메인 어카운트
- postgres: (postgres 설치시 만들어지는 계정)
이 계정을 이용해 postgres 액세스를 위한 airflow 계정을 별도로 생성 (보안상의 이유로 Superuser 대신)
- airflow: Airflow용 어카운트. Airflow 서비스는 이 계정으로 실행됨
요약하자면 위와 같은 과정으로 설치를 합니다.
실습
설치 문서 참고
AWS EC2 서버 론치
Airflow 2.5.1 설치
Airflow 웹 UI 접근