View a markdown version of this page

Pemecahan Masalah - 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.

Pemecahan Masalah

Resolusi masalah yang diketahui memberikan instruksi untuk mengurangi kesalahan yang diketahui. Jika petunjuk ini tidak mengatasi masalah Anda, Hubungi AWS Support memberikan petunjuk untuk membuka kasus AWS Support untuk solusi ini.

Resolusi masalah yang diketahui

Masalah: Anda menggunakan VPC yang ada dan pengujian Anda gagal dengan status Gagal, menghasilkan pesan galat berikut:

Test might have failed to run.

  • Penyelesaian:

Pastikan bahwa subnet ada di VPC yang ditentukan dan bahwa mereka memiliki rute ke internet dengan gateway internet atau gateway NAT. AWS Fargate memerlukan akses untuk menarik image container dari repositori publik agar berhasil menjalankan pengujian.

Masalah: Pengujian memakan waktu terlalu lama untuk dijalankan atau macet berjalan tanpa batas waktu

  • Penyelesaian:

Batalkan pengujian dan periksa AWS Fargate untuk memastikan bahwa semua tugas telah berhenti. Jika mereka belum berhenti, hentikan semua tugas Fargate secara manual. Periksa batas tugas Fargate sesuai permintaan di akun Anda untuk memastikan bahwa Anda dapat meluncurkan jumlah tugas yang diinginkan. Anda juga dapat memeriksa CloudWatch log untuk fungsi runner tugas Lambda untuk wawasan lebih lanjut tentang kegagalan saat meluncurkan tugas Fargate. Periksa log CloudWatch ECS untuk detail tentang apa yang terjadi di kontainer Fargate yang sedang berjalan.

Masalah: Tes dimulai tetapi gagal diselesaikan atau status tugas ECS tidak diketahui

  • Penyelesaian:

Jika Anda memilih opsi untuk menyediakan VPC yang ada di akun tempat solusi telah digunakan, pastikan bahwa VPC yang digunakan oleh Tugas ECS memiliki alamat IP gratis yang cukup untuk memulai jumlah tugas yang disediakan dalam input pengujian. Definisi tugas ECS menggunakan gambar ECR yang membutuhkan gateway internet atau rute ke internet sehingga layanan ECS dapat menyediakan tugas dengan mengunduh gambar ECR solusi dari aws- -load-testing-on-aws-load-tester. solutions/distributed Jika Anda tidak dapat memberikan rute ke internet karena semua subnet di VPC bersifat pribadi, Anda dapat meng-host gambar ECR di akun Anda menggunakan ECR pull through cache. Perbarui definisi tugas dengan URI gambar ECR baru dan buat revisi baru. Setelah definisi tugas diperbarui, konfigurasi solusi dalam tabel DynamoDB perlu diperbarui untuk menggunakan revisi baru. Nama tabel DynamoDB dapat ditemukan di tab output tumpukan CloudFormation di bawah kunci. ScenariosTable Perbarui atribut TaskDefinition untuk item dengan kunci TestID dan nilai region- []. SOLUTION-DEPLOYED-REGION

Masalah: Pengujian perlu menggunakan titik akhir yang bersifat pribadi atau tidak tersedia melalui gateway internet

  • Penyelesaian:

Saat menguji titik akhir API pribadi yang tidak dapat diakses melalui gateway internet, pertimbangkan pendekatan berikut:

  1. Konfigurasi Jaringan: Pastikan tabel rute subnet yang digunakan oleh tugas ECS diperbarui dengan rute ke rentang alamat IP dari titik akhir pribadi yang sedang diuji. Ini memungkinkan lalu lintas pengujian mencapai titik akhir pribadi dalam VPC Anda.

  2. Resolusi DNS: Untuk domain kustom, konfigurasikan pengaturan DNS di VPC Anda untuk menyelesaikan nama domain titik akhir pribadi. Lihat dokumentasi DNS VPC untuk petunjuk terperinci.

  3. Titik Akhir VPC: Jika menguji layanan AWS, pertimbangkan untuk menggunakan titik akhir VPC ( PrivateLinkAWS) untuk membuat konektivitas pribadi. Misalnya, untuk menguji API Gateway pribadi, Anda dapat membuat titik akhir VPC untuk API Gateway. Lihat dokumentasi API Gateway Pribadi.

  4. Pengintipan VPC: Jika titik akhir pribadi berada di VPC yang berbeda, buat peering VPC antara VPC tempat solusi diterapkan dan VPC yang berisi titik akhir pribadi. Konfigurasikan tabel rute yang sesuai di kedua VPC. Lihat dokumentasi VPC Peering.

  5. Transit Gateway: Untuk skenario jaringan yang lebih kompleks yang melibatkan beberapa VPC, pertimbangkan untuk menggunakan AWS Transit Gateway untuk merutekan lalu lintas antara VPC solusi dan VPC yang berisi titik akhir pribadi. Lihat dokumentasi Transit Gateway.

  6. Grup Keamanan: Pastikan bahwa grup keamanan yang terkait dengan tugas ECS Anda memungkinkan lalu lintas keluar ke titik akhir pribadi, dan grup keamanan titik akhir pribadi mengizinkan lalu lintas masuk dari tugas ECS.

