Frage Interner DNS in Amazon AWS VPC


Ich habe angefangen, VPC zu verstehen, sehe aber keine gute interne DNS-Lösung. Beispielsweise verwenden wir einen Nicht-RDS-Datenbankserver, mit dem sich andere Server in der VPC verbinden. Ich möchte mich mit dem Namen verbinden, nicht IP. Teilweise ist das so, dass ich eine interne 10.x.x.x Adresse bekommen kann, die vermutlich schneller ist. Meistens macht es die Konfiguration einfacher, lesbarer und flexibler.

In den alten Tagen (ca. 2008), vor VPC hatte ich einen Server, auf dem MaraDNS lief, den wir beim Start und Wechsel von Instanzen aktualisieren würden, und das war ein großer Schmerz, insbesondere weil Server ihre eigenen DHCP-zugewiesenen internen Adressen erhielten als sie neu starteten, und nur weil es eine andere Sache war, mit der man sich befassen musste. Einige Kollegen von mir, die verschiedene Systeme betreiben, dachten, dass ich ein Idiot wäre, um all diese Anstrengungen zu machen - sie haben nur die / etc / hosts-Dateien aktualisiert (was großartig war, bis es einen Ausfall gab und alle ihre Server mit neuen IPs zurückkamen).

Sollte ich auf Route53 (wo wir alle unsere öffentlichen DNS tun) schauen oder gibt es etwas, das mir fehlt?

Aktualisierung: 2017 - Internes DNS ist jetzt eine Eigenschaft von Route 53. Woot!


19
2017-08-02 03:15


Ursprung


Das ist eigentlich eine großartige Frage, etwas, um das ich mich bemüht habe, auch eine Lösung zu finden. Ich wäre sehr gerne bereit, eine schöne Summe dafür auszugeben, um eine großartige Antwort zu finden. - EEAA
VPC-Instanzen können feste private IP-Adressen haben. Warum sollte also Ihr eigener DNS-Server keine Option sein? - Dusan Bajic
@ dusan.bajic - Ich werde meinen eigenen DNS-Server betreiben, wenn ich muss, aber wie ich in der Frage gesagt habe, ist es nur eine andere Sache zu verwalten, zu überwachen und weiter zu arbeiten. Ich hatte gehofft, dass ich gerade etwas vermisste, was AWS hinzugefügt hatte ... rate nicht :-) - Tom Harrison Jr


Antworten:


Instanzen sollten ihre DNS-Namen beim Start über ihre DNS-Server per DDNS registrieren (als CNAMEs zu ihrem öffentlichen AWS-zugewiesenen FQDN); Auf diese Weise können Sie sich auf bekannte Namen beziehen und unabhängig davon, wo Sie sich befinden, die am besten geeignete Adresse (intern oder extern) abrufen. Route53 hat wahrscheinlich diese Art von Magie eingebaut, aber ich bevorzuge Anbieter-unabhängige Lösungen, wo immer möglich.


4
2017-08-02 03:45



Route53 hat es meines Wissens nicht eingebaut. - ceejayoz
@womble - Ich habe auf die Magie gehofft, von der du in Route53 sprichst, aber nichts sehen. Die Server befinden sich in einer VPC, daher gibt es keinen öffentlichen FQDN, aber es gibt eine statische (stabile) IP, die ich mithilfe der Route53-CLI-Tools in einem A-Datensatz registrieren kann. Also das ist eine gute Idee und schlägt die Einrichtung und Verwaltung meines eigenen DNS-Servers. Ich verstehe nicht wirklich, warum AWS uns im Rahmen der Instanzerstellung keine eigenen DNS-adressierbaren Hostnamen zuweist. Seufz :-) Ich werde die Antwort in ein paar Tagen akzeptieren, wenn niemand eine bessere Lösung hat. Vielen Dank! - Tom Harrison Jr
@TomHarrisonJr obwohl du dies als richtig markiert hast - ich vermute, dass es widerwillig getan wurde? Was war deine endgültige Lösung? - Andrew
@Andrew Auch wenn dies eine gültige Antwort ist, lautet die kurze Antwort: "AWS hat keinen internen DNS-Dienst" und Sie müssen also Ihre eigenen Antworten erstellen. Ich bin ein Fan von MaraDNS - einfach, leicht zu verwalten durch Textdateien, leichtgewichtig, usw. Wenn Sie Ihre privaten Server wirklich nicht über DDNS oder Route53 verfügbar machen wollen, wäre dies die Art und Weise, wie ich es in der Vergangenheit getan habe. - Tom Harrison Jr


Es scheint von der AWS VPC Dokumentation dass der empfohlene Ansatz für die Nutzung eines DNS - Servers in einer AWS - VPC darin besteht, zuerst eine DHCP-Optionen festgelegt und assoziiere es mit der VPC. Dann können Sie 1-4 DNS-Server in dieser VPC stehen. Mit dem DHCP-Optionsset können Sie außerdem Folgendes für alle enthaltenen VPC-Instanzen einrichten. (Aus den Dokumenten ausgeschnitten)

DHCP Option Name      | Description
 domain-name          |  A domain name of your choice (for example, example.com).
 domain-name-servers  |  The IP address of a domain name server.
 ntp-servers          |  The IP address of a Network Time Protocol (NTP) server. 
 netbios-name-servers |  The IP address of a NetBIOS name server.
 netbios-node-type    |  The NetBIOS node type (1, 2, 4, or 8).

5
2018-02-20 22:48



Danke, es sieht so aus, als würde sich AWS auf eine interne DNS-Infrastruktur zubewegen ... allmählich. Meine Frage zu der Zeit war, ob es eine Alternative zum Hosting meines eigenen internen DNS gab. Wie es passiert (jetzt bei einer neuen Firma) verwenden wir Route53 für interne DNS und nur den Namen voranstellen. Zum Beispiel könnte ein öffentlicher Hostname sein foo.example.com und sein inneres Gegenstück ist i.foo.example.com, deren Adresse die Adresse 10.x.x.x ist. Dies hat einige Sicherheitsprobleme, die potentiell unsere Interna offen legen, aber es ist begrenzt. - Tom Harrison Jr
Amazon unterstützt jetzt private gehostete Zonen, die eine DNS-Auflösung ermöglichen, die nur über Amazon-DNS-Server von VPCs, die der privaten gehosteten Zone zugeordnet sind, aufgelöst werden kann. docs.aws.amazon.com/Route53/latest/DeveloperGuide/... - jnt30


Würde nicht so etwas mögen Avahi Arbeit? Dies ist sogar installiert und gut verpackt für die meisten Linux-Distributionen. Geben Sie jeder Instanz, die erreichbar sein muss, einen eindeutigen Hostnamen, und Bob ist Ihr Onkel.


3
2017-08-02 03:28



AWS-Vernetzung ist seltsam... Ich würde nicht unbedingt davon ausgehen, dass Avahi tatsächlich funktionieren würde. Es braucht jedoch nicht viel, um es zu testen. - womble♦
Dies wäre eine interessante Lösung, da ich nur meine Instanzen benennen müsste und der Rest ist Magie. Aber es gibt sehr wenig Dokument, und es war mir nicht sofort klar, ob das für eine Produktionsserverumgebung richtig war. Ich werde es mir merken - danke. - Tom Harrison Jr