View a markdown version of this page

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

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

아키텍처 개요

아키텍처 다이어그램

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

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

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

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

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

  1. (CloudFront + S3 호스팅 배포 옵션) 콘솔 사용자는 Amazon Simple Storage Service(S3) 버킷에서 호스팅되는 AWS Amplify 애플리케이션을 제공하는 Amazon CloudFront를 통해 웹 콘솔에 액세스합니다. https://aws.amazon.com/amplify https://aws.amazon.com/s3 Amazon S3

  2. (ALB + ECS Fargate 호스팅 배포 옵션) 콘솔 사용자는 Amazon Amazon Virtual Private Cloud(Amazon VPC) 내에서 AWS Fargate의 Amazon Elastic Container Service(Amazon ECS)에서 실행되는 AWS Amplify 애플리케이션으로 트래픽을 라우팅하는 Application Application Load Balancer를 통해 웹 콘솔에 액세스합니다. https://aws.amazon.com/fargate

  3. (헤드리스 배포 옵션) 퍼블릭 프런트 엔드는 배포되지 않습니다. 이 솔루션은 웹 콘솔을 프라이빗 Amazon S3 버킷에 다운로드 가능한 ZIP으로 제공합니다. 콘솔 사용자는 자체 호스팅 웹 서버에서 콘솔에 액세스할 수 있습니다.

  4. 초기 구성 중에 솔루션은 Amazon Cognito 사용자 풀에 기본 관리자 사용자를 생성하고 사용자가 제공한 이메일 주소로 계정 생성 이메일을 보냅니다. Cognito 사용자 풀은 웹 콘솔, REST API, CLI 및 MCP 서버에 대한 사용자 액세스를 관리합니다.

  5. Amazon API Gateway는 테스트 데이터를 관리하고 테스트를 실행하는 비즈니스 로직을 제공하는 AWS Lambda 마이크로서비스를 호출합니다.

  6. 마이크로서비스는 Amazon S3, Amazon DynamoDBAmazon EventBridge와 상호 작용하여 테스트 시나리오 세부 정보를 저장하고 테스트 일정을 관리합니다. 나중에 또는 반복 간격으로 테스트를 실행하도록 예약하면 마이크로서비스는 예약된 시간에 마이크로서비스를 호출하는 EventBridge 스케줄러 일정을 생성합니다.

  7. 테스트를 실행하기 위해 마이크로서비스는 테스트 실행을 오케스트레이션하는 AWS Step Functions를 호출합니다.

  8. EventBridge 규칙은 Amazon ECS 작업 및 Step Functions 실패 이벤트를 실패 핸들러 Lambda 함수로 라우팅합니다.

  9. Step Functions는 선택한 각 AWS 리전의 AWS Fargate에서 Amazon Elastic Container Service(Amazon ECS) 작업을 시작합니다.

  10. 각 작업은 선택한 리전의 Amazon Virtual Private Cloud(Amazon VPC) 내에서 실행됩니다.

  11. 로드 테스트 컨테이너는 Taurus 테스트 자동화 프레임워크가 설치된 Amazon Linux 2023 기본 이미지를 사용합니다. Taurus는 JMeter, K6, Locust 또는 단일 HTTP 엔드포인트 테스트를 실행합니다. 각 테스트 프레임워크가 프로비저닝되는 방법에 대한 자세한 내용은 프레임워크 프로비저닝 테스트를 참조하세요. ALB + ECS 옵션은 웹 호스트 컨테이너를 사용합니다. 컨테이너 이미지는 AWS가 Amazon Elastic Container Registry(Amazon ECR) 퍼블릭 리포지토리에서 호스팅합니다.

  12. 각 Fargate 태스크는 리전별 테스트 결과를 Amazon S3에 쓰고 Amazon CloudWatch에 로그를 내보냅니다. 모든 리전이 완료되면 마이크로서비스가 DynamoDB에서 결과를 집계합니다.

  13. 라이브 데이터 옵션을 활성화하면 Lambda 함수는 테스트 중에 Fargate 작업으로부터 CloudWatch 로그를 수신합니다.

  14. Lambda 함수는 기본 스택이 배포된 리전의 AWS IoT Core에 있는 주제에 로그를 게시합니다. 웹 콘솔은 주제를 구독하여 테스트가 실행되는 동안 실시간 지표를 표시합니다.

  15. (선택 사항인 CLI 액세스) 사용자는 로컬에 DLT 명령줄 인터페이스(CLI)를 설치하여 터미널에서 솔루션과 상호 작용할 수 있습니다. CLI는 Cognito를 통해 인증하고 REST API를 직접 호출하여 스크립팅된 자동화 및 CI/CD 통합을 활성화합니다.

    참고

    다음 단계에서는 AI 지원 로드 테스트 분석을 위한 선택적 MCP Server 통합에 대해 설명합니다. 이 구성 요소는 솔루션 배포 중에 MCP 서버 옵션을 선택한 경우에만 배포됩니다.

  16. MCP 클라이언트(AI 개발 도구)는 Amazon Bedrock AgentCore Gateway 엔드포인트에 연결하여 모델 컨텍스트 프로토콜을 통해 분산 로드 테스트 솔루션의 데이터에 액세스합니다. AgentCore Gateway는 사용자의 Cognito 인증 토큰을 검증하여 MCP 서버에 대한 권한 있는 액세스를 보장합니다.

  17. 인증에 성공하면 AgentCore Gateway는 MCP 도구 요청을 DLT MCP 서버 Lambda 함수로 전달합니다. Lambda 함수는 구조화된 데이터를 AgentCore Gateway로 반환하여 AI 지원 분석 및 인사이트를 위해 MCP 클라이언트로 다시 보냅니다.

  18. Lambda 함수는 요청을 처리하고 적절한 AWS 리소스(DynamoDB 테이블, S3 버킷 또는 CloudWatch 로그)를 쿼리하여 요청된 로드 테스트 데이터를 검색합니다.