架構概觀 - AWS 上的分散式負載測試

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

架構概觀

架構圖

使用預設參數部署此解決方案會在您的 AWS 帳戶中部署下列元件。

AWS 上 AWS 架構的分散式負載測試

image2
注意

AWS CloudFormation 資源是從 AWS 雲端開發套件 (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 (Amazon VPC) 網路拓撲包含解決方案在 AWS Fargate 上執行的 Amazon Elastic Container Service (Amazon ECS) 容器。

  5. 容器包括 AmazonLinux (已安裝 blazemeter 負載測試架構) 的 Open Container Initiative (OCI) 相容容器映像,用於產生負載以測試應用程式的效能。Taurus/Blazemeter 是一種開放原始碼測試自動化架構。容器映像由 AWS 在 Amazon Elastic Container Registry (Amazon ECR) 公有儲存庫中託管。如需 ECR 映像儲存庫的詳細資訊,請參閱容器映像自訂

  6. 採用 AWS Amplify 技術的 Web 主控台會部署到設定為靜態 Web 託管的 Amazon S3 儲存貯體。

  7. Amazon CloudFront 提供對解決方案網站儲存貯體內容的安全公開存取。

  8. 在初始組態期間,此解決方案也會建立預設解決方案管理員角色 (IAM 角色),並將存取邀請傳送至客戶指定的使用者電子郵件地址。

  9. Amazon Cognito 使用者集區會管理 主控台和分散式負載測試器 API 的使用者存取權。

  10. 部署此解決方案之後,您可以使用 Web 主控台來建立測試案例,以定義一系列任務。

  11. 微服務會使用此測試案例,在指定區域中的 AWS Fargate 任務上執行 Amazon ECS。

  12. 除了將結果儲存在 Amazon S3 和 DynamoDB 之外,測試完成後,輸出也會記錄在 Amazon CloudWatch 中。

  13. 如果您選取即時資料選項,解決方案會在測試期間,針對執行測試的每個區域,將 AWS Fargate 任務的 Amazon CloudWatch logs傳送至 Lambda 函數。

  14. 然後,Lambda 函數會將資料發佈至部署主要堆疊之區域中 AWS IoT Core 中的對應主題。Web 主控台會訂閱 主題,您可以在測試在 Web 主控台中執行時查看資料。