Distributed Load Testing on AWS는 줄여서 DLT라고 부릅니다. DLT는 AWS상에서 대규모 로드 테스트를 가능하게 해주는 서비스 입니다.
이 서비스는 AWS에서 제공해주는 관리형 서비스는 아니기 때문에 RDS나 Elasticache 처럼 AWS관리콘솔내에서 별도의 UI는 지원 하지는 않습니다. 하지만 별도의 관리형 웹페이지가 제공됩니다.
AWS에서 DLT를 위해 만들어놓은 Cloudformation 스크립트로 인프라 환경을 구축하면 메일을 통해 테스트 웹콘솔 URL과 ID/PW이 제공됩니다.
Cloudformaion에서 확인해야 할 부분은 정보를 받을 메일주소와 인프라를 구성할 네트워크 대역입니다. 별도의 VPC를 구성하기 때문에 기본 세팅 값을 사용해도 무방할 것 같습니다.
Cloudformation으로 구성되는 내부 아키텍처는 아래 그림과 같으며 Fargate를 사용하여 docker로 테스트 어플리케이션을 띄우는 방식입니다.
테스트 어플리케이션은 오픈소스 솔루션인 Taurus를 사용하였는데요. Taurus는 Blazmeter라는 미국 회사에서 만든 오픈소스 테스트 솔루션으로 국내에서 많이 사용하는 ngrinder와 같은 솔루션입니다.
구축은 AWS IAC(infra as a code) 서비스인 cloudformation템플릿으로 구축이되며 템플릿은 AWS가 공식적으로 제공해주는 템플릿을 사용합니다.
AWS 컨테이너 서비스인 ECS가 Fargate형태(사용한 리소스 만큼만 과금되는 형태)로 동작하고 taurus를 사용하여 aws가 커스터마이징한 어플리케이션이 도커형태로 동작하게 됩니다.
Distributed Load Testing on AWS를 구축 하고 나면 관리형 웹 URL과 로그인 정보가 전달되며, 해당 웹 URL에 로그인하여 jmeter 스크립트를 업로드하여 테스트를 동작시킵니다.
AWS Cloudformation에 의해 생성되는 리소스는 Fargate, dynamodb, lambda, step functions 이며
15분 동작하였을 경우 약 30달러가 발생됩니다.
테스트는 2일 동안 진행될 예정이며 하루 8시간 기준으로 예상 비용을 산정해보면 아래와 같습니다.
예상비용 = 2일8시간30USD = 약 480USD
'IT > AWS' 카테고리의 다른 글
[AWS] VPC flow log란? (생성 방법) (0) | 2022.04.14 |
---|---|
[AWS] 데이터 센터 위치는?믿거나 말거나 (목동/일산/용인/평촌) (0) | 2022.02.19 |
[AWS] EC2 Linux 인스턴스 재부팅시에도 UserData 실행하기 (0) | 2022.02.07 |
[Terraform] local, variable, output, data 차이 (0) | 2022.02.06 |
[AWS] Code Deploy 다중 ALB target 트래픽 제어하기 (1) | 2022.02.06 |