ข้ามไปเนื้อหาหลัก
จัดเก็บข้อมูล· ~16 นาที· อัปเดตล่าสุด

S3 Storage Classes

เลือกคลาสเก็บไฟล์ให้ถูกเพื่อประหยัดเงิน

ตู้เย็น โกดังหลังบ้าน และห้องใต้ดิน

Standard เหมือนตู้เย็นในครัว — เปิดหยิบของกิน (อ่านไฟล์บ่อย) ได้เร็วทันใจ (แต่ค่าไฟแพง). Infrequent Access (IA) เหมือนโกดังหลังบ้าน — ของหยิบไม่ค่อยบ่อย ค่าที่ถูกลง แต่ถ้าอยากเดินไปหยิบจะเสียค่าเปิดโกดัง (คิดเงินค่าดึงข้อมูล). Glacier เหมือนห้องใต้ดินแช่แข็งของขั้วโลก — ค่าที่เก็บถูกมาก (เอาไว้ดองของ 10 ปี) แต่เวลาอยากได้ของคืนต้องรอคนไปขุดน้ำแข็ง (ใช้เวลารอตั้งแต่เป็นนาทีจนถึงชั่วโมง กว่าจะดึงข้อมูลกลับมาได้)!

ไม่ใช่ข้อมูลทุกชนิดที่เราจะเรียกใช้ทุกวัน ไฟล์รูปภาพโปรไฟล์อาจถูกเรียกดูวันละร้อยครั้ง แต่ไฟล์แบ็คอัปเมื่อ 5 ปีที่แล้ว อาจไม่มีใครไปแตะมันเลย AWS จึงเสนอรูปแบบชั้นจัดเก็บ Storage Classes ที่ราคาถูกลง แลกกับเงื่อนไขการดึงข้อมูลที่ต่างกัน

  • S3 Standard — สำหรับข้อมูลที่เรียกใช้งานบ่อย (Hot data) ดึงข้อมูลไว ค่าใช้จ่ายการจัดเก็บ (Storage Cost) จะแพงสุด แต่ค่าเรียกใช้งาน (Retrieval) จะถูกสุด หรือแทบจะฟรี
  • S3 Standard-IA (Infrequent Access) — ข้อมูลที่นานๆ เรียกที (เช่น ไฟล์สรุปรายเดือน) ค่าจัดเก็บถูกลงครึ่งนึง แต่ถ้ามาดึงไฟล์จะเจอ "ค่าธรรมเนียมการดึงข้อมูล"
  • S3 One Zone-IA — เหมือน IA แต่ไม่กระจายข้อมูลซ้ำไว้ 3 AZ (เก็บที่ AZ เดียว) ทำให้ความทนทานน้อยลงไปบ้าง แลกกับราคาที่ถูกที่สุด (ใช้เก็บข้อมูลภาพขนาดเล็กๆ ที่มีภาพต้นฉบับสำรองที่อื่น)
  • S3 Glacier (ชั้นน้ำแข็งเย็นยะเยือก) — ไว้ดองเอกสารสำคัญสำหรับ Audit ค่าเก็บข้อมูลรายเดือน "ถูกแบบสุดขีด" แต่วันดีคืนดีจะดึงไฟล์กลับมา คุณอาจต้องรอ 3-12 ชั่วโมง กว่าที่ AWS จะปลดล็อกระบบมาให้ดาวน์โหลด (ยกเว้น Glacier Instant Retrieval)
  • S3 Intelligent-Tiering — ตัวช่วยอัจฉริยะ (ใช้ Machine Learning) คอยย้ายไฟล์ของคุณสลับไปมาระหว่างคลาสให้เองโดยอัตโนมัติ ตามพฤติกรรมการเรียกใช้จริง! (เหมาะมากกับข้อมูลที่ไม่รู้พฤติกรรมการเรียกดู)

สรุป Key Takeaways

  • Standard = ใช้บ่อย · IA = ใช้น้อย (ค่าเก็บถูก แต่เสียค่าดึง) · Glacier = เก็บดอง (รอดึงเป็นชั่วโมง)
  • Lifecycle Policies ออโตเมทย้ายไฟล์ข้าม class เพื่อลดต้นทุนเมื่อไฟล์เก่า
  • Intelligent-Tiering ย้าย class ให้เองอัตโนมัติตามพฤติกรรมการดึงข้อมูล

คำถามที่พบบ่อย

จะรู้ได้ยังไงว่าควรย้ายไฟล์ไป class ไหนเมื่อไหร่

ถ้ารู้ pattern ชัด (เช่น log ที่ไม่มีใครเปิดหลัง 30 วัน) ให้ตั้ง Lifecycle Policy ย้ายตามอายุไฟล์ แต่ถ้าเดา pattern ไม่ได้เลย ให้ใช้ Intelligent-Tiering แล้วปล่อยให้ระบบย้ายเองตามการใช้งานจริง — สองคีย์เวิร์ดนี้แยกคำตอบข้อสอบได้เกือบทุกข้อ

Glacier มีกี่แบบ ต่างกันยังไง

มี 3 ระดับ: Glacier Instant Retrieval ดึงได้ทันทีในหลัก milliseconds (เหมาะกับข้อมูลเก่าที่นานๆ ต้องเปิดดูด่วน), Glacier Flexible Retrieval รอเป็นนาทีถึงชั่วโมง และ Glacier Deep Archive ถูกที่สุดแต่รอราว 12 ชั่วโมงขึ้นไป — ยิ่งรอได้นาน ค่าเก็บยิ่งถูก

One Zone-IA เสี่ยงแค่ไหน ใช้ตอนไหนถึงเหมาะ

ข้อมูลเก็บใน AZ เดียว ถ้า AZ นั้นเสียหายถาวรข้อมูลหายได้จริง จึงเหมาะกับข้อมูลที่สร้างใหม่ได้หรือมีต้นฉบับอยู่ที่อื่น เช่น thumbnail ที่ generate จากรูปต้นฉบับ หรือสำเนา backup รอง — อย่าใช้กับข้อมูลที่มีชุดเดียว

Lifecycle Policy ลบไฟล์ทิ้งเองได้ไหม

ได้ — นอกจากสั่งย้าย class (transition) แล้ว ยังตั้ง expiration ให้ลบ object ทิ้งเมื่ออายุครบกำหนด รวมถึงเก็บกวาด version เก่าและชิ้นส่วน multipart upload ที่ค้างอยู่ ซึ่งเป็นค่าใช้จ่ายแฝงที่หลายทีมลืม

ลองทำ Quiz ท้ายบท

คำถามแนวข้อสอบของโมดูลนี้ 5 ข้อ · เฉลยทันที

อ่านจบแล้วอย่าลืมทำเครื่องหมาย