Amazon ECS 서비스 할당량과 API 스로틀링 한도
Amazon ECS 서비스 할당량과 API 스로틀링 한도
Amazon ECS는 Elastic Load Balancing, AWS Cloud Map, Amazon EC2를 포함한 여러 AWS 서비스와 통합돼요. 이러한 긴밀한 통합 덕분에 Amazon ECS는 서비스 로드 밸런싱, 서비스 디스커버리, 태스크 네트워킹, 클러스터 자동 확장 같은 여러 기능을 포함합니다.
출처: 문서
본문
Amazon ECS는 Elastic Load Balancing, AWS Cloud Map, Amazon EC2를 포함한 여러 AWS 서비스와 통합됩니다. 이 긴밀한 통합으로 Amazon ECS는 서비스 로드 밸런싱, 서비스 디스커버리, 태스크 네트워킹, 클러스터 자동 확장 같은 여러 기능을 포함해요. Amazon ECS와 통합되는 다른 AWS 서비스들은 모두 일관된 성능과 활용도를 보장하기 위해 서비스 할당량(service quotas)과 API 요율 한도(API rate limits)를 유지합니다. 이러한 서비스 할당량은 필요 이상의 리소스가 우발적으로 프로비저닝되는 것을 방지하고, 청구서를 늘릴 수 있는 악의적 행위로부터도 보호합니다.
서비스 할당량과 AWS API 요율 한도를 숙지하면, 예상치 못한 성능 저하를 걱정하지 않고 워크로드 확장을 계획할 수 있습니다. 자세한 내용은 "Amazon ECS service quotas"와 "Request throttling for the Amazon ECS API"를 참고하세요.
Amazon ECS에서 워크로드를 확장할 때 다음 서비스 할당량을 고려하세요. 서비스 할당량 증가를 요청하는 방법은 AWS Management Console의 "Managing your Amazon ECS and AWS Fargate service quotas"를 참고하세요.
- AWS Fargate는 각 AWS Region에서 동시에 실행되는 태스크 수를 제한하는 할당량이 있습니다. Amazon ECS의 On-Demand와 Fargate Spot 태스크 모두에 대한 할당량이 있습니다. 각 서비스 할당량에는 Fargate에서 실행하는 Amazon EKS 파드도 포함됩니다. Fargate 할당량에 대한 자세한 내용은 AWS Fargate용 "AWS Fargate service quotas"를 참고하세요.
- Amazon EC2 인스턴스에서 실행되는 태스크의 경우, 각 클러스터에 등록할 수 있는 최대 Amazon EC2 인스턴스 수는 5,000개입니다. Auto Scaling 그룹 용량 공급자로 Amazon ECS 클러스터 자동 확장을 사용하거나, 클러스터용 Amazon EC2 인스턴스를 직접 관리한다면, 이 할당량이 배포 병목이 될 수 있습니다. 더 많은 용량이 필요하면 클러스터를 더 만들거나 서비스 할당량 증가를 요청할 수 있어요.
- Auto Scaling 그룹 용량 공급자로 Amazon ECS 클러스터 자동 확장을 사용한다면, 서비스를 확장할 때 클러스터당
PROVISIONING상태의 태스크 수 할당량을 고려하세요. 이 할당량은 용량 공급자가 용량을 늘릴 수 있는 클러스터당PROVISIONING상태 태스크의 최대 수입니다. 많은 수의 태스크를 동시에 시작하면 이 할당량에 쉽게 도달할 수 있어요. 예를 들어 각각 수백 개의 태스크를 가진 수십 개의 서비스를 동시에 배포하는 경우입니다. 이때 클러스터 용량이 부족하면 용량 공급자가 태스크를 배치하기 위해 새 컨테이너 인스턴스를 시작해야 합니다. 용량 공급자가 Amazon EC2 인스턴스를 추가로 시작하는 동안 Amazon ECS 서비스 스케줄러는 태스크를 병렬로 계속 실행하려 할 것입니다. 하지만 이 활동은 클러스터 용량 부족으로 인해 스로틀링될 수 있어요. Amazon ECS 서비스 스케줄러는 새 컨테이너 인스턴스가 시작됨에 따라 태스크 배치 재시도에 back-off와 지수 스로틀링 전략을 구현합니다. 결과적으로 배포나 확장 시간이 더 느려질 수 있습니다. 이 상황을 피하려면, 클러스터 용량 증가가 필요하지 않은 많은 태스크를 배포하거나, 새 태스크 시작을 위한 여유 클러스터 용량을 유지하는 방식 중 하나로 서비스 배포를 계획하세요.
워크로드를 확장할 때 Amazon ECS 서비스 할당량뿐 아니라, Amazon ECS와 통합된 다른 AWS 서비스의 서비스 할당량도 고려하세요. 다음 섹션에서는 각 서비스의 핵심 요율 한도를 자세히 다루고, 잠재적인 스로틀링 문제를 처리하는 권장 사항을 제공합니다.
Elastic Load Balancing
Amazon ECS 서비스를 Elastic Load Balancing을 사용하도록 구성해 트래픽을 태스크에 고르게 분산할 수 있습니다.
더 알아보기 (Learn more)
- Amazon ECS 서비스 할당량과 스로틀링에 대한 자세한 내용은 AWS 공식 문서를 참고해 주세요.