View a markdown version of this page

AWSSupport-TroubleshootALB5XXErrors - AWS Systems Manager Referensi Runbook Otomasi

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

AWSSupport-TroubleshootALB5XXErrors

Deskripsi

AWSSupport-TroubleshootALB5XXErrorsRunbook mendiagnosis dan memecahkan masalah kesalahan HTTP 5XX pada Application Load Balancer. Ini menganalisis metrik Amazon CloudWatch (CloudWatch) dan log akses Application Load Balancer untuk mengidentifikasi akar penyebab dan memberikan rekomendasi yang dapat ditindaklanjuti. Runbook mencakup kemampuan berikut:

  • Analisis pola lalu lintas: Mengi dentifikasi hotspotting dan anomali Zona Ketersediaan tunggal dengan menggunakan CloudWatch metrik untuk mendeteksi distribusi lalu lintas yang tidak merata di seluruh Zona Ketersediaan.

  • Diagnosis log akses: Memproses log akses Application Load Balancer dengan mengambil file log dari bucket Amazon S3 yang dikonfigurasi untuk mengekstrak pola kesalahan tertentu, alasan kesalahan, dan informasi diagnostik terperinci untuk pemecahan masalah terperinci.

  • Error-specific analisis: Men yediakan diagnosis yang ditargetkan untuk setiap jenis kesalahan HTTP 5XX:

    • HTTP 500: Keg agalan otentikasi, masalah konektivitas WAF, dan masalah titik akhir IDP.

    • HTTP 502: Masalah koneksi target, kesalahan fungsi AWS Lambda (Lambda), kegagalan negosiasi TLS, dan skenario deregistrasi target.

    • HTTP 503: Kelompok target kosong dan masalah pendaftaran target.

    • HTTP 504: Waktu tunggu koneksi, anomali waktu respons target dengan perbandingan dasar historis, dan evaluasi konektivitas jaringan yang komprehensif.

    • Kesalahan 5XX lainnya: Analisis komprehensif kode status 5XX yang tidak biasa dan kasus tepi yang tidak tercakup oleh kategori kesalahan standar.

  • Penyelaman mendalam konektivitas jaringan: Untuk kesalahan HTTP 504, evaluasi aturan grup keamanan, ACL jaringan, dan konfigurasi tabel rute antara Application Load Balancer dan targetnya di Wil AWS ayah dan akun yang sama.

  • Pemilihan sumber data adaptif: Memprioritaskan analisis log akses bila tersedia untuk diagnosis kesalahan terperinci, dan secara otomatis kembali ke CloudWatch metrik saat log tidak tersedia atau tidak lengkap.

Batasan

Runbook ini memiliki batasan sebagai berikut:

  • Batasan pemeriksaan konektivitas: Evaluasi konektivitas jaringan hanya dilakukan untuk target di Wil AWS ayah dan akun yang sama dengan Penyeimbang Beban Aplikasi. Cross-account atau target lokal menerima panduan konektivitas umum.

  • Akses batas waktu pemrosesan log: Analisis log akses dibatasi hingga jendela pemrosesan 9 menit. Jika terlampaui, analisis berhenti dan memberikan hasil berdasarkan log yang diproses sejauh ini. Kurangi kerangka waktu untuk analisis log lengkap.

  • Persyaratan keamanan dan lokasi bucket Amazon S3: Pemrosesan log akses memerlukan bucket Amazon S3 untuk memenuhi kriteria keamanan dan lokasi. Runbook melewatkan pemrosesan log akses saat bucket Amazon S3 dapat diakses publik. Status bucket publik ditentukan oleh kebijakan bucket atau konfigurasi blok akses publik. Runbook juga melewatkan pemrosesan saat bucket Amazon S3 tidak berada di AWS akun dan Wilayah yang sama dengan Application Load Balancer. Ketika pemeriksaan ini gagal, runbook secara otomatis kembali ke analisis berbasis CloudWatch metrik.

  • Metrik sebagai cadangan: Ketika log akses tidak diaktifkan atau pemrosesan log gagal atau tidak lengkap, runbook secara otomatis kembali ke analisis CloudWatch berbasis metrik dengan informasi diagnostik yang kurang terperinci. Kurangnya log akses dapat memengaruhi akurasi deteksi akar penyebab.

  • Ketergantungan data histor is: Deteksi anomali waktu respons HTTP 504 membutuhkan 7 hari data historis untuk perbandingan dasar. Data historis yang terbatas dapat mempengaruhi akurasi deteksi.

