AWS DVA-C02
Esc
↑↓เลื่อน↵เปิดescปิด28 ผลลัพธ์
07

VPC Fundamentals

เครือข่ายพื้นฐานบน AWS สำหรับ DVA-C02 ตามคอร์ส Stephane Maarek

Networking & Content Delivery 22 นาที 19 คำถาม

01Amazon VPC และ CIDR Range

Amazon VPC (Virtual Private Cloud) คือ virtual network ส่วนตัวของคุณบน AWS ที่ทำงานอยู่ภายใน Region เดียว เปรียบเสมือน data center เสมือนที่คุณควบคุมเองได้เต็มที่ ทั้งการแบ่ง subnet, การกำหนด routing และการควบคุม security คุณ launch resources เช่น EC2 instances ลงไปภายใน VPC

เมื่อสร้าง VPC คุณต้องกำหนด CIDR range (Classless Inter-Domain Routing) ซึ่งเป็นช่วงของ private IP addresses ที่ VPC จะใช้ เช่น 10.0.0.0/16

  • VPC CIDR block ขนาดได้ตั้งแต่ /16 (ใหญ่สุด = 65,536 IPs) ถึง /28 (เล็กสุด = 16 IPs)
  • ควรใช้ช่วง private IP ตาม RFC 1918: 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16
  • VPC ผูกกับ Region เดียว — ครอบหลาย Region ไม่ได้
  • CIDR ของ VPC ห้ามทับซ้อน (overlap) กับ network อื่นที่จะเชื่อมต่อ เช่น VPC ที่ peering หรือ on-premises
หมายเหตุ
AWS ทุก account มี default VPC ในแต่ละ Region พร้อม subnet ในแต่ละ AZ และ internet connectivity ตั้งแต่ต้น ทำให้ instance ที่ launch ได้ public IP โดยไม่ต้อง config เพิ่ม

02Subnets: Public vs Private

Subnet คือการแบ่ง CIDR ของ VPC ออกเป็นช่วงย่อยๆ จุดสำคัญที่ต้องจำคือ แต่ละ subnet ผูกกับ Availability Zone (AZ) เดียวเท่านั้น ไม่สามารถข้าม AZ ได้ การกระจาย subnet หลาย AZ จึงเป็นพื้นฐานของ high availability

ระวัง
กับดักข้อสอบ: AWS reserve 5 IP addresses ในทุก subnet (ไม่ใช่ 2) ได้แก่ network address, VPC router, DNS, reserved สำหรับอนาคต และ broadcast ดังนั้น subnet /24 (256 IPs) ใช้งานจริงได้แค่ 251 IPs
Public Subnet
Subnet ที่มี route ไปยัง Internet Gateway (IGW) ใน route table จึงเข้าถึง internet ได้และถูกเข้าถึงจาก internet โดยตรง มักใช้วาง Load Balancer, NAT Gateway และ bastion host
Private Subnet
Subnet ที่ไม่มี route ตรงไปยัง IGW จึงเข้าถึงจาก internet ภายนอกไม่ได้ ใช้วาง application servers และ databases หากต้องออก internet (เช่นดึง update) ต้องผ่าน NAT Gateway ที่อยู่ใน public subnet
เคล็ดลับ
Tip ข้อสอบ: สิ่งที่ทำให้ subnet เป็น public หรือ private คือ route table ที่ associate กับมัน ไม่ใช่ชื่อหรือขนาด CIDR — ถ้าโจทย์ถามว่าทำไม instance เข้า internet ไม่ได้ ให้ดู route table ก่อน

03Internet Gateway, NAT Gateway และ NAT Instance

องค์ประกอบเหล่านี้ควบคุมการเข้าออก internet ของ resources ใน VPC

Internet Gateway (IGW)

  • เป็น component ที่ทำให้ resources ใน VPC เชื่อมต่อ internet ได้
  • แนบกับ VPC (หนึ่ง IGW ต่อหนึ่ง VPC) และ horizontally scaled, redundant, highly available โดย AWS
  • ทำหน้าที่ทั้ง routing และ NAT ให้ instance ที่มี public IP
  • ใช้คู่กับ route table ของ public subnet (route 0.0.0.0/0 -> IGW)

NAT Gateway vs NAT Instance

ทั้งคู่ให้ instance ใน private subnet ออก internet ได้ทางเดียว (outbound) เพื่อดาวน์โหลด patches/updates โดย internet จะ initiate connection เข้ามาไม่ได้ ต้องวางใน public subnet

