ในบทแนะนำสอนการใช้งานนี้ คุณจะได้เรียนรู้วิธีส่งมอบเนื้อหาและลดเวลาแฝงของผู้ใช้ปลายทางของเว็บแอปพลิเคชันโดยใช้ Amazon CloudFront CloudFront เร่งความเร็วการส่งเนื้อหาด้วยการใช้ประโยชน์จากเครือข่ายทั่วโลกของศูนย์ข้อมูลที่รู้จักกันในชื่อสถานที่ตั้ง edge เพื่อลดเวลาส่งด้วยการแคชเนื้อหาใกล้กับผู้ใช้ปลายทาง CloudFront ดึงข้อมูลเนื้อหาจากต้นทาง เช่น บัคเก็ต Amazon S3, Amazon EC2 Instance, โหลดบาลานเซอร์ Amazon Elastic Load Balancing หรือเซิร์ฟเวอร์เว็บของคุณเองเมื่อไม่ได้อยู่ในสถานที่ตั้ง edge อยู่แล้ว สามารถใช้ CloudFront ในการส่งเว็บไซต์หรือแอปพลิเคชันทั้งหมดรวมถึงเนื้อหาแบบไดนามิก สแตติก สตรีมมิง และอินเทอร์แอ็กทีฟ

ในขั้นตอนต่อไปนี้ คุณจะกำหนดค่าบัคเก็ต Amazon S3 เป็นต้นทางและทดสอบการกระจายโดยใช้เว็บเบราว์เซอร์เพื่อตรวจสอบว่าได้มีการส่งมอบเนื้อหา

ทุกสิ่งที่ทำในบทแนะนำสอนการใช้งานนี้สามารถใช้กับ Free Tier ได้

การส่งเนื้อหาเร็วขึ้นจำเป็นต้องใช้บัญชี

ลงชื่อเข้าใช้ Console

AWS Free Tier ประกอบด้วยการโอนข้อมูลออก 50 GB และคำขอ HTTP หรือ HTTPS 2,000,000 รายการต่อเดือน เป็นเวลา 1 ปี  

ดูรายละเอียด AWS Free Tier »


ในขั้นตอนนี้ เราจะอัปโหลดตัวอย่างเนื้อหาแบบสแตติกไปยังบัคเก็ต Amazon S3 ในขั้นตอนหลังจากนี้ เราจะใช้บัคเก็ตนี้เป็นต้นทางของ CloudFront Amazon S3 เป็นตัวเลือกที่ดีสำหรับต้นทางของ Amazon CloudFront ที่มีเนื้อหาแบบสแตติก เช่น รูปภาพ, วิดีโอ, หน้า HTML, ไฟล์ .css, และไฟล์ .js


ก. รูปภาพตัวอย่างที่เราจะใช้ในบทช่วยสอนนี้เป็นภาพ PNG ที่ชื่อว่า cloudfront-test-image.png  คลิกปุ่มทางขวาเพื่อดาวน์โหลดรูปภาพตัวอย่างและตรวจสอบว่าได้บันทึกเป็น cloudfront-test-image.png


ข. เมื่อคุณคลิกที่นี่ AWS Management Console จะเปิดขึ้นในหน้าต่างเบราว์เซอร์บานใหม่ พิมพ์ S3 ในช่องค้นหาและคลิกสองครั้งเพื่อเปิดแดชบอร์ด

tmt_faster-content-delivery-01

(คลิกเพื่อซูม)

tmt_faster-content-delivery-01

ค. เมื่ออยู่ในแดชบอร์ด S3 แล้ว ให้คลิกปุ่ม Create Bucket (สร้างบัคเก็ต)

  • Bucket Name (ชื่อบัคเก็ต): ป้อนชื่อบัคเก็ต - ต้องไม่ซ้ำกันและเป็นพิมพ์เล็กทั้งหมด สำหรับข้อจำกัดเพิ่มเติมเกี่ยวกับชื่อบัคเก็ต S3 ให้ดูข้อจำกัดและขีดจำกัดบัคเก็ต 
  • Region (เขต): คุณมีตัวเลือกในการเลือกเขตที่ใกล้กับคุณเพื่อเพิ่มประสิทธิภาพเวลาแฝงลดค่าใช้จ่าย หรือเพื่อปฏิบัติตามข้อกำหนดด้านกฎระเบียบ  