Biaya tambahan

Menjalankan metrik kueri runbook ini dari Amazon CloudWatch dan, ketika log akses diaktifkan, mengambil objek dari Amazon S3. Biaya standar CloudWatch dan Amazon S3 mungkin berlaku untuk AWS akun Anda untuk data yang ditanyakan selama analisis. Untuk informasi selengkapnya tentang harga, lihat Harga Amazon dan CloudWatch Harga Layanan Penyimpanan Sederhana Amazon.

Cara kerjanya

Runbook melakukan langkah-langkah validasi dan analisis berikut:

  • Memverifikasi bahwa Application Load Balancer yang ditentukan ada, dan mengumpulkan atribut Application Load Balancer seperti batas waktu idle dan konfigurasi log akses.

  • Mendeteksi hotspotting dan anomali kesalahan Zona Ketersediaan tunggal dengan menggunakan CloudWatch metrik.

  • Mengambil dan memproses log akses Application Load Balancer dari bucket Amazon S3 yang dikonfigurasi saat log akses diaktifkan dan bucket memenuhi persyaratan keamanan dan lokasi.

  • Mendiagnosis setiap kode kesalahan HTTP 5XX (500, 502, 503, 504, dan lainnya) dengan menggunakan entri log akses bila tersedia, atau dengan menggunakan CloudWatch metrik sebagai fallback.

  • Untuk kesalahan HTTP 504, evaluasi aturan grup keamanan, ACL jaringan, dan konfigurasi tabel rute antara Application Load Balancer dan targetnya.

  • Mengkonsolidasikan temuan ke dalam laporan dengan rekomendasi dan referensi yang relevan.

Jalankan Otomatisasi ini (konsol)

Jenis dokumen

Otomatisasi

Pemilik

Amazon

Platform

/

Izin IAM yang diperlukan

AutomationAssumeRoleParameter memerlukan tindakan berikut untuk menggunakan runbook dengan sukses.

  • s3:ListBucket

  • s3:GetObject

  • s3:GetBucketPolicyStatus

  • s3:GetBucketPublicAccessBlock

  • s3:ListAllMyBuckets

  • elasticloadbalancing:DescribeTargetGroups

  • elasticloadbalancing:DescribeTargetHealth

  • elasticloadbalancing:DescribeLoadBalancers

  • elasticloadbalancing:DescribeTargetGroupAttributes

  • elasticloadbalancing:DescribeLoadBalancerAttributes

  • elasticloadbalancing:DescribeListeners

  • elasticloadbalancing:DescribeRules

  • ec2:DescribeSubnets

  • ec2:DescribeInstances

  • ec2:DescribeNetworkInterfaces

  • ec2:DescribeSecurityGroups

  • ec2:DescribeNetworkAcls

  • ec2:DescribeRouteTables

  • cloudwatch:GetMetricData

  • cloudtrail:LookupEvents

  • wafv2:ListWebACLs

  • wafv2:ListResourcesForWebACL

  • lambda:GetFunctionConfiguration

Contoh kebijakan IAM:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "S3ReadAccess", "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetObject", "s3:GetBucketPolicyStatus", "s3:GetBucketPublicAccessBlock", "s3:ListAllMyBuckets" ], "Resource": "*" }, { "Sid": "ELBReadAccess", "Effect": "Allow", "Action": [ "elasticloadbalancing:DescribeTargetGroups", "elasticloadbalancing:DescribeTargetHealth", "elasticloadbalancing:DescribeLoadBalancers", "elasticloadbalancing:DescribeTargetGroupAttributes", "elasticloadbalancing:DescribeLoadBalancerAttributes", "elasticloadbalancing:DescribeListeners", "elasticloadbalancing:DescribeRules" ], "Resource": "*" }, { "Sid": "EC2ReadAccess", "Effect": "Allow", "Action": [ "ec2:DescribeSubnets", "ec2:DescribeInstances", "ec2:DescribeNetworkInterfaces", "ec2:DescribeSecurityGroups", "ec2:DescribeNetworkAcls", "ec2:DescribeRouteTables" ], "Resource": "*" }, { "Sid": "MonitoringReadAccess", "Effect": "Allow", "Action": [ "cloudwatch:GetMetricData", "cloudtrail:LookupEvents" ], "Resource": "*" }, { "Sid": "WAFReadAccess", "Effect": "Allow", "Action": [ "wafv2:ListWebACLs", "wafv2:ListResourcesForWebACL" ], "Resource": "*" }, { "Sid": "LambdaReadAccess", "Effect": "Allow", "Action": [ "lambda:GetFunctionConfiguration" ], "Resource": "*" } ] }
Petunjuk

