AWS Fargate FAQ

일반

AWS Fargate는 Amazon Elastic Container Service(ECS) 및 Amazon Elastic Kubernetes Service(EKS)와 연동되는 컨테이너용 서버리스 컴퓨팅 엔진입니다. AWS Fargate를 사용하면 서버를 프로비저닝하고 관리할 필요가 없기 때문에 애플리케이션 구축에 쉽게 집중할 수 있고, 애플리케이션당 리소스를 지정하여 비용을 지불할 수 있으며, 설계에 따른 애플리케이션 격리를 통해 보안을 개선할 수 있습니다.

AWS Fargate는 사용량에 따라 요금이 부과되는 서버리스 컴퓨팅 엔진입니다. 서버를 관리할 필요가 없기 때문에 애플리케이션 구축에 집중할 수 있습니다. AWS Fargate는 Amazon ECS 및 Amazon EKS 모두와 호환됩니다. AWS Fargate를 사용하면 기본 인프라 리소스의 관리를 AWS로 이전하고 비즈니스 문제를 해결하는 코드를 작성하는 데 개발 팀의 역량을 집중하여 클라우드 애플리케이션을 더 쉽게 확장하고 관리할 수 있습니다. 서버 관리, 리소스 할당 및 규모 조정과 같은 작업을 AWS로 이전하면 운영 태세가 개선될 뿐만 아니라 클라우드에서 아이디어를 프로덕션으로 전환하는 프로세스가 가속화되고 총 소유 비용(TCO)이 낮아집니다. 여러 CPU 아키텍처 및 운영 체제가 지원되므로 다양한 애플리케이션에서 비용, 민첩성 및 확장성이라는 서버리스의 이점을 누릴 수 있습니다.

Amazon ECS는 확장성이 뛰어난 고성능 컨테이너 관리 서비스이고, Amazon EKS는 완전관리형 Kubernetes 서비스입니다. 두 서비스 모두 AWS Fargate에서 컨테이너를 예약하여 자동으로 컨테이너 크기를 조정하고 로드 밸런싱합니다. 또한 일정 관리를 통해 컨테이너 가용성을 최적화함으로써 컨테이너식 애플리케이션을 더 쉽게 구축하고 운영할 수 있도록 합니다.

AWS Fargate를 사용할 때 각 워크로드는 고유한 일회용 단일 테넌트 컴퓨팅 인스턴스에서 실행됩니다. 각 워크로드는 가상화 경계로 격리되며, 새로 프로비저닝된 인스턴스에서 각 Amazon ECS 태스크 또는 Kubernetes 포드가 실행됩니다. AWS Fargate 아키텍처에 대한 자세한 내용은 AWS Fargate 보안 백서를 참조하세요.

AWS Fargate의 격리 모델 및 보안이 필요한 경우 선택합니다. Amazon Elastic Compute Cloud(EC2) 인스턴스를 프로비저닝하거나 관리할 필요 없이 컨테이너를 시작하고 싶은 경우에도 Fargate를 선택합니다. AWS Fargate는 애플리케이션을 모니터링하고 지표와 로그를 수집할 수 있는 AWS 서비스 및 서드 파티 도구와 기본적으로 통합됩니다. 또한 AWS Fargate를 사용하면 선불 비용 없이 사용한 컴퓨팅 리소스에 대해서만 비용을 지불하면 됩니다. Amazon EC2 인스턴스에 대한 더 강력한 제어 또는 더 광범위한 사용자 지정 옵션이 필요한 경우에는 AWS Fargate 없이 Amazon ECS 또는 Amazon EKS를 사용하세요. 현재 AWS Fargate에서 지원되지 않는 GPU 워크로드의 경우 Amazon EC2를 사용하세요.

예. Amazon ECS를 사용할 때 AWS Fargate를 사용하면 Amazon Elastic Container Registry(Amazon ECR)에서 Arm 호환 컨테이너 이미지 또는 다중 아키텍처 컨테이너 이미지를 사용하여 Arm 기반 애플리케이션을 실행할 수 있습니다. Amazon ECS 태스크 정의에서 CPU 아키텍처를 Arm64로 지정하기만 하면 Arm 기반 AWS Graviton 프로세서로 구동되는 AWS Fargate를 대상으로 사용할 수 있습니다. 현재 AWS Fargate에서는 지원되지 않는 Arm 워크로드는 Amazon EC2를 사용하여 Amazon EKS에서 실행할 수 있습니다.

