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

EC2 Instance Storage

EC2 Instance Storage: EBS, EFS, Instance Store, AMI

Compute 11 นาที 23 คำถาม

01EBS Overview - พื้นฐาน Elastic Block Store

Amazon EBS (Elastic Block Store) คือ network drive ที่ผูกติดกับ EC2 instance ทำให้ instance สามารถเก็บข้อมูลแบบ persistent (ข้อมูลยังอยู่แม้ instance ถูก terminate ถ้าตั้งค่าถูก) เพราะเป็น network drive จึงมี latency เล็กน้อยและใช้ network bandwidth ของ instance

  • EBS volume ผูกอยู่กับ 1 Availability Zone (AZ) เท่านั้น — ต้องการย้ายข้าม AZ ต้องทำผ่าน snapshot
  • โดย default 1 EBS volume attach ได้กับ 1 instance ในเวลาเดียวกัน (ยกเว้น Multi-Attach ของ io1/io2)
  • มี free tier: 30 GB ของ gp2/gp3 หรือ io1/io2 ต่อเดือน
  • ต้อง provision capacity ล่วงหน้า (size เป็น GB และ IOPS) และจ่ายตามที่ provision ไว้
  • สามารถ เพิ่ม size ระหว่างใช้งานได้ (online) แต่ลดไม่ได้
กับดักข้อสอบ: EBS ผูกกับ AZ
EBS volume ใน us-east-1a ไม่สามารถ attach กับ instance ที่อยู่ใน us-east-1b ได้โดยตรง ต้องสร้าง snapshot แล้ว restore ไป AZ ใหม่ ถ้าข้อสอบถามเรื่องย้าย/แชร์ volume ข้าม AZ คำตอบเกือบเสมอคือ snapshot

02EBS Volume Types - gp2/gp3, io1/io2, st1, sc1

EBS มี 6 ประเภทแบ่งเป็น 2 กลุ่ม: SSD-based (gp2, gp3, io1, io2 Block Express) เหมาะกับ workload ที่เน้น IOPS เช่น database และ boot volume; และ HDD-based (st1, sc1) เหมาะกับ workload ที่เน้น throughput ราคาถูก ใช้เป็น boot volume ไม่ได้

Boot volume ใช้ได้เฉพาะ SSD
gp2, gp3, io1, io2 เท่านั้นที่ใช้เป็น boot volume (root) ได้ ส่วน st1 และ sc1 (HDD) ใช้เป็น boot volume ไม่ได้
gp3 (General Purpose SSD - รุ่นใหม่)
Baseline 3,000 IOPS และ 125 MB/s เป็นค่าเริ่มต้น ปรับ IOPS (สูงสุด 16,000) และ throughput (สูงสุด 1,000 MB/s) ได้อิสระจาก size ของ volume คุ้มค่ากว่า gp2 ประมาณ 20%
gp2 (General Purpose SSD - รุ่นเก่า)
IOPS ผูกกับ size: 3 IOPS ต่อ 1 GB สูงสุด 16,000 IOPS (ที่ size 5,334 GB) volume เล็กกว่า 1 TB มี burst ได้ถึง 3,000 IOPS
io1 / io2 Block Express (Provisioned IOPS SSD)
สำหรับ mission-critical / database ที่ต้องการ IOPS สูงและ latency ต่ำ io1/io2 สูงสุด 64,000 IOPS (Nitro). io2 Block Express สูงสุด 256,000 IOPS, latency ต่ำกว่า 1 ms และ size ถึง 64 TiB. io2 มี durability สูงกว่าและราคาต่อ GB เท่า io1. รองรับ EBS Multi-Attach
st1 (Throughput Optimized HDD)
สำหรับ big data, data warehouse, log processing throughput สูงสุด 500 MB/s, size 125 GB - 16 TB เน้น throughput ไม่เน้น IOPS
sc1 (Cold HDD)
ราคาถูกที่สุด สำหรับข้อมูลที่เข้าถึงไม่บ่อย (infrequent access) throughput สูงสุด 250 MB/s
TypeหมวดMax IOPSMax ThroughputBoot volume?
gp3SSD16,0001,000 MB/sได้
gp2SSD16,000250 MB/sได้
io1SSD64,0001,000 MB/sได้
io2 Block ExpressSSD256,0004,000 MB/sได้
st1HDD500500 MB/sไม่ได้
sc1HDD250250 MB/sไม่ได้
Tips สำหรับการสอบ
จำตัวเลขสำคัญ: gp2/gp3/io1 max 16,000 IOPS (io1 ถึง 64,000), io2 Block Express ถึง 256,000 IOPS. ถ้าข้อสอบต้องการ IOPS เกิน 16,000 บน instance เดียว ให้ตอบ io1/io2. ถ้าต้องการ throughput-heavy ราคาประหยัด (big data/log) ให้ตอบ st1. gp3 แยก IOPS/throughput ออกจาก size ได้ ขณะที่ gp2 ผูกกับ size

