[AWS] ECS를 이용한 Serverless 웹 서비스 구현하기
[AWS] ECS를 이용한 Serverless 웹 서비스 구현하기
[AWS] ECS를 이용한 Serverless 웹 서비스 구현하기
개요
ECS(Elastic Container Service)는 AWS의 컨테이너 오케스트레이션 서비스로, 이번 포스트에서는 Fargate 런타입을 기반으로 서버리스 환경에서 Node.js 앱을 배포하는 방법을 정리합니다.
이전 포스트에서 다룬 [ECR 실습 가이드]에서 만든 이미지를 활용하여 ECS 서비스로 구성합니다.
🧩 사용 기술 스택 및 목표
- ECR: 이미지 저장소 (사전 구축)
- ECS + Fargate: 서버리스 컨테이너 배포
- ALB: 로드밸런싱 처리
목표: AWS 관리형 인프라를 활용하여 Node.js 웹 앱을 서버리스 형태로 배포하기
작업 순서
- ECS 클러스터 생성
- 테스크 정의(Task Definition) 생성
- ECS 서비스 생성 및 배포
- ALB로 접속 테스트
1. ECS 클러스터 생성
- 클러스터 이름 설정
- 인프라 유형: Fargate 선택
2. Task Definition 생성
- 런타입: Fargate
- CPU/Memory 설정
- IAM Task Role 선택
- 컨테이너 정의: 이름, 포트(4000), 이미지 URL(ECR)
3. ECS 서비스 생성
- 시작 유형: FARGATE
- 서비스 수: 1개
배포 구성
- 서비스 유형: 서비스
- 패밀리: 이전 생성한 Task Definition 선택
로드밸런싱 설정
- ALB 생성 및 리스너: 포트 4000
- 대상 그룹 구성: 건강 상태 체크 포함
4. 로드밸런서 접속 테스트
대상 그룹 확인
- 상태: Healthy 확인
ALB DNS 접속
- 브라우저에서 ALB DNS로 접속
✅ 마무리
이렇게 AWS의 ECS + Fargate를 기반으로 서버리스 구조의 웹 서비스를 구성해보았습니다.
ECR에서 이미지를 가져와 ECS에서 배포하고, ALB를 통해 안정적으로 트래픽을 전달받는 구조로 이어지는 전체 흐름을 체험해볼 수 있는 실습이었습니다.
📎 관련 문서
감사합니다 🙌
This post is licensed under CC BY 4.0 by the author.

















