เริ่มต้นใช้งาน Cloud Server อย่างรวดเร็วด้วยทรัพยากรฟรี: คู่มือการติดตั้งเว็บไซต์สแตติก AWS S3
เริ่มต้นใช้งาน Cloud Server อย่างรวดเร็วด้วยทรัพยากรฟรี: คู่มือการติดตั้งเว็บไซต์สแตติก AWS S3
Cloud Server ได้กลายเป็นรากฐานที่สำคัญของการพัฒนาและติดตั้งแอปพลิเคชันสมัยใหม่ การเรียนรู้การใช้งาน Cloud Server สามารถเพิ่มขีดความสามารถในการแข่งขันทางอาชีพของคุณได้อย่างมาก บทความนี้จะใช้ AWS S3 เป็นกรณีศึกษา เพื่ออธิบายวิธีการใช้ทรัพยากรฟรีเพื่อเริ่มต้นใช้งาน Cloud Server อย่างรวดเร็ว และติดตั้งเว็บไซต์สแตติก เราจะเน้นที่การปฏิบัติจริง เพื่อช่วยให้คุณเข้าใจแนวคิดพื้นฐานของ Cloud Server
ทำไมต้องเลือก AWS S3 ในการติดตั้งเว็บไซต์สแตติก
-
คุ้มค่า: AWS S3 มีพื้นที่จัดเก็บข้อมูลและปริมาณการถ่ายโอนข้อมูลฟรีในระดับหนึ่ง ซึ่งเพียงพอสำหรับโครงการส่วนตัวหรือเว็บไซต์ขนาดเล็ก
-
ง่ายต่อการเริ่มต้น: การกำหนดค่าและการใช้งาน S3 ค่อนข้างง่าย เหมาะสำหรับผู้เริ่มต้น
-
ความพร้อมใช้งานและความสามารถในการปรับขนาดสูง: โครงสร้างพื้นฐานระดับโลกที่ AWS มอบให้รับประกันความพร้อมใช้งานและความสามารถในการปรับขนาดของ S3
-
การบูรณาการที่แข็งแกร่ง: S3 สามารถทำงานร่วมกับบริการ AWS อื่นๆ ได้อย่างราบรื่น เช่น CloudFront (CDN) สำหรับการเร่งความเร็วในการเข้าถึงทรัพยากรแบบสแตติก
สิ่งที่ต้องเตรียม
- บัญชี AWS: คุณต้องมีบัญชี AWS หากคุณยังไม่มี คุณสามารถลงทะเบียนบัญชีฟรีได้ที่เว็บไซต์ AWS โปรดทราบว่าแพ็กเกจฟรีของ AWS มีข้อจำกัดด้านเวลาและทรัพยากร โปรดตรวจสอบข้อกำหนดและเงื่อนไขที่เกี่ยวข้อง
- AWS CLI: AWS Command Line Interface (CLI) เป็นเครื่องมือบรรทัดคำสั่งที่ใช้ในการโต้ตอบกับบริการ AWS การติดตั้งและกำหนดค่า AWS CLI สามารถจัดการบัคเก็ตและไฟล์ S3 ได้อย่างสะดวก
- ติดตั้ง AWS CLI: ตามระบบปฏิบัติการของคุณ ให้ดาวน์โหลดและติดตั้ง AWS CLI จากเว็บไซต์ AWS
- กำหนดค่า AWS CLI: หลังจากติดตั้งเสร็จแล้ว ให้เปิดเทอร์มินัลบรรทัดคำสั่งและรันคำสั่ง
aws configureตามคำแนะนำ ให้ป้อน AWS Access Key ID, Secret Access Key, ภูมิภาคเริ่มต้น (region) และรูปแบบเอาต์พุตของคุณ คุณสามารถสร้างผู้ใช้และสร้าง Access Key และ Secret Key ได้ใน AWS IAM Console
- ไฟล์เว็บไซต์สแตติก: คุณต้องเตรียมไฟล์เว็บไซต์สแตติกของคุณ เช่น HTML, CSS, JavaScript และรูปภาพ เป็นต้น วางไฟล์เหล่านี้ไว้ในไดเร็กทอรีเดียว
ขั้นตอนที่หนึ่ง: สร้างบัคเก็ต S3
- เข้าสู่ระบบ AWS Management Console: ใช้บัญชี AWS ของคุณเพื่อเข้าสู่ระบบ AWS Management Console
- ค้นหา S3: ในช่องค้นหา ให้ป้อน "S3" แล้วเลือก "S3"
- สร้างบัคเก็ต: คลิกปุ่ม "สร้างบัคเก็ต"
- กำหนดค่าบัคเก็ต:
- ชื่อบัคเก็ต: ป้อนชื่อบัคเก็ตที่ไม่ซ้ำกันทั่วโลก ชื่อบัคเก็ตต้องเป็นไปตามกฎการตั้งชื่อของ AWS ขอแนะนำให้ใช้ชื่อที่มีชื่อโครงการหรือโดเมนของคุณ เพื่อความสะดวกในการจัดการ
- ภูมิภาค: เลือกภูมิภาคที่ใกล้กับผู้ใช้ของคุณมากที่สุด การเลือกภูมิภาคจะส่งผลต่อความเร็วในการเข้าถึง
- บล็อกการเข้าถึงสาธารณะทั้งหมด: ยกเลิกการเลือก ช่องทำเครื่องหมาย "บล็อกการเข้าถึงสาธารณะทั้งหมด" เราต้องอนุญาตการเข้าถึงสาธารณะเพื่อโฮสต์เว็บไซต์เป็นเว็บไซต์สแตติก โปรดดำเนินการด้วยความระมัดระวังและใส่ใจในความปลอดภัยของสิทธิ์!
- ยืนยันการตั้งค่า: อ่านข้อความเตือนและเลือก "ฉันเข้าใจ" คลิก "สร้างบัคเก็ต"
ขั้นตอนที่สอง: กำหนดค่าบัคเก็ตสำหรับการโฮสต์เว็บไซต์สแตติก
- เลือกบัคเก็ต: ใน S3 Console ให้เลือกบัคเก็ตที่คุณเพิ่งสร้าง
- ไปที่แท็บ "คุณสมบัติ": คลิกแท็บ "คุณสมบัติ"
- การโฮสต์เว็บไซต์สแตติก: ในส่วน "การโฮสต์เว็บไซต์สแตติก" ให้คลิก "แก้ไข"
- เปิดใช้งานการโฮสต์เว็บไซต์สแตติก:
- เปิดใช้งาน: เลือก "เปิดใช้งาน"
- เอกสารดัชนี: ป้อนชื่อไฟล์หน้าแรกของเว็บไซต์ของคุณ โดยปกติคือ "index.html"
- เอกสารข้อผิดพลาด: (ไม่บังคับ) ป้อนชื่อไฟล์หน้าข้อผิดพลาด เช่น "error.html" หากเกิดข้อผิดพลาด S3 จะแสดงหน้านี้
- บันทึกการเปลี่ยนแปลง: คลิก "บันทึกการเปลี่ยนแปลง"
ขั้นตอนที่สาม: อัปโหลดไฟล์เว็บไซต์แบบสแตติก
- เลือก Bucket: ใน S3 Console ให้เลือก Bucket ที่คุณเพิ่งสร้าง
- อัปโหลด: คลิกปุ่ม "อัปโหลด"
- เพิ่มไฟล์: คลิกปุ่ม "เพิ่มไฟล์" เลือกไฟล์เว็บไซต์แบบสแตติกของคุณ หรือลากไฟล์ไปยังพื้นที่อัปโหลดโดยตรง
- ตั้งค่าสิทธิ์:
- เจ้าของอ็อบเจ็กต์: ยืนยันว่าเจ้าของอ็อบเจ็กต์คือบัญชี AWS ของคุณ
- สิทธิ์: เลือก "สาธารณะ" -> "ทุกคน" และทำเครื่องหมายที่ช่อง "อ่านอ็อบเจ็กต์" ซึ่งจะอนุญาตให้ทุกคนเข้าถึงไฟล์เว็บไซต์แบบสแตติกของคุณ โปรดใช้ความระมัดระวังและใส่ใจในความปลอดภัยของสิทธิ์! วิธีที่ปลอดภัยกว่าคือการใช้ Bucket Policy ซึ่งจะกล่าวถึงในภายหลัง
- อัปโหลด: คลิกปุ่ม "อัปโหลด"
ขั้นตอนที่สี่: ทดสอบเว็บไซต์
- รับ Endpoint ของเว็บไซต์: ใน S3 Console ให้เลือก Bucket ของคุณ จากนั้นไปที่แท็บ "คุณสมบัติ" ในส่วน "Static website hosting" คุณจะพบ Endpoint ของเว็บไซต์ของคุณ
- เข้าถึงเว็บไซต์: คัดลอก Endpoint ของเว็บไซต์ไปยังเบราว์เซอร์เพื่อเข้าถึงเว็บไซต์แบบสแตติกของคุณ
ขั้นตอนที่ห้า: อัปโหลดเป็นชุดโดยใช้ AWS CLI (ตัวเลือก)
หากคุณมีไฟล์เว็บไซต์แบบสแตติกจำนวนมาก คุณสามารถใช้ AWS CLI เพื่ออัปโหลดเป็นชุดได้
-
เปิด Command Line Terminal: เปิด Command Line Terminal
-
คำสั่งอัปโหลด: ใช้คำสั่งต่อไปนี้เพื่ออัปโหลดไฟล์เว็บไซต์แบบสแตติกของคุณ:
aws s3 sync s3:// --acl public-read- ``: แทนที่ด้วยไดเรกทอรีที่ไฟล์เว็บไซต์แบบสแตติกของคุณอยู่
- ``: แทนที่ด้วยชื่อ S3 Bucket ของคุณ
--acl public-read: ตั้งค่าสิทธิ์ของไฟล์ที่อัปโหลดเป็นสาธารณะ โปรดใช้ความระมัดระวังและใส่ใจในความปลอดภัยของสิทธิ์!
แนวทางปฏิบัติที่ดีที่สุดและข้อควรระวัง
- Bucket Policy: นอกเหนือจากการเปิดเผยแต่ละอ็อบเจ็กต์แล้ว แนวทางปฏิบัติที่ดีกว่าคือการใช้ Bucket Policy เพื่อควบคุมสิทธิ์การเข้าถึง Bucket Policy คือเอกสาร JSON ที่กำหนดว่าใครสามารถเข้าถึงทรัพยากรใดใน Bucket คุณสามารถสร้างและจัดการ Bucket Policy ผ่าน AWS Console หรือ AWS CLI
แทนที่ `` ด้วยชื่อ Bucket จริงของคุณ นโยบายนี้อนุญาตให้ทุกคนอ่านอ็อบเจ็กต์ทั้งหมดใน Bucket ของคุณ{ "Version": "2012-10-17", "Statement": [ { "Sid": "PublicReadGetObject", "Effect": "Allow", "Principal": "*", "Action": "s3:GetObject", "Resource": "arn:aws:s3:::/*" } ] } - ความปลอดภัย: โปรดใส่ใจกับความปลอดภัยของ S3 Bucket เสมอ หลีกเลี่ยงการจัดเก็บข้อมูลที่ละเอียดอ่อนใน S3 และตรวจสอบสิทธิ์การเข้าถึง Bucket เป็นประจำ
- การควบคุมเวอร์ชัน: การเปิดใช้งานการควบคุมเวอร์ชันของ S3 Bucket สามารถช่วยคุณกู้คืนไฟล์ที่ถูกลบหรือเขียนทับโดยไม่ได้ตั้งใจ
- CloudFront: การใช้ CloudFront CDN สามารถเพิ่มความเร็วในการเข้าถึงเว็บไซต์แบบสแตติกของคุณ และปรับปรุงความพร้อมใช้งานของเว็บไซต์ CloudFront จะแคชเนื้อหาเว็บไซต์ของคุณไปยัง Edge Node ทั่วโลก ผู้ใช้สามารถเข้าถึงเว็บไซต์ของคุณจาก Node ที่ใกล้ที่สุด ซึ่งเป็นประโยชน์อย่างยิ่งสำหรับเว็บไซต์ที่มีผู้ใช้ทั่วโลก
- โดเมนแบบกำหนดเอง: คุณสามารถผูกเว็บไซต์แบบสแตติกของคุณกับโดเมนแบบกำหนดเอง เช่น
www.example.comคุณต้องกำหนดค่าระเบียน DNS เพื่อชี้โดเมนของคุณไปยังโดเมนที่ CloudFront จัดสรรให้ หรือ Endpoint ของ S3 Bucket - สำรองข้อมูลเป็นประจำ: แม้ว่า S3 จะมีความพร้อมใช้งานสูง แต่ก็ยังแนะนำให้สำรองไฟล์เว็บไซต์แบบสแตติกของคุณเป็นประจำ เพื่อป้องกันเหตุการณ์ที่ไม่คาดฝัน
- การเพิ่มประสิทธิภาพต้นทุน: ตรวจสอบการใช้งาน S3 ของคุณ เพื่อหลีกเลี่ยงการเกินขีดจำกัดของ AWS Free Tier ตัวอย่างเช่น ไฟล์ที่ไม่ค่อยได้ใช้สามารถย้ายไปยัง Glacier Cold Storage เพื่อลดต้นทุนการจัดเก็บ## ตัวเลือกเซิร์ฟเวอร์คลาวด์อื่นๆ
นอกจาก AWS S3 แล้ว ยังมีตัวเลือกเซิร์ฟเวอร์คลาวด์อื่นๆ อีก:
- GitHub Pages/GitLab Pages: หากเนื้อหาเว็บไซต์ของคุณโฮสต์อยู่บน GitHub หรือ GitLab คุณสามารถใช้บริการ Pages ของพวกเขาได้โดยตรง ซึ่งโดยทั่วไปแล้วจะฟรี
- Netlify/Vercel: แพลตฟอร์มที่ออกแบบมาโดยเฉพาะสำหรับการโฮสต์เว็บไซต์แบบคงที่ ให้บริการแผนฟรีและขั้นตอนการปรับใช้ที่สะดวก
- AWS EC2/Google Compute Engine/Azure Virtual Machines: หากคุณต้องการเรียกใช้แอปพลิเคชันแบบไดนามิก คุณสามารถเลือกเซิร์ฟเวอร์คลาวด์เหล่านี้ได้ แต่คุณต้องกำหนดค่าสภาพแวดล้อมของเซิร์ฟเวอร์เอง
- 阿里云 OSS/腾讯云 COS: บริการจัดเก็บข้อมูลบนคลาวด์ในประเทศจีน เหมาะสำหรับเว็บไซต์ที่มุ่งเป้าไปที่ผู้ใช้ในประเทศจีน
สรุป
จากคำแนะนำในบทความนี้ คุณได้เรียนรู้วิธีสร้างเว็บไซต์แบบคงที่โดยใช้ AWS S3 แล้ว นี่เป็นวิธีเริ่มต้นที่ดีที่จะช่วยให้คุณเข้าใจแนวคิดและการทำงานของเซิร์ฟเวอร์คลาวด์ บนพื้นฐานนี้ คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับบริการ AWS อื่นๆ เพื่อสร้างแอปพลิเคชันคลาวด์ที่ซับซ้อนและทรงพลังยิ่งขึ้น อย่าลืมใส่ใจกับความปลอดภัย ปรับต้นทุนให้เหมาะสม และเรียนรู้อย่างต่อเนื่อง เพื่อก้าวไปข้างหน้าในด้านคลาวด์คอมพิวติ้ง

