아키텍처 개요 - AWS의 분산 로드 테스트

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

아키텍처 개요

아키텍처 다이어그램

기본 파라미터를 사용하여이 솔루션을 배포하면 AWS 계정에 다음 구성 요소가 배포됩니다.

AWS 아키텍처의 분산 로드 테스트

image2
참고

AWS CloudFormation 리소스는 AWS Cloud Development Kit(AWS CDK) 구문에서 생성됩니다.

AWS CloudFormation 템플릿과 함께 배포된 솔루션 구성 요소의 상위 수준 프로세스 흐름은 다음과 같습니다.

  1. 분산 로드 테스터 API는 Amazon API Gateway를 활용하여 솔루션의 마이크로서비스(AWS Lambda 함수)를 호출합니다.

  2. 마이크로서비스는 테스트 데이터를 관리하고 테스트를 실행하는 비즈니스 로직을 제공합니다.

  3. 이러한 마이크로서비스는 Amazon Simple Storage Service(Amazon S3), Amazon DynamoDBAWS Step Functions와 상호 작용하여 테스트 시나리오 세부 정보 및 결과에 대한 스토리지를 제공하고 테스트 시나리오를 실행합니다.

  4. Amazon Virtual Private Cloud(VPC) 네트워크 토폴로지는 AWS Fargate에서 실행되는 솔루션의 Amazon Elastic Container Service(Amazon ECS) 컨테이너를 포함하여 배포됩니다.

  5. 컨테이너에는 AmazonLinux(블레이제미터 로드 테스트 프레임워크가 설치됨) OCI(Open Container Initiative) 호환 컨테이너 이미지가 포함되어 있습니다.이 이미지는 애플리케이션의 성능을 테스트하기 위해 로드를 생성하는 데 사용됩니다. Taurus/Blazemeter는 오픈 소스 테스트 자동화 프레임워크입니다. 컨테이너 이미지는 AWS가 Amazon Elastic Container Registry(Amazon ECR) 퍼블릭 리포지토리에서 호스팅합니다. ECR 이미지 리포지토리에 대한 자세한 내용은 컨테이너 이미지 사용자 지정을 참조하세요.

  6. AWS Amplify로 구동되는 웹 콘솔은 정적 웹 호스팅을 위해 구성된 Amazon S3 버킷에 배포됩니다.

  7. Amazon CloudFront는 솔루션의 웹 사이트 버킷 콘텐츠에 대한 안전한 퍼블릭 액세스를 제공합니다.

  8. 초기 구성 중에이 솔루션은 기본 솔루션 관리자 역할(IAM 역할)을 생성하고 고객이 지정한 사용자 이메일 주소로 액세스 초대를 보냅니다.

  9. Amazon Cognito 사용자 풀은 콘솔 및 분산 로드 테스터 API에 대한 사용자 액세스를 관리합니다.

  10. 이 솔루션을 배포한 후 웹 콘솔을 사용하여 일련의 작업을 정의하는 테스트 시나리오를 생성할 수 있습니다.

  11. 마이크로서비스는이 테스트 시나리오를 사용하여 지정된 리전의 AWS Fargate에서 Amazon ECS 작업을 실행합니다.

  12. Amazon S3 및 DynamoDB에 결과를 저장하는 것 외에도 테스트가 완료되면 출력이 Amazon CloudWatch에 로깅됩니다.

  13. 라이브 데이터 옵션을 선택하면 솔루션은 테스트 중에 테스트가 실행된 각 리전에 대해 AWS Fargate 작업에 대한 Amazon CloudWatch logs를 Lambda 함수로 전송합니다.

  14. 그런 다음 Lambda 함수는 기본 스택이 배포된 리전의 AWS IoT Core에서 해당 주제에 데이터를 게시합니다. 웹 콘솔은 주제를 구독하며 테스트가 실행되는 동안 웹 콘솔에서 데이터를 볼 수 있습니다.