NetworkingSection 136 min read5 questions

VPC

Virtual Private Cloud

VPC คือ private network ส่วนตัวของคุณใน AWS (ระดับ Region) ที่ให้คุณควบคุม IP range, subnets, route tables, gateways ได้เต็มที่ เปรียบเหมือนการมี data center ของตัวเองบน cloud

ในหน้านี้9 sections
  1. 01VPC & Subnets Primer
  2. 02Internet Gateway & NAT Gateway
  3. 03Network ACL vs Security Groups
  4. 04VPC Flow Logs
  5. 05VPC Peering
  6. 06VPC Endpoints
  7. 07Site-to-Site VPN & Direct Connect
  8. 08Transit Gateway
  9. 09Summary — VPC Components Recap
01

VPC & Subnets Primer

Amazon VPC (Virtual Private Cloud) คือ private network ที่แยก (isolated) สำหรับ AWS account ของคุณ — เป็น Regional resource (อยู่ภายใน Region เดียว) ทุก resource ที่สร้าง (EC2, RDS, Lambda, ฯลฯ) จะวางอยู่ภายใน VPC

  • VPC — virtual network ที่คุณกำหนด CIDR block (IP range) เช่น 10.0.0.0/16 — เป็น Regional resource
  • Subnets — partition (แบ่งย่อย) ของ VPC — เป็น AZ resource (ผูกกับ Availability Zone หนึ่ง)
  • Public Subnet — subnet ที่ เข้าถึงได้จาก internet (มี route ไป Internet Gateway)
  • Private Subnet — subnet ที่ เข้าถึงจาก internet ไม่ได้ (ไม่มี route ตรงไป IGW)
  • Route Tables — กำหนดว่า traffic จะไปที่ไหน (control access between subnets, IGW, NAT, ฯลฯ)
  • แต่ละ Region มี default VPC พร้อมใช้งาน (มี public subnet ทุก AZ)
02

Internet Gateway & NAT Gateway

การเข้าถึง internet จาก VPC ต้องอาศัย Internet Gateway (IGW) สำหรับ public subnet และ NAT Gateway / NAT Instance สำหรับ private subnet ที่ต้องออก internet:

Internet Gateway (IGW)

Helps VPC instances connect with internet — Public Subnets ต้องมี route ไป IGW (1 VPC ต่อ 1 IGW), ทำ NAT สำหรับ instances ที่มี public IP

NAT Gateway (AWS-managed)

AWS managed service — ให้ instances ใน private subnet เข้าถึง internet ได้ (เช่น download updates) แต่ private อยู่ (internet เข้ามาไม่ได้), อยู่ใน public subnet, ต้อง allocate Elastic IP

NAT Instance (self-managed)

EC2 instance ที่ทำหน้าที่ NAT — ต้อง manage เอง (legacy), disable Source/Dest Check, ปัจจุบันแนะนำใช้ NAT Gateway แทน

  • IGW ทำให้ public subnet เชื่อมต่อ internet ได้ทั้ง inbound และ outbound
  • NAT Gateway / NAT Instance ทำให้ private subnet เข้าถึง internet ได้ เฉพาะ outbound โดยยังคงความเป็น private (internet initiate เข้ามาไม่ได้)
  • NAT Gateway = AWS managed (high availability, scale อัตโนมัติ) | NAT Instance = self-managed
03

Network ACL vs Security Groups

VPC มี 2 ชั้น ของ network firewall: NACL (subnet level) และ Security Groups (ENI / EC2 instance level)

NACL (Network ACL)

Firewall ระดับ Subnet — มีทั้ง ALLOW และ DENY rules, ระบุได้แค่ IP addresses, เป็น STATELESS (return traffic ต้องเปิด rule แยก)

Security Groups (SG)

