View a markdown version of this page

Gambaran umum arsitektur - Pengujian Beban Terdistribusi di AWS

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Gambaran umum arsitektur

Diagram arsitektur

Menerapkan solusi ini dengan parameter default akan menerapkan komponen berikut di akun AWS Anda.

Pengujian Beban Terdistribusi pada arsitektur AWS

Pengujian Beban Terdistribusi pada arsitektur AWS
catatan

CloudFormation Sumber daya AWS dibuat dari konstruksi AWS Cloud Development Kit (AWS CDK).

Alur proses tingkat tinggi untuk komponen solusi yang digunakan dengan CloudFormation template AWS adalah sebagai berikut:

  1. (CloudFront + Opsi penerapan hosting S3) Pengguna Konsol mengakses konsol web melalui Amazon CloudFront, yang melayani aplikasi AWS Amplify yang dihosting di bucket Amazon Simple Storage Service (Amazon S3).

  2. (Opsi penyebaran hosting ALB+ECS Fargate) Pengguna Konsol mengakses konsol web melalui Application Load Balancer, yang merutekan lalu lintas ke aplikasi AWS Amplify yang berjalan di Amazon Elastic Container Service (Amazon ECS) di AWS Fargate di dalam AmazonVirtual Private Cloud (Amazon VPC).

  3. (Opsi penerapan tanpa kepala) Tidak ada front end publik yang digunakan. Solusinya menyediakan konsol web sebagai ZIP yang dapat diunduh dalam bucket Amazon S3 pribadi. Pengguna Konsol dapat mengakses konsol dari server web yang dihosting sendiri.

  4. Selama konfigurasi awal, solusi membuat pengguna administrator default di kumpulan pengguna Amazon Cognito dan mengirimkan email pembuatan akun ke alamat email yang Anda berikan. Kumpulan pengguna Cognito mengelola akses pengguna ke konsol web, REST API, CLI, dan MCP Server.

  5. Amazon API Gateway memanggil layanan mikro AWS Lambda yang menyediakan logika bisnis untuk mengelola data pengujian dan menjalankan pengujian.

  6. Layanan mikro berinteraksi dengan Amazon S3, Amazon DynamoDB, dan EventBridgeAmazon untuk menyimpan detail skenario pengujian dan mengelola jadwal pengujian. Saat Anda menjadwalkan pengujian untuk dijalankan di masa mendatang atau pada interval berulang, layanan mikro membuat jadwal EventBridge Penjadwal yang memanggil layanan mikro pada waktu yang dijadwalkan.

  7. Untuk menjalankan pengujian, layanan mikro memanggil AWS Step Functions, yang mengatur eksekusi pengujian.

  8. EventBridge aturan merutekan tugas Amazon ECS dan peristiwa kegagalan Step Functions ke fungsi Lambda pengendali kegagalan.

  9. Step Functions meluncurkan tugas Amazon Elastic Container Service (Amazon ECS) di AWS Fargate di setiap Wilayah AWS yang Anda pilih.

  10. Setiap tugas berjalan dalam Amazon Virtual Private Cloud (Amazon VPC) di Wilayah yang dipilih.

  11. Wadah pengujian beban menggunakan gambar dasar Amazon Linux 2023 dengan kerangka kerja otomatisasi pengujian Taurus diinstal. Taurus menjalankan tes JMeter, K6, Locust, atau Single HTTP Endpoint Anda. Untuk detail tentang bagaimana setiap kerangka pengujian disediakan, lihat Penyediaan kerangka kerja Pengujian. Opsi ALB+ECS akan menggunakan wadah host web. Gambar kontainer di-host oleh AWS di repositori publik Amazon Elastic Container Registry (Amazon ECR).

  12. Setiap tugas Fargate menulis hasil pengujian Per-wilayahnya ke Amazon S3 dan memancarkan log ke Amazon. CloudWatch Ketika semua Wilayah selesai, layanan mikro mengumpulkan hasil di DynamoDB.

  13. Jika Anda mengaktifkan opsi data langsung, fungsi Lambda menerima CloudWatch log dari tugas Fargate selama pengujian.

  14. Fungsi Lambda menerbitkan log ke topik di AWS IoT Core di Wilayah tempat tumpukan utama diterapkan. Konsol web berlangganan topik untuk menampilkan metrik waktu nyata saat pengujian berjalan.

  15. (Akses CLI opsional) Pengguna dapat menginstal antarmuka baris perintah DLT (CLI) secara lokal untuk berinteraksi dengan solusi dari terminal mereka. CLI mengautentikasi melalui Cognito dan memanggil REST API secara langsung, memungkinkan otomatisasi dan integrasi skrip. CI/CD

    catatan

    Langkah-langkah berikut menjelaskan integrasi MCP Server opsional untuk analisis pengujian AI-assisted beban. Komponen ini hanya digunakan jika Anda memilih opsi MCP Server selama penerapan solusi.

  16. Klien MCP (alat pengembangan AI) terhubung ke titik akhir Amazon Bedrock AgentCore Gateway untuk mengakses data solusi Pengujian Beban Terdistribusi melalui Protokol Konteks Model. AgentCore Gateway memvalidasi token otentikasi Cognito pengguna untuk memastikan akses resmi ke Server MCP.

  17. Setelah otentikasi berhasil, AgentCore Gateway meneruskan permintaan alat MCP ke fungsi Lambda Server MCP DLT. Fungsi Lambda mengembalikan data terstruktur ke AgentCore Gateway, yang mengirimkannya kembali ke klien MCP untuk AI-assisted analisis dan wawasan.

  18. Fungsi Lambda memproses permintaan dan menanyakan sumber daya AWS yang sesuai (tabel DynamoDB, bucket S3, atau CloudWatch log) untuk mengambil data pengujian beban yang diminta.