1. 시나리오

앞서 이야기했듯 이제 우리는 가상의 회사인 Petclinic 개발팀의 일원이 됩니다. Petclinic 서비스는 동물병원 관련한 웹 서비스입니다. 회사는 싱가포르에 있고 개발팀은 3명으로 프론트엔드 개발자 한 명, 앱 개발자 한 명, 서버 개발자 한 명으로 구성되어 있습니다. 우리의 역할은 서버 개발자입니다. 혼자서 개발도 하고 배포도 하고 운영도 해야 하는 상황이죠.

이제 어느 정도 개발을 마치고 스프링 부트 앱을 배포해 보려고 합니다. 회의를 통해서 EC2 기반의 AWS ECS를 이용하여 서비스를 배포하기로 결정했습니다. 해야 할 일은 다음과 같습니다.

  • ECS를 이용한 배포
  • CodeBuild와 CodePipeline을 이용한 CI/CD
  • CloudWatch를 이용한 모니터링
  • 서비스 및 ECS 인스턴스 오토스케일링


그림 1-1



그리고 미리 준비해야 할 것은 다음과 같습니다.

  • AWS 계정 (루트 유저 권장)
  • 깃허브 계정
  • 도커 허브Dockerhub 계정