Firewall ระดับ ENI / EC2 instance — มีแค่ ALLOW rules (ไม่มี DENY), ระบุได้ทั้ง IP และ Security Group อื่น, เป็น STATEFUL (return traffic ได้ auto)

  • NACL: subnet level | ALLOW + DENY | IP only | STATELESS | evaluate ตาม rule number (ต่ำก่อน)
  • Security Group: ENI/EC2 level | ALLOW only | IP + SG อื่น | STATEFUL | evaluate ทุก rule รวมกัน
  • Default NACL = allow ทุกอย่าง | Default SG = deny all inbound, allow all outbound
  • Best practice: ใช้ทั้งคู่ — NACL เป็น first line (subnet), SG เป็น second line (instance)
04

VPC Flow Logs

VPC Flow Logs เก็บข้อมูล (capture) IP traffic ที่ไหลเข้า-ออกจาก network interfaces ของคุณ — ใช้สำหรับ troubleshoot connectivity issues และ monitor traffic

  • Capture ได้ 3 ระดับ: VPC Flow Logs, Subnet Flow Logs, ENI (Elastic Network Interface) Flow Logs
  • ช่วย monitor และ troubleshoot connectivity issues (เช่น ทำไม traffic ไม่ผ่าน, อะไรถูก deny)
  • Capture network information ได้จาก AWS managed services ด้วย: ELB, ElastiCache, RDS, Aurora, ฯลฯ
  • Flow Logs data สามารถ ส่งไปเก็บที่ Amazon S3 หรือ CloudWatch Logs ได้
05

VPC Peering

VPC Peering คือการเชื่อม 2 VPC เข้าด้วยกัน privately ผ่าน AWS network โดยตรง ทำให้ instances ใน 2 VPC คุยกันได้เหมือนอยู่ network เดียวกัน

  • Connect 2 VPCs privately ผ่าน AWS network
  • ทำให้ behave เหมือนอยู่ใน same network
  • ต้อง NOT มี overlapping CIDR (CIDR block ของ 2 VPC ห้ามซ้อนทับกัน)
  • VPC Peering connection is NOT transitive — ต้อง establish for every VPC ที่ต้องการสื่อสาร (A↔B และ B↔C ไม่ทำให้ A↔C)
  • เชื่อมได้ข้าม account และข้าม Region (cross-account / cross-region peering)
  • ต้อง update Route Tables ทั้งสอง VPC ให้ชี้ไปหากัน
06

VPC Endpoints

VPC Endpoints ให้คุณเชื่อมต่อกับ AWS services ผ่าน private network แทนที่จะต้องผ่าน public internet — ผลลัพธ์คือ enhanced security และ lower latency

VPC Endpoint Gateway

สำหรับ S3 และ DynamoDB เท่านั้น — ฟรี, กำหนดใน route table ให้ traffic ไป AWS service โดยตรงผ่าน private network

VPC Endpoint Interface

สำหรับ AWS services อื่นๆ ทั้งหมด — สร้าง ENI (Elastic Network Interface) ใน subnet ของคุณ, มีค่าใช้จ่ายรายชั่วโมง + data processing (ใช้ AWS PrivateLink)

  • Gateway Endpoint → S3, DynamoDB (จำคู่นี้)
  • Interface Endpoint → AWS services อื่นๆ ทั้งหมด
  • Benefit: enhanced security (traffic ไม่ออก internet) + lower latency (อยู่ใน AWS network)
07

Site-to-Site VPN & Direct Connect

เชื่อมต่อ on-premises data center เข้ากับ AWS VPC ได้ 2 วิธีหลัก: Site-to-Site VPN (ผ่าน internet) หรือ Direct Connect (สาย physical):

Site-to-Site VPN

เชื่อม on-premises กับ AWS — connection is automatically encrypted, แต่ goes over public internet, setup เร็วภายในนาที, ราคาถูก

Direct Connect (DX)