03EBS Snapshots - Incremental, Archive, Recycle Bin

EBS Snapshot คือการ backup volume ไปเก็บที่ S3 (ที่ AWS จัดการให้ ไม่เห็นใน bucket ของเรา) snapshot เป็นแบบ incremental คือ backup เฉพาะ block ที่เปลี่ยนแปลงหลัง snapshot ครั้งก่อน ทำให้ประหยัดพื้นที่ ไม่จำเป็นต้อง detach volume ก่อน snapshot แต่แนะนำให้ทำเพื่อความสอดคล้องของข้อมูล

ฟีเจอร์สำคัญของ Snapshot

  • Snapshot ใช้ย้าย volume ข้าม AZ และข้าม Region ได้ — สร้าง snapshot แล้ว copy ไป Region อื่น จากนั้น restore เป็น volume ใหม่
  • EBS Snapshot Archive: ย้าย snapshot ไป archive tier ราคาถูกลงสูงสุด 75% แต่ restore ใช้เวลา 24-72 ชั่วโมง
  • Recycle Bin for EBS Snapshots: ตั้ง retention rule กู้คืน snapshot ที่ถูกลบโดยไม่ตั้งใจ ระยะเวลา retention ตั้งได้ 1 วัน ถึง 1 ปี
  • Fast Snapshot Restore (FSR): ทำให้ volume ที่ restore จาก snapshot มี full performance ทันที ไม่ต้องรอ initialize (มีค่าใช้จ่ายเพิ่ม)
bash
# สร้าง snapshot จาก volume
aws ec2 create-snapshot --volume-id vol-0123456789abcdef0 \
  --description "backup before patch"

# copy snapshot ข้าม region (มักใช้สำหรับ DR)
aws ec2 copy-snapshot \
  --source-region us-east-1 \
  --source-snapshot-id snap-0123456789abcdef0 \
  --destination-region eu-west-1 \
  --encrypted
กับดัก: Archive restore ช้า
ถ้า scenario ต้องการกู้คืนข้อมูลด่วน อย่าเลือก Snapshot Archive เพราะ restore ใช้เวลา 24-72 ชม. Archive เหมาะกับ snapshot ที่เก็บไว้นานๆ เพื่อ compliance และไม่รีบใช้

04EBS Encryption - การเข้ารหัส

EBS Encryption ใช้ AWS KMS (AES-256) เข้ารหัสข้อมูลทั้ง at rest (ใน volume), in transit (ระหว่าง instance กับ volume), snapshots ทั้งหมด และ volume ที่สร้างจาก snapshot การ encryption มีผลกระทบต่อ latency น้อยมากและ AWS จัดการ key ให้แบบโปร่งใส

  • Copy ของ unencrypted snapshot สามารถ encrypt ได้ ตอน copy
  • Snapshot ของ encrypted volume จะ encrypted เสมอ
  • Volume ที่สร้างจาก encrypted snapshot จะ encrypted เสมอ
  • เปิด Account-level encryption by default ได้ ทำให้ volume ใหม่ทุกตัว encrypted อัตโนมัติ

วิธี encrypt volume ที่ยัง unencrypted

  • 1. สร้าง snapshot ของ unencrypted volume
  • 2. Copy snapshot โดยเลือก option encrypt
  • 3. สร้าง volume ใหม่จาก encrypted snapshot (จะ encrypted)
  • 4. Attach volume ใหม่กลับไปที่ instance
Tips สำหรับการสอบ
วิธีเดียวที่จะ encrypt volume ที่มีอยู่แล้ว (unencrypted) คือผ่าน snapshot -> copy with encryption -> create volume. ไม่มีปุ่ม 'encrypt this volume' โดยตรง จำ flow นี้ให้ขึ้นใจ เพราะเป็นคำถามยอดฮิต