예. AWS Fargate는 Windows 컨테이너 실행에 대한 서버리스 접근 방식을 제공합니다. 서버를 프로비저닝하고 관리할 필요가 없으며 애플리케이션별로 리소스를 지정하여 요금을 지불할 수 있습니다. AWS Fargate는 태스크 수준 격리를 제공하고 필요한 패치 및 업데이트를 처리하여 안전한 컴퓨팅 환경을 제공합니다. 지원되는 Windows Server 버전은 Windows 플랫폼 버전 설명서 페이지를 참조하세요.

AWS Fargate는 서버리스 컴퓨팅 엔진이므로 AWS Fargate에서 실행되는 기반 컴퓨팅 인스턴스를 관리할 필요가 없습니다. 따라서 AWS Fargate가 고객 대신 Windows OS 라이선스를 관리하며 이 관리 요금은 AWS Fargate 요금에 기본적으로 포함되어 있습니다. 

AWS Fargate의 서비스 할당량은 지정된 계정의 특정 리전에서 사용된 vCPU 코어 수를 기반으로 합니다. 신규 AWS 계정의 초기 할당량은 낮을 수 있지만 시간이 지남에 따라 할당량을 늘릴 수 있습니다. 표준 AWS 서비스 할당량 증가 프로세스를 통해 이 소프트 한도를 높이도록 요청할 수 있습니다. 상당한 규모(코어 1만 개)가 필요한 워크로드의 경우 다중 계정 전략을 사용하는 것이 좋습니다.

AWS 컴퓨팅 SLA에서는 AWS Fargate에 대해 최소한 월별 99.99%의 가동률을 보장합니다. Included Containers Service에는 2가지 SLA 약정이 적용됩니다. (1) 여러 AZ에 배포된 Included Container Services를 관리하는 Multi-AZ Included Container Service SLA와 (2) Included Container Service 태스크 및 포드를 개별적으로 관리하는 Single Task/Pod SLA입니다. AWS Fargate 및 Amazon Elastic Container Service SLA 페이지를 참조하세요.

같은 리전 내에서 작업을 실행하고 있는 하나 이상의 가용 영역의 월간 가동률이 월별 청구 주기 동안 99.99%보다 낮은 경우, 컴퓨팅 SLA에 따라 AWS Fargate SLA 크레딧 지급 대상이 됩니다. SLA 이용 약관과 요청 제출 방법에 대한 자세한 내용은 컴퓨팅 SLA 세부 정보 페이지를 참조하세요.

AWS Fargate 사용

  • Seekable OCI(SOCI)는 AWS Fargate에서 실행되는 Amazon ECS 태스크의 시작 시간을 줄이는 데 도움이 될 수 있습니다. AWS 제공 오픈 소스 기술인 SOCI는 컨테이너 이미지를 지연 로딩하여 컨테이너 시작 속도를 높여 줍니다. SOCI를 시작하는 방법을 알아보려면 설명서블로그 게시물을 참조하세요.
  • zstd 압축 컨테이너 이미지로 AWS Fargate 시작 시간을 단축합니다. 컨테이너 이미지의 계층은 효율성을 위해 기본적으로 gzip 형식을 사용하여 압축됩니다. 하지만 컨테이너는 ‘zstd’라는 대체 형식을 지원하는데, 이 형식은 압축 해제 속도가 더 빠르기 때문에 AWS Fargate를 사용할 때 태스크 시작 시간이 더 빨라집니다. zstd로 컨테이너 이미지를 구축하는 방법에 대한 자세한 내용은 이 블로그 게시물을 참조하세요.

테스트 애플리케이션을 로컬로 로드하거나 개발 환경에서 로드하여 애플리케이션의 요구 사항을 파악한 후 요청 크기를 적절히 조정하는 것이 좋습니다. 워크로드의 크기가 작거나 큰 경우 AWS Compute Optimizer를 사용하여 권장 사항을 받아볼 수 있습니다.

