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

Advanced Amazon S3

เจาะลึก Lifecycle Rules, Event Notifications, Performance, Tags & Metadata สำหรับ DVA-C02

Storage 18 นาที 18 คำถาม

01ภาพรวม Advanced S3 และสิ่งที่ออกสอบ

หัวข้อ Advanced Amazon S3 ใน DVA-C02 ไม่ได้เน้นพื้นฐานการสร้าง bucket แต่เน้นการ optimize cost, performance และ event-driven architecture ข้อสอบมักเป็น scenario ให้เลือกเครื่องมือที่ถูกต้อง และถาม ตัวเลข limit ที่ต้องจำให้แม่น

  • S3 Lifecycle Rules + Storage Class Analysis เพื่อ optimize cost ตามอายุและ access pattern
  • S3 Event Notifications เพื่อ trigger SNS/SQS/Lambda หรือส่งเข้า EventBridge
  • S3 Performance เช่น baseline throughput, multipart upload, Transfer Acceleration, byte-range fetches
  • Object Tags & Metadata สำหรับ filter, access control และเก็บข้อมูลเสริม
กลยุทธ์การอ่าน
โจทย์มักให้ keyword เช่น "ลดค่าใช้จ่ายอัตโนมัติตามอายุ" => Lifecycle, "ใกล้ผู้ใช้ทั่วโลก/เร่ง upload ข้ามทวีป" => Transfer Acceleration, "trigger เมื่อมี object ใหม่" => Event Notifications. จับ keyword ให้แม่นจะตอบได้เร็ว

02S3 Lifecycle Rules

S3 Lifecycle Rules ใช้จัดการ object อัตโนมัติตามอายุ เพื่อประหยัดค่าใช้จ่าย แบ่งเป็น 2 ประเภท action หลัก

Transition Actions
กำหนดให้ย้าย object ไปยัง storage class อื่นเมื่อถึงอายุที่กำหนด เช่น ย้ายไป Standard-IA หลัง 60 วัน, ย้ายไป Glacier Flexible Retrieval หลัง 180 วัน เหมาะกับข้อมูลที่ถูกเข้าถึงน้อยลงเมื่อเวลาผ่านไป
Expiration Actions
กำหนดให้ ลบ object เมื่อถึงอายุที่กำหนด เช่น ลบ access logs หลัง 365 วัน และยังสามารถลบ noncurrent versions (เวอร์ชันเก่าเมื่อเปิด Versioning) และลบ incomplete multipart uploads ที่ค้างอยู่
  • ใช้กับ noncurrent (previous) versions ได้แยกจาก current version (ต้องเปิด Versioning)
  • ลบ incomplete multipart uploads ที่ค้างเกินจำนวนวันที่กำหนด เพื่อลด cost ที่มองไม่เห็น
  • กำหนด scope ได้ด้วย prefix (เช่น logs/) และ/หรือ object tags หรือทั้ง bucket
  • หนึ่ง bucket มีได้หลาย rule และแต่ละ rule มีได้ทั้ง transition และ expiration
กับดักข้อสอบ
Lifecycle transition ไม่ใช่ event-driven และไม่ได้เกิดทันที AWS ประมวลผลแบบ batch (อาจใช้เวลาถึงระดับวัน) ถ้าโจทย์ต้องการ action ทันทีหลังเกิด event ให้ใช้ S3 Event Notifications ไม่ใช่ Lifecycle

03S3 Storage Class Analysis

S3 Storage Class Analysis ช่วยวิเคราะห์ access pattern เพื่อแนะนำว่าเมื่อใดควรย้าย object จาก Standard ไป Standard-IA โดยให้รายงานเป็น CSV รายวัน ใช้ประกอบการตั้ง Lifecycle Rules

  • แนะนำเฉพาะการ transition ระหว่าง Standard และ Standard-IA เท่านั้น
  • ไม่ครอบคลุม One-Zone-IA และ Glacier classes
  • เป็นแค่ คำแนะนำ (recommendation) ไม่ได้ย้าย object ให้เอง ต้องใช้ Lifecycle Rules ทำจริง
  • อัปเดตรายงานรายวัน ปกติเห็นผลหลังเปิดใช้ราว 24-48 ชั่วโมง
Tip สอบ
ถ้าโจทย์ถาม "จะรู้ได้อย่างไรว่าควรตั้ง Lifecycle transition เมื่อไร" คำตอบคือ Storage Class Analysis ถ้าโจทย์ถาม "ทำการย้ายจริงอัตโนมัติ" คำตอบคือ Lifecycle Rules

04S3 Event Notifications