Physical connection ระหว่าง on-premises กับ AWS — private, secure, fast, แต่ takes at least a month to establish, bandwidth สูง (1-100Gbps), ราคาแพงกว่า

  • Site-to-Site VPN: ผ่าน internet (encrypted), setup เร็ว, ราคาถูก, latency ไม่แน่นอน
  • ฝั่ง on-premises ต้องมี Customer Gateway (CGW)
  • ฝั่ง AWS ต้องมี Virtual Private Gateway (VGW)
  • Direct Connect (DX): ผ่าน dedicated physical connection — private, secure, fast, แต่ takes 1+ month
  • สามารถใช้ VPN เป็น backup ของ Direct Connect ได้ (failover)
08

Transit Gateway

AWS Transit Gateway คือ network hub-and-spoke (star) ที่ให้ transitive peering ระหว่าง VPCs และ on-premises networks ได้ หลายพัน connections ผ่าน single gateway

  • ให้ transitive peering ระหว่าง thousands of VPCs และ on-premises — แก้ปัญหาที่ VPC Peering ไม่ transitive
  • Topology แบบ hub-and-spoke (star) — Transit Gateway เป็น hub กลาง, VPCs / on-prem เป็น spokes
  • Single gateway เพื่อจัดการ network connectivity ทั้งหมด — ลดความซับซ้อน
  • ทำงานร่วมกับ Direct Connect Gateway และ VPN connections ได้
09

Summary — VPC Components Recap

สรุป network components ของ VPC ที่ต้องจำให้ขึ้นใจสำหรับข้อสอบ CLF-C02 — แต่ละ component มีหน้าที่ของตัวเองและมักออกข้อสอบเป็นคู่ ๆ:

VPC

Private network ส่วนตัวระดับ Region ที่คุณกำหนด CIDR block เอง

Subnet

Partition ของ VPC ระดับ AZ — public มี route ผ่าน IGW, private ไม่มี

Internet Gateway

เชื่อม VPC กับ internet สำหรับ public subnet (1 VPC ต่อ 1 IGW)

NAT Gateway

ให้ private subnet ออก internet ได้แบบ outbound เท่านั้น (managed by AWS)

NACL

Firewall ระดับ subnet — stateless รองรับทั้ง ALLOW และ DENY (IP only)

Security Group

Firewall ระดับ ENI/EC2 — stateful มีแค่ ALLOW (รองรับ IP และ SG อื่น)

VPC Flow Logs

Capture IP traffic ระดับ VPC/Subnet/ENI ส่งไป S3 หรือ CloudWatch Logs

VPC Peering

เชื่อม 2 VPC แบบ private — CIDR ห้าม overlap และ NOT transitive

VPC Endpoints

เชื่อม AWS service แบบ private — Gateway สำหรับ S3/DynamoDB, Interface สำหรับที่เหลือ

Site-to-Site VPN

On-prem ↔ AWS ผ่าน internet (encrypted) — setup เร็ว ราคาถูก ใช้ CGW + VGW

Direct Connect

Physical connection on-prem ↔ AWS — private, fast แต่ใช้เวลา 1+ เดือนติดตั้ง

Transit Gateway

Hub-and-spoke เชื่อม VPC จำนวนมาก + on-prem แบบ transitive peering

  • VPC = Regional ส่วน Subnet = AZ — จำคู่นี้ให้ขึ้นใจ
  • Public subnet ต้องมี route ไป IGW เท่านั้น
  • NACL เป็นชั้นแรก (subnet) ส่วน SG เป็นชั้นที่สอง (instance)
  • ถ้าโจทย์ถามว่าอะไรมี DENY rules → ตอบ NACL เสมอ
  • Gateway Endpoint ใช้ได้แค่กับ S3 และ DynamoDB เท่านั้น
  • VPN = ผ่าน internet (เร็ว ถูก) ส่วน Direct Connect = physical (private, fast, ติดตั้งนาน)
ทดสอบ

คำถามทบทวน

5 ข้อ — เลือกคำตอบเพื่อดูเฉลยและคำอธิบาย

ข้อ 1 / 5คะแนน 0

ข้อใดต่อไปนี้ ถูกต้อง เกี่ยวกับ NACL และ Security Groups?