AWS Fargate의 각 ECS 태스크 또는 Kubernetes 포드에는 Virtual Private Cloud(VPC)에 연결되어 있는 전용 탄력적 네트워크 인터페이스(ENI)가 지정됩니다. 컨테이너화된 워크로드로 들어오고 나가는 모든 트래픽은 이 ENI를 통과합니다. 그러므로 VPC 보안 그룹VPC 네트워크 ACL을 사용하여 ENI를 보호할 수 있고, VPC 흐름 로그를 사용하여 트래픽 흐름을 모니터링할 수 있습니다.

AWS Fargate에서 실행되는 각 워크로드에는 워크로드가 실행되는 동안 임시 스토리지로 사용할 수 있는 20GiB의 임시 스토리지에 대한 전체 액세스 권한이 부여됩니다. 워크로드가 중지되면 이 20GiB 볼륨에 저장된 모든 데이터가 지워집니다. 이 임시 스토리지 볼륨은 Amazon ECS에서는 200GiB까지, Amazon EKS에서는 175GiB까지 확장할 수 있습니다. AWS Fargate에서 실행되는 워크로드에 영구 스토리지를 제공할 때는 Amazon Elastic File System(EFS)이 사용됩니다.

컨테이너 내에서 컨테이너를 구축하는 일반적인 접근 방식에는 권한 모드(예: 도커에서 도커 사용)가 필요합니다. 그러나 권한 모드는 AWS Fargate의 보안 모델에서는 권한 모드를 사용할 수 없습니다. 아니면 컨테이너에 도커 소켓을 탑재해야 하는데 AWS Fargate 플랫폼 버전 1.4부터는 containerd가 활용되기 때문에 도커 소켓을 컨테이너에 탑재할 수 없습니다. 또는 Kaniko와 같은 루트리스 이미지 구축 프로젝트를 AWS Fargate의 보안 모델 내에 배포할 수 있는데, 이것이 컨테이너 이미지를 구축할 때 실행 가능한 옵션입니다.

보안 및 규정 준수

AWS Fargate는 PCI DSS, SOC, FIPS 140-2, FedRAMP 및 HIPAA를 비롯한 다양한 규정 준수 프로그램의 표준을 충족합니다. 자세한 내용과 전체 프로그램 목록은 범위 내 AWS 클라우드 보안 서비스 설명서를 참조하세요. 

예. AWS Fargate는 HIPAA 적격 서비스입니다. AWS와 Business Associate Addendum(BAA)을 체결한 경우, AWS Fargate에 배포된 컨테이너를 사용하여 암호화된 개인 건강 정보(PHI)를 처리할 수 있습니다. 자세한 내용은 HIPAA 규정 준수에 관한 AWS 페이지를 참조하세요. PHI를 처리, 저장 또는 전송할 계획이지만 AWS와 BAA를 체결하지 않은 경우, AWS에 문의하여 자세한 내용을 확인해 주세요. 

예. AWS GovCloud(미국) 리전에서 AWS Fargate를 사용할 수 있습니다. AWS GovCloud(미국)는 미국 정부 기관 및 클라우드에서 민감한 워크로드를 실행하는 계약업체, 교육 기관 및 기타 미국 고객의 특정 규제 및 규정 준수 요구 사항을 충족하도록 설계된 Amazon의 격리형 클라우드 인프라 및 서비스입니다. AWS Fargate를 사용할 수 있는 AWS 리전의 전체 목록은 리전 표 또는 설명서를 참조하세요. 

통합

AWS Fargate는 퍼스트 파티 AWS 서비스와 서드 파티 Amazon 파트너 네트워크(APN) 솔루션을 모두 포함하는 유연한 통합 모델을 제공합니다. 일반적인 통합 메커니즘은 기본 애플리케이션 컨테이너와 상호 작용할 수 있는 AWS Fargate 태스크 내에서 사이드카 컨테이너를 실행하는 것입니다. 예를 들어 기본 애플리케이션과 상호 작용한 다음 분석 및 검토를 위해 중앙 집중식 시스템으로 데이터를 전송하는 런타임 보안 에이전트 또는 로그 라우터가 여기에 포함됩니다.

