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:
| Destination | Target |
|---|---|
| 10.0.0.0/16 | local |
| 172.16.0.0/16 | pcx-xxxxxxxx (Peering Connection) |
Route Table ของ VPC-B:
| Destination | Target |
|---|---|
| 172.16.0.0/16 | local |
| 10.0.0.0/16 | pcx-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 routing | Transit Gateway |
| ต้องการค่าใช้จ่ายต่ำ | VPC Peering (ไม่มีค่า hourly) |