จะเชื่อมโยงโดเมนของ GoDaddy กับสภาพแวดล้อม AWS Elastic Beanstalk ได้อย่างไร


102

ฉันทำงานเป็นปัญหานี้พยายามที่จะเชื่อมโยงของฉันโดเมน Godaddyกับอินสแตนซ์ AWS ยืดหยุ่นฝักถั่ว ฉันพบเอกสารจำนวนมากเกี่ยวกับวิธีเชื่อมโยงอินสแตนซ์ EC2กับโดเมนบน Godaddy แต่ไม่ใช่สำหรับอินสแตนซ์ Elastic Beanstalk ดังนั้นฉันจึงลงเอยด้วย URL นี้:www.MY_SITE.elasticbeanstalk.com

นี่คือสิ่งที่ฉันทำกับอินสแตนซ์ EC2:

  1. ฉันอัปเดตNameserversบนโดเมน Godaddy ของฉันด้วยเซิร์ฟเวอร์จากRoute 53 Hosted Zone ของฉัน
  2. ฉันสร้างElastic IPใหม่บนคอนโซล EC2
  3. ฉันกลับไปที่ Godaddy และอัปเดตฟิลด์DNS A @จาก DNS Manager ด้วย EC2 Elastic IP หนึ่ง
  4. โดยปกติคุณต้องรอ 1 ชั่วโมงถึง 48 ชั่วโมงจึงจะได้ผล

ฉันจะทำเช่นเดียวกันกับอินสแตนซ์ AWS Elastic Beanstalk ไม่ใช่ EC2 ได้อย่างไร ฉันไม่เห็นอินสแตนซ์ที่ฉันสร้างจากคอนโซล EC2 เพื่อเชื่อมโยงกับ Elastic IP

หวังว่าจะชัดเจนพอ .. ช่วยไหม?


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

คุณมีที่อยู่ IP หรือแค่ URL URL: www.MY_SITE.elasticbeanstalk.com สำหรับอินสแตนซ์ Elastic Beanstalk ของคุณหรือไม่
Mike_GoDaddy

บทความเกี่ยวกับการใช้ชื่อโดเมนที่กำหนดเองกับ Elastic Beanstalk docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/…
Alexey

คำตอบ:


103

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

วิธีที่สง่างามที่สุดคือการบริการ DNS โยกย้ายจาก GoDaddy เส้นทาง 53 คุณจะยังคงอยู่กับ GoDaddy แต่การจัดการคำขอสำหรับไซต์ของคุณจะอยู่ในฝั่งของ Amazon

นี่คือสิ่งที่คุณต้องทำ:

  1. สร้าง Hosted Zone ใหม่สำหรับไซต์ของคุณในคอนโซล Route 53: ใส่คำอธิบายภาพที่นี่

  2. เปิดชื่อโดเมนที่เพิ่มใหม่ค้นหาระเบียน NS และคัดลอกเซิร์ฟเวอร์: ใส่คำอธิบายภาพที่นี่

  3. ในบันทึกการส่งออก Domain Manager ของ GoDaddy ผ่าน "ไฟล์โซนการส่งออก (Windows)"

  4. นำเข้าบันทึกเหล่านั้นไปยัง Route 53 (ปุ่ม "นำเข้าไฟล์โซน")

  5. ในตัวจัดการโดเมนของ GoDaddy ตั้งค่าเซิร์ฟเวอร์ชื่อ DNS ที่กำหนดเองซึ่งได้รับในขั้นตอนที่ 2: ใส่คำอธิบายภาพที่นี่

การย้ายข้อมูลอาจใช้เวลาสักครู่ (แม้กระทั่งวัน) ตอนนี้คุณสามารถเชื่อมโยงโดเมนของคุณกับไซต์ Elastic Beanstalk ของคุณได้แล้ว ในการดำเนินการดังกล่าวให้เลือก / สร้างประเภทบันทึก A ที่เหมาะสมในเส้นทาง 53 และตั้งนามแฝงสำหรับมัน: ใส่คำอธิบายภาพที่นี่

หวังว่าจะช่วยได้


1
ขอบคุณครับ. ทำงานอย่างมีเสน่ห์
ภาพลวงตา

4
มี. ที่ทุกชื่อในเนมเซิร์ฟเวอร์ 4 ชื่อที่คุณไฮไลต์ภาพในกล่องสีแดงทำอย่างนั้น .uk '.' ต้องเพิ่มด้วยถ้าไม่เช่นนั้นฉันสามารถเพิ่มเนมเซิร์ฟเวอร์ได้ แต่ถ้าเพิ่มฉันได้รับอักขระที่ไม่ถูกต้องขออภัยสำหรับคำถามโง่ ๆ นี้ แต่ฉันใหม่สำหรับการตั้งค่านี้ ฉันได้เพิ่มโดยวิธีการ 4 เนมเซิร์ฟเวอร์ตามที่กำหนดไว้ แต่ฉันยังคงได้รับเว็บไซต์ไม่พบข้อผิดพลาดวิธีการดีบักเนื่องจากฉันสามารถ ping www.mysitename.com
Vicky Dhas