Amazon CloudWatch Alarms, Amazon CloudWatch Logs, Amazon CloudWatch Events, AWS CloudTrail Logs, AWS Trusted AdvisorAWS Compute Optimizer와 같은 여러 도구를 사용하여 AWS Fargate 리소스의 다양한 측면을 모니터링하고 대응할 수 있습니다. 널리 사용되는 접근 방식은 CloudWatch Container Insights를 활용하여 로그를 수집 및 분석하고 운영 대시보드를 확인하는 것입니다. CloudWatch 및 Splunk용 로그 드라이버가 애플리케이션 로깅에 기본적으로 포함되어 있지만, 태스크 정의 파라미터를 통해 Amazon ECS용 FireLens를 사용하여 로그를 AWS 서비스 또는 AWS 파트너 네트워크(APN) 대상으로 라우팅할 수 있습니다.

요금 및 비용 최적화

AWS Fargate를 사용할 때는 컨테이너식 애플리케이션으로 프로비저닝한 vCPU, 메모리 및 스토리지 리소스의 양에 대한 요금만 지불하면 됩니다. vCPU 및 메모리 리소스는 컨테이너 이미지를 가져온 시점부터 Amazon ECS 태스크 또는 EKS 포드가 종료된 시점까지 계산되며 가장 가까운 시간(초)으로 올림 처리됩니다. 최소 1분의 요금이 부과됩니다. 기본적으로 모든 AWS Fargate 태스크 및 포드에 20GB의 임시 스토리지를 사용할 수 있습니다. 요금은 구성하는 추가 스토리지에 대해서만 부과됩니다. AWS Fargate는 Amazon EC2 인스턴스와 마찬가지로 스팟 및 컴퓨팅 절감형 플랜 요금 옵션을 지원합니다. 자세한 내용은 요금 페이지에서 확인할 수 있습니다.

  • AWS Fargate 태스크에는 예비 컴퓨팅 용량을 활용하는 스팟 인스턴스를 사용할 수 있는데, 이 스팟 인스턴스는 온디맨드 인스턴스보다 저렴한 가격으로 제공됩니다. 스팟 인스턴스를 사용하면 중단이 허용되는 Amazon ECS 태스크를 AWS Fargate 가격에서 최대 70% 할인된 가격으로 실행할 수 있습니다. 
  • AWS는 1년 또는 3년 동안 특정 용량(시간당 USD 단위)의 컴퓨팅 파워를 사용하겠다는 약정을 체결하고 예약형 인스턴스와 동일한 할인을 받을 수 있는 할인 모델인 AWS Fargate 절감형 플랜을 도입했습니다. 
  • AWS가 설계한 AWS Graviton 프로세서는 Amazon EC2, AWS 관리형 컨테이너 및 기타 관리형 서비스에서 실행되는 클라우드 워크로드에 대해 최고의 가격 대비 성능을 제공합니다. AWS Graviton은 유사한 x86 기반 인스턴스보다 최대 40% 더 나은 가격 대비 성능을 제공합니다. AWS Graviton 프로세서는 동급 EC2 인스턴스보다 에너지 효율이 더 높으며, 최대 60% 적은 에너지를 사용하여 동일한 성능을 제공합니다. 
  • AWS Fargate는 비효율적인 구성을 쉽게 식별하고 수정할 수 있는 AWS Compute Optimizer에 포함되어 있습니다.

AWS Graviton 프로세서는 Amazon Web Services 코어로 맞춤 제작되어 클라우드 워크로드에 최고의 가격 대비 성능을 제공합니다. AWS Graviton 프로세서 기반 AWS Fargate는 비교 가능한 인텔 x86기반 Fargate 대비 최대 40% 개선된 가격 대비 성능과, 20% 낮은 비용을 애플리케이션 서버, 웹 서비스, 고성능 컴퓨팅 및 미디어 처리 등의 다양한 워크로드에 제공합니다. AWS Fargate의 서버리스 이점을 그대로 활용하면서 컨테이너식 워크로드를 실행할 때의 성능과 비용을 최적화할 수 있습니다.