확장 가능한 워크로드 는 리소스를 자동으로 추가하거나 제거하여 특정 시기의 수요에 리소스 공급을 맞출 수 있는 탄력성을 제공합니다.
리소스를 확보하거나 조정할 때 자동화 사용: 손상된 리소스를 교체하거나 워크로드를 조정할 때 Amazon S3 및 AWS Auto Scaling과 같은 관리형 AWS 서비스를 사용하여 프로세스를 자동화합니다. 서드파티 도구 및 AWS SDK를 사용하여 크기를 자동 조정할 수도 있습니다.
관리형 AWS 서비스는 Amazon S3, Amazon CloudFront, AWS Auto Scaling, AWS Lambda, Amazon DynamoDB, AWS Fargate, Amazon Route 53 등이 있습니다.
Amazon S3는 높은 요청 속도를 처리하도록 자동으로 확장됩니다.
예를 들어 애플리케이션은 버킷에서 접두사마다 초당 3,500개 이상의 PUT/COPY/POST/DELETE 및 5,500개의 GET/HEAD 요청을 전송할 수 있습니다. 버킷의 접두사 수에는 제한이 없습니다. 읽기를 병렬화하여 읽기 또는 쓰기 성능을 높일 수 있습니다. 예를 들어 Amazon S3 버킷에서 10개의 접두사를 생성하여 읽기를 병렬화하는 경우 읽기 성능을 초당 55,000개의 읽기 요청으로 확장할 수 있습니다.
AWS Auto Scaling을 사용하면 손상된 인스턴스를 감지하고 교체할 수 있습니다.
또한 Amazon EC2 인스턴스 및 스팟 플릿, Amazon ECS 태스크, Amazon DynamoDB 테이블 및 인덱스와 Amazon Aurora 복제본에 대한 조정 계획을 수립할 수도 있습니다.
Predictive Auto Scaling
새로운 기능 – 머신 러닝 기반 EC2용 예측 확장
2021년 5월 21일 업데이트 – 더 쉬운 구성을 위해 이제 기본적으로 EC2 Auto Scaling에서 Predictive Scaling을 사용할 수 있습니다. 자세한 내용과 시작하려면 설명서 를 참조하십시오.
Amazon ECS 클러스터를 사용하는 경우 워크로드 수요에 해당하는 사용량 지표에 따라 이러한 자동 조정이 수행되도록 구성할 수 있습니다.
AWS에서 Target Auto Scaling을 사용하면 Autoscaler가 가정용 온도 조절기처럼 작동하여 리소스를 추가하거나 제거함으로써 지정한 목표 값(예: 70%의 CPU 사용률)을 유지합니다.
리틀의 법칙은 필요한 컴퓨팅 인스턴스(EC2 인스턴스, 동시 Lambda 함수 등) 수를 계산하는 데 도움이 됩니다.
L = λW
L = 인스턴스 수(또는 시스템의 평균 동시성)
λ = 요청이 도착하는 평균 속도(요청/초)
W = 시스템이 각 요청에 소비하는 평균 시간(초)
예를 들어 100rps에서 각 요청을 처리하는 데 0.5초가 걸리는 경우 수요를 따라가려면 50개의 인스턴스가 필요합니다.