Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Memecahkan masalah layanan Amazon ECS Express Mode
Bagian ini membantu Anda mengidentifikasi dan menyelesaikan masalah umum saat menerapkan dan mengelola layanan Mode Ekspres.
Masalah deployment
Layanan macet dalam status AKTIF atau DRAINING
Gejala: DescribeServiceRevisions menunjukkan sumber daya masih menyediakan atau menghapus penyediaan. DescribeServices menunjukkan penyebaran tidak stabil
Kemungkinan penyebab dan solusi:
-
Izin IAM tidak mencukupi - Pastikan peran eksekusi tugas dan peran infrastruktur memiliki izin yang diperlukan seperti yang ditunjukkan dalam kebijakan terkelola masing-masing.
# Check if the role has the required managed policy aws iam list-attached-role-policies --role-name ecsTaskExecutionRole -
Kegagalan penarikan gambar - Pastikan gambar wadah ada dan dapat diakses.
# Test image pull manually docker pull 123456789012.dkr.ecr.us-west-2.amazonaws.com/my-app:latest -
Masalah konektivitas jaringan - Periksa apakah subnet memiliki akses internet atau titik akhir Amazon VPC untuk layanan. AWS
-
Batas sumber daya - Pastikan akun Anda memiliki kapasitas Fargate yang cukup dan belum mencapai kuota layanan.
Langkah-langkah diagnostik:
Gunakan DescribeExpressGatewayService untuk mendapatkan Revisi Layanan Anda saat inidiikuti oleh DescribeServiceRevisions untuk mendapatkan status pada ServiceRevision penyediaan atau deprovisioning
Periksa peristiwa layanan di konsol Amazon ECS untuk pesan kesalahan terperinci.
Periksa port kontainer diatur dengan benar
Periksa AWS kuota layanan untuk Amazon ECS dan Fargate.
Kegagalan startup tugas
Gejala: Tugas gagal dimulai atau segera berhenti setelah dimulai.
Penyebab umum:
-
Kesalahan aplikasi - Aplikasi kontainer keluar karena kesalahan konfigurasi atau runtime.
-
Kegag alan pemeriksaan kesehatan - Aplikasi tidak menanggapi pemeriksaan kesehatan pada port atau jalur yang diharapkan.
-
Kendala sumber daya - CPU atau alokasi memori tidak mencukupi untuk aplikasi.
-
Variabel lingkungan atau rahasia yang hilang - Konfigurasi yang diperlukan tidak tersedia untuk aplikasi.
Langkah-langkah resolusi:
-
Periksa log aplikasi di CloudWatch Log, dapatkan nama grup log dari DescribeServiceRevisions:
aws logs describe-log-streams --log-group-name /ecs/express-service-my-app aws logs get-log-events --log-group-name /ecs/express-service-my-app --log-stream-name stream-name Verifikasi bahwa jalur pemeriksaan kesehatan mengembalikan status HTTP 200.
Uji gambar wadah secara lokal untuk memastikannya dimulai dengan benar.
Tinjau dan sesuaikan CPU dan alokasi memori jika diperlukan.
Kesalahan definisi tugas khusus
Pembuatan atau pembaruan layanan gagal dengan InvalidParameterException saat menggunakan taskDefinitionArn parameter.
“tugas DefinitionArn tidak dapat disediakan dengan PrimaryContainer, eksekusiRoleArn, tugasRoleArn, cpu, atau memori.”
taskDefinitionArnParameter tidak dapat ditentukan denganprimaryContainer,executionRoleArn,taskRoleArn,cpu, atau memory dalam panggilan API yang sama. Mode Ekspres memperoleh nilai-nilai ini dari definisi tugas yang disediakan.
“Definisi tugas harus berisi wadah bernama 'Utama' dengan pemetaan port TCP tunggal.”
Definisi tugas Anda tidak memenuhi persyaratan Mode Ekspres. Pastikan memiliki:
Sebuah wadah bernama
MainKon
Maintainer memiliki persis satu pemetaan port TCP dengan port kontainer dan nama port yang ditentukanDefinisi tugas memiliki kompatibil
FARGATEitasnya
Masalah konektivitas
Aplikasi tidak dapat dijangkau melalui penyeimbang beban
Gejala: URL aplikasi mengembalikan batas waktu atau kesalahan koneksi.
Langkah-langkah pemecahan masalah:
-
Memvalidasi sumber daya Anda telah selesai menyediakan
-
Verifikasi bahwa tugas berjalan dan sehat:
aws ecs describe-services --cluster my-cluster --services my-express-service -
Periksa kesehatan kelompok target Penyeimbang Beban Aplikasi:
aws elbv2 describe-target-health --target-group-arn arn:aws:elasticloadbalancing:region:account:targetgroup/name/id -
Pastikan aplikasi mendengarkan pada port yang benar di dalam wadah.
Masalah kinerja
Waktu respons yang lambat
Gejala: Resp ons aplikasi lebih lambat dari yang diharapkan.
Pendekatan diagnostik:
-
Memantau CPU dan pemanfaatan memori:
# Check CloudWatch metrics for the service aws cloudwatch get-metric-statistics \ --namespace AWS/ECS \ --metric-name CPUUtilization \ --dimensions Name=ServiceName,Value=my-express-service Name=ClusterName,Value=my-cluster \ --start-time 2024-01-01T00:00:00Z \ --end-time 2024-01-01T01:00:00Z \ --period 300 \ --statistics Average Tinjau log aplikasi untuk kesalahan atau peringatan kinerja.
Periksa apakah penskalaan otomatis merespons pemuatan dengan tepat.
Analisis metrik penyeimbang beban untuk distribusi permintaan.
Strategi pengoptimalan:
Tingkatkan CPU atau alokasi memori jika sumber daya dibatasi.
Sesuaikan ambang penskalaan otomatis untuk menskalakan lebih awal.
Mengoptimalkan kode aplikasi dan kueri database.
Penskalaan otomatis tidak berfungsi seperti yang diharapkan
Gejala: Layanan tidak meningkat selama beban tinggi atau tidak berkurang saat beban rendah.
Langkah-langkah pemecahan masalah:
-
Periksa kebijakan penskalaan otomatis dan konfigurasinya:
aws application-autoscaling describe-scaling-policies \ --service-namespace ecs \ --resource-id service/my-cluster/my-express-service Tinjau CloudWatch metrik untuk memastikan pemicu penskalaan terpenuhi.
Verifikasi bahwa layanan memiliki izin untuk menskalakan (periksa peran IAM).
Periksa aktivitas penskalaan apa pun dan hasilnya.
Alat pemantauan dan debugging
Menggunakan CloudWatch Wawasan Kontainer
Aktifkan Wawasan Kontainer untuk pemantauan komprehensif:
aws ecs put-account-setting --name containerInsights --value enabled
Container Insights menyediakan:
Metrik CPU, memori, disk, dan jaringan
Dasbor pemantauan kinerja
Korelasi dan analisis log
Deteksi anomali