본문 바로가기

Data Mining/Airflow

[ Airflow ] 외부에서 대시보드 접속하기

반응형

Apache Airflow의 웹 대시보드를 외부에서 접근할 수 있도록 설정하려면 다음 단계들을 따르면 됩니다.

1. Airflow 설정 파일 (airflow.cfg) 수정

airflow.cfg 파일에서 webserver 섹션을 수정합니다.

  • bind_address: Airflow 웹 서버가 바인딩할 IP 주소를 설정합니다. 모든 IP에서 접근 가능하도록 하려면 0.0.0.0으로 설정합니다.
    [webserver]
    bind_address = 0.0.0.0
  • port: 웹 서버가 사용할 포트를 설정합니다. 기본값은 8080입니다.
    web_server_port = 8080

2. 방화벽 및 네트워크 설정

Airflow가 설치된 서버의 방화벽 또는 클라우드 인프라 (예: AWS, GCP 등)의 네트워크 설정에서 지정한 포트 (기본적으로 8080)가 외부에서 접근 가능하도록 열어야 합니다.

3. 웹 서버 재시작

설정을 변경한 후, Airflow 웹 서버를 다시 시작해야 합니다.

airflow webserver -D

혹은 만약 systemd 서비스로 설정한 경우:

sudo systemctl restart airflow-webserver

4. 보안 설정

외부 접근을 허용하는 경우 보안 설정이 중요합니다. 기본적으로 Airflow는 인증을 설정하지 않고 동작할 수 있기 때문에, 외부에서 접근 가능한 경우 반드시 보안 조치를 취해야 합니다.

  • 인증 설정: airflow.cfg에서 auth_backend 옵션을 설정하거나 플러그인을 사용하여 인증을 활성화합니다.
  • HTTPS 사용: 인증서를 설정하여 HTTPS를 사용하도록 합니다.
  • Reverse Proxy 사용: Nginx 또는 Apache HTTPD와 같은 리버스 프록시 서버를 사용해 보안을 강화할 수 있습니다.

이 단계를 완료하면 외부 네트워크에서도 Airflow 대시보드에 접근할 수 있습니다.

5. CentOS 방화벽 설정

CentOS에서 방화벽 상태를 확인하고 관리하려면 firewalld라는 서비스와 firewall-cmd 명령어를 사용합니다. 다음은 방화벽 상태를 확인하고 조작하는 방법입니다.

  1. 방화벽 서비스 상태 확인
    방화벽 서비스(firewalld)가 실행 중인지 확인하려면 다음 명령어를 사용하세요:
   systemctl status firewalld

결과에서 "active (running)"이라고 표시되면 방화벽이 실행 중입니다.

  1. 방화벽 활성화/비활성화
    • 방화벽을 활성화하려면:
     systemctl start firewalld
  • 방화벽을 비활성화하려면:
     systemctl stop firewalld
  1. 부팅 시 방화벽 자동 시작 설정/해제
    • 부팅 시 방화벽이 자동으로 시작되도록 설정하려면:
     systemctl enable firewalld
  • 부팅 시 자동 시작을 해제하려면:
     systemctl disable firewalld
  1. 방화벽 규칙 확인
    현재 설정된 방화벽 규칙을 보려면:
   firewall-cmd --list-all

이 명령어는 현재의 영역(zone), 서비스, 포트 등을 표시합니다.

  1. 특정 포트가 열려 있는지 확인
    예를 들어, 80번 포트가 열려 있는지 확인하려면:
   firewall-cmd --query-port=80/tcp
  1. 방화벽 설정을 영구적으로 적용하기
    --permanent 옵션을 사용하여 규칙을 추가하면 영구적으로 설정됩니다. 예를 들어, 80번 포트를 영구적으로 허용하려면:
   firewall-cmd --permanent --add-port=80/tcp
   firewall-cmd --reload  # 설정 적용

이 명령어들을 사용하여 CentOS의 방화벽 설정과 상태를 손쉽게 관리할 수 있습니다.

반응형