05EBS Multi-Attach และ Delete on Termination

EBS Multi-Attach

EBS Multi-Attach ให้ volume เดียว attach กับ EC2 instance ได้สูงสุด 16 ตัว พร้อมกัน แต่มีเงื่อนไข: ใช้ได้เฉพาะ io1/io2 เท่านั้น, ทุก instance ต้องอยู่ใน AZ เดียวกัน กับ volume, และต้องใช้ cluster-aware file system (เช่น GFS2) ไม่ใช่ XFS/EXT4 ทั่วไป มิฉะนั้นข้อมูลจะเสียหาย เหมาะกับ application ที่ต้องการ high availability และ concurrent write

Delete on Termination

เป็น attribute ของแต่ละ volume ที่ผูกกับ EC2 instance ควบคุมว่าเมื่อ terminate instance แล้ว volume จะถูกลบหรือไม่ ค่า default: root EBS volume = ลบ (true), ส่วน EBS volume อื่นที่ attach เพิ่ม = ไม่ลบ (false)

กับดัก: root volume หายตอน terminate
ถ้า scenario ต้องการเก็บข้อมูลใน root volume ไว้หลัง terminate ต้องไปปิด (uncheck) Delete on Termination ของ root volume เพราะ default คือ true (ลบทิ้ง). ในทางกลับกัน ถ้าอยากให้ data volume เพิ่มเติมถูกลบตามไปด้วยต้องเปิด true เอง

06EC2 Instance Store - Ephemeral Storage

EC2 Instance Store คือ disk ที่อยู่ติดกับ physical host จริง (ไม่ใช่ network drive แบบ EBS) จึงให้ performance สูงมาก ทั้ง IOPS และ throughput (หลายแสนถึงล้าน IOPS) แต่เป็น ephemeral storage คือข้อมูล หายเมื่อ instance ถูก stop หรือ terminate (รวมถึงเมื่อ hardware fail)

  • เหมาะกับ buffer / cache / scratch data / temporary content ที่ทนการสูญหายได้
  • ข้อมูล ไม่ persist เมื่อ stop/terminate — ไม่เหมาะเก็บข้อมูลถาวร
  • ความรับผิดชอบเรื่อง backup และ replication เป็นของผู้ใช้
  • ให้ I/O performance สูงกว่า EBS มาก เพราะเป็น local disk บน host
Tips สำหรับการสอบ
Keyword ที่ชี้ไปที่ Instance Store: 'highest IOPS', 'maximum I/O performance', 'temporary/ephemeral', 'cache/buffer/scratch'. แต่ถ้าโจทย์เน้นว่าข้อมูลต้อง persist หลัง stop/terminate -> ตัด Instance Store ออกทันที เลือก EBS แทน

07Amazon EFS - Elastic File System

Amazon EFS คือ managed NFS (network file system) ที่ mount พร้อมกันได้จากหลาย EC2 instance ข้ามหลาย AZ (multi-AZ) เหมาะกับ shared storage เช่น content management, web serving, data sharing, WordPress. ใช้ได้เฉพาะ Linux (NFSv4.1) ค่าใช้จ่ายแพงกว่า EBS ประมาณ 3 เท่า แต่จ่ายตามที่ใช้จริง (pay-per-use) ไม่ต้อง provision capacity ล่วงหน้า scale อัตโนมัติถึงระดับ petabyte

Performance Modes (เลือกตอนสร้าง EFS)

General Purpose (default)
latency ต่ำ เหมาะกับ web server, CMS และ workload ที่ latency-sensitive ส่วนใหญ่
Max I/O
latency สูงขึ้นเล็กน้อยแต่ throughput และ parallelism สูงมาก เหมาะกับ big data, media processing ที่มีหลายพัน instance พร้อมกัน

Throughput Modes

  • Bursting: throughput ขึ้นกับขนาด file system (ยิ่งข้อมูลเยอะ throughput baseline ยิ่งสูง)
  • Provisioned: กำหนด throughput คงที่เองโดยไม่ขึ้นกับ size เหมาะเมื่อข้อมูลน้อยแต่ต้องการ throughput สูง
  • Elastic: scale throughput อัตโนมัติขึ้น/ลงตาม workload เหมาะกับ workload ที่คาดเดาไม่ได้ (unpredictable)

