이 문서의 과거 버전 (r1)을 보고 있습니다. 수정일: 2026.02.23 23:28
AWS가 제공하는 완전관리형 서버리스 컨테이너 실행 서비스이다. 사용자는 컨테이너를 실행하기 위한 서버 인프라를 직접 프로비저닝하거나 관리할 필요 없이, 애플리케이션을 패키징하여 배포하기만 하면 된다. 이 서비스는 2017년 11월 29일 AWS re:Invent 2017에서 처음 공개되었다.
Fargate는 ECS와 EKS와 통합되어 작동한다. 사용자는 익숙한 컨테이너 오케스트레이션 도구와 API를 그대로 사용하면서, 인프라 관리 부담에서 벗어나 애플리케이션 개발과 운영에 집중할 수 있다. 이는 클라우드 컴퓨팅의 핵심 가치 중 하나인 관리 부담 감소를 실현하는 서비스이다.
서비스의 핵심은 컨테이너가 실행되는 가상 머신 인스턴스의 라이프사이클을 AWS가 완전히 관리한다는 점이다. 사용자는 CPU와 메모리 리소스만 지정하여 과금하면 되며, 패치 관리, 보안 업데이트, 서버 용량 확장과 같은 작업은 모두 AWS의 책임 하에 자동으로 처리된다.
Fargate는 AWS가 제공하는 서버리스 컨테이너 실행 서비스이다. 사용자가 서버나 클러스터를 직접 관리할 필요 없이 컨테이너화된 애플리케이션을 배포하고 실행할 수 있도록 설계되었다. 이는 컨테이너 오케스트레이션의 복잡성을 추상화하여 개발자가 인프라 관리보다 애플리케이션 코드 자체에 집중할 수 있게 한다.
이 서비스의 핵심 특징은 완전한 서버리스 경험을 제공한다는 점이다. 사용자는 컨테이너를 실행하는 데 필요한 CPU와 메모리 용량만 지정하면 되며, EC2 인스턴스의 프로비저닝, 패치 관리, 용량 계획, 보안 그룹 구성과 같은 하부 인프라 관리 작업을 AWS가 대신 처리한다. 이는 전통적인 컨테이너 실행 방식과 구별되는 중요한 차이점이다.
Fargate는 ECS와 EKS 두 가지 주요 컨테이너 오케스트레이션 서비스와 통합되어 작동한다. 사용자는 익숙한 ECS 태스크 정의나 Kubernetes Pod 명세를 사용하여 애플리케이션을 정의한 후, 이를 Fargate에서 실행하도록 선택할 수 있다. 이를 통해 기존의 오케스트레이션 도구와 워크플로를 유지하면서 서버리스의 이점을 누릴 수 있다.
또한, Fargate는 기본적으로 높은 수준의 격리와 보안을 제공한다. 각 태스크 또는 Pod는 자체적으로 격리된 커널 공간을 가지는 전용 컨테이너 인스턴스에서 실행된다. 이는 다중 테넌트 환경에서의 보안 문제를 완화하고, 작업 간 간섭을 방지하여 애플리케이션 성능의 예측 가능성을 높인다.
Fargate의 아키텍처는 서버리스 컴퓨팅 원칙에 기반하여 설계되었다. 이는 사용자가 가상 머신이나 물리적 서버와 같은 인프라를 직접 관리할 필요 없이, 애플리케이션을 구성하는 컨테이너 자체에만 집중할 수 있도록 한다. Fargate는 ECS나 EKS와 같은 컨테이너 오케스트레이션 플랫폼과 통합되어 작동하며, 이 플랫폼들이 태스크나 포드를 스케줄링하고 관리하는 동안, Fargate는 해당 작업을 실행하기 위한 안전한 격리된 컨테이너 런타임 환경을 제공한다.
Fargate의 핵심 구성 요소는 Fargate 에이전트와 ENI(Elastic Network Interface) 관리이다. 사용자가 태스크 정의를 통해 CPU, 메모리, 네트워킹, IAM 역할 등을 지정하면, Fargate는 이를 기반으로 전용 컨테이너 인스턴스 없이도 독립적인 컨테이너 샌드박스를 프로비저닝한다. 각 태스크는 자체 커널을 공유하지 않는 완전한 가상화 환경에서 실행되며, Amazon VPC 내의 전용 ENI를 할당받아 고유한 사설 IP 주소와 보안 그룹을 가지게 된다. 이를 통해 각 애플리케이션은 높은 수준의 보안과 네트워크 격리를 보장받는다.
AWS Fargate는 사용자가 컨테이너를 실행하기 위해 서버나 클러스터를 직접 관리할 필요 없이, 애플리케이션을 구성하는 각 태스크를 정의하기만 하면 작동한다. 사용자는 컨테이너 이미지, 필요한 CPU와 메모리 자원, 네트워크 구성(예: VPC, 서브넷, 보안 그룹), IAM 역할 등을 포함한 태스크 정의를 작성한다. 이 정의는 ECS나 EKS를 통해 Fargate에 제출된다.
제출된 태스크 정의를 바탕으로 Fargate는 자동으로 적절한 컴퓨팅 인프라를 프로비저닝하고, 지정된 컨테이너 이미지를 ECR 등에서 가져와(pull) 안전하게 실행한다. 사용자는 로드 밸런서를 연결하거나 Auto Scaling 정책을 설정하여 애플리케이션의 가용성과 확장성을 관리할 수 있다. 모든 인프라스트럭처 관리, 패치 적용, 서버 유지보수 작업은 AWS 측에서 투명하게 처리되며, 사용자는 애플리케이션 코드와 비즈니스 로직에만 집중할 수 있다.
태스크 실행 중에는 AWS Management Console, AWS CLI, 또는 SDK를 통해 실시간으로 로그(CloudWatch Logs)와 메트릭을 모니터링할 수 있다. 또한 IAM을 통한 세분화된 접근 제어로 보안을 유지한다. 태스크 실행이 완료되면 Fargate는 사용된 컴퓨팅 리소스를 자동으로 회수하여, 사용한 만큼의 비용만 지불하는 종량제 모델을 구현한다.
AWS Fargate는 서버리스 컨테이너 실행 환경을 제공하여, 사용자가 서버나 클러스터를 직접 관리할 필요 없이 컨테이너화된 애플리케이션을 배포하고 운영할 수 있게 한다. 이는 개발 및 운영 팀이 인프라 관리 부담에서 벗어나 애플리케이션 코드와 비즈니스 로직에 집중할 수 있도록 설계되었다.
Fargate의 대표적인 사용 사례는 마이크로서비스 아키텍처 기반의 웹 애플리케이션 배포이다. 각 마이크로서비스를 독립적인 태스크로 패키징하여 Fargate에서 실행하면, 서비스별로 리소스를 독립적으로 확장하고 관리할 수 있다. 또한 배치 처리 작업에도 적합한데, 데이터 처리, 이미지 렌더링, 과학적 시뮬레이션과 같은 일괄 작업을 컨테이너로 정의하여 필요할 때만 실행하고 완료 후 자동으로 종료시키는 방식으로 비용을 절감할 수 있다.
기계 학습 모델 추론 서비스를 운영하는 경우에도 Fargate를 활용할 수 있다. 학습된 모델을 컨테이너에 담아 Fargate에 배포하면, 예측 요청 트래픽에 따라 자동으로 인스턴스 수를 조정하는 오토 스케일링을 쉽게 구성할 수 있다. 이는 트래픽 변동이 심한 애플리케이션에 유리하다.
마지막으로, CI/CD 파이프라인의 일부로 통합되어 테스트 환경이나 스테이징 환경을 제공하는 데 사용된다. 지속적 통합 과정에서 생성된 애플리케이션 빌드를 컨테이너 이미지로 만들어 Fargate에서 임시로 실행하여 테스트를 수행한 후, 인프라를 정리하는 방식으로 활용된다.
Fargate는 서버리스 컨테이너 실행 환경을 제공함으로써 사용자가 인프라스트럭처를 직접 관리할 필요가 없다는 점이 가장 큰 장점이다. 사용자는 컨테이너 이미지를 정의하고 필요한 CPU와 메모리 리소스만 지정하면 되며, AWS가 가상 머신의 프로비저닝, 패치 관리, 클러스터 관리, 오케스트레이션 소프트웨어의 운영을 모두 담당한다. 이는 개발자와 운영 팀이 인프라 관리 부담에서 벗어나 애플리케이션 코드와 비즈니스 로직 개발에 집중할 수 있게 해준다. 또한, 사용한 컴퓨팅 리소스에 대해서만 비용을 지불하는 종량제 모델을 채택하여, 미사용 인프라에 대한 비용을 절감할 수 있다.
서버리스 모델의 단점은 사용자에게 주어지는 제어권과 유연성이 제한될 수 있다는 점이다. 예를 들어, 커널 버전이나 특정 운영 체제 패치를 직접 선택하거나, 호스트 수준의 모니터링 에이전트를 설치하는 등의 저수준 커스터마이징이 불가능하다. 또한, ECS나 EKS와 같은 관리형 서비스의 일부로만 제공되므로, 순수 오픈소스 쿠버네티스나 다른 클라우드 벤더 환경으로의 이식성이 떨어진다. 인프라 비용이 숨겨져 있기 때문에, 세밀한 리소스 튜닝 없이 컨테이너를 실행할 경우 예상보다 높은 비용이 발생할 수도 있다.
요약하자면, Fargate는 인프라 관리의 복잡성을 제거하고 빠르게 컨테이너 애플리케이션을 배포하려는 사용자에게 이상적이다. 반면, 인프라에 대한 완전한 제어와 커스터마이징이 필요하거나, 특정 온프레미스 또는 멀티클라우드 환경과의 깊은 통합이 요구되는 경우에는 적합하지 않을 수 있다.
Fargate는 AWS의 서버리스 컨테이너 실행 엔진으로, AWS의 광범위한 컨테이너 및 클라우드 컴퓨팅 생태계와 긴밀하게 통합되어 작동한다. 가장 직접적인 관련 서비스는 ECS와 EKS이다. Fargate는 이 두 가지 주요 컨테이너 오케스트레이션 서비스의 실행 옵션으로 제공되며, 사용자는 EC2 인스턴스를 직접 관리하는 대신 Fargate를 선택하여 서버리스 방식으로 컨테이너를 실행할 수 있다.
이를 통해 사용자는 컨테이너화된 애플리케이션을 구축, 배포, 관리하는 데 집중하면서, 기반이 되는 서버 및 클러스터의 프로비저닝, 패치 관리, 용량 확장과 같은 인프라 관리 부담에서 벗어날 수 있다. 또한 Fargate 기반 작업은 VPC, IAM, CloudWatch를 비롯한 AWS의 보안, 네트워킹, 모니터링 서비스들과 원활하게 연동된다.
Fargate와 유사한 서버리스 컨테이너 실행 환경을 제공하는 타 클라우드 제공사의 서비스로는 Microsoft Azure의 ACI와 Google Cloud의 Cloud Run이 있다. 한편, 쿠버네티스 생태계 내에서는 Virtual Kubelet 프로젝트를 통해 Fargate와 같은 서버리스 백엔드를 쿠버네티스 API에 연결하는 방식도 발전하고 있다.