NetworkingSection 138 min read28 questions

VPC

Virtual Private Cloud

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

ในหน้านี้10 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 & PrivateLink
  7. 07Site-to-Site VPN & Direct Connect
  8. 08AWS Client VPN
  9. 09Transit Gateway
  10. 10Summary — 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 & PrivateLink

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

AWS PrivateLink คือเทคโนโลยีเบื้องหลังของ Interface Endpoint — ทำให้คุณ expose service จาก VPC หนึ่งไปยัง VPC อื่น (หรือ account อื่น) แบบ private โดย ไม่ผ่าน internet, ไม่ใช้ VPC Peering, ไม่ใช้ NAT, ไม่ใช้ IGW — ใช้ทั้งสำหรับ AWS services และ 3rd-party SaaS / customer-published services

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)

PrivateLink สำหรับ 3rd-party / customer services

Service provider สร้าง VPC Endpoint Service ที่ฝั่งหน้า Network Load Balancer (NLB) — ลูกค้าสร้าง Interface Endpoint ใน VPC ตัวเองเพื่อเรียกใช้แบบ private (ใช้กับ SaaS เช่น Datadog, Snowflake และ services ภายในองค์กรข้าม account)

  • Gateway Endpoint → S3, DynamoDB (จำคู่นี้)
  • Interface Endpoint = PrivateLink สำหรับ AWS services อื่นๆ ทั้งหมด
  • PrivateLink ยังใช้ expose partner / customer-published services ผ่าน NLB ได้ — traffic ไม่ออก internet
  • 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

AWS Client VPN

AWS Client VPN เป็น fully managed VPN service ที่ให้ ผู้ใช้รายบุคคล (laptop / desktop / mobile) เชื่อมต่อเข้ามายัง AWS VPC (และเครือข่าย on-premises ที่เชื่อมกับ VPC) ผ่าน encrypted tunnel — ใช้โปรโตคอล OpenVPN ผู้ใช้ติดตั้ง OpenVPN client บนเครื่องตัวเอง

Site-to-Site VPN

เชื่อม network ↔ network — เช่น on-premises data center / สำนักงาน เชื่อมเข้า AWS VPC ทั้ง network, ใช้ Customer Gateway (CGW) + Virtual Private Gateway (VGW)

Client VPN

เชื่อม user device ↔ AWS VPC — เช่น พนักงาน remote ใช้ laptop เชื่อมเข้า AWS เพื่อเข้าถึง private resources, ผู้ใช้ติดตั้ง OpenVPN client บนเครื่องตัวเอง

  • ใช้โปรโตคอล OpenVPN — ผู้ใช้เชื่อมด้วย AWS-provided OpenVPN client หรือ OpenVPN-compatible client
  • Authentication รองรับ 3 แบบ: Active Directory, Mutual TLS (certificates), หรือ federated SSO (SAML) ผ่าน IAM Identity Center
  • เมื่อเชื่อมแล้ว ผู้ใช้เข้าถึงได้ทั้ง resources ใน VPC, peered VPCs, และ on-premises networks (ผ่าน VPN/Direct Connect)
  • Fully managed โดย AWS — scale อัตโนมัติ ไม่ต้องดูแล server
  • Use case ที่พบบ่อย: remote workforce เข้าถึง private AWS resources โดยไม่ต้อง expose ออก public internet
09

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 ได้
10

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 (PrivateLink) สำหรับที่เหลือ

AWS PrivateLink

เทคโนโลยีเบื้องหลัง Interface Endpoint — expose service ข้าม VPC/account แบบ private (ใช้ NLB-fronted endpoint service สำหรับ 3rd-party SaaS)

Site-to-Site VPN

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

Client VPN

User device ↔ AWS VPC ผ่าน OpenVPN — สำหรับ remote workforce เข้าถึง private resources โดยไม่ผ่าน public internet

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, ติดตั้งนาน)
ทดสอบ

คำถามทบทวน

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

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

Which of the following is TRUE about NACLs and Security Groups?