คุณสมบัติNAT GatewayNAT Instance
ประเภทManaged โดย AWSEC2 instance ที่ manage เอง
High AvailabilityRedundant ภายใน AZ เดียว (ต้องสร้างหลายตัวข้าม AZ)ต้อง setup HA เอง
BandwidthScale อัตโนมัติถึง 100 Gbpsขึ้นกับ instance type
Security Groupใช้ไม่ได้ใช้ได้
Bastion hostทำไม่ได้ทำได้
Maintenanceไม่ต้องต้อง patch เอง
ระวัง
กับดัก: NAT Gateway แต่ละตัวอยู่ใน AZ เดียว หากต้องการ HA ต้องสร้าง NAT Gateway ในแต่ละ AZ และให้ private subnet ใน AZ นั้น route ไป NAT Gateway ของ AZ ตัวเอง — ถ้า NAT ของ AZ หนึ่งล่ม subnet AZ นั้นจะเสีย internet

04NACL vs Security Groups

ทั้งสองเป็น firewall แต่ทำงานคนละระดับและคนละพฤติกรรม เป็นหัวข้อที่ออกสอบบ่อยมาก

คุณสมบัติSecurity GroupNetwork ACL (NACL)
ระดับที่ทำงานENI / instanceSubnet
StateStateful (return traffic auto-allow)Stateless (ต้องกำหนด inbound+outbound แยก)
Rule typeAllow เท่านั้นAllow และ Deny
การประเมิน ruleประเมินทุก rule รวมกันตาม rule number น้อย->มาก หยุดที่ rule แรกที่ match
จำนวนต่อ resourceหนึ่ง instance มีได้หลาย SGหนึ่ง subnet มีได้ NACL เดียว
DefaultDeny inbound, Allow outboundDefault NACL = allow ทั้งหมด; custom NACL = deny ทั้งหมด
เคล็ดลับ
Tip จำง่าย: SG = stateful, allow-only, ระดับ instance ส่วน NACL = stateless, allow+deny, ระดับ subnet, มี rule number ใช้ NACL เมื่อต้อง block IP เฉพาะ (เพราะ SG block ไม่ได้ มีแต่ allow)
ระวัง
กับดัก NACL stateless: เนื่องจาก return traffic ไม่ถูก allow อัตโนมัติ ต้องเปิด ephemeral ports (1024-65535) ใน outbound rule สำหรับ response กลับ มิฉะนั้น connection จะใช้งานไม่ได้แม้ inbound เปิดแล้ว

ลำดับการประเมิน: incoming traffic ผ่าน NACL ของ subnet ก่อน แล้วจึงถึง Security Group ของ instance

05VPC Flow Logs

VPC Flow Logs จับ metadata ของ IP traffic (ไม่ใช่ payload เนื้อหาจริง) ที่เข้า-ออก network interfaces ใช้สำหรับ monitoring, troubleshooting connectivity และ security analysis

  • สร้างได้ที่ระดับ VPC, Subnet หรือ ENI
  • เก็บข้อมูล: source/destination IP, source/destination port, protocol, จำนวน packets/bytes และ action (ACCEPT / REJECT)
  • ส่ง log ไปยัง Amazon S3, CloudWatch Logs หรือ Kinesis Data Firehose
  • จับ traffic ของ AWS managed services ได้ด้วย เช่น ELB, RDS, ElastiCache, NAT Gateway
เคล็ดลับ
Tip ข้อสอบ: ถ้าโจทย์ถามว่า traffic ถูก block ที่ไหน ให้ดู field ACCEPT/REJECT ใน Flow Logs ถ้าเห็น REJECT ให้ตรวจ Security Group และ NACL — Flow Logs ช่วยระบุว่าปัญหาอยู่ที่ network layer ไม่ใช่ application

06VPC Peering

VPC Peering เชื่อมต่อ VPC สองตัวเข้าด้วยกันผ่าน AWS network ให้สื่อสารกันได้เหมือนอยู่ใน network เดียว (ใช้ private IP) สามารถ peer ข้าม Region และข้าม Account ได้

  • CIDR ห้ามทับซ้อน (must not overlap) มิฉะนั้น routing จะกำกวม
  • Non-transitive: ถ้า A peer B และ B peer C, A กับ C สื่อสารกันไม่ได้ ต้องสร้าง peering A-C โดยตรง
  • ต้อง update route tables ทั้งสองฝั่งเพื่อให้รู้เส้นทางไปยัง CIDR ของอีกฝั่ง
  • สามารถอ้างอิง Security Group ของ peer VPC ได้ (ใน Region เดียวกัน)
