การตั้งค่า Free SSL กับ DNS ใน CloudFront โดยใช้ ACM กับ Route 53
ครั้งนี้ ผมจะมาเขียนบทความเกี่ยวกับการเปลี่ยน Domain name(DNS) ด้วย Route 53 พร้อมสร้าง SSL Certificate โดยใช้ AWS Certificate Manager ต่อจาก วิธีการแสดงผลเว็บไซต์ที่สร้างจาก EC2 ด้วย CloudFront
Amazon Route 53
Amazon Route 53 คือ บริการ DNS (Domain Name System) ที่สามารถกระจายไปทั่วโลกเนื่องจากสามารถทำงานร่วมกับบริการ อื่น ๆ ของ AWS ได้ อีกทั้งในกรณีที่ทำการสร้าง Domain Server จากที่อื่น คุณก็ยังสามารถใช้งาน Amazon Route 53 ในการเปลี่ยนชื่อ Domain Name ได้เช่นเดียวกัน
สิ่งที่ต้องมี
1. Amazon CloudFront
ก่อนที่จะทำการเปลี่ยนชื่อ Domain name ต้องทำการสร้าง Distributions ด้วย Amazon CloudFront ของเราเองขึ้นมาก่อน สำหรับเพื่อนๆ ที่ยังไม่มี Distributions สามารถทำตามลิงก์ด้านล่างนี้ได้เลย
2. เป้าหมายการทำ Route 53 พร้อมสร้าง SSL Certificate
ถ้าทำตามขั้นตอนของการสร้าง Distributions ด้วย Amazon CloudFront เสร็จแล้ว เรามาเริ่มทำการเปลี่ยนชื่อ Domain Name เว็บไซต์และสร้าง SSL Certificate ได้เลย
การเปลี่ยน Domain name ด้วย Route 53
ก่อนอื่นให้ Copy URL (Domain name) จากหน้า CloudFront เพื่อนำไปเปลี่ยนเป็นชื่อที่ต้องการ ตัวอย่างนี้จะใช้เป็นชื่อ ec2-tinnakorn.cmth.work
ไปที่ช่องค้นหา พิมพ์คำว่า Route 53
» เลือก Route 53
คลิก Hosted zones
คลิก cmth.work
คลิก Create record
ตั้งค่า Quick create record ตามนี้
» Record name: ec2-tinnakorn
(ใส่ชื่ออะไรก็ได้)
» คลิกที่ปุ่ม Alias
ให้เป็นสีฟ้าเพื่อเปิดการใช้งาน » เลือก Route traffic to: Alias to CloudFront distribution
» วาง URL (Domain name) ที่ Copy มาลงในช่องตามรูปภาพ d3**********ig.cloudfront.net
» คลิกCreate records
Copy Record name: ec2-tinnakorn.cmth.work
ตอนนี้เราได้ทำการเปลี่ยนชื่อ Domain name ด้วย Route 53 เสร็จเรียบร้อยแล้ว แต่เรายังไม่สามารถใช้งานได้ เพราะเราต้องทำเรื่องขอใบรับรอง SSL Certificate ด้วยเซอร์วิสที่ชื่อว่า AWS Certificate Manager ก่อน
`https://ec2-tinnakorn.cmth.work/`
AWS Certificate Manager
AWS Certificate Manager คือ บริการที่ช่วยให้คุณสามารถเตรียมใช้งาน จัดการ และปรับใช้ใบรับรอง Secure Sockets Layer/Transport Layer Security (SSL/TLS) แบบสาธารณะหรือแบบส่วนตัวเพื่อใช้กับบริการของ AWS อีกทั้งค่าธรรมเนียมในการใช้งานฟรี และมีการอัปเดตอัตโนมัติ ทำให้การจัดการง่ายขึ้น
การขอใบรับรอง SSL Certificate ด้วย AWS Certificate Manager
ก่อนอื่นให้ Copy Record name จากหน้า Route 53 เพื่อนำไปใช้ในการขอใบรับรอง SSL Certificate ตัวอย่างนี้จะเป็นชื่อ ec2-tinnakorn.cmth.work
ไปที่ช่องค้นหา พิมพ์คำว่าCertificate Manager
» เลือกCertificate Manager
เลือกN. Virginia
(การที่จะขอใบรับรอง SSL Certificate จะต้องขอจากรีเจี้ยนที่อยู่ในอเมริกาเท่านั้น)
คลิกRequest
คลิกNext
Fully qualified domain name:ec2-tinnakorn.cmth.work
(วาง Record name ที่ Copy มาลงในช่องนี้)
เลื่อนลงมาด้านล่างสุด » คลิกRequest
คลิกCertificate ID
ของเรา
คลิกCreate records in Route 53
คลิกCreate records
เมื่อขอใบรับรอง SSL Certificate เสร็จเรียบร้อยแล้วจะได้หน้าตาแบบนี้
จากนั้นรอให้ Status เป็น Issued เพียงเท่านี้การขอใบรับรอง SSL Certificate ก็เสร็จเรียบร้อย
การเชื่อมต่อ SSL certificate ใน CloudFront
Copy Domain name จากหน้า Certificate Manager มาเพื่อนำไปตั้งค่าใน CloudFront
ไปที่ช่องค้นหา พิมพ์คำว่าCloudFront
» เลือกCloudFront
คลิก ID
ของเรา
คลิก Edit
คลิก Add item
ตั้งค่าตามรูปภาพ
»Alternate domain name (CNAME) - optional: ec2-tinnakorn.cmth.work
(วาง Domain name ที่ Copy มาจากหน้า Certificate Manager มาใส่ในช่องนี้)
»Custom SSL certificate - optional: ec2-tinnakorn.cmth.work (f6******-****-****-****-**********ea)
(เลือก SSL Certificate ของเราเอง)
คลิก Save changes
เมื่อตั้งค่าเสร็จเรียบร้อยแล้วจะได้หน้าตาแบบนี้ จะเห็นว่า Alternate domain names และ Custom SSL certificate ถูกเพิ่มมาแล้ว
จากนั้นให้เรารอจนกว่า Status จะเปลี่ยนเป็น Deployed ซึ่งจะใช้เวลาประมาณ 3 นาทีในการ Deploy
กลับมาที่หน้าเว็บไซต์ https://ec2-tinnakorn.cmth.work/ แล้วทำการ Refresh อีกครั้ง จะเห็นว่าเว็บไซต์สามารถใช้งานได้แล้ว
`https://ec2-tinnakorn.cmth.work/`
สรุป
การเปลี่ยนชื่อ Domain Name เว็บไซต์ด้วย Route 53 จะทำให้การใช้งาน URL มีความปลอดภัยในการใช้งานมากขึ้น รวมถึงการขอใบรับรอง SSL Certificate ด้วยเซอร์วิสที่ชื่อว่า AWS Certificate Manager เพื่อให้เว็บไซต์มีความเชื่อถือมากยิ่งขึ้น นอกจากนี้บริการ AWS Certificate Manager นั้นยังเป็นบริการที่ฟรีอีกด้วย