인프라 구축기
현재 Lambda는 EC2와 RDS 인스턴스를 오전 10시에 켜는 함수 1개와 오후 10시 30분에 끄는 함수 1개로 구성돼 있다. 비용 절감을 위해 사용하지 않는 시간에 꺼두기 위한 목적으로 사용하고 있다. 초기 아키텍처와 다르게 AI Server와 metabase ec2 서버가 추가돼 Lambda 함수에 추가했는데, 해당 내용을 정리하려고 한다.
현재 작성 중인 Lambda와 관련된 .py 파일이나 Terraform Code를 알고 싶다면, 아래의 링크를 확인하면 된다.
- 참고 : 인프라 구축기 (8) 이후 변경 사항이 있었기에 대략적인 형태만 파악
Lambda 변경 사항
변경 전
AI Server를 구축한 뒤 이미 Lambda를 수정한 시점이기에 lambda 함수에 AI Server가 추가돼 있다는 것으로 이해하면 좋을 것 같다.
- daily_start_service.py가 적용되는 EC2 : Airflow, Bastion Host, AI Server, Airflow meta DB
- daily_stop_service.py가 적용되는 EC2 : Airflow, Bastion Host, AI Server, Airflow meta DB
변경 후
AI Server의 경우 Airflow에서 Operator를 통해 사용할 때만 실행하고, 종료시키기 때문에 daily_start_service lambda에서 제거하였다. 또한 metabase의 경우 시각화가 필요할 경우 수동으로 서버를 조작할 것이기 때문에 daily_start_service lambda에 넣지 않았다.
- daily_start_service.py가 적용되는 EC2 : Airflow, Bastion Host, Airflow meta DB
- daily_stop_service.py가 적용되는 EC2 : Airflow, Bastion Host, AI Server, metabase, Airflow meta DB
# daily_start_service.py에 적용될 환경 변수를 작성한 Terraform Code
environment {
variables = {
INSTANCE_IDS = "${data.terraform_remote_state.instance.outputs.airflow_id},${data.terraform_remote_state.instance.outputs.bastion_host_id}"
RDS_INSTANCE_ID = data.terraform_remote_state.storage.outputs.airflow_meta_db_name
}
}
# daily_stop_service.py에 적용될 환경 변수를 작성한 Terraform Code
environment {
variables = {
INSTANCE_IDS = "${data.terraform_remote_state.instance.outputs.airflow_id},${data.terraform_remote_state.instance.outputs.bastion_host_id},${data.terraform_remote_state.instance.outputs.ai_server_id},${data.terraform_remote_state.instance.outputs.metabase_id}"
RDS_INSTANCE_ID = data.terraform_remote_state.storage.outputs.airflow_meta_db_name
}
}
'Infra > [인프라 구축기] Terraform 활용 AWS 인프라 구축' 카테고리의 다른 글
인프라 구축기 (16) : Tableau에서 Metabase로 변경 (0) | 2024.11.21 |
---|---|
인프라 구축기 (15) : Public EC2 Tableau 구축 (0) | 2024.11.15 |
인프라 구축기 (14) : EC2 인스턴스 추가 및 lambda 함수 수정 (0) | 2024.11.11 |
인프라 구축기 (13) : 진행 내용 & 진행 예정 내용 정리 (5) | 2024.11.03 |
인프라 구축기 (12) - S3에 있는 Terraform 상태 파일 활용하기 (0) | 2024.11.02 |