S3 Event Notifications ส่งเหตุการณ์เมื่อเกิด event บน object เช่น object ถูกสร้าง ลบ หรือ restore เพื่อ trigger งานต่อ รองรับ destination ได้แก่ SNS, SQS, Lambda และส่งเข้า EventBridge

  • event types ที่พบบ่อย: s3:ObjectCreated:* (Put/Post/Copy/CompleteMultipartUpload), s3:ObjectRemoved:*, s3:ObjectRestore:*, s3:Replication:*
  • ต้องตั้ง resource (resource-based) policy ให้ S3 service principal เรียก destination ได้ เช่น SQS access policy, SNS topic policy, Lambda resource policy
  • กรอง event ด้วย prefix/suffix ได้ (เช่น เฉพาะ .jpg ในโฟลเดอร์ images/)
  • ใช้ SNS fan-out ส่ง event เดียวไปหลาย SQS queue ได้
กับดักข้อสอบ - Delivery & Latency
S3 Event Notifications โดยทั่วไปส่งภายใน ไม่กี่วินาที แต่บางครั้งอาจนานถึงระดับ นาที และปกติส่ง notification หนึ่งครั้งต่อ event แต่ไม่รับประกัน (อาจซ้ำได้) ถ้าโจทย์เน้นความน่าเชื่อถือ/replay/หลาย destination ให้เลือก EventBridge

05S3 Events เข้า Amazon EventBridge

การส่ง S3 events เข้า Amazon EventBridge ให้ความสามารถขั้นสูงเหนือกว่าการส่งตรงไป SNS/SQS/Lambda เหมาะเมื่อต้องการ advanced filtering และหลาย destination

  • Advanced filtering ด้วย JSON rules (กรองตาม metadata, object size ฯลฯ)
  • ส่งไปได้มากกว่า 18 AWS service destinations
  • รองรับ Archive และ Replay ของ event
  • มี capabilities เช่น reliable delivery, multiple destinations จาก event เดียว
ประเด็นDirect (SNS/SQS/Lambda)EventBridge
DestinationsSNS, SQS, Lambda เท่านั้น18+ AWS services
Filteringprefix/suffix พื้นฐานAdvanced JSON filtering
Archive / Replayไม่มีมี
Fan-out หลายปลายทางต้องผ่าน SNSรองรับในตัว
Tip สอบ
keyword "filter แบบละเอียด", "ส่งไปหลาย service", "archive/replay events" => เลือก EventBridge เสมอ

06S3 Performance (Baseline & Throughput)

S3 scale อัตโนมัติและให้ throughput สูงมาก แต่ต้องจำ baseline ต่อ prefix ให้แม่น เพราะออกสอบบ่อย

  • รองรับอย่างน้อย 3,500 requests/s สำหรับ PUT/COPY/POST/DELETE ต่อ prefix
  • รองรับอย่างน้อย 5,500 requests/s สำหรับ GET/HEAD ต่อ prefix
  • ไม่มี limit ของจำนวน prefix ใน bucket การกระจาย object ข้ามหลาย prefix เพิ่ม throughput แบบ horizontal
  • prefix คือ path ระหว่างชื่อ bucket กับชื่อไฟล์ เช่น object key folder1/sub1/file => prefix คือ /folder1/sub1/
กับดักข้อสอบ
ตัวเลข 3,500/5,500 เป็น ต่อ prefix ต่อวินาที ไม่ใช่ต่อ bucket ถ้าต้องการ throughput สูงขึ้น ให้กระจาย object ข้ามหลาย prefix อย่าจำสลับ PUT กับ GET (PUT = 3,500, GET = 5,500)

07Multipart Upload, Transfer Acceleration & Byte-Range Fetches

3 เทคนิคหลักในการ optimize การรับส่งข้อมูล ซึ่งทำงานคนละบทบาทและออกสอบให้แยกแยะ

Multipart Upload
แบ่งไฟล์เป็นหลาย part แล้ว upload แบบขนาน แนะนำเมื่อไฟล์ > 100MB และ จำเป็น (required) เมื่อไฟล์ > 5GB เพราะ single PUT รองรับสูงสุด 5GB ช่วยเพิ่มความเร็วและ resume ได้ ควรใช้ Lifecycle rule ลบ incomplete parts
S3 Transfer Acceleration
เร่งความเร็ว transfer (upload/download) โดยส่งผ่าน AWS edge location ที่ใกล้ผู้ใช้ที่สุด แล้ววิ่งผ่าน AWS private network ไปยัง bucket region เหมาะกับการรับส่งข้าม region/ทวีป ใช้ร่วมกับ multipart upload ได้
Byte-Range Fetches
ใช้ HTTP Range header ดึงเฉพาะช่วง byte ของ object ทำให้ download แบบขนาน ได้เร็วขึ้น ใช้ retry เฉพาะส่วนที่ fail หรือดึงเฉพาะส่วนหัวของไฟล์ (เช่น metadata) ได้
สถานการณ์เทคนิคที่ใช้
upload ไฟล์ใหญ่ (>100MB, จำเป็น >5GB)Multipart Upload
เร่ง upload/download ข้ามทวีป ผู้ใช้ทั่วโลกS3 Transfer Acceleration
download ไฟล์ใหญ่แบบขนาน หรือดึงบางส่วนByte-Range Fetches

