1 เม.ย. 2022 เวลา 00:40 • วิทยาศาสตร์ & เทคโนโลยี
S3 (Simple Storage Service)
S3 เป็นบริการ Cloud Object Storage หรือเรียกง่ายๆคือที่เก็บไฟล์บน Cloud
ข้อดีของ S3 คือ
  • สามารถเก็บไฟล์ได้จำนวนและขนาดรวมไม่จำกัด (ไฟล์ใหญ่สุดที่เก็บได้คือ 5TB) โดยเราจ่ายเงินเฉพาะในเนื้อที่ที่เราใช้เก็บไฟล์เท่านั้น ไม่ต้องระบุล่วงหน้าว่าเราต้องการ Drive ขนาดเท่าไหร่ ตัวอย่างเช่น เราเก็บไฟล์ 1.2MB เราก็จ่ายในส่วน 1.2MB พอดีๆ
  • ไฟล์ถูกทำสำเนาไว้หลายแห่งอัตโนมัติ ดังนั้นมั่นใจได้ว่าไฟล์ยังอยู่แม้ตึกถล่ม
หลักการทำงานพื้นฐานคือ เราสร้าง Bucket (คล้ายๆ folder ในคอมพิวเตอร์เรา) แล้วเอาไฟล์ที่ต้องการใส่ลงไป แต่ละไฟล์มี key เฉพาะของตัวเอง (คล้ายๆชื่อไฟล์) เพื่อเรียกกลับมาได้ในภายหลัง
Amazon S3
ใน S3 นั้นมี Storage class อยู่ทั้งหมด 7 ชนิด มีคุณสมบัติและราคาที่แตกต่างกัน ที่ต้องเลือกใช้อย่างเหมาะสม
  • S3 Standard สำหรับใช้งานทั่วไป
  • S3 Standard-IA (Infrequent Access) สำหรับไฟล์ที่เข้าถึงไม่บ่อย โดยมีค่าใช้จ่ายในการเก็บไฟล์ถูกกว่าแบบที่ 1 แต่มีค่าใช้จ่ายในการเข้าถึงไฟล์ด้วยเล็กน้อย
  • S3 Intelligent-Tiering สำหรับไฟล์ที่ไม่แน่ใจว่าจะเข้าถึงบ่อยรึเปล่า โดยระบบจะตรวจสอบแต่ละไฟล์ให้เองว่าเราเข้าถึงไฟล์บ่อยรึเปล่า และเปลี่ยนรูปแบบการเก็บไฟล์ให้เหมาะสมอัตโนมัติ
  • S3 One Zone-IA เหมือนแบบที่ 2 แต่เก็บแค่ที่เดียว โดยมีค่าใช้จ่ายการเก็บถูกกว่า แต่ถ้าตึกนั้นถล่มพอดีไฟล์จะหาย เหมาะกับการเก็บไฟล์ที่สร้างขึ้นมาใหม่ได้ถ้าทำหาย เช่น ไฟล์ thumbnail
  • S3 Glacier Instant Retrieval สำหรับไฟล์ที่เข้าถึงไม่บ่อยยิ่งกว่าแบบที่ 2 หรือ 4 แต่ยังต้องการการเข้าถึงไฟล์แบบทันทีเมื่อต้องการ
  • S3 Glacier Flexible Retrieval สำหรับไฟล์ที่เข้าถึงน้อยกว่าแบบที่ 5 (ประมาณ 1 ถึง 2 ครั้งต่อปี) และเมื่อต้องการไฟล์ ไม่จำเป็นต้องใช้แบบทันที รอได้ระดับนาทีหรือชั่วโมง
  • S3 Glacier Deep Archive สำหรับไฟล์ที่เข้าถึงน้อยกว่าแบบที่ 6 และเมื่อต้องการใช้ไฟล์สามารถรอได้ระดับชั่วโมง
ดูแล้วอาจจะงงว่าแต่ละแบบต่างกันยังไง ถ้าจะให้สรุปสั้นๆจากบนลงล่าง คือ
  • บนสุด (เข้าถึงบ่อย, เข้าถึงต้องได้ไฟล์ทันที, ค่าเก็บไฟล์แพงสุด, ค่าเข้าถึงไฟล์ถูกสุด)
  • ล่างสุด (เข้าถึงไม่บ่อย, สามารถรอไฟล์ได้เมื่อต้องการใช้, ค่าเก็บถูกสุด, ค่าเข้าถึงไฟล์แพงสุด)
โดยประมาณคือแบบนี้ ยกเว้นแบบที่ 3 (Intelligent-Tiering) ที่ไม่เหมือนอันอื่น
คุณสมบัติสำคัญอื่นๆของ S3
  • Bucket Versioning ให้ระบบจำเวอร์ชั่นของไฟล์ ตัวอย่างเช่น เวลาเรา save ทับไฟล์เดิม ระบบจะเก็บไว้ทั้ง version 1 และ 2 ทำให้เราสามารถกู้คืน version 1 กลับมาในภายหลังได้ แน่นอนว่ามีค่าใช้จ่ายเพิ่ม เพราะต้องใช้พื้นที่เก็บมากขึ้น
  • Encryption สามารถกำหนดให้ S3 เข้ารหัสทุกไฟล์ตอนที่เก็บได้
  • Server access logging เก็บ log การใช้งานไว้ในอีก Bucket นึง ตัวอย่างเช่น ต้องการเก็บ log การใช้งานของ Bucket A โดยเก็บ log ไว้ใน Bucket B
  • Event Notifications ต้องการให้ระบบมี alert เมื่อเกิดเหตุการณ์ที่เรากำหนดไว้ ตัวอย่างเช่น ต้องการให้มี alert ทุกครั้งเมื่อมีไฟล์ใหม่เกิดขึ้น โดย alert จะถูกส่งไปที่ Lambda function, หรือ SNS topic, หรือ SQS queue อย่างใดอย่างหนึ่ง
  • Static website hosting ไว้ host static website โดยเราจะได้ public URL มา สำหรับ web เราจำเป็นต้องปรับให้ Bucket เป็น public access ด้วย เพื่อให้ web เข้าถึงได้จาก internet
  • Lifecycle rules สำหรับกำหนดเงื่อนไขในการเปลี่ยน class ของไฟล์ เช่น กำหนดให้ทุกไฟล์ที่อายุเกิน 30 วัน ย้ายจาก Standard ไป Standard-IA
  • Replication rules สำหรับทำสำเนาของไฟล์ทั้งหมดที่จะเกิดขึ้นในอนาคตจาก Bucket A ไปยัง Bucket B
ตอนต่อไปจะเป็นเรื่อง EC2

ดูเพิ่มเติมในซีรีส์

โฆษณา