เลือก Next (ถัดไป)

ในแผงSet properties (กำหนดคุณสมบัติ) คุณจะมีตัวเลือกต่างๆ ที่เป็นประโยชน์สำหรับบัคเก็ต S3 ของคุณ ได้แก่ การจัดเวอร์ชัน บันทึกการเข้าถึงเซิร์ฟเวอร์ แท็ก บันทึกระดับออบเจ็กต์ และการเข้ารหัสตามค่าเริ่มต้น ซึ่งเราจะไม่เปิดใช้งานคุณสมบัติเหล่านี้ในบทแนะนำสอนการใช้งานนี้

เลือก Next (ถัดไป)

ในแผงกำหนดสิทธิ์ คุณสามารถเข้าถึงสิทธิ์การควบคุมสำหรับบัคเก็ตของเราได้ ซึ่งเราจะไม่เปิดใช้งานคุณสมบัติเหล่านี้ในบทแนะนำสอนการใช้งานนี้

เลือก Next (ถัดไป)

ในแผงรีวิว ให้เลือก Create bucket (สร้างบัคเก็ต)

tmt_faster-content-delivery-02

(คลิกเพื่อซูม)

tmt_faster-content-delivery-02

ง. คลิกสองครั้งที่ชื่อบัคเก็ต เลือกUpload (อัปโหลด) จากนั้น Add Files (เพิ่มไฟล์) และเลือก cloudfront-test-image.png จากคอมพิวเตอร์ของคุณ  

เลือก Next (ถัดไป)

tmt_faster-content-delivery-03

(คลิกเพื่อซูม)

tmt_faster-content-delivery-03

จ. ในแท็บกำหนดสิทธิ์ คุณจะต้องทำให้รูปภาพอ่านได้แบบสาธารณะ  อ็อบเจ็กต์ S3 จะกำหนดไว้เป็นแบบส่วนตัวตามค่าเริ่มต้น  เปลี่ยนจัดการสิทธิ์สาธารณะเป็น "Grant public access to objects(s) (ให้สิทธิ์เข้าถึงแบบสาธารณะแก่อ็อบเจ็กต์)"

เลือก Next (ถัดไป)

ในแท็บกำหนดคุณสมบัติ คุณสามารถกำหนดคลาสของพื้นที่จัดเก็บ การเข้ารหัส และข้อมูลเมตา ซึ่งเราจะไม่เปิดใช้งานคุณสมบัติเหล่านี้ในบทแนะนำสอนการใช้งานนี้

เลือก Next (ถัดไป)

ในแท็บตรวจสอบ ให้ตรวจสอบการอัปโหลดไฟล์

เลือก Upload (อัปโหลด)

tmt_faster-content-delivery-04

(คลิกเพื่อซูม)

tmt_faster-content-delivery-04

เมื่ออัปโหลดเนื้อหาไปยัง Amazon S3 แล้ว คุณสามารถใช้คอนโซล Amazon CloudFront ในการส่งเนื้อหาไปยังผู้ใช้ปลายทางจากทั่วโลกได้


ก. เมื่อคุณคลิกที่นี่ AWS Management Console จะเปิดขึ้นในแท็บเบราว์เซอร์ใหม่  ค้นหา CloudFront  ในส่วน Storage & Content Delivery (พื้นที่จัดเก็บและการส่งเนื้อหา) และคลิกเพื่อเปิดคอนโซล Amazon CloudFront

tmt_faster-content-delivery-06

(คลิกเพื่อซูม)

tmt_faster-content-delivery-06

ข.  เลือก Create Distribution (สร้างการเผยแพร่)


 

tmt_faster-content-delivery-07

(คลิกเพื่อซูม)

tmt_faster-content-delivery-07

การเผยแพร่เว็บจะระบุการกำหนดค่าเพื่อให้ CloudFront ทราบถึงต้นทางเพื่อรับเนื้อหาจากจุดที่ผู้ใช้ร้องขอ คุณสามารถใช้บัคเก็ต Amazon S3 (โฟลเดอร์พื้นที่จัดเก็บ) และเซิร์ฟเวอร์ HTTP (ตัวอย่างเช่น เซิร์ฟเวอร์เว็บ) เป็นต้นทาง