Ikuti langkah-langkah ini untuk mengkonfigurasi otomatisasi:

  1. Buka AWSSupport-TroubleshootALB5XXErrors di Manajer Sistem di bawah Dokumen.

  2. Pilih Eksekusi otomatisasi.

  3. Untuk parameter input, masukkan yang berikut ini:

    • AutomationAssumeRole (Diperlukan):

      Nama Sumber Daya Amazon (ARN) dari peran AWS Identity and Access Management (IAM) yang memungkinkan Otomasi Manajer Sistem untuk melakukan tindakan atas nama Anda. Jika tidak ada peran yang ditentukan, Sistem Manajer Otomasi menggunakan izin pengguna yang memulai runbook ini.

    • ALBarn (Diperlukan):

      ARN dari Application Load Balancer yang akan diselidiki. Misalnya, arn:aws:elasticloadbalancing:us-east-1:123456789012:loadbalancer/app/my-alb/50dc6c495c0c9188.

    • IssueStartTime (Diperlukan):

      Waktu mulai masalah dalam UTC. Gunakan format timestamp ISO 8601 (). YYYY-MM-DDTHH:MM:SSZ Misalnya, 1970-01-01T00:00:00Z.

    • IssueEndTime (Diperlukan):

      Waktu akhir masalah dalam UTC. Gunakan format timestamp ISO 8601 (). YYYY-MM-DDTHH:MM:SSZ Misalnya, 1970-01-01T00:00:00Z.

  4. Pilih Eksekusi.

  5. Otomatisasi dimulai.

  6. Dokumen melakukan langkah-langkah berikut:

    • RunInitialChecks:

      Menjalankan pemeriksaan awal pada Application Load Balancer. Pemeriksaan awal termasuk memverifikasi keberadaan Application Load Balancer, mendeteksi hotspotting dan kesalahan Zona Ketersediaan tunggal, mengumpulkan detail kesalahan HTTP, dan memeriksa konfigurasi log akses.

    • ProcessAccessLogs:

      Mengambil file log akses Application Load Balancer yang relevan dari bucket Amazon S3 dan memprosesnya untuk mengidentifikasi alasan dan kode kesalahan yang unik. Hanya sebagian file log akses yang diproses untuk rentang waktu yang diidentifikasi. Jika waktu pemrosesan melebihi batas 9 menit, log yang tersisa tidak diproses.

    • HTTP500ErrorIdentification:

      Mengidentifikasi alasan kesalahan untuk kesalahan Pemuatan Aplikasi Balancer-generated HTTP 500 dengan menggunakan CloudWatch metrik atau log akses yang diurai jika tersedia.

    • HTTP502ErrorIdentification:

      Mengidentifikasi alasan kesalahan untuk kesalahan Pemuatan Aplikasi Balancer-generated HTTP 502 dengan menggunakan CloudWatch metrik atau log akses yang diurai jika tersedia.

    • HTTP503ErrorIdentification:

      Mengidentifikasi alasan kesalahan untuk kesalahan Pemuatan Aplikasi Balancer-generated HTTP 503 dengan menggunakan CloudWatch metrik.

    • HTTP504ErrorIdentification:

      Mengidentifikasi alasan kesalahan untuk kesalahan Pemuatan Aplikasi Balancer-generated HTTP 504 dengan menggunakan CloudWatch metrik atau log akses yang diurai jika tersedia. Untuk kesalahan HTTP 504, langkah ini juga mengevaluasi aturan grup keamanan, ACL jaringan, dan konfigurasi tabel rute antara Application Load Balancer dan targetnya.

    • OtherHTTPErrorIdentification:

      Mengidentifikasi alasan kesalahan untuk kesalahan HTTP yang tidak diklasifikasikan yang dihasilkan oleh Application Load Balancer dengan menggunakan CloudWatch metrik atau log akses yang diurai jika tersedia.

    • GenerateReport:

      Menghasilkan laporan konsolidasi dari temuan langkah-langkah sebelumnya, termasuk status hotspotting, anomali Zona Ketersediaan tunggal, diagnosis kesalahan, dan rekomendasi.

  7. Setelah selesai, tinj au bagian Output untuk hasil rinci dari eksekusi.

Referensi

Otomatisasi Systems Manager