Site icon PlusMagi's Blog By Pitt Phunsanit

AWS S3 คืออะไร ? คู่มือครบจบสำหรับผู้เริ่มต้น

Amazon Simple Storage Service หรือที่รู้จักกันในชื่อ AWS S3 คือบริการจัดเก็บข้อมูลบนคลาวด์ ( Cloud Storage ) จาก Amazon Web Services ที่ได้รับความนิยมสูงสุดในโลก ด้วยความสามารถในการจัดเก็บข้อมูลได้แทบไม่จำกัด มีความทนทาน ( Durability ) สูงถึง 99.999999999% และพร้อมใช้งาน ( Availability ) ตลอด 24 ชั่วโมง


AWS S3 คืออะไร ?

AWS S3 เป็นบริการจัดเก็บ Object Storage บนคลาวด์ ซึ่งแตกต่างจากระบบไฟล์แบบดั้งเดิม โดย S3 จะจัดเก็บข้อมูลในรูปแบบ “Object” ซึ่งประกอบไปด้วย


แนวคิดหลักของ S3

  1. Bucket คือ “ภาชนะ” หรือ Container ที่ใช้จัดเก็บข้อมูลทั้งหมดของคุณ แต่ละ Bucket มีชื่อที่ไม่ซ้ำกันทั่วโลก ( Globally Unique ) และผูกกับ Region ใด Region หนึ่ง
    ตัวอย่างชื่อ Bucket: my-company-backup-2024
  2. Object คือข้อมูลที่เก็บอยู่ใน Bucket มีขนาดได้ตั้งแต่ 0 bytes จนถึง 5 TB ต่อ Object หนึ่งชิ้น
  3. Key คือชื่อไฟล์หรือ Path ที่ใช้อ้างอิง Object ภายใน Bucket เช่น
    s3://my-bucket/images/profile/user123.jpg

Storage Class ของ S3

AWS S3 มี Storage Class หลายประเภท เพื่อให้คุณเลือกใช้ตามความต้องการและควบคุมต้นทุน

Storage Classเหมาะสำหรับความพร้อมใช้งานต้นทุน
3 Standardข้อมูลที่เข้าถึงบ่อย99.99%สูง
S3 Intelligent-Tieringข้อมูลที่ไม่แน่ใจ Pattern การใช้งาน99.9%ปานกลาง
S3 Standard-IAข้อมูลที่เข้าถึงไม่บ่อย99.9%ต่ำกว่า Standard
S3 One Zone-IAข้อมูล Non-critical ที่เข้าถึงไม่บ่อย99.5%ต่ำ
S3 Glacierเก็บ Archive ระยะยาวต่ำมาก
S3 Glacier Deep Archiveเก็บ Archive ระยะยาวสุดต่ำที่สุด

คุณสมบัติเด่นของ AWS S3

✅ Versioning

เปิดใช้งาน Versioning เพื่อเก็บประวัติการเปลี่ยนแปลงของไฟล์ทุกเวอร์ชัน ช่วยป้องกันการลบหรือแก้ไขไฟล์โดยไม่ตั้งใจ

✅ Lifecycle Policy

กำหนดนโยบายอัตโนมัติให้ย้ายข้อมูลระหว่าง Storage Class หรือลบข้อมูลเก่าตามช่วงเวลาที่กำหนด

✅ Server-Side Encryption ( SSE )

เข้ารหัสข้อมูลอัตโนมัติเมื่อจัดเก็บลง S3 รองรับ 3 ประเภท

✅ Access Control

ควบคุมการเข้าถึงข้อมูลผ่าน:

✅ Static Website Hosting

ใช้ S3 เป็น Web Server สำหรับโฮสต์เว็บไซต์แบบ Static HTML / CSS / JS ได้โดยตรง

✅ S3 Transfer Acceleration

เร่งความเร็วการอัปโหลดไฟล์ขนาดใหญ่จากทั่วโลกผ่านโครงข่าย CloudFront Edge Locations


การใช้งาน S3 ด้วย AWS CLI

