ecr, ecs, fargate
출처: https://boostbrothers.github.io/technology/2020/01/29/AWS-ECS-%EC%82%B4%ED%8E%B4%EB%B3%B4%EA%B8%B0/
출처 보고 스스로 이해한 것을 정리함 정확하지 않을 수 있음
1. ECR (Elastic Container Registry) : 도커 허브 처럼 도커 이미지를 저장하는 저장소이다
2. ECS ( Elastic Container Service) : 컨테이너를 생성하고 관리하는 서비스
- AWS에서 제공하는 컨테이너 오케스트레이션 서비스로 여러 어플리케이션 컨테이너를 쉽고 빠르게 실행하고, 컨테이너를 적절하게 분배 및 확장 & 축소 할 수 있도록 도와주는 서비스(컨테이너는 도커 컨테이너)
위 그림의 컨테이너 인스턴스는 ec2나 서버리스(Fargate)중 선택 가능
Service는 Task를 관리하는 단위
Task는 작업의 단위 이 Task를 만들기 위해 작업정의(Task definition)가 필요
하나의 Task는 하나이상의 컨테이너를 생성,관리함
Task를 정의할 때 어떤 이미지를 쓸지를 정하는데 그때 ECR에 저장된 이미지를 사용하라고 지정해 줄 수 있음
그럼 그 이미지를 가지고 컨테이너를 만듦
- ci/cd 구축
1. github action을 통해서 ecr에 도커 이미지를 저장한다
2. 그 이미지를 ecs가 사용하여 컨테이너를 생성하는데, 그 생성장소가 ec2가 아니고 서버리스로 fargate 서비스를 사용하여
서버리스하게 컨테이너를 생성한다
3. 그 컨테이너와 로드밸런서를 연결한다(포트 맵핑 잘해서)