ก.  คุณจะต้องเลือกวิธีส่งเนื้อหาก่อน  การเผยแพร่เว็บใช้สำหรับเนื้อหาแบบไดนามิกและสแตติก ในขณะที่การเผยแพร่ RTMP เหมาะสำหรับการสตรีมไฟล์สื่อโดยใช้โปรโตคอล RTMP ของ Adobe Flash Media Server

เนื่องจาก cloudfront-test-image.png เป็นรูปภาพแบบสแตติก ให้เลือก Get Started (เริ่มต้น) ในส่วนตัวเลือก Web (เว็บ)

tmt_faster-content-delivery-08

(คลิกเพื่อซูม)

tmt_faster-content-delivery-08

ข.  ตอนนี้ คุณจะได้กำหนดค่า 

ใน Origin Domain Name (ชื่อโดเมนต้นทาง) ให้เลือกชื่อของบัคเก็ต S3 ที่คุณจัดเก็บ cloudfront-test-image.png ไว้

คุณสามารถเว้นส่วนที่เหลือของการตั้งค่าเป็นค่าเริ่มต้นได้ในบทแนะนำสอนการใช้งานนี้  หากคุณต้องการเรียนรู้เพิ่มเติมเกี่ยวกับการตั้งการกำหนดค่าแต่ละรายการ โปรดอ่านด้านล่าง

เรียนรู้เพิ่มเติมเกี่ยวกับการตั้งการกำหนดค่า

การตั้งค่าลักษณะการแคชเริ่มต้น:

