กูเกิ้ลอย่างบ้าคลั่งและไม่สามารถหาคำตอบได้ เรามี AZ/เครือข่ายย่อยสามเครือข่ายเนื่องจากเราอยู่ในโอไฮโอ แต่แผนภาพนี้ก็ใกล้เคียงพอที่จะอธิบายปัญหาได้
เราได้ตั้งค่าพร็อกซีของ Squid เพื่อกรองทราฟฟิกขาออกจากหนึ่งในบริการของเรา
- สำหรับแต่ละ AZ เซิร์ฟเวอร์แอปจะอยู่ในซับเน็ตส่วนตัว
- จากนั้นจะมีพรอกซีในแต่ละรายการ สาธารณะ ซับเน็ตสำหรับ AZ นั้น
- ตารางเส้นทางสำหรับซับเน็ตส่วนตัวชี้ 0.0.0.0 ไปยัง ENI ของพร็อกซีในซับเน็ตสาธารณะที่เกี่ยวข้อง
เมื่อเวลาผ่านไป ทราฟฟิกขาออกจากแต่ละซับเน็ตก็เสียชีวิต เราใช้เวลาเล็กน้อยเพื่อหาว่าเกิดอะไรขึ้น ดังนั้นเมื่อเครือข่ายย่อยแต่ละเครือข่ายเสียชีวิต เราจึงลบอินสแตนซ์ในเครือข่ายย่อยนั้นออกจาก ALB สำหรับบริการและขับเคลื่อนด้วยบริการที่กระตุกในขณะที่เราค้นคว้าข้อมูล เมื่อวานนี้ซับเน็ตที่สามเสียชีวิตและเราตัดสินใจ "กำหนดเส้นทาง" พร็อกซีโดยตรงไปยังเกตเวย์ NAT สำหรับแต่ละซับเน็ต เมื่อเราไปที่ตารางเส้นทาง เราสังเกตเห็นว่า ENI ของแต่ละพร็อกซีแสดงรายการเป็นหลุมดำ
เราตรวจสอบแล้ว
- บันทึกอินสแตนซ์พร็อกซี
- เวลาจัดสรร ENI และ
- บันทึก Cloudtrail
...มองหาข้อบ่งชี้ว่าเหตุใด ENI จึงไม่ถูกต้องในการทำลายเส้นทางเริ่มต้นของเรา ไม่มีประโยชน์อะไรเลย
- อินสแตนซ์มีขึ้นนานกว่าสามสัปดาห์
- การประทับเวลาการจัดสรร ENI ตรงกับเวลาสร้างอินสแตนซ์
- บันทึกการบูตไม่แสดงการรีบูตใดๆ
- Cloudtrail ไม่แสดงการแก้ไขใดๆ กับ ENIs / อินสแตนซ์
เรานิ่งงัน ตารางเส้นทางของเรา "กะทันหัน" มีเส้นทางไปยัง ENI ที่ไม่มีอยู่ได้อย่างไร