Wewnętrzny DNS w Amazon AWS VPC


21

Zaczynam rozumieć VPC, ale nie widzę dobrego wewnętrznego rozwiązania DNS. Na przykład używamy serwera bazy danych innego niż RDS, z którym łączą się inne serwery w VPC. Chciałbym połączyć się według nazwy, a nie adresu IP. Częściowo jest to tak, że mogę uzyskać wewnętrzny adres 10.xxx, który jest prawdopodobnie szybszy. W większości przypadków konfiguracja jest łatwiejsza, bardziej czytelna i elastyczna.

W dawnych czasach (około 2008 r.) Wcześniej niż VPC miałem serwer z systemem MaraDNS, który aktualizowaliśmy w miarę uruchamiania i zmieniania instancji, co było dużym utrudnieniem, w szczególności dlatego, że serwery otrzymywałyby własne adresy wewnętrzne przypisane do DHCP kiedy uruchomili się ponownie, i tylko dlatego, że była to inna sprawa. Niektórzy moi koledzy z różnymi systemami myśleli, że jestem idiotą, jeśli chodzi o cały ten wysiłek - właśnie zaktualizowali pliki / etc / hosts (co było świetne, dopóki nie nastąpiła awaria, a wszystkie ich serwery wróciły z nowymi adresami IP).

Czy powinienem patrzeć na Route53 (gdzie robimy cały nasz publiczny DNS), czy jest coś, czego mi brakuje?

Aktualizacja: 2017 - wewnętrzny DNS jest teraz funkcją Route 53. Woot!


To jest naprawdę świetne pytanie, coś, z czym również starałem się znaleźć rozwiązanie. Byłbym bardzo skłonny rzucić na to niezłą nagrodę, aby spróbować przyciągnąć świetną odpowiedź.
— EEAA

Instancje VPC mogą mieć ustalone prywatne adresy IP, więc dlaczego uruchomienie własnego serwera DNS nie jest opcją?
— Dusan Bajic

@ dusan.bajic - Będę musiał uruchomić własny serwer DNS, jeśli będę musiał, ale jak powiedziałem w pytaniu, to kolejna rzecz do zarządzania, monitorowania i kontynuowania pracy. Miałem nadzieję, że po prostu brakuje mi czegoś, co dodał AWS ... chyba nie :-)
— Tom Harrison Jr

Odpowiedzi:


5

Instancje powinny rejestrować swoje nazwy DNS na serwerach DNS za pośrednictwem DDNS podczas uruchamiania (jako CNAME do ich publicznej nazwy FQDN przypisanej AWS); w ten sposób możesz się do nich odwoływać znaną nazwą i uzyskać najbardziej odpowiedni adres (wewnętrzny lub zewnętrzny) niezależnie od tego, gdzie jesteś. Route53 prawdopodobnie ma wbudowaną tego rodzaju magię, ale w miarę możliwości wolę niezależne od dostawcy rozwiązania.


9
O ile mi wiadomo, Route53 nie ma wbudowanego.
— ceejayoz

1
@womble - liczyłem na magię, o której mówisz w Route53, ale nic nie widzę. Serwery znajdują się w obrębie VPC, więc nie ma publicznej nazwy FQDN, ale istnieje statyczny (stabilny) adres IP, który mógłbym zarejestrować za pomocą rekordu A za pomocą narzędzi CLI Route53. Jest to więc dobry pomysł i jest lepszy niż konfigurowanie własnego serwera DNS i zarządzanie nim. Naprawdę nie rozumiem, dlaczego AWS nie pozwala nam przypisywać własnych nazw hostów adresowanych do DNS w ramach tworzenia instancji. Westchnienie :-) Przyjmę odpowiedź za kilka dni, jeśli nikt inny nie ma lepszego rozwiązania. Dzięki!
— Tom Harrison Jr

@TomHarrisonJr, chociaż zaznaczyłeś to jako poprawne - podejrzewam, że zrobiono to niechętnie? Jakie było twoje ostateczne rozwiązanie?
— Andrew

2
@Andrew Chociaż jest to prawidłowa odpowiedź, krótka odpowiedź brzmi: „AWS nie ma żadnej wewnętrznej usługi DNS”, więc musisz rzucić własną. Jestem fanem MaraDNS - prostego, łatwego w zarządzaniu za pomocą plików tekstowych, lekkiego itp. Jeśli naprawdę nie chcesz ujawniać swoich prywatnych serwerów za pośrednictwem DDNS lub Route53, tak właśnie robiłem w przeszłości.
— Tom Harrison Jr

6

Z dokumentacji AWS VPC wynika, że zalecanym podejściem do wykorzystania serwera DNS wewnątrz VPC AWS jest utworzenie zestawu opcji DHCP i skojarzenie go z VPC. Następnie możesz wstać 1-4 serwerów DNS w tym VPC. Ponadto zestaw opcji DHCP pozwoli ci skonfigurować następujące ustawienia dla wszystkich zawartych instancji VPC. (wycięte z dokumentów)

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).

Dzięki, wygląda na to, że AWS zmierza w kierunku wewnętrznej infrastruktury DNS ... stopniowo. Moje pytanie wtedy brzmiało, czy istnieje jakaś alternatywa dla hostowania mojego wewnętrznego DNS. Tak się składa (teraz w nowej firmie) używamy Route53 do wewnętrznego DNS i po prostu poprzedzamy nazwę. Na przykład publiczna nazwa hosta może być, foo.example.coma jej wewnętrznym odpowiednikiem jest i.foo.example.comadres o adresie 10.xxx. Ma to pewne problemy z bezpieczeństwem związane z potencjalnym narażeniem naszych wewnętrznych elementów, ale jest ograniczone.
— Tom Harrison Jr

2
Amazon obsługuje teraz prywatne strefy hostowane, które pozwalają na rozpoznawanie DNS, które jest ograniczone tylko do rozwiązania przez serwery Amazon DNS od VPC powiązanych z prywatną strefą hostowaną. docs.aws.amazon.com/Route53/latest/DeveloperGuide/…
— jnt30

4

Czy coś takiego jak Avahi nie zadziała? Jest nawet zainstalowany i ładnie zapakowany dla większości dystrybucji Linuksa. Po prostu daj każdemu wystąpieniu, które musi być osiągalne, unikalną nazwę hosta, a Bob jest twoim wujem.


1
Sieci AWS są dziwne ... Nie musiałbym zakładać, że Avahi faktycznie zadziała. Jednak nie trzeba wiele testować.
— womble

To byłoby interesujące rozwiązanie, ponieważ oznaczałoby to, że musiałem tylko wymienić swoje wystąpienia, a reszta to magia. Ale jest bardzo mało dokumentów i nie było dla mnie od razu jasne, czy jest to odpowiednie dla środowiska serwera produkcyjnego. Będę o tym pamiętać - dzięki.
— Tom Harrison Jr
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.