Storage Classes (EFS-IA)

  • Standard: สำหรับข้อมูลที่เข้าถึงบ่อย
  • EFS-IA (Infrequent Access): ราคาถูกลงสูงสุด ~92% สำหรับไฟล์ที่ไม่ค่อยถูกเข้าถึง
  • Archive: ราคาถูกที่สุด (~50% ถูกกว่า IA) สำหรับข้อมูลที่เข้าถึงไม่กี่ครั้งต่อปี
  • ใช้ Lifecycle Policy ย้ายไฟล์ระหว่าง class อัตโนมัติตามจำนวนวันที่ไม่ถูกเข้าถึง
กับดัก: EFS = Linux เท่านั้น
EFS ใช้กับ Windows ไม่ได้ (เป็น NFS). ถ้า scenario เป็น Windows file sharing ต้องตอบ Amazon FSx for Windows File Server ไม่ใช่ EFS

08EFS vs EBS vs Instance Store - เปรียบเทียบ

นี่คือหัวข้อที่ออกสอบบ่อยที่สุดของบทนี้ ต้องแยกให้ออกว่าแต่ละแบบเหมาะกับ scenario ใด โดยดูที่ keyword: shared/multi-AZ -> EFS, single instance persistent block storage -> EBS, highest performance temporary -> Instance Store

คุณสมบัติEBSEFSInstance Store
ประเภทBlock storage (network)File storage (NFS)Block storage (local)
ขอบเขต1 AZMulti-AZ (Region)ติด host เดียว
Attach หลาย instanceได้เฉพาะ Multi-Attach (io1/io2, AZ เดียว, ≤16)ได้ หลายร้อย/พัน (ข้าม AZ)ไม่ได้
OSLinux & WindowsLinux เท่านั้นLinux & Windows
PersistencePersistentPersistentEphemeral (หายตอน stop/terminate)
Performanceสูง (กำหนด IOPS ได้)scale อัตโนมัติสูงสุด (local disk)
Use caseDatabase, boot volumeShared content, CMS, web farmCache, buffer, scratch
Tips สำหรับการสอบ
Decision shortcut: ต้องให้หลาย instance/หลาย AZ เขียนอ่านไฟล์ร่วมกัน -> EFS. ต้องการ block storage ถาวรต่อ 1 instance หรือ database -> EBS. ต้องการ performance สูงสุดและข้อมูล temporary -> Instance Store. EBS = 1 AZ, EFS = multi-AZ จำคู่นี้ไว้

09AMI - Amazon Machine Image

AMI (Amazon Machine Image) คือ template ที่ใช้ launch EC2 instance บรรจุ OS, software ที่ติดตั้งไว้ล่วงหน้า, configuration และ EBS snapshot ของ root volume การ pre-package software ลงใน custom AMI ทำให้ boot และ config เร็วขึ้นมาก เพราะ software ถูกติดตั้งไว้แล้ว AMI เป็น region-scoped (ผูกกับ Region ที่สร้าง)

ขั้นตอนการสร้าง Custom AMI

  • 1. Launch instance และ customize (ลง software, config)
  • 2. Stop instance (เพื่อให้ data integrity)
  • 3. Build AMI — กระบวนการนี้จะสร้าง EBS snapshots ให้อัตโนมัติ
  • 4. Launch instance ใหม่จาก AMI นั้นได้เลย

Copy AMI ข้าม Region / Account

  • Cross-Region copy: copy AMI ไป Region อื่นได้ (ใช้ทำ Disaster Recovery / global deployment) AMI ใหม่จะได้ ID ใหม่ใน Region ปลายทาง
  • Cross-Account: แชร์ AMI ให้ account อื่นผ่าน launch permission หรือ copy ข้าม account ได้ การ share ไม่ได้ลดความเป็นเจ้าของ (owner ยังเป็น account เดิม)
  • ถ้า AMI หรือ snapshot ถูก encrypt ด้วย customer managed KMS key ต้อง share KMS key ให้ target account ด้วยจึงจะ copy/launch ได้
bash
# สร้าง AMI จาก instance (no-reboot ถ้าไม่อยาก reboot)
aws ec2 create-image --instance-id i-0123456789abcdef0 \
  --name "my-web-app-v2" --no-reboot

# copy AMI ข้าม region สำหรับ DR
aws ec2 copy-image \
  --source-region us-east-1 \
  --source-image-id ami-0123456789abcdef0 \
  --region eu-west-1 \
  --name "my-web-app-v2-eu"
