최근 진행한 팀 프로젝트에서 팀장 역할을 맡게되며,
실무에서 해보았던 경험을 살려 오랜만에 토이프로젝트에서 인프라 영역을 구축 해볼수 있는 기회를 가졌다
그 과정에서 하게된것을 기록해보겠다
들어가기 앞서, 인프라는 분야를 아예 모르지는 않지만 애매하게(?) 잘 몰라서 조금은 해매었던것 같다
우선 해당 프로젝트는 벡엔드, 프론트엔드 각각 별도로 분리하여 개발을 했고
그렇기에 각각의 자동 CI/CD를 구축할 필요가 있었다
-> 이게 나중에 골치 아파지는 원인이 됨
사용한 저장소는 RDS(Mysql), S3(이미지 저장 용도) 사용 => 요고 설정은 안 어려웠음
초기에는, 각각의 GitHub Action 을 통해 하나의 Ec2 인스턴스로 빌드된 결과물을 자동으로 올려서 배포 하는식으로 구성(곧바로 EC2에서 빌드된 결과물을 띄우는 방식)
-> 프리티어를 사용하다보니 메모리 문제가 발생함
-> 해결책으로 각각의 인스턴스로 분리하는것으로 생각
벡엔드는 EC2 앞단에 ECR 사용하여 도커 이미지(나는 되는데 니는 왜 안됨 해결 가능) 기반의 파이프라인을 구축
==> 1. GitHub Actions에서 빌드한 이미지를 ECR에 Push
==> 2. EC2에서는 앞에서 빌드한 이미지를 Pull 해서 실행 시킴
이렇게 해서 EC2 인스턴스의 부하는 감소함(실행만 하니까), 벡엔드 구성 완료...
정리
도식화

(MadeBy: Gemini 참 잘 만들어줌)
다음 Infra(AWS) 구축 - 프론트엔드 편에서 계속....