ระวัง
กับดักที่ออกบ่อย: VPC Peering เป็น non-transitive — ห้ามเข้าใจผิดว่าเชื่อมต่อทอดกันได้ ถ้ามีหลาย VPC ต้องเชื่อมกันแบบ full mesh หรือพิจารณาใช้ Transit Gateway แทน

07VPC Endpoints (Gateway vs Interface/PrivateLink)

VPC Endpoints ให้ resources ใน VPC เข้าถึง AWS services โดยไม่ต้องออก internet (ไม่ผ่าน IGW/NAT) traffic อยู่ภายใน AWS network ทั้งหมด เพิ่มความปลอดภัยและลด latency

Gateway Endpoint
สำหรับ S3 และ DynamoDB เท่านั้น
Interface Endpoint (AWS PrivateLink)
สำหรับ service อื่นๆ ส่วนใหญ่
คุณสมบัติGateway EndpointInterface Endpoint
ServicesS3, DynamoDBส่วนใหญ่ (รวม S3)
กลไกRoute table entryENI + private IP
ค่าใช้จ่ายฟรีมีค่าใช้จ่าย (ชั่วโมง + GB)
Security Groupไม่ใช้ใช้
เข้าถึงจาก on-premisesไม่ได้ได้ (ผ่าน DX/VPN)
เคล็ดลับ
Tip ตัดสินใจในข้อสอบ: ถ้าเป็น S3 หรือ DynamoDB และเน้น ประหยัด/ฟรี -> เลือก Gateway Endpoint ถ้าเป็น service อื่น หรือต้องเข้าถึงจาก on-premises -> เลือก Interface Endpoint (PrivateLink)

08เชื่อม On-Premises: Site-to-Site VPN และ Direct Connect

สองวิธีหลักในการเชื่อม on-premises data center กับ AWS VPC

คุณสมบัติSite-to-Site VPNDirect Connect (DX)
ประเภท connectionEncrypted (IPsec) ผ่าน public internetDedicated private physical connection
EncryptionEncrypted โดย defaultไม่ encrypted โดย default (เพิ่ม VPN ทับได้)
ระยะเวลา setupเร็ว (ไม่กี่นาที-ชั่วโมง)นาน (หลายสัปดาห์ ต้อง provision physical)
Bandwidth/Latencyแปรผันตาม internetสม่ำเสมอ คาดเดาได้
ค่าใช้จ่ายต่ำกว่าสูงกว่า
หมายเหตุ
ฝั่ง VPN ต้องมี Virtual Private Gateway (VGW) ที่ฝั่ง AWS และ Customer Gateway (CGW) ที่ฝั่ง on-premises ส่วน Direct Connect เชื่อมผ่าน AWS Direct Connect location
เคล็ดลับ
Tip: โจทย์ที่ต้องการ ตั้งเร็ว/encrypted/ชั่วคราว -> Site-to-Site VPN; โจทย์ที่ต้องการ bandwidth สูงสม่ำเสมอ/latency ต่ำ/ปริมาณข้อมูลมาก -> Direct Connect (อาจใช้ VPN เป็น backup ของ DX)

09Three-Tier Architecture

สถาปัตยกรรมมาตรฐานที่รวมแนวคิด VPC ทั้งหมดเข้าด้วยกัน แบ่งเป็น 3 ชั้นเพื่อความปลอดภัยและ scalability

  • Tier 1 - Public/Web tier: public subnet วาง Elastic Load Balancer (ELB) รับ traffic จาก internet ผ่าน Route 53
  • Tier 2 - Application tier: private subnet วาง EC2/Auto Scaling Group รับคำขอจาก ELB ออก internet ผ่าน NAT Gateway
  • Tier 3 - Database tier: private subnet วาง RDS / ElastiCache เข้าถึงได้เฉพาะจาก application tier เท่านั้น
หมายเหตุ
กระจาย subnet ของแต่ละ tier ข้าม หลาย AZ เพื่อ high availability และใช้ Security Group แบบ chain (ELB SG -> App SG -> DB SG) เพื่อจำกัด traffic ระหว่าง tier

10VPC Cheat Sheet