Untuk menguji Application Load Balancer internal atau instans EC2, pastikan rentang VPC CIDR tidak tumpang tindih dan rute yang diperlukan dikonfigurasi dalam tabel rute.

Masalah: Pengujian selesai tetapi hasilnya tidak tersedia di UI

  • Penyelesaian:

Jika pengujian telah selesai tetapi hasilnya tidak tersedia di UI, file hasil harus tetap tersedia di Bucket S3 dari tugas ECS yang menjalankan pengujian. Ini adalah batasan yang diketahui dalam solusinya. Dalam arsitektur saat ini, solusinya menggunakan fungsi penguraian hasil Lambda untuk meringkas hasil dari beberapa tugas ECS, yang kemudian disimpan sebagai item dalam tabel DynamoDB. Tabel DynamoDB memiliki batas ukuran item maksimum 400 KB. Keterbatasan ini tercapai tergantung pada kompleksitas skrip pengujian, konkurensi, dan jumlah tugas yang digunakan. Kesalahan tidak berarti tes gagal; ini menunjukkan bahwa proses untuk meringkas hasil dan menyimpannya dalam tabel DynamoDB untuk operasi CRUD telah gagal. Hasilnya masih tersedia di bucket S3 untuk skenario pengujian.

Masalah penyebaran ALB+ECS Fargate

Masalah: Validasi sertifikat ACM macet dalam status “Validasi tertunda”

  • Penyelesaian:

Jika Anda meminta sertifikat ACM publik menggunakan validasi DNS, Anda harus menambahkan catatan CNAME yang disediakan oleh ACM ke konfigurasi DNS Anda. Arahkan ke konsol ACM, perluas detail sertifikat, dan tambahkan catatan validasi DNS ke penyedia DNS domain Anda. Jika Anda menggunakan validasi email, periksa alamat email yang terkait dengan domain untuk email validasi dari AWS. Untuk informasi selengkapnya, lihat validasi DNS di Panduan Pengguna AWS Certificate Manager.

Masalah: Konsol web mengembalikan kesalahan “502 Bad Gateway” atau “503 Layanan Sementara Tidak Tersedia” setelah penerapan

  • Penyelesaian:

Periksa pemeriksaan kesehatan grup target ALB di konsol EC2. Jika tugas Fargate ECS ditampilkan sebagai tidak sehat, verifikasi bahwa tugas berjalan di konsol ECS dan periksa log CloudWatch tugas untuk kesalahan. Pastikan grup keamanan yang melekat pada tugas ECS memungkinkan lalu lintas masuk dari grup keamanan ALB.

Masalah: DNS dikonfigurasi tetapi domain khusus tidak diselesaikan ke konsol web

  • Penyelesaian:

Verifikasi bahwa catatan CNAME dikonfigurasi dengan benar di penyedia DNS Anda, memetakan domain kustom Anda (misalnya,console.example.com) ke nama DNS ALB dari output. CloudFormation Propagasi DNS dapat memakan waktu hingga 48 jam tergantung pada penyedia DNS dan pengaturan TTL Anda. Anda dapat memverifikasi catatan DNS menggunakan dig console.example.com CNAME ataunslookup console.example.com.

Masalah: Konsol web mengembalikan kesalahan “403 Terlarang” setelah penerapan

  • Penyelesaian:

ACL web AWS WAF yang digunakan di depan ALB mungkin memblokir permintaan yang sah. Buka konsol AWS WAF, pilih ACL web yang terkait dengan ALB, dan periksa tab Permintaan sampel untuk mengidentifikasi aturan mana yang memblokir lalu lintas. Anda dapat mengubah aturan WAF untuk mengizinkan permintaan yang diblokir. Misalnya, jika grup aturan terkelola menghasilkan positif palsu, Anda dapat mengatur tindakan aturan tertentu ke Hitung, bukan Blokir untuk mengizinkan lalu lintas saat masih mencatatnya. Untuk informasi selengkapnya, lihat Menguji dan menyetel perlindungan AWS WAF Anda di Panduan Pengembang AWS WAF.

Masalah penyebaran tanpa kepala (bawa server web Anda sendiri)

Masalah: Konsol web menampilkan kesalahan CORS saat menghubungkan ke API

  • Penyelesaian:

Cross-Origin Kesalahan Berbagi Sumber Daya (CORS) terjadi saat konsol web yang dihosting di domain Anda mencoba memanggil titik akhir API Gateway solusi. Pastikan server web Anda melayani konsol melalui HTTPS, karena titik akhir API Gateway memerlukan HTTPS. Verifikasi bahwa domain asal server web Anda cocok dengan asal yang diizinkan yang dikonfigurasi dalam setelan API Gateway CORS. Jika Anda menggunakan domain khusus, Anda mungkin perlu memperbarui konfigurasi API Gateway CORS untuk menyertakan domain Anda.

Masalah: Konsol web dimuat tetapi otentikasi gagal atau pengalihan salah

  • Penyelesaian:

Aset konsol web menyertakan file konfigurasi dengan pengaturan kumpulan pengguna Cognito dan URL titik akhir API. Verifikasi bahwa file konfigurasi ini tidak dimodifikasi selama ekstraksi. Pastikan server web Anda melayani konsol melalui HTTPS, karena Cognito memerlukan HTTPS untuk URL panggilan balik. Periksa apakah URL callback klien aplikasi Cognito menyertakan domain server web Anda.