

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# Backend
<a name="back-end"></a>

백엔드는 테스트에 대한 로드를 생성하는 데 사용하는 컨테이너 이미지 파이프라인과 로드 테스트 엔진으로 구성됩니다. 프런트 엔드를 통해 백엔드와 상호 작용합니다. 또한 각 테스트에 대해 시작된 AWS Fargate의 Amazon ECS 태스크에는 고유한 테스트 식별자(ID)로 태그가 지정됩니다. 이러한 테스트 ID 태그를 사용하여이 솔루션의 비용을 모니터링할 수 있습니다. 자세한 내용은 *AWS Billing and Cost Management 사용 설명서*의 [사용자 정의 비용 할당 태그를 참조하세요](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/custom-tags.html).

## 컨테이너 이미지 파이프라인
<a name="container-image-pipeline"></a>

이 솔루션은 [Amazon Linux 2023](https://aws.amazon.com/linux/amazon-linux-2023/)으로 빌드된 컨테이너 이미지를 [Taurus](https://gettaurus.org/) 로드 테스트 프레임워크가 설치된 기본 이미지로 사용합니다. Taurus는 JMeter, K6, Locust 및 기타 테스트 도구를 지원하는 오픈 소스 테스트 자동화 프레임워크입니다. AWS는 Amazon Elastic Container Registry(Amazon ECR) 퍼블릭 리포지토리에서이 이미지를 호스팅합니다. 이 솔루션은이 이미지를 사용하여 AWS Fargate 클러스터의 Amazon ECS에서 작업을 실행합니다.

자세한 내용은이 가이드의 [컨테이너 이미지 사용자 지정](https://docs.aws.amazon.com/solutions/latest/distributed-load-testing-on-aws/container-image.html) 섹션을 참조하세요.

## 인프라 테스트
<a name="testing-infrastructure"></a>

이 솔루션은 기본 CloudFormation 템플릿 외에도 여러 리전에서 테스트를 실행하는 데 필요한 리소스를 시작하는 리전 템플릿을 제공합니다. 솔루션은이 템플릿을 Amazon S3에 저장하고 웹 콘솔에 해당 템플릿에 대한 링크를 제공합니다. 각 리전 스택에는 라이브 데이터를 처리하기 위한 VPC, AWS Fargate 클러스터 및 Lambda 함수가 포함되어 있습니다.

추가 리전에 테스트 인프라를 배포하는 방법에 대한 자세한 내용은이 가이드의 [다중 리전 배포](https://docs.aws.amazon.com/solutions/latest/distributed-load-testing-on-aws/multi-region-deployment.html) 섹션을 참조하세요.

## 로드 테스트 엔진
<a name="load-testing-engine"></a>

Distributed Load Testing 솔루션은 Amazon Elastic Container Service(Amazon ECS) 및 AWS Fargate를 사용하여 여러 리전에서 수천 명의 동시 사용자를 시뮬레이션하여 지속적인 속도로 HTTP 요청을 생성합니다.

포함된 웹 콘솔을 사용하여 테스트 파라미터를 정의합니다. 이 솔루션은 이러한 파라미터를 사용하여 JSON 테스트 시나리오를 생성하고 Amazon S3에 저장합니다. 테스트 스크립트 및 테스트 파라미터에 대한 자세한 내용은이 섹션의 [테스트 유형을](design-considerations.md#test-types) 참조하세요.

AWS Step Functions 상태 시스템은 AWS Fargate 클러스터에서 Amazon ECS 작업을 실행하고 모니터링합니다. AWS Step Functions 상태 시스템에는 ecr-checker AWS Lambda 함수, task-status-checker AWS Lambda 함수, task-runner AWS Lambda 함수, task-canceler AWS Lambda 함수 및 결과 구문 분석기 AWS Lambda 함수가 포함되어 있습니다. 워크플로에 대한 자세한 내용은이 가이드의 [워크플로 테스트](https://docs.aws.amazon.com/solutions/latest/distributed-load-testing-on-aws/test-workflow.html) 섹션을 참조하세요. 테스트 결과에 대한 자세한 내용은이 가이드의 [테스트 결과](https://docs.aws.amazon.com/solutions/latest/distributed-load-testing-on-aws/test-results.html) 섹션을 참조하세요. 테스트 취소 워크플로에 대한 자세한 내용은이 가이드의 [테스트 취소 워크플로](https://docs.aws.amazon.com/solutions/latest/distributed-load-testing-on-aws/test-cancel-workflow.html) 섹션을 참조하세요.

라이브 데이터를 선택하면 솔루션은 해당 리전의 Fargate 작업에 해당하는 CloudWatch 로그를 통해 각 리전에서 real-time-data-publisher Lambda 함수를 시작합니다. 그런 다음 솔루션은 기본 스택을 시작한 리전 내의 AWS IoT Core에서 데이터를 처리하고 주제에 게시합니다. 자세한 내용은이 가이드의 [라이브 데이터](https://docs.aws.amazon.com/solutions/latest/distributed-load-testing-on-aws/live-data.html) 섹션을 참조하세요.