Wie verbinde ich die Godaddy-Domain mit der AWS Elastic Beanstalk-Umgebung?

102

Ich habe dieses Problem beim Versuch, meine Godaddy-Domain mit einer AWS Elastic Beanstalk-Instanz zu verknüpfen . Ich habe eine Menge Dokumentation darüber gefunden, wie man eine EC2-Instanz mit einer Domain auf Godaddy verknüpft, aber nicht für die Elastic Beanstalk-Instanz. Also habe ich diese URL erhalten:www.MY_SITE.elasticbeanstalk.com

Folgendes habe ich für eine EC2-Instanz getan:

  1. Ich habe die Nameserver in meiner Godaddy-Domain mit denen aus meiner Route 53 Hosted Zone aktualisiert .
  2. Ich habe eine neue elastische IP auf der EC2-Konsole erstellt.
  3. Ich ging zurück zu Godaddy und aktualisierte das DNS A @ -Feld von ihrem DNS-Manager mit dem EC2 Elastic IP-Feld.
  4. Normalerweise müssen Sie 1 bis 48 Stunden warten und es sollte funktionieren.

Wie kann ich dasselbe für eine AWS Elastic Beanstalk-Instanz tun, nicht für eine EC2-Instanz? Ich kann die von meiner EC2-Konsole erstellte Instanz nicht sehen, um sie mit einer elastischen IP zu verknüpfen.

Hoffe das ist klar genug .. Irgendeine Hilfe?

Bob Bill
quelle
Sie verwirren verschiedene Teile des Puzzles und es wäre für uns einfacher zu helfen, wenn Sie uns Ihren Domainnamen mitteilen könnten.
Jamieb
Haben Sie eine IP-Adresse oder nur die URL-URL: www.MY_SITE.elasticbeanstalk.com für Ihre Elastic Beanstalk-Instanz?
Mike_GoDaddy
Artikel über die Verwendung von benutzerdefinierten Domain-Namen mit Elastic Beanstalk docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/…
Alexey

Antworten:

103

Keine Notwendigkeit, einen CNAME zu erstellen oder eine Weiterleitung durchzuführen - dies ist aus SEO-Sicht schlecht und wird von Amazon nicht empfohlen. Auch wenn Sie einen Datensatz nicht direkt auf IP verweisen sollten, wird dies in Zukunft viele Probleme verursachen, da die IP jederzeit geändert werden kann.

Am elegantesten ist es, den DNS-Dienst von GoDaddy auf Route 53 zu migrieren . Sie werden weiterhin bei GoDaddy sein, aber die Bearbeitung von Anfragen für Ihre Website erfolgt auf der Seite von Amazon.

Folgendes müssen Sie tun:

  1. Erstellen Sie eine neue gehostete Zone für Ihre Site in der Route 53-Konsole: Geben Sie hier die Bildbeschreibung ein

  2. Öffnen Sie den neu hinzugefügten Domänennamen, suchen Sie nach NS-Datensatz- und Kopierservern: Geben Sie hier die Bildbeschreibung ein

  3. Exportieren Sie im Domain Manager von GoDaddy Datensätze über "Export Zone File (Windows)".

  4. Importieren Sie diese Datensätze in Route 53 (Schaltfläche "Zonendatei importieren").

  5. Legen Sie im Domain Manager von GoDaddy benutzerdefinierte DNS-Nameserver fest, die im zweiten Schritt abgerufen werden: Geben Sie hier die Bildbeschreibung ein

Die Migration kann einige Zeit (sogar Tage) dauern. Jetzt können Sie Ihre Domain mit Ihrer Elastic Beanstalk-Site verknüpfen. Wählen Sie dazu den richtigen A-Datensatztyp in Route 53 aus und erstellen Sie einen Alias ​​dafür: Geben Sie hier die Bildbeschreibung ein

Ich hoffe es hilft.