การตั้งค่าการผยแพร่:

  • คลาสของราคา CloudFront มีคลาสของราคาด้วยกัน 3 คลาสที่กำหนดโดยจำนวนสถานที่ตั้ง edge ที่คุณต้องการรองรับจากทั่วโลก CloudFront จะใช้สถานที่ตั้ง edge ทั้งหมดเป็นค่าเริ่มต้น เพื่อให้มั่นใจว่าได้ประสิทธิภาพสูงสุด สำหรับข้อมูลเพิ่มเติม โปรดดูที่ราคา Amazon CloudFront
  • AWS WAF Web ACL: หากต้องการอนุญาตหรือบล็อกคำขอ HTTP และ HTTPS ตามเกณฑ์ที่ระบุ ให้เลือก Web ACL เพื่อเชื่อมโยงกับการเผยแพร่ สำหรับข้อมูลเพิ่มเติม โปรดดูที่คู่มือนักพัฒนาของ AWS WAF
  • ชื่อโดเมนอื่น: CloudFront จะมอบหมายชื่อโดเมนโดยอัตโนมัติเมื่อสร้างการเผยแพร่เว็บ (ตัวอย่างเช่น http://abcdefghi888.cloudfront.net/filename.jpg) นอกจากนี้ คุณยังสามารถระบุชื่อโดเมนของคุณเองใน URL สำหรับอ็อบเจ็กต์ (เช่น http://yourDomain.com/filename.jpg) หลังจากอัปเดตการกำหนดค่า DNS เพื่อกำหนดเส้นทางคำค้นหา DNS ไปยังการเผยแพร่ CloudFront แต่สำหรับบทช่วยสอนนี้ ให้เว้นว่างไว้
  • ใบรับรอง SSL:  CloudFront มีใบรับรองเริ่มต้นหรือคุณสามารถระบุใบรับรอง SSL ที่กำหนดเองได้ 
  • อ็อบเจ็กต์หลักเริ่มต้น: นี่คือจุดที่คุณระบุอ็อบเจ็กต์ที่ต้องการให้ CloudFront ขอจากต้นทางเมื่อผู้ใช้ขอเพียง URL หลักของการเผยแพร่ ตัวอย่างเช่น ผู้ใช้ขอ http://www.example.com/ และคุณสามารถระบุให้ส่ง http://www.example.com/product-description.html การระบุอ็อบเจ็กต์หลักช่วยหลีกเลี่ยงการเปิดเผยเนื้อหาสำหรับการเผยแพร่
  • การบันทึก: CludFront สามารถบันทึกข้อมูลเกี่ยวกับคำขอแต่ละรายการสำหรับอ็อบเจ็กต์และจัดเก็บไฟล์บันทึกในบัคเก็ต Amazon S3 ไม่มีการเรียกเก็บเงินเพิ่มเติมสำหรับการเปิดใช้การบันทึก แต่คุณจะสะสมการเรียกเก็บเงิน Amazon S3 สำหรับการจัดเก็บและการเข้าถึงไฟล์
  • บัคเก็ตสำหรับบันทึก: หากคุณระบุบัคเก็ต Amazon S3 เพื่อจัดเก็บบันทึกการเข้าถึง CloudFront สามารถบันทึกข้อมูลเกี่ยวกับคำขอจากผู้ใช้แต่ละรายการสำหรับอ็อบเจ็กต์และจัดเก็บไฟล์ในบัคเก็ต Amazon S3 ที่ระบุ คุณสามารถเปิดใช้หรือปิดใช้การบันทึกได้ทุกเมื่อ สำหรับข้อมูลเพิ่มเติมเกี่ยวกับบันทึกการเข้าถึง CloudFront โปรดดูที่บันทึกการเข้าถึง
  • คำนำหน้าบันทึก: หากคุณเลือกเปิดสำหรับการบันทึก คุณสามารถระบุสตริงที่ต้องการให้ CloudFront ใส่คำหน้าชื่อไฟล์บันทึกการเข้าถึงสำหรับการเผยแพร่นี้ สำหรับข้อมูลเพิ่มเติมเกี่ยวกับบันทึกการเข้าถึง CloudFront โปรดดูที่บันทึกการเข้าถึง
  • การบันทึกคุกกี้: เมื่อใช้ Amazon S3 เป็นต้นทางสำหรับอ็อบเจ็กต์ Amazon S3 จะไม่ประมวลผลคุกกี้ ด้วยเหตุนี้ นอกจากการเผยแพร่จะรวม Amazon EC2 หรือต้นทางแบบกำหนดเองรูปแบบอื่น คุณจะต้องเลือกปิดสำหรับค่าของการบันทึกคุกกี้ สำหรับข้อมูลเพิ่มเติมเกี่ยวกับคุกกี้ โปรดดูที่การกำหนดค่า CloudFront ในการแคชอ็อบเจกต์ตามคุกกี้
  • ความคิดเห็น: คุณสามารถป้อนความคิดเห็นใดๆ ที่ต้องการบันทึกกับการเผยแพร่
  • สถานะการเผยแพร่: ค่าเริ่มต้นคือเปิดใช้ ซึ่งหมายความว่าเนื้อหาจะพร้อมใช้งานทันทีที่สร้างการเผยแพร่
tmt_faster-content-delivery-09

(คลิกเพื่อซูม)

tmt_faster-content-delivery-09

หลังจากกำหนดค่าการเผยแพร่ CloudFront จะสร้างการเผยแพร่และกระจายไปทั่วเครือข่าย CloudFront เพื่อให้คุณใช้งาน  เลือก Create Distribution (สร้างการเผยแพร่)  

หลังจากขั้นตอนนี้เสร็จสมบูรณ์แล้ว สถานะคอลัมน์จะเปลี่ยนจากระหว่างดำเนินการเป็นติดตั้งใช้จริงแล้ว

หมายเหตุ: ขั้นตอนนี้ใช้เวลา 2-3 นาทีจึงจะเสร็จสมบูรณ์

ชื่อโดเมนที่ CloudFront มอบหมายไปยังการเผยแพร่จะปรากฎในรายการการเผยแพร่ โปรดทราบว่าคุณจะต้องนำไปใช้กับขั้นตอนถัดไป การคลิกช่องรหัสการเผยแพร่จะนำคุณไปที่หน้าที่คุณจะเห็นชื่อโดเมน CloudFront แบบเต็มในส่วนชื่อโดเมน

tmt_faster-content-delivery-10

(คลิกเพื่อซูม)

tmt_faster-content-delivery-10

หลังจากสร้างการเผยแพร่เว็บ คุณสามารถทดสอบได้ด้วยการยืนยันว่า CloudFront ได้รับอ็อบเจ็กต์จากต้นทางและคืนกลับไปยังเว็บเบราว์เซอร์  สำหรับการทดสอบนี้ คุณจะต้องใช้ชื่อโดเมน CloudFront จากขั้นตอนที่ 4 และชื่อรูปภาพที่คุณอัปโหลดไปยังบัคเก็ต S3 ในขั้นตอนที่ 1


ก. เปิดตัวแก้ไขข้อความในคอมพิวเตอร์ คัดลอกและวางโค้ด HTML ต่อไปนี้:

<html>

<head>การทดสอบ CloudFront ของฉัน</head>

<body>

<p>เนื้อหาข้อความของฉันอยู่ที่นี่</p>

<p><img src="http://domain name/object name" alt="my test image">

</body>

</html>

  • แทนที่ชื่อโดเมนด้วยชื่อโดเมนที่ CloudFront มอบหมายไปยังการเผยแพร่ เช่น d111111abcdef8.cloudfront.net
  • แทนที่ชื่ออ็อบเจ็กต์ด้วยชื่อของไฟล์รูปภาพในบัคเก็ต Amazon S3 ซึ่งในกรณีของเราก็คือ cloudfront-test-image.png
  • บันทึกข้อความในไฟล์เป็น mycloudfronttest.html

ข. เปิดหน้าเว็บในเบราว์เซอร์เพื่อตรวจสอบว่ามองเห็นเนื้อหาได้ 

cloudfront-16

(คลิกเพื่อซูม)

cloudfront-16

คุณสามารถปิดใช้การเผยแพร่จากคอนโซล CloudFront การปิดใช้การเผยแพร่ที่คุณไม่ต้องการใช้แล้วเป็นแนวทางปฏิบัติที่ดีที่สุด เพื่อให้คุณไม่ต้องเสียค่าใช้จ่ายอีกต่อไป อย่างไรก็ตาม โปรดทราบว่าเมื่อปิดใช้การเผยแพร่แล้ว เว็บไซต์ใดๆ ที่รองรับการเผยแพร่ดังกล่าวจะไม่สามารถใช้งานได้ และผู้ใช้ปลายทางจะเข้าถึงเนื้อหาดังกล่าวไม่ได้


ก.  เลือกช่องทำเครื่องหมายถัดจากการเผยแพร่ที่คุณสร้างและคลิก ปิดใช้งาน

tmt_faster-content-delivery-11

(คลิกเพื่อซูม)

tmt_faster-content-delivery-11

ข. ระบบจะแจ้งให้คุณยืนยันการดำเนินการ ให้คลิก ใช่แล้ว ปิดใช้งานเลย

tmt_faster-content-delivery-12

(คลิกเพื่อซูม)

tmt_faster-content-delivery-12

คุณได้สร้างการเผยแพร่เว็บ Amazon CloudFront ส่งเนื้อหาแบบสแตติกที่โฮสต์ในระบบคลาวด์ผ่าน Amazon S3 แล้ว การเปลี่ยนแปลงการกำหนดค่าเล็กน้อยจะช่วยให้คุณสามารถใช้ CloudFront ในการส่งเนื้อหาแบบไดนามิกในเหตุการณ์แบบสด เช่น การประชุมหรือคอนเสิร์ตแบบเรียลไทม์ผ่าน HTTP หรือ HTTPS สามารถใช้ Amazon CloudFront ในการเพิ่มความเร็วในการส่งเว็บไซต์หรือแอปพลิเคชันทั้งหมดรวมถึงเนื้อหาแบบไดนามิก สแตติก สตรีมมิง และอินเทอร์แอ็กทีฟ

เมื่อคุณได้เรียนรู้วิธีตั้งค่าการเผยแพร่เว็บและส่งเนื้อหาแบบสแตติกด้วย Amazon CloudFront แล้ว คุณสามารถถามคำถามกับผู้เชี่ยวชาญ CloudFront ในเวลาทำการหรือการพูดคุยแลกเปลี่ยนเทคโนโลยี AWS ที่กำลังจะมาถึงได้

หน้าเริ่มต้นใช้งาน Amazon CloudFront >>