EBS Overview — Network Drive ของ EC2
EBS (Elastic Block Store) คือ Network Drive ที่ attach เข้ากับ EC2 instance ได้ — ข้อมูลยังคงอยู่แม้ instance จะถูก terminate เหมือน USB External Hard Drive ที่อยู่บน network
- Network Drive ไม่ใช่ Physical Drive — ส่งข้อมูลผ่าน network ดังนั้นอาจมี latency เล็กน้อย
- Detach / Reattach ได้เร็ว — ถอดจาก instance หนึ่งไปเสียบอีก instance ได้ในไม่กี่วินาที
- ผูกกับ AZ เดียว — EBS Volume ที่สร้างใน ap-southeast-1a attach กับ instance ใน ap-southeast-1b ไม่ได้ ต้องใช้ Snapshot ก่อน
- Provisioned Capacity — จองทั้งขนาด (GB) และ IOPS ล่วงหน้า จ่ายตามที่จองไม่ใช่ที่ใช้จริง
- Free Tier — 30 GB ของ General Purpose SSD หรือ Magnetic ต่อเดือน
- 1 Volume → 1 Instance (ปกติ) ยกเว้น io1/io2 Multi-Attach
- 1 Instance → หลาย Volume ได้ — เหมือน computer ที่มีหลาย hard disk
EBS Volume Types — 6 ประเภทที่ต้องรู้
EBS แบ่งเป็น 2 กลุ่มหลัก: SSD (เหมาะกับ random I/O, latency ต่ำ, ใช้เป็น Boot Volume ได้) และ HDD (เหมาะกับ sequential I/O, throughput สูง, ราคาถูก, ใช้เป็น Boot Volume ไม่ได้)
gp3 — General Purpose SSD (แนะนำ)
Baseline 3,000 IOPS + 125 MB/s, scale ได้ถึง 16,000 IOPS และ 1,000 MB/s อิสระจาก storage size — ราคาถูกกว่า gp2 ~20%
gp2 — General Purpose SSD (รุ่นเก่า)
IOPS ผูกกับ size: 3 IOPS/GB (สูงสุด 16,000) — อยากได้ IOPS มากต้องเพิ่ม storage ด้วย แนะนำ migrate ไป gp3
io2 Block Express — Provisioned IOPS SSD
สูงสุด 256,000 IOPS, sub-millisecond latency, รองรับ Multi-Attach เหมาะกับ SAP HANA, Oracle, critical DB ที่ต้องการ IOPS สูงสุด
io1 — Provisioned IOPS SSD (รุ่นเก่า)
สูงสุด 64,000 IOPS (Nitro instance), รองรับ Multi-Attach แนะนำใช้ io2 แทน
st1 — Throughput Optimized HDD
สูงสุด 500 MB/s throughput — ใช้เป็น Boot Volume ไม่ได้ เหมาะกับ Big Data, Data Warehouse, Log processing
sc1 — Cold HDD
สูงสุด 250 MB/s — ราคาถูกที่สุดใน EBS ทั้งหมด ใช้เป็น Boot Volume ไม่ได้ เหมาะกับ archive, ข้อมูลที่เข้าถึงไม่บ่อย
EBS Snapshots — Backup & ย้าย AZ/Region
Snapshot คือการ backup EBS Volume ณ จุดเวลาหนึ่ง — เก็บอยู่ใน S3 (แต่ไม่เห็นใน S3 bucket โดยตรง) และเป็นวิธีหลักในการย้าย EBS ข้าม AZ หรือ Region
- แนะนำให้ detach volume ก่อน snapshot เพื่อความถูกต้องของข้อมูล แต่ไม่จำเป็น (ไม่ใช่ requirement)
- Incremental — backup เฉพาะ block ที่เปลี่ยนแปลงตั้งแต่ snapshot ครั้งก่อน ประหยัดพื้นที่และเวลา
- สร้าง Volume ใหม่จาก snapshot ใน AZ หรือ Region ใดก็ได้ — วิธีหลักในการย้าย EBS ข้าม AZ
- Copy snapshot ข้าม Region ได้ — ใช้สำหรับ Disaster Recovery (DR)
EBS Snapshot Archive
ย้าย snapshot ไป archive tier ราคาถูกกว่า ~75% — Restore ใช้เวลา 24–72 ชั่วโมง เหมาะกับ snapshot ที่ไม่ค่อยใช้แต่ต้องเก็บ
Recycle Bin for Snapshots
กำหนด retention rule ให้ snapshot ที่ถูกลบย้ายไป Recycle Bin ก่อน (1 วัน – 1 ปี) ป้องกันลบโดยไม่ตั้งใจ — กู้คืนได้ภายใน retention period
Fast Snapshot Restore (FSR)
Volume ที่ restore จาก snapshot พร้อม full performance ทันทีโดยไม่ต้อง warm up — มีค่าใช้จ่ายเพิ่ม เหมาะกับ snapshot ที่ต้อง restore เร่งด่วน
Cross-AZ / Cross-Region Copy
วิธีเดียวที่จะย้าย EBS volume ข้าม AZ หรือ Region: Snapshot → Copy → Create Volume ใน AZ/Region ปลายทาง
EBS Multi-Attach — Volume เดียว หลาย Instance
ปกติ EBS Volume attach ได้กับ instance เดียวเท่านั้น แต่ io1 / io2 รองรับ Multi-Attach — attach volume เดียวกันกับ instance หลายตัวพร้อมกันได้ใน AZ เดียวกัน
- รองรับเฉพาะ io1 และ io2 เท่านั้น (gp2/gp3/HDD ไม่รองรับ)
- Attach ได้สูงสุด 16 instances พร้อมกัน
- ทุก instance ต้องอยู่ใน AZ เดียวกัน
- ทุก instance มีสิทธิ์ read และ write volume พร้อมกัน
- Application ต้องจัดการ concurrent write เอง — EBS ไม่ได้ lock ให้
- ต้องใช้ filesystem ที่รองรับ cluster เช่น GFS2, OCFS2 — ไม่ใช่ ext4 หรือ xfs ธรรมดา
EBS Encryption — เข้ารหัสด้วย KMS
เปิด encryption บน EBS Volume ได้ด้วย AWS KMS (AES-256) — เมื่อเปิดแล้วทุกอย่างจะถูก encrypt โดยอัตโนมัติ:
- ข้อมูลที่เก็บบน volume (data at rest)
- ข้อมูลที่วิ่งระหว่าง volume กับ instance (data in transit)
- Snapshot ที่สร้างจาก volume ที่ encrypt
- Volume ที่สร้างจาก snapshot ที่ encrypt
วิธีเข้ารหัส Volume ที่ไม่ได้ encrypt ไว้ตั้งแต่แรก:
- 1) สร้าง Snapshot จาก volume เดิม (ไม่ encrypt)
- 2) Copy snapshot พร้อมเปิด Encrypt → ได้ encrypted snapshot
- 3) Create Volume ใหม่จาก encrypted snapshot → ได้ encrypted volume
- 4) Attach volume ใหม่ เข้า instance แทนอันเดิม
EBS Delete on Termination
เมื่อ EC2 instance ถูก terminate EBS Volume ที่ attach อยู่จะถูกลบหรือไม่ขึ้นอยู่กับ Delete on Termination flag
Root Volume — Default = TRUE
Boot volume (root EBS) ของ EC2 จะถูก ลบอัตโนมัติ เมื่อ instance terminate — ป้องกัน orphan volume สะสม
Other (Attached) Volumes — Default = FALSE
Volume อื่นที่ attach เพิ่มเข้ามาจะ ไม่ถูกลบ เมื่อ instance terminate — เก็บข้อมูลไว้ได้
EC2 Instance Store — Physical Disk บน Host
Instance Store คือ storage ที่ติดมากับ physical host ของ EC2 โดยตรง — ต่างจาก EBS ที่เป็น network drive เชื่อมต่อผ่าน hardware เดียวกัน ทำให้เร็วกว่ามาก
- Highest IOPS / Lowest Latency — เป็น physical disk บน host เร็วกว่า EBS อย่างมาก
- Ephemeral Storage — ข้อมูลหายทั้งหมดเมื่อ stop / terminate / hardware ล้มเหลว ไม่สามารถกู้คืนได้
- ราคารวมอยู่ในค่า instance แล้ว — ไม่มีค่าใช้จ่ายแยกต่างหาก
- ขนาดคงที่ตาม instance type — ไม่สามารถ resize ได้
AMI — Amazon Machine Image
AMI (Amazon Machine Image) คือ customization ของ EC2 — เก็บ OS + software + configuration + monitoring agent ไว้เป็น image พร้อมใช้ launch instance ใหม่ได้ทันที
- Faster Boot — ทุก software ถูกติดตั้งไว้แล้วใน AMI ไม่ต้อง install ตอน boot
- Region-specific — AMI ใน ap-southeast-1 ใช้ใน us-east-1 ไม่ได้ ต้อง copy AMI ข้าม region
- AMI สร้างจาก EBS Snapshot ของ root volume
Public AMI (จาก AWS)
AMI ที่ AWS เตรียมไว้ให้ฟรี เช่น Amazon Linux 2, Ubuntu, Windows Server — ใช้เป็นจุดเริ่มต้นในการ customize
Your Own AMI
AMI ที่คุณสร้างเอง — launch EC2 → install/config → stop → Build AMI — ใช้กระจายเป็น template ภายในองค์กร
AWS Marketplace AMI
AMI ที่ vendor ขายผ่าน Marketplace — มาพร้อม software license (เช่น databases, security appliance) จ่ายผ่าน AWS bill
EC2 Image Builder — สร้าง AMI อัตโนมัติ
EC2 Image Builder เป็น service ที่ใช้ automate การสร้าง / maintain / validate / test AMI — ตั้งให้รันตามตารางหรือเมื่อมี package update
- Automate การสร้าง AMI — ไม่ต้อง build manually ทุกครั้ง
- ตั้ง schedule ได้ (เช่น weekly) หรือ trigger เมื่อ package update
- มี validation & testing pipeline ในตัว — ทดสอบ AMI ก่อน publish
- Free service — จ่ายเฉพาะ EC2, EBS, S3 ที่ใช้ระหว่าง build
EFS — Elastic File System
EFS คือ Managed NFS (Network File System) ที่ให้ EC2 instance หลายร้อยเครื่อง mount พร้อมกันได้ — ต่างจาก EBS ที่ attach ได้กับ instance เดียว
- Multi-Attach หลายร้อย instance — หลาย EC2 ในหลาย AZ สามารถ mount EFS เดียวกันได้พร้อมกัน
- Linux เท่านั้น — ใช้ POSIX file system (ไม่รองรับ Windows)
- Multi-AZ, Highly Available — ข้อมูลซ้ำหลาย AZ อัตโนมัติ
- Scalable — auto-grow ตามที่ใช้ ไม่ต้อง provision ขนาดล่วงหน้า
- Pay-per-use — จ่ายตามที่ใช้จริง ไม่ต้องจองพื้นที่
- แพงกว่า EBS gp2 ~3x — แต่คุ้มค่าสำหรับ shared storage ข้าม instance
EFS Standard (Multi-AZ)
เก็บข้อมูลซ้ำหลาย AZ เพื่อ high availability — เหมาะกับ production workload ที่ต้องการ availability สูง
EFS-IA (Infrequent Access)
ราคาถูกกว่า Standard ถึง 92% มีค่าใช้จ่ายเมื่อ retrieve — ใช้ Lifecycle Policy ย้ายไฟล์ที่ไม่ถูกใช้งาน >60 วันไป IA อัตโนมัติ
EFS One Zone (Single-AZ)
เก็บข้อมูลใน AZ เดียว ราคาถูก — เหมาะกับ dev / test environment ที่ไม่ต้องการ multi-AZ resilience
FSx for Windows File Server
Amazon FSx for Windows File Server คือ fully managed Windows file system — เป็น Windows-native shared storage บน AWS
- รองรับ SMB protocol (Windows native file sharing)
- รองรับ Windows NTFS filesystem
- Integrate กับ Microsoft Active Directory (AD) — ใช้ AD permission ควบคุมการเข้าถึงไฟล์
- Multi-AZ available, supports Windows ACLs, user quotas
- เหมาะกับ Windows-based applications ที่ต้องการ shared storage
FSx for Lustre — HPC / ML
Amazon FSx for Lustre คือ high-performance Linux cluster file system — ชื่อ Lustre มาจาก 'Linux + cluster' ออกแบบมาสำหรับงานที่ต้องการ throughput และ IOPS สูงมาก
- Performance สูงมาก — scale ได้ถึง 100s GB/s throughput, ล้าน IOPS, sub-millisecond latency
- เหมาะกับ HPC (High Performance Computing)
- เหมาะกับ Machine Learning (training data ขนาดใหญ่)
- เหมาะกับ Analytics และ Financial Modeling
- Integrate กับ S3 ได้ — อ่าน/เขียนไฟล์บน S3 ผ่าน FSx Lustre
ตารางเปรียบเทียบ EBS vs Instance Store vs EFS
EBS
Block Storage (Network) | เร็ว | ข้อมูลไม่หายเมื่อ stop | 1 instance (หรือ 16 ด้วย Multi-Attach io1/io2) | ผูก AZ เดียว | Provisioned size | Linux + Windows
Instance Store
Block Storage (Physical) | เร็วที่สุด | ข้อมูลหายหมดเมื่อ stop/terminate | 1 instance เท่านั้น | ผูก AZ เดียว | Fixed size | Linux + Windows | ราคารวมกับ instance
EFS
File System (Network NFS) | ช้ากว่า EBS | ข้อมูลไม่หาย | หลายร้อย instance ข้าม AZ | Auto Scaling | Linux เท่านั้น | แพงสุด (~3x EBS gp2)
สรุปการเลือกใช้ — ใช้ scenario เป็นจุดเริ่มต้น แล้วจับคู่กับบริการที่เหมาะที่สุด:
- ต้องการ persistent block storage สำหรับ instance เดียว (Boot volume, DB) → EBS
- ต้องการ IOPS สูงสุด กับข้อมูลชั่วคราว (Cache, Buffer) → Instance Store
- หลาย instance ต้องแชร์ไฟล์ข้าม AZ → EFS
- Windows shared storage (SMB + Active Directory) → FSx for Windows
- HPC / ML cluster ที่ต้องการ throughput สูงระดับ 100 GB/s → FSx for Lustre
Summary — สรุปประเด็นสำคัญ
EC2 Storage มี 4 กลุ่มหลัก: EBS สำหรับ block storage แบบติด instance เดียว, Instance Store สำหรับ disk ที่เร็วที่สุดแต่ชั่วคราว, EFS สำหรับ shared file system บน Linux และ FSx สำหรับ workload เฉพาะทาง (Windows / HPC) — เลือกได้จาก persistence, performance และ access pattern
EBS — Block Storage
Network drive ที่ผูกกับ AZ เดียว และ persistent เมื่อ stop instance
EBS Volume Types
gp3 เป็น default ที่แนะนำ ส่วน io2 ให้ IOPS สูงสุดสำหรับ DB ที่ต้องการ performance
EBS HDD (st1 / sc1)
ราคาถูกสำหรับ throughput-intensive workload แต่ใช้เป็น Boot Volume ไม่ได้
Snapshot
Backup แบบ incremental เก็บใน S3 และเป็นวิธีเดียวที่ย้าย EBS ข้าม AZ หรือ Region
Multi-Attach
ผูก EBS เดียวกับสูงสุด 16 instance — รองรับเฉพาะ io1 / io2 และต้องใช้ cluster filesystem
EBS Encryption
ใช้ AWS KMS (AES-256) เข้ารหัส data at rest, in transit และ snapshot โดยไม่กระทบ performance
Instance Store
Physical disk บน host server — เร็วที่สุด แต่ข้อมูลหายเมื่อ stop หรือ terminate
AMI
Image ของ EC2 (OS + software + config) เป็น region-specific ต้อง copy ก่อนใช้ใน region อื่น
EC2 Image Builder
Service ฟรีที่ automate การสร้าง AMI ตาม schedule พร้อม validation และ testing
EFS — File System
NFS shared file system สำหรับ Linux เท่านั้น ใช้ได้หลายร้อย instance ข้าม AZ
FSx for Windows
Managed Windows file system รองรับ SMB + Active Directory สำหรับ Windows app
FSx for Lustre
Linux cluster file system สำหรับ HPC / ML / Analytics ให้ throughput ระดับ 100s GB/s
- Boot Volume: ต้องเป็น SSD (gp2/gp3/io1/io2) เท่านั้น — HDD (st1/sc1) ใช้เป็น root ไม่ได้
- ย้าย EBS ข้าม AZ: ใช้ Snapshot → restore ใน AZ ใหม่ (EBS ผูกกับ AZ เดียวเท่านั้น)
- Snapshot Archive: ลดราคาได้ ~75% เหมาะกับ snapshot ที่ไม่ค่อยใช้
- Recycle Bin: ป้องกันการลบ snapshot โดยไม่ตั้งใจ — restore ได้ภายใน retention period
- FSR (Fast Snapshot Restore): ทำให้ restore จาก snapshot เร็วขึ้นทันที (no warm-up)
- EFS Storage Classes: Standard, IA และ One Zone — แพงกว่า EBS gp2 ประมาณ 3 เท่า
- OS Compatibility: EFS = Linux, FSx for Windows = Windows, FSx for Lustre = Linux HPC