Skip to main content

VPC Peering

VPC Peering คือการเชื่อมต่อ VPC สอง VPC เข้าด้วยกันผ่านเครือข่ายของ AWS ให้สามารถสื่อสารกันได้เหมือนอยู่ในเครือข่ายเดียวกัน โดยใช้ Private IP Address


คุณสมบัติหลัก

  • เชื่อมต่อ 2 VPC แบบ point-to-point
  • รองรับ Cross-Account (ข้าม AWS Account) ได้
  • รองรับ Cross-Region (ข้าม Region) ได้
  • ใช้ AWS Private Network ในการสื่อสาร (ไม่ผ่าน Public Internet)
  • CIDR ของทั้งสอง VPC ต้องไม่ซ้อนทับกัน (No Overlapping CIDRs) มิฉะนั้นจะไม่สามารถสร้าง Peering ได้

ข้อจำกัดสำคัญ: Non-Transitive

  • VPC Peering ไม่เป็น Transitive (ไม่ส่งต่อ traffic ได้)
  • ตัวอย่าง: หาก VPC-A peering กับ VPC-B และ VPC-A peering กับ VPC-C แล้ว VPC-B จะไม่สามารถสื่อสารกับ VPC-C ได้ ผ่าน VPC-A
  • ต้องสร้าง VPC Peering Connection เพิ่มระหว่าง VPC-B กับ VPC-C โดยตรง
  • หากมี VPC จำนวนมาก การสร้าง Peering แบบ full mesh จะซับซ้อน ควรพิจารณาใช้ Transit Gateway แทน

การตั้งค่า Route Tables

  • หลังจากสร้าง VPC Peering Connection แล้ว ต้องอัปเดต Route Table ของทั้งสอง VPC
  • เพิ่ม Route ที่ชี้ CIDR ของ VPC อีกฝั่งไปยัง Peering Connection
  • หากไม่เพิ่ม Route traffic จะไม่สามารถไหลระหว่าง VPC ได้

ตัวอย่าง Route Table

สมมติ VPC-A มี CIDR 10.0.0.0/16 และ VPC-B มี CIDR 172.16.0.0/16:

Route Table ของ VPC-A:

DestinationTarget
10.0.0.0/16local
172.16.0.0/16pcx-xxxxxxxx (Peering Connection)

Route Table ของ VPC-B:

DestinationTarget
172.16.0.0/16local
10.0.0.0/16pcx-xxxxxxxx (Peering Connection)

Security Group Reference

  • เมื่อทำ VPC Peering แล้ว สามารถอ้างอิง Security Group ของ VPC อีกฝั่ง ได้ใน Rule (สำหรับ same-region peering)
  • ทำให้จัดการสิทธิ์ได้สะดวกขึ้นโดยไม่ต้องใช้ IP Address

เมื่อไหร่ควรใช้ VPC Peering vs Transit Gateway

สถานการณ์แนะนำ
เชื่อมต่อ VPC 2-3 ตัวVPC Peering
เชื่อมต่อ VPC จำนวนมากTransit Gateway
ต้องการ Transitive routingTransit Gateway
ต้องการค่าใช้จ่ายต่ำVPC Peering (ไม่มีค่า hourly)