ติดตั้ง AWS CLI และกำหนดค่า Credentials แล้วเริ่มใช้งานได้ทันที

# สร้าง Bucket ใหม่
aws s3 mb s3://my-new-bucket --region ap-southeast-1

# อัปโหลดไฟล์
aws s3 cp myfile.txt s3://my-new-bucket/

# ดูรายการไฟล์ใน Bucket
aws s3 ls s3://my-new-bucket/

# ดาวน์โหลดไฟล์
aws s3 cp s3://my-new-bucket/myfile.txt ./downloaded-file.txt

# ลบไฟล์
aws s3 rm s3://my-new-bucket/myfile.txt

# ซิงค์โฟลเดอร์ทั้งหมด
aws s3 sync ./local-folder s3://my-new-bucket/remote-folder/

การใช้งาน S3 ด้วย Python ( Boto3 )

import boto3

# สร้าง S3 Client
s3 = boto3.client('s3', region_name='ap-southeast-1')

# สร้าง Bucket
s3.create_bucket(
    Bucket='my-new-bucket',
    CreateBucketConfiguration={'LocationConstraint': 'ap-southeast-1'}
)

# อัปโหลดไฟล์
s3.upload_file('local-file.txt', 'my-new-bucket', 'remote-file.txt')

# ดาวน์โหลดไฟล์
s3.download_file('my-new-bucket', 'remote-file.txt', 'downloaded.txt')

# ลิสต์ไฟล์ใน Bucket
response = s3.list_objects_v2(Bucket='my-new-bucket')
for obj in response.get('Contents', []):
    print(obj['Key'], obj['Size'])

# สร้าง Presigned URL (ลิงก์ชั่วคราวสำหรับแชร์ไฟล์)
url = s3.generate_presigned_url(
    'get_object',
    Params={'Bucket': 'my-new-bucket', 'Key': 'remote-file.txt'},
    ExpiresIn=3600  # หมดอายุใน 1 ชั่วโมง
)
print(url)

Use Cases ยอดนิยม


ราคาค่าบริการ ( Region: Asia Pacific – Singapore )

AWS S3 คิดค่าบริการตามการใช้งานจริง ไม่มีค่าขั้นต่ำ

Free Tier: AWS มีให้ใช้ฟรี 5 GB สำหรับผู้ใช้ใหม่ในช่วง 12 เดือนแรก


Best Practices สำหรับการใช้งาน S3

  1. เปิดใช้ Versioning เสมอสำหรับข้อมูลสำคัญ
  2. ปิด Public Access ใน Bucket ที่ไม่จำเป็นต้องเปิดสาธารณะ
  3. เปิด Encryption ทั้ง At-Rest และ In-Transit ( HTTPS )
  4. ตั้ง Lifecycle Policy เพื่อย้ายข้อมูลเก่าไปยัง Glacier โดยอัตโนมัติ
  5. ใช้ Presigned URL แทนการเปิด Public Access เมื่อต้องการแชร์ไฟล์
  6. เปิด MFA Delete สำหรับ Bucket ที่มีข้อมูลสำคัญมาก
  7. Monitor ด้วย CloudWatch และ S3 Access Logs เพื่อตรวจสอบความผิดปกติ
  8. เลือก Storage Class ให้เหมาะสม เพื่อประหยัดค่าใช้จ่าย

สรุป

AWS S3 เป็นหนึ่งในบริการที่ขาดไม่ได้บน AWS ด้วยความยืดหยุ่น ราคาที่คุ้มค่า และความน่าเชื่อถือระดับ Enterprise ไม่ว่าจะเป็นสตาร์ทอัพขนาดเล็กหรือองค์กรขนาดใหญ่ ต่างก็พึ่งพา S3 เป็น Backbone ของระบบจัดเก็บข้อมูล การทำความเข้าใจ S3 อย่างถ่องแท้จึงเป็นทักษะสำคัญสำหรับทุกคนที่ทำงานบน Cloud


อ่านเพิ่มเติม

Exit mobile version