แบ่ง VPC เป็นชั้น
- Web: Container ที่ผู้ชมเข้าถึง ตั้งการเข้าถึงให้เปิดจากอินเทอร์เน็ต
- App: API และงานเบื้องหลัง ตั้งการเข้าถึงเป็นเฉพาะภายใน VPC และเปิด Invoker token ด้วยถ้าต้องการให้เรียกได้เฉพาะบางระบบ
- Data: ฐานข้อมูลที่ปิด Public endpoint แอปเรียกผ่าน
ชื่อเซิร์ฟเวอร์.internal
ติดแท็กบริการ แล้วเขียนกฎตามแท็ก
ที่ VPC > Security Group ติดแท็กให้บริการตามหน้าที่ เช่น web api db แล้วสร้างกลุ่มของแต่ละชั้นที่เปิดเฉพาะพอร์ตที่ต้องใช้ เช่น web ไป api พอร์ต 8080 และ api ไป db พอร์ต 5432 กฎมีแต่ “อนุญาต” อะไรที่ไม่มีกฎระบุไว้จะปิดอยู่
บริการใหม่จะอยู่ใน กลุ่มเริ่มต้น ซึ่งสมาชิกคุยกันได้ทุกพอร์ต สำหรับระบบจริง เมื่อบริการมีกลุ่มของตัวเองแล้ว ให้เอาออกจากกลุ่มเริ่มต้น ถ้าบริการหนึ่งมีปัญหาจะได้ไม่ลามไปถึงทุกตัว
ใช้ IP ขาออกคงที่เฉพาะที่จำเป็น
ถ้าธนาคารหรือคู่ค้าต้อง whitelist IP ให้สร้าง NAT Gateway แล้วเลือกเฉพาะ Subnet ของชั้นแอปให้ออกผ่าน NAT (ดู NAT Gateway) Subnet อื่นใช้ IP ขาออกแบบใช้ร่วมกันต่อไปโดยไม่มีค่าใช้จ่ายเพิ่ม
ต่อฐานข้อมูลจริงจากเครื่องตัวเอง
เปิด Public endpoint เฉพาะตอนที่ต้องใช้ อนุญาตเฉพาะ IP ของคุณ แล้วปิดเมื่อเสร็จงาน การเชื่อมต่อใช้ TLS เสมอ
เชื่อม Project เข้าด้วยกัน
- เชื่อมระบบจริงกับเครื่องมือกลาง แต่อย่าเชื่อมกับ Project ทดสอบ ให้ Project ทดสอบมีของที่ต้องใช้เป็นชุดของตัวเอง
- VPC Peering ไม่ได้เปิดอะไรให้เอง เมื่อทั้งสองฝั่งยอมรับแล้ว ต้องเพิ่มกฎใน Security Group ที่ระบุ VPC ปลายทางหรือกลุ่มที่อีกฝั่งแชร์ไว้ (ดู Security Group และ VPC Peering)
- Peering เชื่อม 2 VPC ใน Region เดียวกัน และไม่ต่อทอด: A เชื่อมกับ B และ B เชื่อมกับ C ไม่ได้แปลว่า A ถึง C ถ้ามีตั้งแต่ 3 Project หรือข้าม Region ให้ใช้ Network Hub
หลาย Project ออฟฟิศ หรือหลาย Region: Hub แบบ Star พร้อม Firewall
- สร้าง Hub ใน Project เครื่องมือกลาง และให้ Project นั้นเป็น ศูนย์กลาง: ฐานข้อมูล ระบบมอนิเตอร์ และ API ภายในที่ทุกทีมใช้อยู่ที่นี่
- ต่อ Project ใช้งานจริงแต่ละตัวเป็น ปลายทาง ปลายทางถึงศูนย์กลางแต่ไม่ถึงกันเอง ถ้า Project หนึ่งมีปัญหาจะไม่ลามไปตัวอื่น
- ให้ออฟฟิศเข้ามาด้วย VPN Gateway แบบ Site-to-Site และพนักงานด้วยแบบ Client-to-Site แทนการเปิดฐานข้อมูลสู่อินเทอร์เน็ต (ดู VPN Gateway)
- ใส่ Firewall ให้ Hub: ระหว่าง spoke อนุญาตเฉพาะการเชื่อมต่อที่ตั้งใจไว้ และ ออก Internet ให้ทุก Project ออกด้วย IP คงที่ชุดเดียวกันและคุมได้ในที่เดียว (ดู Firewall บน Network Hub)
- อย่าต่อ Project ทดสอบเข้า Hub ของระบบจริง ถ้าต้องใช้ Hub ให้มี Hub ของตัวเอง
- Security Group ยังมีผลในทุก VPC: Hub และ Firewall พาการเชื่อมต่อมาถึง VPC ได้ แต่ Security Group ของบริการต้องอนุญาตด้วย