ฉันมีคำถามเกี่ยวกับการบรรลุความพร้อมใช้งานสูงบน AWS VPN

บริบท:

ฉันมีข้อกำหนดในการสร้างการเชื่อมต่อ VPN ระหว่างไซต์กับไซต์ระหว่าง AWS VPC ของฉันกับองค์กรขนาดใหญ่ ต้องใช้ลิงก์ VPN นี้เพื่อรองรับการเชื่อมต่อ http ขาเข้ากับแอปพลิเคชันใน AWS VPC ของฉัน ด้วยเหตุผลหลายประการ องค์กรขนาดใหญ่ที่ฉันเชื่อมต่อจะไม่จัดสรรซับเน็ตส่วนตัวที่ไม่ขัดแย้ง (RFC1918) ให้ฉันใช้ แต่พวกเขาต้องการให้ฉันใช้ NAT เพื่อเปิดเผยบริการของฉันผ่าน VPN บน IP สาธารณะที่ฉันเลือก (ฉันจะสำรองไว้) ฉันเชื่อว่าฉันสามารถตั้งค่านี้ได้สำเร็จ (ขึ้นอยู่กับการทดสอบ) ด้วยการผสมผสานกฎการกำหนดเส้นทางที่ถูกต้องโดยทำตามคำแนะนำนี้ (โดยไม่ต้องใช้พร็อกซีแยกต่างหาก) อย่างไรก็ตาม ฉันสามารถกำหนดการเชื่อมต่อขาเข้าไปยัง IP เดียวได้เท่านั้น

คำถาม:

ฉันสงสัยว่ามีวิธีที่ฉันสามารถควบคุมการเชื่อมต่อกับโหลดบาลานเซอร์ที่พร้อมใช้งานสูงแทนได้หรือไม่ ซึ่งจะทำให้สามารถปรับขนาดได้ดีกว่าและมีความพร้อมใช้งานสูง สิ่งที่ฉันได้พิจารณา:

  • การใช้ELB ภายนอกของ AWS :
    • สิ่งเหล่านี้ไม่มีที่อยู่ IP ที่เชื่อถือได้หรือช่วงที่แคบพอ ฉันไม่สามารถเพิ่มช่วงดังกล่าวในกฎการกำหนดเส้นทางด้านขวาได้ เนื่องจากช่วงดังกล่าวอาจขัดแย้งกับบริการอื่นๆ ที่โฮสต์บน AWS
  • การใช้ELB ภายในของ AWS :
    • สิ่งเหล่านี้มีบันทึก DNS สาธารณะและช่วงที่คาดการณ์ได้ อย่างไรก็ตาม สิ่งเหล่านี้อยู่ในช่วง IP ส่วนตัว ดังนั้นจึงไม่สามารถใช้งานได้โดยระบบไคลเอนต์เนื่องจากได้รับอนุญาตให้สร้างเส้นทางคงที่ไปยัง IP สาธารณะที่ไม่ใช่ RFC1918 เท่านั้น
  • การใช้ตัวโหลดบาลานซ์ของฉันเองเช่น HAproxy:
    • การดำเนินการนี้จะแก้ไขปัญหาความสามารถในการปรับขนาดได้ แต่ยังคงทิ้งจุดบกพร่องเพียงจุดเดียวไว้ในระบบ (ตัวโหนด HA เอง)
    • นอกจากนี้ยังเป็นอีกเครื่องหนึ่งที่ฉันต้องบำรุงรักษา

ไม่มีใครรู้ว่ามีวิธีอ้างอิง ELB ในตารางเส้นทาง VPC หรือไม่ หรือมีข้อเสนอแนะอื่น ๆ เกี่ยวกับวิธีการบรรลุเป้าหมายนี้?

ขอบคุณ

answer

เครื่องที่ปิดอุโมงค์เป็นจุดเดียวของความล้มเหลวแล้วใช่หรือไม่? ถ้าใช่ การเรียกใช้ HAProxy ตรงนั้นดูเหมือนจะเป็นสิ่งที่ต้องทำ (และฉันไม่ได้แค่พูดอย่างนั้นเพราะนั่นคือวิธีที่ฉันทำ แม้ว่าจะเป็นเช่นนั้นก็ตาม)

ฉันสามารถนับการหยุดทำงานของการผลิตที่เกิดจาก haproxy ด้วยมือเดียวโดยไม่ต้องใช้นิ้ว (หรือนิ้วหัวแม่มือ) DNS แบบอะซิงโครนัสในเวอร์ชัน 1.6 (ยังอยู่ระหว่างการพัฒนาในขณะที่เขียนบทความนี้) จะช่วยให้คุณใช้ ELB ภายในเป็นแบ็คเอนด์ของ haproxy ได้ ช่วยให้คุณตั้งค่าและลืมและใช้การผสานรวม ELB/EC2 ที่มีอยู่สำหรับการปรับขนาดความจุจริงของคุณได้ .

ประเภทอินสแตนซ์ C3, C4, M3, R3 และ T2 ยังรองรับคุณสมบัติการกู้คืนอินสแตนซ์ที่ค่อนข้างใหม่ซึ่งจะหยุด สร้างใหม่ และรีสตาร์ทอินสแตนซ์ของคุณบนฮาร์ดแวร์ที่แตกต่างกัน แต่มี id อินสแตนซ์เดียวกัน, IP แบบยืดหยุ่น และโวลุ่ม EBS หากหยุดตอบสนอง เปรียบเสมือนการตรวจสุขภาพ