Developer Center / เริ่มต้นใช้งาน / การฝึกปฏิบัติจริง / ...
ด้วย Amazon CloudFront
ในบทแนะนำสอนการใช้งานนี้ คุณจะได้เรียนรู้วิธีส่งมอบเนื้อหาและลดเวลาแฝงของผู้ใช้ปลายทางของเว็บแอปพลิเคชันโดยใช้ Amazon CloudFront CloudFront เร่งความเร็วการส่งเนื้อหาด้วยการใช้ประโยชน์จากเครือข่ายทั่วโลกของศูนย์ข้อมูลที่รู้จักกันในชื่อสถานที่ตั้ง edge เพื่อลดเวลาส่งด้วยการแคชเนื้อหาใกล้กับผู้ใช้ปลายทาง CloudFront ดึงข้อมูลเนื้อหาจากต้นทาง เช่น บัคเก็ต Amazon S3, Amazon EC2 Instance, โหลดบาลานเซอร์ Amazon Elastic Load Balancing หรือเซิร์ฟเวอร์เว็บของคุณเองเมื่อไม่ได้อยู่ในสถานที่ตั้ง edge อยู่แล้ว สามารถใช้ CloudFront ในการส่งเว็บไซต์หรือแอปพลิเคชันทั้งหมดรวมถึงเนื้อหาแบบไดนามิก สแตติก สตรีมมิง และอินเทอร์แอ็กทีฟ
ในขั้นตอนต่อไปนี้ คุณจะกำหนดค่าบัคเก็ต Amazon S3 เป็นต้นทางและทดสอบการกระจายโดยใช้เว็บเบราว์เซอร์เพื่อตรวจสอบว่าได้มีการส่งมอบเนื้อหา
ทุกสิ่งที่ทำในบทแนะนำสอนการใช้งานนี้สามารถใช้กับ Free Tier ได้
การส่งเนื้อหาเร็วขึ้นจำเป็นต้องใช้บัญชี
ลงชื่อเข้าใช้ ConsoleAWS Free Tier ประกอบด้วยการโอนข้อมูลออก 50 GB และคำขอ HTTP หรือ HTTPS 2,000,000 รายการต่อเดือน เป็นเวลา 1 ปี
ในขั้นตอนนี้ เราจะอัปโหลดตัวอย่างเนื้อหาแบบสแตติกไปยังบัคเก็ต Amazon S3 ในขั้นตอนหลังจากนี้ เราจะใช้บัคเก็ตนี้เป็นต้นทางของ CloudFront Amazon S3 เป็นตัวเลือกที่ดีสำหรับต้นทางของ Amazon CloudFront ที่มีเนื้อหาแบบสแตติก เช่น รูปภาพ, วิดีโอ, หน้า HTML, ไฟล์ .css, และไฟล์ .js
ก. รูปภาพตัวอย่างที่เราจะใช้ในบทช่วยสอนนี้เป็นภาพ PNG ที่ชื่อว่า cloudfront-test-image.png คลิกปุ่มทางขวาเพื่อดาวน์โหลดรูปภาพตัวอย่างและตรวจสอบว่าได้บันทึกเป็น cloudfront-test-image.png
ข. เมื่อคุณคลิกที่นี่ AWS Management Console จะเปิดขึ้นในหน้าต่างเบราว์เซอร์บานใหม่ พิมพ์ S3 ในช่องค้นหาและคลิกสองครั้งเพื่อเปิดแดชบอร์ด
ค. เมื่ออยู่ในแดชบอร์ด S3 แล้ว ให้คลิกปุ่ม Create Bucket (สร้างบัคเก็ต)
- Bucket Name (ชื่อบัคเก็ต): ป้อนชื่อบัคเก็ต - ต้องไม่ซ้ำกันและเป็นพิมพ์เล็กทั้งหมด สำหรับข้อจำกัดเพิ่มเติมเกี่ยวกับชื่อบัคเก็ต S3 ให้ดูข้อจำกัดและขีดจำกัดบัคเก็ต
- Region (เขต): คุณมีตัวเลือกในการเลือกเขตที่ใกล้กับคุณเพื่อเพิ่มประสิทธิภาพเวลาแฝงลดค่าใช้จ่าย หรือเพื่อปฏิบัติตามข้อกำหนดด้านกฎระเบียบ
เลือก Next (ถัดไป)
ในแผงSet properties (กำหนดคุณสมบัติ) คุณจะมีตัวเลือกต่างๆ ที่เป็นประโยชน์สำหรับบัคเก็ต S3 ของคุณ ได้แก่ การจัดเวอร์ชัน บันทึกการเข้าถึงเซิร์ฟเวอร์ แท็ก บันทึกระดับออบเจ็กต์ และการเข้ารหัสตามค่าเริ่มต้น ซึ่งเราจะไม่เปิดใช้งานคุณสมบัติเหล่านี้ในบทแนะนำสอนการใช้งานนี้
เลือก Next (ถัดไป)
ในแผงกำหนดสิทธิ์ คุณสามารถเข้าถึงสิทธิ์การควบคุมสำหรับบัคเก็ตของเราได้ ซึ่งเราจะไม่เปิดใช้งานคุณสมบัติเหล่านี้ในบทแนะนำสอนการใช้งานนี้
เลือก Next (ถัดไป)
ในแผงรีวิว ให้เลือก Create bucket (สร้างบัคเก็ต)
จ. ในแท็บกำหนดสิทธิ์ คุณจะต้องทำให้รูปภาพอ่านได้แบบสาธารณะ อ็อบเจ็กต์ S3 จะกำหนดไว้เป็นแบบส่วนตัวตามค่าเริ่มต้น เปลี่ยนจัดการสิทธิ์สาธารณะเป็น "Grant public access to objects(s) (ให้สิทธิ์เข้าถึงแบบสาธารณะแก่อ็อบเจ็กต์)"
เลือก Next (ถัดไป)
ในแท็บกำหนดคุณสมบัติ คุณสามารถกำหนดคลาสของพื้นที่จัดเก็บ การเข้ารหัส และข้อมูลเมตา ซึ่งเราจะไม่เปิดใช้งานคุณสมบัติเหล่านี้ในบทแนะนำสอนการใช้งานนี้
เลือก Next (ถัดไป)
ในแท็บตรวจสอบ ให้ตรวจสอบการอัปโหลดไฟล์
เลือก Upload (อัปโหลด)
เมื่ออัปโหลดเนื้อหาไปยัง Amazon S3 แล้ว คุณสามารถใช้คอนโซล Amazon CloudFront ในการส่งเนื้อหาไปยังผู้ใช้ปลายทางจากทั่วโลกได้
ก. เมื่อคุณคลิกที่นี่ AWS Management Console จะเปิดขึ้นในแท็บเบราว์เซอร์ใหม่ ค้นหา CloudFront ในส่วน Storage & Content Delivery (พื้นที่จัดเก็บและการส่งเนื้อหา) และคลิกเพื่อเปิดคอนโซล Amazon CloudFront
การเผยแพร่เว็บจะระบุการกำหนดค่าเพื่อให้ CloudFront ทราบถึงต้นทางเพื่อรับเนื้อหาจากจุดที่ผู้ใช้ร้องขอ คุณสามารถใช้บัคเก็ต Amazon S3 (โฟลเดอร์พื้นที่จัดเก็บ) และเซิร์ฟเวอร์ HTTP (ตัวอย่างเช่น เซิร์ฟเวอร์เว็บ) เป็นต้นทาง
ก. คุณจะต้องเลือกวิธีส่งเนื้อหาก่อน การเผยแพร่เว็บใช้สำหรับเนื้อหาแบบไดนามิกและสแตติก ในขณะที่การเผยแพร่ RTMP เหมาะสำหรับการสตรีมไฟล์สื่อโดยใช้โปรโตคอล RTMP ของ Adobe Flash Media Server
เนื่องจาก cloudfront-test-image.png เป็นรูปภาพแบบสแตติก ให้เลือก Get Started (เริ่มต้น) ในส่วนตัวเลือก Web (เว็บ)
ข. ตอนนี้ คุณจะได้กำหนดค่า
ใน 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 ในการแคชอ็อบเจกต์ตามคุกกี้
- ความคิดเห็น: คุณสามารถป้อนความคิดเห็นใดๆ ที่ต้องการบันทึกกับการเผยแพร่
- สถานะการเผยแพร่: ค่าเริ่มต้นคือเปิดใช้ ซึ่งหมายความว่าเนื้อหาจะพร้อมใช้งานทันทีที่สร้างการเผยแพร่
หลังจากกำหนดค่าการเผยแพร่ CloudFront จะสร้างการเผยแพร่และกระจายไปทั่วเครือข่าย CloudFront เพื่อให้คุณใช้งาน เลือก Create Distribution (สร้างการเผยแพร่)
หลังจากขั้นตอนนี้เสร็จสมบูรณ์แล้ว สถานะคอลัมน์จะเปลี่ยนจากระหว่างดำเนินการเป็นติดตั้งใช้จริงแล้ว
หมายเหตุ: ขั้นตอนนี้ใช้เวลา 2-3 นาทีจึงจะเสร็จสมบูรณ์
ชื่อโดเมนที่ CloudFront มอบหมายไปยังการเผยแพร่จะปรากฎในรายการการเผยแพร่ โปรดทราบว่าคุณจะต้องนำไปใช้กับขั้นตอนถัดไป การคลิกช่องรหัสการเผยแพร่จะนำคุณไปที่หน้าที่คุณจะเห็นชื่อโดเมน CloudFront แบบเต็มในส่วนชื่อโดเมน
หลังจากสร้างการเผยแพร่เว็บ คุณสามารถทดสอบได้ด้วยการยืนยันว่า 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 การปิดใช้การเผยแพร่ที่คุณไม่ต้องการใช้แล้วเป็นแนวทางปฏิบัติที่ดีที่สุด เพื่อให้คุณไม่ต้องเสียค่าใช้จ่ายอีกต่อไป อย่างไรก็ตาม โปรดทราบว่าเมื่อปิดใช้การเผยแพร่แล้ว เว็บไซต์ใดๆ ที่รองรับการเผยแพร่ดังกล่าวจะไม่สามารถใช้งานได้ และผู้ใช้ปลายทางจะเข้าถึงเนื้อหาดังกล่าวไม่ได้
คุณได้สร้างการเผยแพร่เว็บ Amazon CloudFront ส่งเนื้อหาแบบสแตติกที่โฮสต์ในระบบคลาวด์ผ่าน Amazon S3 แล้ว การเปลี่ยนแปลงการกำหนดค่าเล็กน้อยจะช่วยให้คุณสามารถใช้ CloudFront ในการส่งเนื้อหาแบบไดนามิกในเหตุการณ์แบบสด เช่น การประชุมหรือคอนเสิร์ตแบบเรียลไทม์ผ่าน HTTP หรือ HTTPS สามารถใช้ Amazon CloudFront ในการเพิ่มความเร็วในการส่งเว็บไซต์หรือแอปพลิเคชันทั้งหมดรวมถึงเนื้อหาแบบไดนามิก สแตติก สตรีมมิง และอินเทอร์แอ็กทีฟ
เมื่อคุณได้เรียนรู้วิธีตั้งค่าการเผยแพร่เว็บและส่งเนื้อหาแบบสแตติกด้วย Amazon CloudFront แล้ว คุณสามารถถามคำถามกับผู้เชี่ยวชาญ CloudFront ในเวลาทำการหรือการพูดคุยแลกเปลี่ยนเทคโนโลยี AWS ที่กำลังจะมาถึงได้
หน้าเริ่มต้นใช้งาน Amazon CloudFront >>