🔽 3주차 목표
💡 ECR에 푸시한 도커 이미지를 배포하기
💡 AWS ECS는 AWS에서 제공하는 docker container 실행 서비스로 ECR에 있는 docker image를 ECS에 배포해서 “인터넷 사용자가 접속할 수 있도록” 하기

GitLab에 코드가 push 되면 Docker Image 가 만들어지고 ECR에 Push를 하게 됩니다. ECR에 Push를 하면 GitLab은 “deploy stage”의 job을 실행하는데, 이 job은 ECS를 이용해서 Docker Image를 PULL 해서 docker container 실행하게 됩니다. 이제 사용자는 웹 브라우저를 이용해서 서비스를 사용할 수 있게 됩니다.
AWS는 API를 이용해서 ECS에 새로운 docker container 서비스가 실행되게 할 수 있는데, aws cli를 이용하면 됩니다. 결국 GitLab runner가 ECS에 docker container 서비스를 수행하도록 aws cli 명령을 실행하면 됩니다.
Amazon ECS란
- AWS Elastic Container Service는 docker 애플리케이션을 쉽게 배포하고 운영 할 수 있도록 지원하는 완전관리형 Container Orchestration 서비스이다.
- Kubernetes 보다 사용하기 쉽고, 비용적으로도 저렴하기 때문에 소/중 규모의 프로젝트에 널리 사용하고 있다.
- serverless로 구성하면 인스턴스(가성서버)를 구성하고 관리할 필요가 없다 (로드밸런서, 모니터링, Auto Scaling 등 자동화)
Amazon ECS의 구조
- ECS는 크게 ECR, ECS Cluster, ECS Service, ECS Task로 이루어져 있다.
- ECR: Docker image 저장소
- ECS Cluster: 컨테이너를 실행하기 위한 Cluster로 여러 인스턴스로 이루어져 있다. 이 인스턴스에 Docker container가 분산 실행되며 Serverless로 할 경우에는 인스턴스도 필요가 없다.
- ECS Server: Docker 애플리케이션의 실행 그룹
- ECS Task: ECS Server에 실제로 실행되는 docker container들

- ECS는 Task Definition를 통해 도커 컨테이너 애플리케이션 실행 정보를 받아 서비스를 실행한다
'주간 랩업 > [SCC] Docker 기반 CI&CD 파이프라인 구축하기' 카테고리의 다른 글
| 4. “진짜” 배포를 위해 파이프라인 확장하기 (0) | 2025.04.11 |
|---|---|
| 3-3. Docker 어플리케이션 배포하기 (0) | 2025.04.08 |
| 2-10. CI/CD 구성 살펴보기 (0) | 2025.04.01 |
| 2-8. GitLab을 이용한 Push 자동화하기 (0) | 2025.03.31 |
| 2-6. 프로젝트 코드 작업 이해하기 (0) | 2025.03.27 |