Github Actions 로 AWS ECS deployment

Github Actions 을 이용해서 spring boot 프로젝트를 Docker , ECR, ECS 를 이용해서 배포하는 과정을 블로깅 하려고 한다. Github repository 랑 AWS 계정은 다 있다는 전제하에 진행 한다. aws cli 를 사용해도 되는데 제일 쉽게 console 을 이용한 가내수공업을 해보려고 한다. 우선 ECS cluster 를 먼저 생성한다. 파란색 버튼 눌러! 깜빡하고 언급 안했는데, fargate 를 사용할 것이다. fargate 에 대한 설명은 aws 들어가서 참고 하세요. https://aws.amazon.com/ko/fargate/ 클러스터 이름은 알아서 기입해주고, VPC 는 체크해주면 알아서 생성 해준다. 혹은 체크하지 않고 AWS default VPC 를 사용해도 된다. 혹은 VPC 를 스스로 생성해서 사용해도 된다. 그리고 CloudWatch 컨테이너 인사이트 활성화는 꼭 체크해주자, CloudWatch 를 이용해서 로그를 볼 수 있어서 유용하다. 다음에 해주어야 할 것이! 바로 작업 정의 ! task-definition 생성이다. 시퍼런 버튼 눌러서 생성해 주면 된다. 역시 또한 fargate 를 사용할 것이다. 작업 정의 이름은 알아서 기입해주고, 작업 역할과 작업 실행 IAM 역할이 가장 중요하다. AmazonECSTaskExecutionRolePolicy 와 관련된 내용인데, 이 정도만 언급하고 생략하겠다. 컨테이너 정의에서 컨테이너 추가 버튼을 눌러서, 사전에 ECR 에 등록된 이미지를 세팅 해 준다. 작업 메모리 및 작업 CPU 도 알맞게 설정 한다. 컨테이너 이름은 알아서 기입해주고, 이미지는 ECR 이미지 URL 을 넣어준다. 그 다음은 처음에 생성한 클러스터에 들어가서 서비스를 생성 해 준다. 역시 fargate를 이용할 것이다. 배포는 롤링 업데이트로 설정한다. 블루 그린 배...