Ich richte einen Server auf EC2 ein, der von Leuten verwendet wird, die ausgeflippt sind, wenn sie ec2-111-111-111-111.compute-1.amazonaws.com in der URL-Leiste sehen. Ich weiß, dass dies durch die Verwendung eines A-Datensatzes anstelle eines CNAME gelöst werden kann. In der Dokumentation von Amazon wird jedoch die Verwendung eines CNAME angegeben.
Was passiert, wenn ich einen A-Datensatz verwende? Ich habe einige Tutorials im Web gesehen, in denen es heißt, aber ich brauche auch meine Website, um zuverlässig zu sein.
Die Website wird nur mit einer Instanz ausgeführt und wird wahrscheinlich nur mit einer Instanz ausgeführt. Daher halte ich es nicht für wichtig, dass mehrere Instanzen miteinander kommunizieren.
amazon-ec2
cname-record
a-record
Canuk
quelle
quelle
Antworten:
Vereinfachte Version: Ein Datensatz verweist auf IP-Adressen. CNAME verweist auf andere A-Datensätze.
Sie könnten einen A-Eintrag verwenden, dafür sollten Sie jedoch eine hochverfügbare IP-Adresse für Ihre EC2-Instanz haben. Amazon nennt dieses Produkt "Elastic IP Addresses".
Wenn Sie einen CNAME für einen von Amazon verwalteten A-Datensatz einrichten, hat Amazon die Kontrolle über eine Indirektionsebene. Nach einem Serverausfall könnte Amazon dies beispielsweise verwenden, um den A-Eintrag in eine neue IP-Adresse zu ändern. Auf diese Weise könnte Amazon den Dienst wieder zum Laufen bringen, und Sie müssten nichts ändern.
Im Allgemeinen empfiehlt es sich, zwei DNS-Einträge, einen A-Eintrag für den jeweiligen Server und CNAME-Einträge für die von ihm bereitgestellten Dienste wie "www" zu verwenden. Auf diese Weise haben Sie eine saubere Trennung zwischen Hardware und Diensten, was die Verwaltung in vielen Fällen erleichtert.
Wenn Sie also nicht für "Elastic IP Addresses" bezahlen, sollten Sie einen CNAME für den von Amazon für Sie eingerichteten A-Datensatz verwenden, dh einen CNAME für "www.yourdomain.com", der auf "ec2-111-111" verweist -111-111.compute-1.amazonaws.com. ".
quelle
Sie werden ec2-111-111-111-111.compute-1.amazonaws.com mit einem CNAME-Datensatz niemals sehen. Wenn Sie zu Ihrer CNAMEed-Domain wechseln, wird auf die URL von amazonaws.com umgeleitet. Dies liegt nicht daran, dass es sich um einen CNAME handelt, sondern daran, dass Ihre App oder Ihr Webserver dies tut.
quelle
Die
ec2-*.amazonaws.com
Hostnamen werden in verschiedene IP-Adressen aufgelöst, je nachdem, ob Sie sie extern aus dem Internet oder intern aus einer anderen EC2-Instanz auflösen.Dies bedeutet, dass bei zwei EC2-Servern, z. B. einem Datenbankserver und einem Webserver, Ihr Webserver den Datenbankserver unter einer internen 10.xxx-IP-Adresse sehen würde, während Sie von außen den Webserver sehen würden an einer regulären nicht privaten IP-Adresse. (Natürlich möchten Sie nicht, dass ein Datenbankserver von außen sichtbar ist, aber dies ist nur ein praktisches Beispiel.)
Wenn Sie eine elastische IP-Adresse verwenden, haben Sie eine bekannte permanente IP-Adresse und es sollte in Ordnung sein, einen A-Datensatz zu verwenden, um darauf zu verweisen. Wenn Sie keine elastische IP haben (und warum nicht, sie sind kostenlos), möchten Sie anscheinend den CNAME verwenden, falls Amazon Ihre IP-Adresse ändert.
Wenn Sie jedoch mehrere Server haben, würde ich immer noch den CNAME verwenden, damit Sie die magische interne / externe IP-Adressauflösung erhalten.
quelle
Der Grund für die Verwendung eines CNAME-Datensatzes besteht darin, dass auf die Site sowohl innerhalb als auch außerhalb von ec2 zugegriffen werden kann.
Nehmen Sie zum Beispiel Ping. Wenn Sie c2-111-111-111-111.compute-1.amazonaws.com extern anpingen, wird dies in 111.111.111.111, intern jedoch in eine 10.0.0.0/8-Adresse aufgelöst. Wenn Sie jedoch 111.111.111.111 anpingen, ist es intern nicht verfügbar.
quelle