สรุปสั้นๆ สำหรับทบทวนก่อนสอบ DVA-C02

  • VPC = virtual network ใน Region เดียว, CIDR /16 ถึง /28
  • Subnet = ผูกกับ 1 AZ, AWS reserve 5 IPs ต่อ subnet
  • Public subnet = route table ชี้ไป IGW; Private subnet = ไม่มี route ตรงไป IGW
  • IGW = เชื่อม internet, redundant/HA, 1 ต่อ VPC
  • NAT Gateway = managed, ใน public subnet, ให้ private subnet ออก internet ทางเดียว, 1 ต่อ AZ
  • NACL = subnet level, stateless, allow+deny, มี rule number
  • Security Group = instance/ENI level, stateful, allow-only
  • Flow Logs = metadata (ACCEPT/REJECT) -> S3 / CloudWatch Logs / Kinesis Firehose
  • VPC Peering = non-transitive, CIDR ห้ามทับ, update route tables
  • Gateway Endpoint = S3 & DynamoDB, ฟรี, route table
  • Interface Endpoint (PrivateLink) = service อื่น, ใช้ ENI, มีค่าใช้จ่าย
  • Site-to-Site VPN = encrypted ผ่าน internet, เร็ว; Direct Connect = private dedicated, latency สม่ำเสมอ
เคล็ดลับ
Tip สุดท้าย: คำถามเกี่ยวกับ 'ทำไมเข้า internet ไม่ได้' ให้ไล่ตามลำดับ -> Route table -> IGW/NAT -> NACL -> Security Group -> Public IP เพราะข้อสอบมักซ่อนปัญหาไว้ในขั้นใดขั้นหนึ่งของห่วงโซ่นี้

คำถามทบทวน

ทดสอบความเข้าใจหัวข้อ VPC Fundamentals

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

ทำแล้ว 0/19คะแนน 0
  1. 1.บริษัทต้องการให้ EC2 instances ใน private subnet ดาวน์โหลด security patches จาก internet ได้ แต่ห้าม internet เริ่มต้น connection เข้ามาหา instance เหล่านี้ ควรใช้อะไร?

  2. 2.ข้อใดอธิบายความแตกต่างหลักระหว่าง Network ACL (NACL) กับ Security Group ได้ถูกต้อง?

  3. 3.แอปพลิเคชันใน private subnet ต้องอ่าน/เขียนข้อมูลกับ Amazon S3 โดยไม่ต้องการให้ traffic ออกไปผ่าน internet และไม่ต้องการเสียค่าใช้จ่ายเพิ่มสำหรับ endpoint ควรใช้อะไร?

  4. 4.VPC A (10.0.0.0/16) peering กับ VPC B (172.16.0.0/16) และ VPC B peering กับ VPC C (192.168.0.0/16) ข้อใดถูกต้องเกี่ยวกับการสื่อสารระหว่าง A และ C?

  5. 5.ทีม security ต้องการ capture ข้อมูล metadata ของ IP traffic ที่ accept และ reject ใน VPC เพื่อ troubleshoot connectivity ควรใช้ feature ใด?

  6. 6.ใน VPC Flow Logs หากเห็น record ที่ action เป็น REJECT สำหรับ inbound traffic ควรตรวจสอบอะไรก่อน?

  7. 7.องค์กรต้องการเชื่อม on-premises data center กับ AWS VPC ผ่าน connection แบบ encrypted ที่ตั้งได้รวดเร็วผ่าน public internet ควรเลือกอะไร?

  8. 8.public subnet ใน VPC แตกต่างจาก private subnet อย่างไร?

  9. 9.NACL ของ subnet มี inbound rule number 100 = ALLOW HTTP จาก 0.0.0.0/0 และ rule number 200 = DENY HTTP จาก 1.2.3.4/32 traffic จาก 1.2.3.4 จะเป็นอย่างไร?

  10. 10.ข้อใดเป็นจริงเกี่ยวกับ CIDR range ของ VPC ใน AWS?

  11. 11.แต่ละ subnet ผูกกับอะไร และ AWS reserve กี่ IP ในแต่ละ subnet?

  12. 12.NAT Gateway มีข้อได้เปรียบอะไรเหนือ NAT Instance?

  13. 13.Interface Endpoint (AWS PrivateLink) ทำงานอย่างไร?

  14. 14.ใน Three-Tier Architecture ทั่วไปบน AWS โดยปกติ tier ใดวางใน private subnet?

  15. 15.เพื่อให้ instance ใน private subnet ของ Region เดียวกันเข้าถึง DynamoDB โดยไม่ผ่าน internet และไม่มีค่าใช้จ่าย endpoint ควรกำหนดค่าอะไร?

  16. 16.ข้อใดอธิบาย Direct Connect (DX) ได้ถูกต้องที่สุด?

  17. 17.Security Group เป็น stateful หมายความว่าอย่างไร?

  18. 18.ทำไม VPC Peering สอง VPC จึงไม่สามารถมี CIDR range ที่ทับซ้อนกันได้?

  19. 19.Route table มีหน้าที่อะไรใน VPC?