개요

Distributed Load Testing on AWS는 대규모 성능 테스트를 자동화하여 다양한 로드 조건에서 애플리케이션이 어떻게 작동하는지 보여주고, 애플리케이션의 수명 주기(개발, 스테이징, 프로덕션, 포스트 프로덕션 포함) 전반에 걸쳐 잠재적인 성능 문제를 식별합니다. 이 AWS 솔루션은 수백에서 수백만에 이르는 사용자 및 트랜잭션을 시뮬레이션하므로, 사용자 또는 서버를 프로비저닝할 필요 없이 일관된 트랜잭션을 생성합니다.
이 솔루션은 HAQM Elastic Compute Cloud(HAQM E2) 인스턴스, HAQM Elastic Container Service(HAQM ECS) 또는 HAQM Elastic Kubernetes Service(HAQM EKS)의 확장성과 안정성, AWS Lambda 함수의 콜드 스타트 및 실행 시간, HAQM Relational Database Service(HAQM RDS) 데이터베이스 쿼리 성능, HAQM CloudFront 응답 시간 등과 같은 중요한 영역에 대한 인사이트를 제공합니다. 실제 로드 시나리오를 시뮬레이션하여 성능과 비용 효율성 양쪽 모두에 맞춰 인프라를 최적화할 수 있습니다.
장점

다양한 로드 조건에서 애플리케이션이 어떻게 작동하는지에 대한 정확한 인사이트를 확보해 인프라 규모를 적절히 조정하여 비용 효율적인 리소스 할당이 이루어지도록 합니다.
로드 테스트를 예약하거나 이 솔루션을 지속적 통합, 지속적 전달(CI/CD) 파이프라인에 통합하여 테스트 프로세스를 간소화하여 로드 테스트를 자동화하세요.
여러 AWS 리전의 실제 트래픽을 시뮬레이션하여 다양한 지리적 로드에서 애플리케이션이 어떻게 작동하는지 평가하여 글로벌 성능을 최적화해 보세요.
분산형 로드 테스트를 JMeter 스크립트와 원활하게 설계 및 통합하여 애플리케이션의 고유한 요구 사항에 맞게 테스트를 사용자 지정할 수 있습니다.
기술 세부 정보

1단계
HAQM API Gateway API를 사용하여 이 솔루션의 마이크로서비스(AWS Lambda 함수)를 간접적으로 호출합니다.
2단계
마이크로 서비스는 테스트 데이터를 관리하고 테스트를 실행하기 위한 비즈니스 로직을 제공합니다.
3단계
이 마이크로서비스는 HAQM Simple Storage Service(S3), HAQM DynamoDB, AWS Step Functions와 상호작용하면서 테스트 시나리오를 실행하고 테스트 시나리오에 대한 스토리지를 제공합니다.
4단계
HAQM Virtual Private Cloud(VPC) 네트워크 토폴로지에는 AWS Fargate에서 실행되는 솔루션의 HAQM Elastic Container Service(HAQM ECS) 컨테이너가 포함됩니다.
5단계
컨테이너에는 Taurus 로드 테스트 Open Container Initiative(OCI) 호환 컨테이너 이미지가 있으며, 이는 애플리케이션 성능을 테스트하기 위한 부하를 생성하는 데 사용합니다. Taurus는 오픈 소스 테스트 자동화 프레임워크입니다. 컨테이너 이미지는 HAQM Elastic Container Registry(HAQM ECR) 퍼블릭 리포지토리에서 AWS가 호스팅합니다.
6단계
AWS Amplify로 구동되는 웹 콘솔이 고정 웹 호스팅을 위해 구성된 S3 버킷에 배포됩니다.
7단계
HAQM CloudFront는 솔루션의 웹 사이트 버킷 콘텐츠에 대한 안전한 퍼블릭 액세스를 제공합니다.
8단계
이 솔루션은 최초 구성 시 기본 솔루션 관리자 역할도 생성하고 고객이 지정한 사용자 이메일 주소로 액세스 초대를 전송합니다.
9단계
HAQM Cognito 사용자 풀은 콘솔 및 API Gateway API에 대한 사용자 액세스를 관리합니다.
10단계
솔루션을 배포하고 나면 웹 콘솔을 사용하여 일련의 태스크를 정의하는 테스트 시나리오를 생성할 수 있습니다.
11단계
마이크로서비스는 이 테스트 시나리오를 사용하여 지정된 AWS 리전의 Fargate 태스크에서 HAQM ECS를 실행합니다.
12단계
결과를 HAQM S3 및 DynamoDB에 저장하는 것 외에도 테스트가 완료되면 HAQM CloudWatch에 출력이 기록됩니다.
13단계
라이브 데이터 옵션을 선택하면 테스트가 실행되는 각 리전에서 테스트 중에 Fargate 태스크에 대한 CloudWatch 로그가 Lambda 함수로 전송됩니다.
14단계
이 Lambda 함수는 기본 스택이 배포된 리전에 있는 AWS IoT Core의 해당하는 주제에 데이터를 게시합니다. 웹 콘솔이 해당 주제를 구독하여 테스트가 실행되는 동안 웹 콘솔에 데이터가 표시됩니다.

“Calabrio의 사명은 고객 센터가 더 스마트하고 더 빠르고 더 효율적으로 일할 수 있도록 돕는 것입니다. 우리는 주요 고객을 위해 새로운 고성능 기능을 신속하게 설계해야 했습니다. 비용이 많이 드는 엔터프라이즈 테스트 라이선스를 사용하거나 오픈 소스 도구용 사용자 지정 오케스트레이션 코드를 작성할 필요 없이 Distributed Load Testing on AWS를 사용하여 시스템 성능을 대규모로 테스트했습니다. 이 AWS 솔루션을 사용하여 예상 트래픽 볼륨의 6배에 달하는 테스트를 설계하고 실행했으며 새 기능을 예정보다 빨리 성공적으로 출시했습니다.”
관련 콘텐츠

민간 기업이든 공공 부문 서비스든 사용자 로드 증가에 따라 애플리케이션을 확장할 수 있어야 합니다. Distributed Load Testing on AWS를 사용하면 애플리케이션 테스트를 자동화하고, 대규모에서 성능을 확인하며, 애플리케이션 릴리스 전에 병목 현상을 해결할 수 있습니다.