วิธี Host Static web ด้วย S3

เพื่อนๆที่ใช้งาน AWS น่าจะรู้จัก AWS S3 กันดีในการใช้งานเป็น Object Storage สำหรับการเก็บข้อมูลต่างๆ และสามารถเรียกใช้งานได้ง่าย รวมถึงเป็น service ที่มี availability และ reliability ที่สูงมากๆ อีกหนึ่งความสามารถที่ดีมากของ S3 นอกจากการเป็น storage ก็คือ มันสามารถนำมาใช้เป็น web hosting ได้ด้วย ซึ่งมันทั้งประหยัดและใช้งานได้ง่ายสุดๆไปเลย การใช้งาน feature นี้ต้องทำอย่างไรบ้างเดี๋ยวเราจะพาไปดูกัน

Create S3 bucket

Step 1: เริ่มต้นด้วยการสร้าง bucket กันก่อนเลย โดยไปที่หน้าของ service S3 แล้วเลือก Create bucket


Step 2: ตั้งชื่อ bucket และเลือก region ที่ต้องการ คำแนะนำคือชื่อ bucket ควรตั้งชื่อด้วย sub-domain.domain ที่เราต้องการนำไปใช้งานจริงๆ เพราะว่าในกรณีที่เราจะนำไป config ร่วมกับ CDN เค้าจะให้บังคับให้ชื่อ record เหมือนกับชื่อ bucket ที่เราตั้ง

Step 3: นำการตั้งค่า Block public access ทั้งหมดออก และยอมรับในส่วนของ warning ที่แจ้งเตือนมา

Step 4: ในการตั้งค่าส่วนอื่นๆ ใช้เป็น deafult setting ได้เลยครับ จากนั้นกด Create bucket เพื่อสร้าง bucket ขึ้นมา เราก็จะได้ bucket ว่างๆหน้าตาแบบนี้ขึ้นมา

Config properties

Step 1: ในหน้าต่างของ bucket เลือกไปที่ Properties

Step 2: เลื่อนลงมาด้านล่างสุดในหัวข้อ Static website hosting จากนั้นกด Edit

Step 3: Static website hosting เลือกเป็น Enable เพื่อทำการตั้งค่าส่วนอื่น

Step 4: Hosting Type เลือก Host a static website

Step 5: Index document ใส่ชื่อ index file ของเรา ตัวอย่างนี้จะใช้เป็น index.html

Step 6: กด Save Change เพื่อบันทึกการตั้งค่า และเมื่อเรากลับมาดูตรง Static website hosting ใน Properties เราจะได้ URL ที่เอาไว้เข้าใช้งาน website แสดงขึ้นมา

Allow access to object

Step 1: จากหน้า Bucket ให้เลือกไปที่ Tap Permission

Step 2: ในส่วนของ Bucket policy ให้เราเลือก Edit

Step 3: ใส่ policy statement ตามตัวอย่างนี้ (เปลี่ยนค่า Resouce ให้เป็น arn ของ bucket)


 {
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": "*",
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::bucket-name/*"
        }
    ]
}

Step 4: เลือก Save Change เพื่อบันทึกการตั้งค่า


Test access website

หลังจากทุกอย่าง config เรียบร้อย ให้เรา upload static content เราขึ้นไปยัง bucket. โดยผมได้การ upload index.html ที่มีข้อมูลดังนี้




    
        My web page
    
    
        

Hello, world!

This is my first web page.

This is demo for s3 hosting

It contains a main heading and paragraph .

เรามาลองดูกันว่าเราจะได้เห็น website ตามที่เราต้องการหรือไม่ และนี่คือสิ่งที่เราได้ออกมา

Summary

Static website hosting ของ S3 เป็น feature ที่น่าสนใจเลยทีเดียว สำหรับเพื่อนๆคนไหนที่เขียนเว็บไซต์ของตัวเองขึ้นมาแล้วอย่าง host เป็น public ให้คนอื่นเข้ามาใช้งานอันนี้ถือว่าเป็นอีกหนึ่งวิธีที่เริ่มต้นได้ง่าย และประหยัดสุดๆ เนื่องจากเราสามารถ hosting ได้ฟรีๆ และมั่นใจได้เลยว่าโอกาสที่เว็บจะล่มนั้นน้อยมากๆ แต่ถึงอย่างนั้นถ้าเราต้องการที่จะ configuration เพิ่มเติมอื่นๆ การใช้งาน S3 ก็อาจจะไม่ตอบโจทย์ซะทีเดียว หวังว่าบทความนี้จะเป็นประโยชน์ต่อเพื่อนๆนักพัฒนาเว็บไซต์ไม่มากก็น้อยนะครับ เนื้อหาของเรายังไม่หมดเพียงเท่านี้สำหรับการใช้งาน S3 ฝากติดตามกันต่อด้วยนะครับ

Aa

© 2023, All Rights Reserved, VulturePrime co., ltd.