Conceptly
← 전체 목록
🚀

AWS Fargate

컴퓨팅서버리스 컨테이너 실행 환경

Fargate는 컨테이너를 실행하되 그 아래 서버 노드를 직접 운영하지 않게 해주는 서버리스 실행 환경입니다. 팀은 태스크에 필요한 자원만 선언하고, 실제 호스트 준비와 관리 책임은 AWS가 집니다.

아키텍처 다이어그램

🔍 구조 다이어그램

점선 애니메이션은 데이터 또는 요청의 흐름 방향을 나타냅니다

왜 필요한가요?

컨테이너는 쓰고 싶은데 노드 패치, 용량 계획, 클러스터 서버 운영까지 함께 떠안으면 팀이 얻는 이점이 줄어듭니다. 애플리케이션보다 컨테이너를 올릴 서버 관리가 더 큰 일이 되면 배포 속도가 다시 느려집니다.

왜 이런 방식이 등장했나요?

컨테이너 도입 후에도 많은 팀이 결국 노드 운영이라는 또 다른 인프라 부담을 안게 됐습니다. 그래서 컨테이너 장점은 유지하면서 서버 관리를 줄이는 Fargate 같은 실행 모델이 필요해졌습니다.

안에서 어떻게 동작하나요?

Fargate는 ECS 태스크에 필요한 CPU와 메모리만 선언하면, AWS가 컨테이너를 올릴 실행 환경을 대신 준비합니다. 이미지는 ECR에서 가져오고, 네트워크와 로깅은 VPC와 CloudWatch, 트래픽은 ELB와 연결해 서버 운영 없이 컨테이너를 실행합니다.

무엇과 헷갈리나요?

Fargate와 EC2는 둘 다 애플리케이션을 실행하지만 책임 분담이 다릅니다. Fargate는 서버 운영을 감추고 컨테이너 태스크 실행에 집중하게 해주고, EC2는 서버 자체를 직접 다루게 합니다. 컨테이너는 쓰되 노드 패치와 용량 계획을 줄이고 싶으면 Fargate를 보고, OS와 서버 수준 설정까지 직접 제어해야 하면 EC2를 보면 됩니다.

언제 쓰나요?

운영 부담을 낮추고 싶은 컨테이너 API, 이벤트 워커, 배치 태스크에 적합합니다. OS 커널 튜닝이나 GPU 직접 제어 같은 서버 수준 조작이 필요한 경우에는 맞지 않습니다.

마이크로서비스배치 처리CI/CD 빌드웹 애플리케이션