ECS
-
Airflow on ECS 파이프라인 구축기프로젝트 회고록 2023. 7. 10. 23:38
기존 ec2 기반의 airflow 서비스가 예고 없이 죽어서 멈췄을때, 자동으로 다시 서비스가 시작될 수 있도록 컨테이너 서비스로 이전할 필요가 있다는 결론을 내렸습니다. 또한 기존에는 한 대의 ec2 서버에 airflow의 모든 구성 요소들이 다 돌아가고 있었다면, 각 서비스들을 분리하여 서로의 작업이 각자의 기능에 영향을 끼치지 않도록 ECS상에서 개별 서비스용 컨테이너를 생성하여 airflow를 멀티클러스터화 하려는 목적에 있었습니다. 처음 시작은 EKS를 활용한 파이프라인 구축을 목표로 했지만, 러닝커브를 고려해서 이전에 경험해봤던 ECS를 기반으로 한 파이프라인 구축을 시작했습니다. 이전의 ECS는 추천모델 서빙 용도로만 사용해봤었고, ECS 위에서 airflow를 구축하는건 처음이라 중간 중간..
-
[MySQL] mysql too many connection 에러 해결DataBase/MySQL 2023. 3. 3. 21:30
mysql이 ecs 컨테이너로 띄어있고 여러 서비스들(ex. airflow 클러스터)이 연결되어 있을 때, mysql이 허용가능한 클라이언트 수를 넘어가면 다음과 같은 connection 에러 발 문제상황 1. statsd service 추가 후 airflow webserver가 죽어버림 2. webserver log에 남겨진 에러메세지 sqlalchemy.exc.OperationalError: (MySQLdb.OperationalError) (1040, 'Too many connections') 해결방법 => mysql task definition에서 docker run command 추가 --max_connections=10000 ref. https://stackoverflow.com/question..
-
AWS ECS를 활용한 머신러닝 서비스 배포하기 #3 (feat. Task Definition, Service 생성)AWS/ECS 2021. 7. 4. 23:18
https://ninano1109.tistory.com/156 AWS ECS를 활용한 서비스 배포하기 #2 (feat. Security Group 생성) https://ninano1109.tistory.com/155 Create an empty cluster> Tag 입력 2. Load Balancer Dev/Prod Application Load Balancer Create> Name입력> Scheme: internet-facing> Listeners: HTTP/80> Availability.... ninano1109.tistory.com Task Definition Dev FARGATE> Task Definition Name: keyword-dev> Task Role 비워두기> Network Mode..
-
AWS ECS를 활용한 머신러닝 서비스 배포하기 #2 (feat. Security Group 생성)AWS/ECS 2021. 7. 1. 23:51
https://ninano1109.tistory.com/155 AWS ECS를 활용한 서비스 배포하기 #1 (feat. Cluster, Load Balancer 생성) 1. Cluster EC2 Linux + Networking> Create an empty cluster> Tag 입력 2. Load Balancer Dev/Prod Application Load Balancer Create> Name입력> Scheme: internet-facing> Listeners: HTTP/80> Availability.. ninano1109.tistory.com Security Group Security group name> VPC 선택> Inbound rules> Outbound rules:All> Tags 설정..
-
AWS ECS를 활용한 머신러닝 서비스 배포하기 #1 (feat. Cluster, Load Balancer 생성)AWS/ECS 2021. 6. 27. 09:16
1. Cluster EC2 Linux + Networking> Create an empty cluster> Tag 입력 2. Load Balancer Dev/Prod Application Load Balancer Create> Name입력> Scheme: internet-facing> Listeners: HTTP/80> Availability Zones: VPC 선택> Tag 설정 Listeners 해당 Load Balancer에서 사용할 Security Group 생성 시 추가했더 IP의 Port 번호를 추가해주어, 요청이 들어오는 Port를 듣고 허용을 해 줄 수 있음 Security Settings: Next 누르기 Security Group 선택/ 새로 생성하기(Load Balancer용으로!) ..