Airflow

Airflow 설치 - EC2 사용

터칭 데이터 2023. 12. 12. 14:27

 

 

우분투 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 접근