Pemecahan masalah aplikasi yang dideploy

Mendeploy Aplikasi di AWS

Dunieski Otano

Amazon Web Services Solutions Architect

Task timed out

  • Sebuah fungsi gagal, tapi hanya kadang-kadang
  • Log mengatakan "Task timed out"
  • Tanda khas mengarah ke penyebab sebenarnya

Sebuah stopwatch di samping baris log galat yang menunjukkan tugas Lambda kehabisan waktu

Mendeploy Aplikasi di AWS

Tanda umum kegagalan Lambda

Kisi 2x2 tanda kegagalan Lambda: Timeout dengan log task-timed-out, Throttled dengan TooManyRequestsException, Access Denied dengan AccessDeniedException, dan Out of Memory dengan error signal-killed

  • Timeout: "Task timed out after N seconds"
  • Throttle: TooManyRequestsException
  • Penolakan IAM: AccessDenied, tidak berwenang
  • Kehabisan memori: runtime dihentikan saat eksekusi
Mendeploy Aplikasi di AWS

Respons awal untuk fungsi yang gagal

  • Baca pesan error sebelum mengubah apa pun
  • Cocokkan dengan tanda khas yang dikenal
  • Periksa latensi panggilan downstream untuk timeout
  • Ubah satu hal, lalu uji ulang

Loop keputusan pemecahan masalah: baca pesan error, cocokkan dengan tanda khas, periksa latensi downstream, ubah satu hal, lalu uji ulang

Mendeploy Aplikasi di AWS

CloudWatch Logs Insights

Kueri Logs Insights memakai filter untuk mempersempit dan stats untuk mengagregasi. Di sini, menghitung error per menit:

fields @timestamp, @message
| filter level = "ERROR"
| stats count() as errors by bin(1m)
| sort errors desc
Mendeploy Aplikasi di AWS

Debug kegagalan integrasi dari kedua sisi

  • Kegagalan sering terjadi di antara layanan
  • Baca log pemanggil dan log yang dipanggil
  • Cocokkan dengan request ID atau trace ID
  • Celah di antaranya menunjukkan titik putus

Log pemanggil dan yang dipanggil disejajarkan berdasarkan request ID, dengan celah di antaranya yang ditandai sebagai titik putus integrasi tempat permintaan berhenti

Mendeploy Aplikasi di AWS

Health check dan readiness probe

Load balancer merutekan trafik ke target sehat dengan tanda centang hijau, dan target yang gagal dihapus dari rotasi setelah beberapa kegagalan health check

  • Health check: apakah instance aktif dan melayani?
  • Load balancer hanya merutekan ke target sehat
  • Readiness: apakah sudah siap menerima trafik?
  • Kegagalan cek mengeluarkan target dari rotasi
Mendeploy Aplikasi di AWS

Panduan pemecahan masalah

  • Baca error dan cocokkan tandanya
  • Kueri log dengan Logs Insights untuk membatasi ruang lingkup
  • Korelasikan kedua sisi dengan request atau trace ID
  • Ubah satu hal lalu verifikasi

Panduan pemecahan masalah empat langkah: Baca error dan cocokkan tanda, Kueri log dengan Insights untuk membatasi, Korelasikan kedua sisi dengan trace ID, Ubah satu hal lalu verifikasi

Mendeploy Aplikasi di AWS

Ayo berlatih!

Mendeploy Aplikasi di AWS

Preparing Video For Download...