مسابير السلامة ووكلاء (proxies) موازن تحميل Google لا تأتي من شبكة VPC: بل تصل
من النطاقين 35.191.0.0/16 و130.211.0.0/22. القاعدة allow-lb-health، المعاد إنشاؤها يدويًا،
تلقت النطاق الداخلي 10.20.0.0/16: فتُرفض المسابير بصمت من طرف الجدار الناري الضمني،
وتصبح الآلتان UNHEALTHY ويجيب موازن التحميل، دون واجهة خلفية سليمة، بـ 502
failed_to_pick_backend.
الشهادة ACTIVE (والـ 502 على كل حال استجابة HTTP، إذن نجح TLS)، وفحص السلامة
يستهدف فعلًا 8080 و/healthz، والتطبيق يجيب محليًا ويستمع على 0.0.0.0:8080: ليس السبب
TLS، ولا التطبيق، ولا إعدادات المسبار.
تمّ حلّ الحادث
التحليل والإصلاح
الإصلاح:
gcloud compute firewall-rules update allow-lb-health --source-ranges=35.191.0.0/16,130.211.0.0/22
(الهدف web-boutique، tcp:8080)، ثم التحقق بواسطة
gcloud compute backend-services get-health bs-boutique --global: تصبح النسخ HEALTHY
في نحو عشر ثوانٍ ويجيب المتجر بـ 200.
حتى لا يتكرر ذلك:
- وصف قواعد الجدار الناري في Terraform، مع مراجعتها، بدل إعادة إنشائها يدويًا؛
- تفعيل تسجيل قواعد الجدار الناري لرؤية المسابير المرفوضة فورًا؛
- قبل أي تحويل، فحص
get-healthواختبار مسار كامل (Connectivity Tests)؛ - عدم فتح 8080 أبدًا لـ 0.0.0.0/0 «للتجربة»: وحدها نطاقات Google يجب أن تصل إلى الواجهات الخلفية.