กับดัก: AMI ผูกกับ Region
AMI ใน Region หนึ่งใช้ launch instance ใน Region อื่นโดยตรงไม่ได้ ถ้าต้องการใช้ AMI เดียวกันหลาย Region (เช่น Auto Scaling ข้าม Region หรือ DR) ต้อง copy AMI ไปยังแต่ละ Region ก่อน

คำถามทบทวน

ทดสอบความเข้าใจหัวข้อ EC2 Instance Storage

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

ทำแล้ว 0/23คะแนน 0
  1. 1.ทีมต้องการ database volume บน EC2 ที่ให้ IOPS 50,000 และต้องการ low latency สูงสุด ควรเลือก EBS volume type ใด?

  2. 2.ต้องการย้าย EBS volume จาก AZ us-east-1a ไปใช้กับ instance ใน us-east-1b วิธีที่ถูกต้องคือ?

  3. 3.application ต้องการ shared file storage ที่หลาย EC2 instance ใน Linux ข้าม 3 AZ เขียนอ่านพร้อมกันได้ ควรใช้อะไร?

  4. 4.ต้องการ storage ที่ให้ I/O performance สูงสุดสำหรับ cache ชั่วคราว โดยยอมรับได้ว่าข้อมูลหายเมื่อ instance หยุด ควรใช้?

  5. 5.Default ของ Delete on Termination สำหรับ root EBS volume และ non-root EBS volume คืออะไร?

  6. 6.ต้องการ encrypt EBS volume ที่ปัจจุบัน unencrypted อยู่ ขั้นตอนที่ถูกต้องคือ?

  7. 7.EBS Multi-Attach มีข้อจำกัดข้อใดถูกต้อง?

  8. 8.ลักษณะของ EBS snapshot ในแง่การจัดเก็บคืออะไร?

  9. 9.ต้องการเก็บ EBS snapshot ระยะยาวเพื่อ compliance โดยลดต้นทุนสูงสุดและยอมรับได้ว่า restore ใช้เวลานาน ควรใช้อะไร?

  10. 10.Scenario: เผลอลบ EBS snapshot ที่สำคัญไป ต้องการกลไกกู้คืน snapshot ที่ถูกลบโดยไม่ตั้งใจ ควรใช้อะไร?

  11. 11.ความแตกต่างหลักของ gp3 เทียบกับ gp2 คือข้อใด?

  12. 12.Workload เป็น big data และ log processing ที่เน้น sequential throughput สูงในราคาประหยัด ไม่ต้องการ IOPS สูง ควรเลือก EBS type ใด?

  13. 13.AMI ถูกสร้างใน us-east-1 และต้องการ launch instance จาก AMI นี้ใน eu-west-1 ต้องทำอย่างไร?

  14. 14.Scenario: ต้องการให้ EFS ลดต้นทุนสำหรับไฟล์ที่ไม่ถูกเข้าถึงมาหลายวันโดยอัตโนมัติ ควรใช้อะไร?

  15. 15.บริษัทต้องการ shared file storage สำหรับ Windows-based application ที่หลาย instance เข้าถึงร่วมกัน ควรใช้อะไร?

  16. 16.EFS throughput mode ใดเหมาะที่สุดกับ workload ที่ปริมาณไม่แน่นอน (unpredictable) และต้องการให้ scale อัตโนมัติ?

  17. 17.ข้อใดถูกต้องเกี่ยวกับ EBS encryption?

  18. 18.ต้องการ root volume ของ EC2 instance ให้คงอยู่หลังจาก terminate instance ควรทำอย่างไร?

  19. 19.io2 Block Express มีจุดเด่นเหนือ io1 ในด้านใด?

  20. 20.Scenario: ต้องการ encrypt และ copy AMI ที่ใช้ customer managed KMS key ไปยัง AWS account อื่น ต้องคำนึงถึงอะไร?

  21. 21.ข้อใดอธิบาย EC2 Instance Store ได้ถูกต้องที่สุด?

  22. 22.ต้องการให้ volume ที่ restore จาก snapshot มี full performance ทันทีโดยไม่ต้องรอ initialize ควรใช้อะไร?

  23. 23.gp2 volume ขนาด 100 GB จะมี baseline IOPS เท่าใด (ที่อัตรา 3 IOPS ต่อ GB)?