ฉันมี VPC A ที่มี CIDR 10.อ.0.0/16
และ VPC B ที่มี CIDR 10.บ.0.0/16
. ฉันมี VPC A และ B เพียร์และอัปเดตตารางเส้นทางและจากเซิร์ฟเวอร์ใน 10.บ.0.0/16
สามารถ ping เซิร์ฟเวอร์ได้ 10.อ.0.0/16
และในทางกลับกัน.
แอปพลิเคชันบน VPC A ยังใช้ IP บางส่วนใน 192.168.0.0/16
พิสัย. ไม่ใช่สิ่งที่ฉันจะเปลี่ยนแปลงได้ง่ายๆ แต่ฉันต้องทำให้ได้ 192.168.0.0/16
บน VPC A จาก VPC B VPC A ใช้สำหรับคลัสเตอร์ kubernetes รุ่นเก่าที่ใช้ project-calico โหนดของผู้ปฏิบัติงาน (อินสแตนซ์ ec2) รับ IP ในบล็อก VPC CIDR 10.อ.0.0/16
แต่เครือข่ายผ้าดิบถูกตั้งค่าด้วยการตั้งค่า CIDR ของคลัสเตอร์ 192.168.0.0/16
และ IP ของพ็อดบนโหนดผู้ปฏิบัติงานเหล่านั้นได้รับมอบหมายในช่วงนั้น คลัสเตอร์ที่ใหม่กว่าคือคลัสเตอร์ EKS และ IP ของพ็อดถูกกำหนดจากช่วง CIDR ของ VPC 10.บ.0.0/16
. ในช่วงการเปลี่ยนแปลง ฉันได้ทำการเพียร์ VPC ของคลัสเตอร์ทั้งสองเข้าด้วยกัน มีแอปพลิเคชัน Elixir แบบกระจายทำงานอยู่ และพ็อดสร้างคลัสเตอร์ Erlang โดยติดต่อถึงกันผ่านที่อยู่ IP ของพ็อด ด้วยคลัสเตอร์เพียร์ปัจจุบันของฉัน พ็อด A สามารถเข้าถึงทั้งพ็อด A และ B แต่พ็อดคลัสเตอร์ B เข้าถึงได้เฉพาะ B เท่านั้น (เนื่องจาก 192.168.0.0/16
IP ไม่สามารถเข้าถึงได้
ฉันได้ลองเพิ่ม 192.168.0.0/16
ไปยังตารางเส้นทางที่ใช้สำหรับ VPC B และกำหนดเป้าหมายของการเชื่อมต่อแบบเพียร์ ที่ไม่ได้ผลฉันเชื่อว่าเพราะ 192.168.0.0/16
ไม่อยู่ในบล็อก CIDR สำหรับ VPC A
ฉันไม่สามารถเพิ่ม 192.168.0.0/16
เป็น CIDR รองใน VPC A เนื่องจากถูกจำกัด ดู ข้อ จำกัด การเชื่อมโยงบล็อก CIDR และ คำถามที่เกี่ยวข้อง. ฉันเข้าใจว่ามันถูกจำกัด แต่ทำไมมันถึงถูกจำกัด? RFC1918 ดูเหมือนจะไม่พูดอะไรเกี่ยวกับการใช้พื้นที่ที่อยู่ส่วนตัวมากกว่าหนึ่งช่อง
ฉันได้ลองสร้าง Transit Gateway โดยแนบ VPC ทั้งสองเครื่อง และเพิ่มเส้นทางคงที่ไปยังตารางเส้นทาง Transit Gateway สำหรับ 192.168.0.0/16
ที่กำหนดเป้าหมายไฟล์แนบ VPC A แต่ยังไม่สามารถเข้าถึงช่วงนั้นจากภายใน VPC B
ตารางเส้นทาง
ตารางเส้นทางสำหรับซับเน็ตส่วนตัวสำหรับ VPC A
10.อ.0.0/59 ท้องถิ่น
10.B.0.0/16 pcx-[การเชื่อมต่อแบบเพียร์ VPC A - VPC B]
0.0.0.0/0 nat-[เกตเวย์สำหรับคลัสเตอร์ A]
ตารางเส้นทางสำหรับซับเน็ตส่วนตัวสำหรับ VPC B
10.บ.0.0/59 ท้องถิ่น
10.A.0.0/16 pcx-[การเชื่อมต่อแบบเพียร์ VPC A - VPC B]
192.168.0.0/16 pcx-[การเชื่อมต่อแบบเพียร์ VPC A - VPC B]
0.0.0.0/0 nat-[เกตเวย์สำหรับคลัสเตอร์ B]
แน่นอนว่าสิ่งนี้ไม่ได้ผลเพราะ 192.168.0.0/16
ไม่อยู่ในบล็อก CIDR ของ VPC A และไม่สามารถเพิ่มได้
ถ้าฉันได้รับเปลือกที่โหนด A ฉันสามารถ ping a 192.168...
pod และ I can ping a 10.บ.0.0
ฝัก แต่จากเชลล์บนโหนด B ฉันสามารถ ping ได้เท่านั้น 10.บ.0.0
ฝัก
มีวิธีอื่นในการเพียร์ทั้งสอง 10.0.0.0/8
และ 192.168.0.0/16
CIDR บล็อกบน VPC เดียวกันหรือไม่