인프라 구축기EC2의 t3.large로 Airflow를 구축한 상황에서 AI 학습 및 예측을 진행해야 하는 문제에 직면했다. 그러나 Airflow Worker(LocalExecutor)만 사용한다면, 과부하가 올 것이라는 확신이 있었기에 AI를 위한 추가 인스턴스를 생성하고자 하였다. 이에 따라 Terraform 작업을 진행하게 되었으며, 진행 내용은 다음과 같다.AI Server를 위한 EC2 인스턴스 추가Airflow에서 EC2를 Start/Stop 하기 위한 IAM 사용자 생성lambda 함수에 AI Server를 추가하고, 특정 시간에 Start/Stop 되도록 수정EC2 인스턴스 추가 및 사용자 생성instance/ec2.tfAMI는 Amazon Linux 2023, 인스턴스는 t2.micro ..
schedule_interval 개념과 사용법schedule_interval은 Airflow의 DAG 실행 주기를 설정하는 파라미터이다. 이 설정을 통해 DAG 실행을 자동화하여 특정 시각에 정해진 작업을 수행한다. 이 글에서는 schedule_interval의 개념과 사용법을 소개한다. 만약 Scheduling을 진행할 때 Airflow의 시간 개념 (Interval Start, Interval End, Logical Date)에 대해 알지 못한다면, 아래의 글을 참고하면 된다. [Airflow] DAG Scheduling과 ExecutionAirflow Scheduling과 Execution개요Airflow 관리Airflow를 사용하면서 반드시 알아야 할 것이 "작성한 DAG가 언제, 얼마나 실행되는..
EC2 (Start/Stop) InstanceOperator 사용 예시EC2의 t3.large로 Airflow를 구축한 상황에서 AI 학습 및 예측을 진행해야 하는 문제에 직면했다. 그러나 Airflow Worker(LocalExecutor)만 사용한다면, 과부하가 올 것이라는 확신이 있었기에 AI를 위한 추가 인스턴스를 생성하였다. 이에 따라 AI 관련 Task를 실행할 때만, 해당 EC2를 켜두기 위해 Airflow의 EC2 관련 Operator를 사용하고자 하였다. 이처럼 EC2로 인한 비용 절약을 목적으로 EC2 (Start/Stop) InstanceOperator를 정리해두려고 한다.코드는 공식문서 참고 : EC2Hook의 start(), end(), wait_for_state() 메서드를 활용..