08S3 Object Tags & Metadata

Object Tags และ Metadata ใช้เก็บข้อมูลเสริมของ object แต่มีบทบาทต่างกัน ออกสอบให้แยกความต่าง

Object Tags
key-value สูงสุด 10 tags ต่อ object ใช้ filter ใน Lifecycle Rules, fine-grained access control ใน IAM/bucket policy (เงื่อนไข tag) และ Storage Class Analysis สามารถแก้ไขได้ตลอด
User-defined Metadata
ต้องขึ้นต้นด้วย x-amz-meta- ตามด้วยชื่อ key (S3 เก็บ key เป็น lowercase) กำหนดตอน upload object เป็น key-value แนบไปกับ object
System Metadata
S3 จัดการเอง เช่น Content-Length, Content-Type, Last-Modified, storage class บางส่วนแก้ไขได้บางส่วนแก้ไม่ได้
Tip สอบ
จำว่า tags = 10 ตัว ใช้ filter/policy/analytics, user metadata = ขึ้นต้น x-amz-meta-. หากต้องการ "ค้นหา object ตาม metadata" S3 ไม่รองรับ search โดยตรง ต้องใช้ index ภายนอก (เช่น DynamoDB) หรือ S3 Inventory + Athena

คำถามทบทวน

ทดสอบความเข้าใจหัวข้อ Advanced Amazon S3

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

ทำแล้ว 0/18คะแนน 0
  1. 1.ทีมต้องการย้ายไฟล์อัตโนมัติไปยัง S3 Glacier Flexible Retrieval หลังจากผ่านไป 90 วัน และลบทิ้งหลังจาก 365 วัน ควรใช้อะไร?

  2. 2.S3 baseline performance รองรับได้กี่ request ต่อ prefix ต่อวินาที?

  3. 3.องค์กรไม่แน่ใจว่าควรตั้งค่า Lifecycle transition เมื่อใด ต้องการคำแนะนำจากการวิเคราะห์ access pattern ระหว่าง Standard และ Standard-IA ควรใช้อะไร?

  4. 4.ต้องการ upload ไฟล์ขนาด 8GB เข้า S3 ข้อใดถูกต้อง?

  5. 5.ต้องการ trigger Lambda function ทุกครั้งที่มี object ใหม่ถูกสร้างใน S3 bucket ต้องตั้งค่าอะไรเพิ่มเพื่อให้ทำงาน?

  6. 6.ต้องการ filter S3 event และส่งไปยังหลาย destination พร้อมความสามารถ archive/replay ควรใช้อะไร?

  7. 7.ต้องการเร่งความเร็วการ upload ไฟล์จากผู้ใช้ทั่วโลกไปยัง S3 bucket ในภูมิภาคเดียว ควรใช้อะไร?

  8. 8.S3 object tags ใช้ทำอะไรได้บ้าง และจำกัดจำนวนเท่าใด?

  9. 9.user-defined metadata ใน S3 ต้องขึ้นต้นด้วย prefix ใด?

  10. 10.ต้องการดาวน์โหลดไฟล์ขนาดใหญ่ให้เร็วขึ้นโดยดึงข้อมูลแบบขนาน ควรใช้เทคนิคใด?

  11. 11.Lifecycle Rule ข้อใดเกี่ยวกับ S3 Versioning ที่ถูกต้อง?

  12. 12.ต้องการให้ S3 ทำความสะอาด multipart upload ที่ค้างไม่สมบูรณ์เพื่อลดค่าใช้จ่ายอัตโนมัติ ควรใช้อะไร?

  13. 13.องค์กรพบ latency สูงและบางครั้ง S3 event notification ส่งซ้ำ ข้อใดอธิบาย delivery ของ S3 Event Notifications ได้ถูกต้อง?

  14. 14.ต้องการให้ Lifecycle Rule มีผลเฉพาะ object ที่อยู่ใน path 'logs/' และมี tag 'archive=true' เท่านั้น ทำได้อย่างไร?

  15. 15.event type ใดใน S3 ที่ใช้ตรวจจับการสร้าง object ทุกรูปแบบ (PUT, POST, COPY, multipart complete)?

  16. 16.แอปต้องการ upload ไฟล์ 150MB ให้เสถียรและเร็วขึ้น คำแนะนำที่ถูกต้องที่สุดคือ?

  17. 17.ต้องการ fan-out ส่ง S3 event เดียวกันไปยังหลาย SQS queue ควรออกแบบอย่างไร?

  18. 18.ข้อใดเกี่ยวกับ S3 Storage Class Analysis ที่ถูกต้อง?