Infra

Infra/[인프라 구축기] Terraform 활용 AWS 인프라 구축

인프라 구축기 (8) - Lambda를 활용한 AWS 인스턴스 시작, 중지 자동화

인프라 구축기현재 인프라를 사용하면서 지속적으로 비용이 청구되고 있다. Redshift Serverless는 가변 비용으로 쿼리 비용만을 청구하며 Bastion Host EC2는 프리티어이므로 비용이 발생하지 않지만, Airflow EC2와 RDS의 경우 서버를 사용하기에 켜두기만 하더라도 비용이 발생한다. 특히 Airflow EC2의 경우 t3.large의 인스턴스를 사용하고 외부와의 통신 (web, API 등)이 자주 이루어지므로 추가로 비용이 발생한다. 그래서 서버를 사용하지 않는 시간에는 서비스를 중지하여 비용을 절약하고자 하였다.사용하지 않을 때 중지할 서비스 : EC2 (Bastion Host, Airflow), RDSRedshfit의 경우 사용한 만큼만 비용이 청구되므로 중지하지 않아도 됨 ..

Infra/[인프라 구축기] Terraform 활용 AWS 인프라 구축

인프라 구축기 (7) - Airflow 및 Redshift 사용자 생성, 권한 설정

인프라 구축기AirflowAirflow는 Web server에 Admin 계정으로 접속 시 Security > List Users에서 사용자 관리가 가능하다. 그러나 기본 Admin 계정은 매우 단순하기 때문에 보안을 위해 수정이 필요하다. 그래서 관리 위한 Admin 계정 하나와 3명의 사용자를 위한 User 계정을 생성하려고 한다. 기본 Admin 계정 : ID - airflow, PW - airflow사용자 생성Airflow의 사용자 생성은 UI로 가능하기 때문에 어렵지 않음관리자 계정은 Role = Admin, 사용자(개발자) 계정은 Role = User로 설정역할 별 권한Admin사용자 관리, DAG / Jobs 관리, Variables 및 Connections 관리, 권한 관리, 데이터 관리,..

Infra/[인프라 구축기] Terraform 활용 AWS 인프라 구축

인프라 구축기 (6) - 로컬에서 Private EC2 Airflow Web Server 접속

인프라 구축기인프라 구축기 (5)까지 작성된 아키텍처를 구성하기 위한 작업이 이루어졌다면, (6)부터는 구성된 서비스를 운영하기 위한 작업을 다룬다. 그중에서 가장 중요한 것이 로컬에서 Private Subnet에 위치하는 EC2의 Airflow Web Server에 접근할 수 있도록 하는 것이다. 이전에 구상 단계에서 ALB, 포트포워딩, Nginx를 활용하는 방법이 있었는데, 여기서는 Nginx를 활용해 구성하였다. 인프라 구축기 (5) - Private Subnet EC2에서 다른 Subnet의 인스턴스 접근 확인인프라 구축기인프라 구축기 (4)에서 구성된 인프라에서 Bastion Host 터널링을 통한 RDS, Redshift Serverless, Airflow (EC2) 접근을 확인할 수 있었다..

Infra/[인프라 구축기] Terraform 활용 AWS 인프라 구축

인프라 구축기 (5) - Private Subnet EC2에서 다른 Subnet의 인스턴스 접근 확인

인프라 구축기인프라 구축기 (4)에서 구성된 인프라에서 Bastion Host 터널링을 통한 RDS, Redshift Serverless, Airflow (EC2) 접근을 확인할 수 있었다. 이번엔 Private Subnet에 구성돼 있는 Airflow EC2에서 Private Subnet에 위치한 RDS, Redshift와 S3 Endpoint를 통해 S3에 접근이 가능한지 확인해 볼 것이다. 또한 NAT Gateway를 통한 외부 통신이 가능한지도 확인할 것이다. 인프라 구축기 (4) - Bastion Host에서 Private Subnet 접근 확인인프라 구축기인프라 구축기 (3)까지 진행하면서 Terraform을 활용해 인프라 구성을 완료하였다. 이번엔 VPC 내부의 연결이 제대로 이루어졌는지 확..