3
@VickyDhas เป็นเวลานานแล้วที่ฉันทำมัน แต่ฉันคิดว่าคุณไม่จำเป็นต้องมีจุดที่ท้ายชื่อเซิร์ฟเวอร์ (เช่นns-1783.awsdns-30.co.uk)
Vsevolod Krasnov

2
สำหรับผู้ที่ลองใช้เป็นครั้งแรก: ตรวจสอบให้แน่ใจว่าคุณรีเฟรชตารางโซนที่โฮสต์ของคุณหลังจากนำเข้าระเบียน DNS บันทึกจะไม่แสดงโดยอัตโนมัติอย่างที่คุณคิด จากนั้นคลิกที่ระเบียน A (อาจเป็นแถวบนสุด) และสร้างนามแฝงสำหรับระเบียนนั้นตามที่อธิบายไว้ข้างต้น นี่เป็นวิธีที่แน่นอนในการทำเช่นนี้ หากคุณกำลังทำงานกับระเบียนจำนวนน้อยการเปลี่ยนแปลงเหล่านี้จะแพร่กระจายได้อย่างรวดเร็ว
jbcaveman

2
นี่เป็นคำตอบที่ดีหากคุณกำลังทำงานกับโดเมนใหม่ที่ไม่ได้ใช้ แต่จะไม่ดีถ้าคุณชี้ไปที่สถานที่ต่างๆผ่าน GoDaddy อยู่แล้ว ในกรณีของฉันฉันมีโดเมนย่อย www (และอีเมลอื่น ๆ ที่เกี่ยวข้อง) ที่ชี้ไปที่บางสิ่งผ่าน GoDaddy อยู่แล้ว แต่ตอนนี้ต้องชี้โดเมนย่อยอื่นไปที่ต้นถั่วที่ยืดหยุ่นของฉัน
Svet Angelov

41

นี่คือสิ่งที่ฉันทำเมื่อพบปัญหาในการเชื่อมโยงโดเมน GoDaddy กับ AWS ElasticBeanstalk

ตัวจัดการ DNS:

  • บันทึก@ : 64.202.189.170 (นั่นคือการส่งต่อ IP btw ของ GoDaddy)
  • Cname www : โดเมน AWS EB (เช่น awseb-xyz.us-east-1.elb.amazonaws.com)

การส่งต่อ:

  • ส่งต่อโดเมนไปที่ www.example.com (ส่งต่อเท่านั้นโดยไม่ต้องกำบัง)
  • ส่งต่อโดเมนย่อยไปยังโดเมน AWS EB (เช่น awseb-xyz.us-east-1.elb.amazonaws.com) (พร้อมการกำบัง)

ในการเข้าถึงไซต์โดยไม่มี www (เช่นhttp://example.com ) ฉันต้องตั้งค่าการส่งต่อโดเมนไปยัง www cname จากนั้น www cname นี้จะถูกส่งต่อไปยังโดเมน AWS EB (โดยมีการปิดบังเพื่อให้ www.example.com อยู่ในแถบที่อยู่)


1
คุณไม่สามารถเพิ่ม cname สำหรับโดเมนเฉพาะโดเมนย่อย

1
ส่งต่อสัญลักษณ์หัวข้อแรก Forward Domain ไปที่ www.mysite.com (ส่งต่อเท่านั้นโดยไม่ต้องกำบัง)? www.mysite.com เป็นโดเมนที่ซื้อจาก GoDaddy หรือเป็นลิงค์ EB?
Hrishikesh Sardar

1
สำหรับฉันฉันต้องเปลี่ยน A record @ : เป็น 184.168.221.3
เฟลิกซ์

1
โซลูชันนี้ไม่ได้ผลจาก SEO ดูคำตอบของฉันด้านล่างโดยอ้างอิงจากเอกสารของ Amazon
Vsevolod Krasnov

1
การให้ CNAME เป็นรูปแบบที่ไม่ดีดังที่กล่าวไว้ - และไม่มีเหตุผลจริงๆ เส้นทาง 53 คือทางไป .. สำหรับสิ่งที่มีความหมายเกี่ยวกับต้นถั่ว
bshea

8

คุณควรเพิ่มระเบียน CNAMEในชื่อโดเมน Godaddy ของคุณที่จับคู่จาก www.yourGoDaddyDomain.com -> MY_SITE.elasticbeanstalk.com

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

ดูที่ส่วน "การเพิ่มหรือแก้ไข CNAME" ของเอกสาร GoDaddyเกี่ยวกับวิธีการดำเนินการนี้


6
คุณไม่สามารถเพิ่ม cname สำหรับโดเมนเฉพาะโดเมนย่อย

ใน Godaddy เมื่อเพิ่มโดเมนย่อยในบันทึก cname ที่ชี้ไปที่ mysiteloadbalancer.com มันใช้งานได้ :)
Beniston

ฉันจะชี้โดเมนของฉันไปยัง Elastic IP ของฉันผ่าน DNS ของ Godaddy .. โดยไม่ต้องใช้โซนที่โฮสต์ใด ๆ ในกระบวนการนี้ได้อย่างไร .. PS - มันแพงมาก
Divij Sehgal

ฉันไม่ได้ใช้ Elastic Beanstalk
Divij Sehgal

2

การกำหนดค่า route53 ของคุณต้องชี้ไปที่ตัวโหลดบาลานเซอร์ไม่ใช่อินสแตนซ์ ec2

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