การตั้งค่า Free SSL กับ DNS ใน CloudFront โดยใช้ ACM กับ Route 53

การเปลี่ยนชื่อ Domain name(DNS) เว็บไซต์ด้วย Route 53 ทำให้ชื่อเว็บไซต์มีความปลอดภัย และการขอใบรับรอง SSL Certificate จะทำให้เว็บไซต์มีความน่าเชื่อถือในการเข้าใช้งาน

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

ครั้งนี้ ผมจะมาเขียนบทความเกี่ยวกับการเปลี่ยน Domain name(DNS) ด้วย Route 53 พร้อมสร้าง SSL Certificate โดยใช้ AWS Certificate Manager ต่อจาก วิธีการแสดงผลเว็บไซต์ที่สร้างจาก EC2 ด้วย CloudFront

Amazon Route 53

Screen-Shot-2564-09-22 ><
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

Route-53-SSL-ACM
ถ้าทำตามขั้นตอนของการสร้าง Distributions ด้วย Amazon CloudFront เสร็จแล้ว เรามาเริ่มทำการเปลี่ยนชื่อ Domain Name เว็บไซต์และสร้าง SSL Certificate ได้เลย

การเปลี่ยน Domain name ด้วย Route 53

ก่อนอื่นให้ Copy URL (Domain name) จากหน้า CloudFront เพื่อนำไปเปลี่ยนเป็นชื่อที่ต้องการ ตัวอย่างนี้จะใช้เป็นชื่อ ec2-tinnakorn.cmth.work
CF-8

ไปที่ช่องค้นหา พิมพ์คำว่า Route 53 » เลือก Route 53
R53-1

คลิก Hosted zones
R53-2

คลิก cmth.work
R53-3

คลิก Create record
R53-4

ตั้งค่า 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 R53-5

Copy Record name: ec2-tinnakorn.cmth.work R53-6

ตอนนี้เราได้ทำการเปลี่ยนชื่อ Domain name ด้วย Route 53 เสร็จเรียบร้อยแล้ว แต่เรายังไม่สามารถใช้งานได้ เพราะเราต้องทำเรื่องขอใบรับรอง SSL Certificate ด้วยเซอร์วิสที่ชื่อว่า AWS Certificate Manager ก่อน

`https://ec2-tinnakorn.cmth.work/`

R53-7

AWS Certificate Manager

images ><
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
R53-6

ไปที่ช่องค้นหา พิมพ์คำว่าCertificate Manager » เลือกCertificate Manager
C-F-1

เลือกN. Virginia (การที่จะขอใบรับรอง SSL Certificate จะต้องขอจากรีเจี้ยนที่อยู่ในอเมริกาเท่านั้น)
C-F-2

คลิกRequest
C-F-3

คลิกNext
C-F-4

Fully qualified domain name:ec2-tinnakorn.cmth.work(วาง Record name ที่ Copy มาลงในช่องนี้)
C-F-5

เลื่อนลงมาด้านล่างสุด » คลิกRequest
C-F-6

คลิกCertificate IDของเรา
C-F-7

คลิกCreate records in Route 53
C-F-8

คลิกCreate records
C-F-9

เมื่อขอใบรับรอง SSL Certificate เสร็จเรียบร้อยแล้วจะได้หน้าตาแบบนี้
C-F-10

จากนั้นรอให้ Status เป็น Issued เพียงเท่านี้การขอใบรับรอง SSL Certificate ก็เสร็จเรียบร้อย
C-F-11

การเชื่อมต่อ SSL certificate ใน CloudFront

Copy Domain name จากหน้า Certificate Manager มาเพื่อนำไปตั้งค่าใน CloudFront

ไปที่ช่องค้นหา พิมพ์คำว่าCloudFront» เลือกCloudFront
S-CF-1

คลิก ID ของเรา
S-CF-2

คลิก Edit
S-CF-3

คลิก Add item
S-CF-4

ตั้งค่าตามรูปภาพ
» 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 ของเราเอง)
S-CF-5

คลิก Save changes
S-CF-6

เมื่อตั้งค่าเสร็จเรียบร้อยแล้วจะได้หน้าตาแบบนี้ จะเห็นว่า Alternate domain names และ Custom SSL certificate ถูกเพิ่มมาแล้ว
S-CF-7

จากนั้นให้เรารอจนกว่า Status จะเปลี่ยนเป็น Deployed ซึ่งจะใช้เวลาประมาณ 3 นาทีในการ Deploy
S-CF-8-1

กลับมาที่หน้าเว็บไซต์ https://ec2-tinnakorn.cmth.work/ แล้วทำการ Refresh อีกครั้ง จะเห็นว่าเว็บไซต์สามารถใช้งานได้แล้ว
`https://ec2-tinnakorn.cmth.work/` S-CF-9

สรุป

การเปลี่ยนชื่อ Domain Name เว็บไซต์ด้วย Route 53 จะทำให้การใช้งาน URL มีความปลอดภัยในการใช้งานมากขึ้น รวมถึงการขอใบรับรอง SSL Certificate ด้วยเซอร์วิสที่ชื่อว่า AWS Certificate Manager เพื่อให้เว็บไซต์มีความเชื่อถือมากยิ่งขึ้น นอกจากนี้บริการ AWS Certificate Manager นั้นยังเป็นบริการที่ฟรีอีกด้วย

บทความที่เกี่ยวข้อง