EC2 / Route53: Wie ordne ich einer Instanz meinen neuen Domainnamen zu?

19

Ich habe eine EC2-Instanz. Es läuft mit einer Amazon IP, die ungefähr so ​​aussieht: //ec2-xxx-xxx-xxx-xxx.compute-1.amazonaws.com/

Ich bin sicher, dass es gut funktioniert.

Ich habe eine Domain gekauft und dann eine "Gehostete Zone" in Amazon Route 53 eingerichtet. Dabei wurden mir einige Nameserver-Informationen angezeigt. Ich bin zu meinem Domain-Registrar gegangen und habe diese Namen in die Nameserver eingetragen.

Jetzt stecke ich fest. Wie ordne ich diese gehostete Zone meiner Instanz zu? Ich möchte, dass Amazon hostet, also ist das in Ordnung.

KevinDeus
quelle
7
Kurz gesagt: a) Weisen Sie Ihrer EC2-Instanz eine elastische IP-Adresse zu und weisen Sie sie zu, falls Sie dies noch nicht getan haben. b) Erstellen Sie in Route 53 einen A-Eintrag, der auf die elastische IP-Adresse Ihrer Instanz verweist (die tatsächliche numerische IP-Adresse, jedoch nicht den DNS-Stil, den Sie in Ihrer Frage verwendet haben)
cyberx86
2
Der obige Kommentar sollte eine Antwort sein.
Thinice
Haben Sie Ihr Problem gelöst? Könnten Sie es bitte hier teilen
Jeremy

Antworten:

24

Wenn Sie die AWS-Konsole verwenden , können Sie den gewünschten Hostnamen (z. B. www.example.com) mit der IP-Adresse der EC2-Instanz verknüpfen, indem Sie dem externen DNS-Namen der Instanz einen CNAME-Eintrag hinzufügen.

Beispielsweise:

  • Navigieren Sie zu der von Ihnen erstellten gehosteten Zone (Doppelklick funktioniert)

  • Klicken Sie oben auf [ Datensatz erstellen ]

  • Name : www.example.com

  • Typ : CNAME

  • Wert : ec2-xxx-xxx-xxx-xxx.compute-1.amazonaws.com.

  • Klicken Sie unten im Formular auf [ Datensatz erstellen ]

Ich empfehle Ihnen auch, sich mit elastischen IP-Adressen vertraut zu machen. Sie sollten eine elastische IP-Adresse zuweisen, sie Ihrer Instanz zuordnen und dann den CNAME dem neuen externen DNS-Namen für die elastische IP-Adresse Ihrer Instanz zuordnen. Auf diese Weise können Sie die elastische IP-Adresse zwischen Instanzen verschieben, ohne Ihr DNS aktualisieren zu müssen.

Wenn Sie neugierig sind, warum ich einen CNAME anstelle eines A-Datensatzes empfehle, habe ich folgende Vorteile beschrieben, wenn ich über Instanzen innerhalb von EC2 sprach: http://alestic.com/2009/06/ec2-elastic-ip-internal

Eric Hammond
quelle
Hmmm. habe das aber nie assoziiert. Ich habe dann eine elastische IP erstellt, wie Sie sagten, und einen CNAME dafür erstellt (elastische IP wird jetzt in meine App übertragen), aber wenn ich zu meiner Domain gehe, wird ein 502-Fehler zurückgegeben ("Der angeforderte Name ist gültig, aber keine Daten der angeforderten Typ wurde gefunden ")
KevinDeus
2
Erstellt einen A-Datensatz. Das hat es geschafft.
KevinDeus
Ein A-Datensatz wird funktionieren, aber ein CNAME ist besser, insbesondere wenn Ihre Instanzen miteinander sprechen. Stellen Sie sicher, dass Sie einen Punkt (.) Am Ende des Ziels für den CNAME einfügen.
Eric Hammond
funktioniert definitiv nicht mit CNAME. Ich habe meinen A-Datensatz auf CNAME umgestellt und Google hat die Website für ca. 30 Minuten verloren!
KevinDeus
1
Vielleicht versuchen Sie, die Apex-Domain festzulegen ("example.com" anstelle von "www.example.com")? Dies erfordert einen A-Eintrag, da DNS CNAME für die Apex-Domain nicht unterstützt.
Eric Hammond
2

Für mich war es ziemlich einfach. Ich hatte zwei verschiedene Situationen, in denen ich Instanzen meinen Domainnamen zuweisen musste:

  1. Im ersten Fall hatte ich 6 Webserver hinter einem einzelnen Load Balancer. Und ich wollte ihm meine Root-Domain zuweisen, sagen wir mal: mydomain.com Ich habe einfach dNS für mydomain.com aktualisiert und anstatt einen A-Eintrag zu erstellen, habe ich einen CNAME für mydomain.com zugewiesen (ja, die Domain-Root), der auf das verweist Öffentlicher DNS des Load Balancers.
  2. In einem anderen Fall hatte ich einen einzelnen Webserver. Dort habe ich auch einen CNAME der Domain erstellt, der auf das öffentliche DNS des Webservers selbst verweist.

Es ist genau so, wie Sie CNAME-Einträge erstellen, die bei Verwendung von Google Apps auf ghs.google.com verweisen.

r_honey
quelle
1

Besser ist es, Ihrer Instanz eine elastische IP-Adresse zuzuweisen. Erstellen Sie nach dem Zuweisen einen "A" -Datensatz in Ihrer gehosteten Zone und fügen Sie die elastische IP-Adresse Ihrer Instanzen als Wert hinzu. Dies zeigt Ihren Domainnamen auf die Instanz.

Für detaillierte Anweisungen können Sie diesem Blog folgen. http://comtechies.com/2016/07/point-map-domain-name-aws-ec2-server.html

Bibin Wilson
quelle