Wsewolod Krasnow
quelle
1
Danke mein Herr. Lief wie am Schnürchen.
Eine Illusion
4
da ist ein . Bei jedem Namen in den 4 Nameservern, die Sie in der roten Box hervorgehoben haben, wird das .uk '.' muss auch hinzugefügt werden, wenn nicht, dann kann ich die Nameserver hinzufügen, aber wenn hinzugefügt, bekomme ich ungültige Zeichen, sorry für diese dumme Abfrage, aber ich bin neu für dieses Setup. Ich habe übrigens die 4 Nameserver wie angegeben hinzugefügt, aber ich bekomme immer noch keinen Fehler auf der Website gefunden, wie ich debuggen kann, da ich den www.mysitename.com
Vicky Dhas
3
@ VickyDhas Es ist eine Weile her, seit ich es getan habe, aber ich denke, Sie brauchen keinen Punkt am Ende des Nameservernamens (dh ns-1783.awsdns-30.co.uk)
Vsevolod Krasnov
2
Für diejenigen, die dies zum ersten Mal versuchen: Stellen Sie sicher, dass Sie Ihre gehostete Zonentabelle nach dem Importieren der DNS-Einträge aktualisieren. Die Datensätze werden nicht automatisch angezeigt, wie Sie denken würden. Klicken Sie dann auf den A-Datensatz (wahrscheinlich die oberste Zeile) und erstellen Sie den Alias ​​für diesen Datensatz wie oben beschrieben. Dies ist definitiv der Weg, dies zu tun. Wenn Sie mit einer geringeren Anzahl von Datensätzen arbeiten, werden diese Änderungen ziemlich schnell weitergegeben.
Jbcaveman
2
Dies ist eine gute Antwort, wenn Sie mit einer neuen nicht verwendeten Domain arbeiten, aber nicht gut, wenn Sie bereits über GoDaddy auf Orte verweisen. In meinem Fall zeigt die Subdomain www (und andere E-Mails) bereits über GoDaddy auf etwas, muss aber jetzt eine andere Subdomain auf meine elastische Bohnenstange verweisen.
Svet Angelov
41

Folgendes habe ich getan, als ich vor dem Problem stand, eine GoDaddy-Domain mit AWS ElasticBeanstalk zu verknüpfen.

DNS-Manager:

  • Ein Datensatz @ : 64.202.189.170 (das ist übrigens GoDaddys Weiterleitungs-IP)
  • Cname www : AWS EB-Domain (z. B. awseb-xyz.us-east-1.elb.amazonaws.com)

Weiterleitung:

  • Domain an www.example.com weiterleiten (nur ohne Maskierung weiterleiten)
  • Subdomain an AWS EB-Domain weiterleiten (z. B. awseb-xyz.us-east-1.elb.amazonaws.com) (mit Maskierung)

Um auf die Site ohne www zugreifen zu können (z. B. http://example.com ), musste ich die Weiterleitung der Domain an den www-Namen einrichten. Dieser WWW-Name wird dann an die AWS EB-Domäne weitergeleitet (mit Maskierung, um www.example.com in der Adressleiste zu belassen).

Sitiveni
quelle
1
Sie können nicht cname für Domain hinzufügen, es ist nur für Subdomain
1
Weiterleiten des ersten Aufzählungspunkts Domain an www.mysite.com weiterleiten (nur weiterleiten, ohne Maskierung)? www.mysite.com ist es die Domain, die Sie bei godaddy gekauft haben, oder ist es ein EB-Link?
Hrishikesh Sardar
1
Für mich musste ich den A-Datensatz @ : auf 184.168.221.3 ändern.
Felix
1
Diese Lösung ist aus SEO-Sicht nicht effektiv. Siehe unten meine Antwort, basierend auf der Dokumentation von Amazon.
Wsewolod Krasnow
1
Sich auf einen CNAME einzulassen, ist, wie erwähnt, eine schlechte Form - und es gibt wirklich keinen Grund dafür. Die Route 53 ist der richtige Weg für alles, was in Bezug auf Bohnenstange von Bedeutung ist.
bshea
8

Sie sollten Ihrem Godaddy-Domainnamen einen CNAME- Eintrag hinzufügen , der von www.yourGoDaddyDomain.com -> MY_SITE.elasticbeanstalk.com zugeordnet ist.

Dadurch werden Anforderungen an Ihren Domainnamen an den Load Balancer weitergeleitet, der in Ihrer elastischen Beanstalk-Umgebung ausgeführt wird. Sie möchten Ihren Domain-Namen nicht an einen bestimmten Server (z. B. eine elastische IP) weiterleiten, sondern an den Load Balancer, der Anforderungen an Ihre Server weiterleitet. Da AWS Load Balancer keine IPs verwenden (sie verwenden Domänennamen), möchten Sie hierfür keinen A-Datensatz einrichten. Ein CNAME-Datensatz ordnet Domänennamen Domänennamen zu.

Informationen dazu finden Sie im Abschnitt "Hinzufügen oder Bearbeiten von CNAMEs" in der GoDaddy-Dokumentation .

Jaminto
quelle
6
Sie können nicht cname für Domain hinzufügen, es ist nur für Subdomain
In Godaddy, wenn Subdomain zum cname-Datensatz hinzugefügt wird, der auf mysiteloadbalancer.com verweist, hat es funktioniert :)
Beniston
Wie kann ich meine Domain über Godaddys DNS auf meine elastische IP verweisen, ohne dabei gehostete Zonen zu verwenden? PS - Es ist teuer
Divij Sehgal
Ich benutze keine elastische Bohnenstange.
Divij Sehgal
2

Ihre route53-Konfiguration muss auf den Load Balancer und nicht auf die ec2-Instanz verweisen

wjin
quelle