직접 개발한 잘 구운 서버 하나,
그리고 외부 도커에서 가져온 이미지 두 개를 ECS를 이용해 배포하기.
https://velog.io/@jkjan/Github-Action-%EC%9C%BC%EB%A1%9C-Spring-%EB%B0%B0%ED%8F%AC-docker-ECR
링크로 대체
내가 로컬에서 돌리던 Docker compose 한다 생각하면 쉬움.
다만 진짜 불편한 것은 task 수정이 안 되고 뭔 놈의 '개정(task definition)'을 계속 새로 만들어줘야 함.
docker compose 를 버전별로 나눈다고 생각하면 편함.
서비스 정의하는 것은 어렵지 않음. 2번에서 정의한 태스크 개정 (docker compose 파일 같은 거)을 가지고 네트워크랑 배포 전략 정도만 추가하는 것. 문제는 그게 아니라...
EC2 를 쓰지 않고 Fargate 를 쓰게 되면 퍼블릭 IP를 사용해야 함.
Public IP(퍼블릭 IP) 옵션은 Amazon ECS가 작업과 연결된 탄력적 네트워크 인터페이스(ENI)에 퍼블릭 IPv4 주소를 자동으로 할당할지 여부를 결정합니다. AWS Fargate에서 호스팅되는 Amazon ECS 작업에만 이 옵션을 설정할 수 있습니다.
나는 이것을 외부 접속 허용하게 하는 IP인 줄 알고 안 쓰고 배포를 하였으나
매우 불친절하게도 저 말은 그 어디에서도 ECS의 레포지터리에 접근 자체를 못한다는 말이 됨.