EC2 / เส้นทาง 53: ฉันจะกำหนดชื่อโดเมนใหม่ให้กับอินสแตนซ์ได้อย่างไร


19

ฉันมีอินสแตนซ์ EC2 มันขึ้นและทำงานกับ Amazon IP ที่มีลักษณะเช่นนี้: //ec2-xxx-xxx-xxx-xxx.compute-1.amazonaws.com/

ฉันแน่ใจว่ามันใช้งานได้ดี

ฉันซื้อโดเมนแล้วตั้งค่า "Hosted Zone" ใน Amazon Route 53 และให้ข้อมูลชื่อเซิร์ฟเวอร์แก่ฉันเมื่อฉันทำ ฉันไปที่ บริษัท จดทะเบียนโดเมนของฉันและใส่ชื่อเหล่านั้นลงในเซิร์ฟเวอร์ชื่อ

ตอนนี้ฉันติดอยู่ ฉันจะเชื่อมโยงโซนที่โฮสต์นี้กับอินสแตนซ์ของฉันได้อย่างไร ฉันต้องการให้อเมซอนเป็นเจ้าภาพ


7
โดยย่อ: a) จัดสรรและกำหนดที่อยู่ IP ที่ยืดหยุ่นให้กับอินสแตนซ์ EC2 ของคุณหากคุณยังไม่ได้ดำเนินการ b) สร้างระเบียน A ในเส้นทาง 53 ที่ชี้ไปยังที่อยู่ IP ยืดหยุ่นของอินสแตนซ์ของคุณ (ที่อยู่ IP ตัวเลขจริงแม้ว่าจะไม่ใช่รูปแบบ DNS ที่คุณใช้ในคำถามของคุณ)
cyberx86

2
ความคิดเห็นข้างต้นควรเป็นคำตอบ
thinice

คุณแก้ไขปัญหาของคุณหรือไม่ คุณกรุณาแบ่งปันได้ที่นี่
Jeremy

คำตอบ:


24

หากคุณใช้คอนโซล AWSคุณสามารถเชื่อมโยงชื่อโฮสต์ที่ต้องการ (เช่น www.example.com) กับที่อยู่ IP ของอินสแตนซ์ EC2 โดยใช้ระเบียน CNAME กับชื่อ DNS ภายนอกสำหรับอินสแตนซ์

ตัวอย่างเช่น:

  • นำทางไปยังโซนโฮสต์ที่คุณสร้าง (ดับเบิลคลิกใช้ได้)

  • คลิก [ สร้างชุดบันทึก ] ที่ด้านบน

  • ชื่อ : www.example.com

  • ประเภท : CNAME

  • ค่า : ec2-xxx-xxx-xxx-xxx.compute-1.amazonaws.com

  • คลิก [ สร้างชุดบันทึก ] ที่ด้านล่างของแบบฟอร์ม

ฉันขอแนะนำให้คุณเรียนรู้เกี่ยวกับที่อยู่ IP แบบยืดหยุ่น คุณควรจัดสรรที่อยู่ IP แบบยืดหยุ่นเชื่อมโยงกับอินสแตนซ์ของคุณแล้วแมป CNAME กับชื่อ DNS ภายนอกใหม่สำหรับที่อยู่ IP แบบยืดหยุ่นในอินสแตนซ์ของคุณ วิธีนี้จะช่วยให้คุณย้ายที่อยู่ IP แบบยืดหยุ่นระหว่างอินสแตนซ์โดยไม่ต้องอัปเดต DNS ของคุณ

หากคุณสงสัยว่าทำไมฉันถึงแนะนำ CNAME แทนที่จะใช้บันทึก A นี่คือประโยชน์ที่ฉันเขียนเมื่อพูดถึงกรณีต่างๆภายใน EC2: http://alestic.com/2009/06/ec2-elastic-ip-internal


อืมม ทำอย่างนั้น แต่มันไม่เคยเกี่ยวข้องกัน ฉันสร้าง Elastic IP อย่างที่คุณพูดและสร้าง CNAME สำหรับสิ่งนั้น (elastic ip ไปที่แอพของฉันตอนนี้) แต่การไปที่โดเมนของฉันส่งคืนข้อผิดพลาด 502 ("ชื่อที่ร้องขอนั้นถูกต้อง แต่ไม่มีข้อมูลของคำขอ พบประเภท ")
KevinDeus

2
สร้างเรคคอร์ด A นั่นมัน
KevinDeus

บันทึก A จะใช้งานได้ แต่ CNAME นั้นดีกว่าโดยเฉพาะถ้าอินสแตนซ์ของคุณพูดคุยกัน ตรวจสอบให้แน่ใจว่าคุณใส่เครื่องหมายมหัพภาค (.) ที่ส่วนท้ายของเป้าหมายสำหรับ CNAME
Eric Hammond

แน่นอนว่าจะไม่ทำงานกับ CNAME ฉันเปลี่ยนระเบียน A เป็น CNAME แล้ว Google ก็สูญเสียไซต์ไปประมาณ 30 นาที!
KevinDeus

1
บางทีคุณพยายามตั้งค่าโดเมน apex ("example.com" แทนที่จะเป็น "www.example.com")? ต้องมีระเบียน A เนื่องจาก DNS ไม่รองรับ CNAME สำหรับโดเมน apex
Eric Hammond

2

สำหรับฉันมันค่อนข้างง่าย ฉันมี 2 สถานการณ์ที่ฉันต้องกำหนดชื่อโดเมนให้กับอินสแตนซ์:

  1. ในกรณีแรกฉันมี 6 เว็บเซิร์ฟเวอร์หลังโหลดบาลานเซอร์เดียว และฉันต้องการกำหนดให้กับโดเมนรูทของฉันสมมติว่า: mydomain.com ฉันอัปเดตอย่างง่าย dNS สำหรับ mydomain.com และแทนที่จะสร้างระเบียน A ฉันกำหนด CNAME สำหรับ mydomain.com (ใช่รูทโดเมน) ชี้ไปที่ DNS สาธารณะของ load balancer
  2. ในอีกกรณีหนึ่งฉันมีเว็บเซิร์ฟเวอร์เดียว ที่นั่นฉันสร้าง CNAME ของโดเมนที่ชี้ไปยัง Public DNS ของเว็บเซิร์ฟเวอร์เอง

คล้ายกับวิธีที่คุณสร้างระเบียน CNAME ให้ชี้ไปที่ ghs.google.com เมื่อใช้ Google Apps


1

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

สำหรับคำแนะนำโดยละเอียดคุณสามารถติดตามบล็อกนี้ http://comtechies.com/2016/07/point-map-domain-name-aws-ec2-server.html

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.