DNS interno no Amazon AWS VPC

21

Estou começando a entender a VPC, mas não estou vendo uma boa solução de DNS interno. Por exemplo, estamos usando um servidor de banco de dados não RDS ao qual outros servidores da VPC se conectam. Gostaria de me conectar por nome, não por IP. Em parte, é assim que posso obter um endereço 10.xxx interno, que é presumivelmente mais rápido. Principalmente, torna a configuração mais fácil, mais legível e mais flexível.

Antigamente (por volta de 2008), antes da VPC, eu tinha um servidor que executava o MaraDNS que atualizávamos quando iniciamos e alteramos instâncias, e isso foi uma grande dor, principalmente porque os servidores obtinham seus próprios endereços internos atribuídos pelo DHCP quando eles recomeçaram, e só porque era outra coisa para lidar. Alguns colegas meus, executando sistemas diferentes, pensaram que eu era um idiota por fazer todo esse esforço - eles apenas atualizaram os arquivos / etc / hosts (o que foi ótimo até que houve uma interrupção e todos os servidores voltaram com novos IPs).

Deveria estar olhando para o Route53 (onde estamos fazendo todo o nosso DNS público) ou há algo que me falta?

Atualização: 2017 - O DNS interno agora é um recurso da Rota 53. Woot!

Tom Harrison Jr
fonte
Na verdade, essa é uma ótima pergunta, algo para o qual também estou lutando para encontrar uma solução. Eu estaria muito disposto a oferecer uma boa recompensa para tentar atrair uma ótima resposta.
EEAA
As instâncias de VPC podem ter endereços IP privados fixos. Por que o servidor DNS não é uma opção?
Dusan Bajic
@ dusan.bajic - Se necessário, executarei meu próprio servidor DNS, mas, como afirmei na pergunta, é apenas mais uma coisa para gerenciar, monitorar e continuar trabalhando. Eu esperava que eu só estava faltando alguma coisa que a AWS tinha adicionado ... não acho :-)
Tom Harrison Jr

Respostas:

5

As instâncias devem registrar seus nomes DNS nos servidores DNS via DDNS quando iniciarem (como CNAMEs no FQDN público atribuído à AWS); Dessa forma, você pode consultá-los pelo nome conhecido e obter o endereço mais apropriado (interno ou externo), independentemente de onde você esteja. O Route53 provavelmente possui esse tipo de mágica embutida, mas eu prefiro soluções independentes de provedor sempre que possível.

mulher
fonte
9
O Route53 não o tem incorporado, que eu saiba.
ceejayoz
1
@ womble - Eu estava esperando a magia da qual você fala na Route53, mas não vê nada. Os servidores estão dentro de uma VPC, portanto não há FQDN público, mas há um IP estático (estável) que eu poderia registrar com um registro A usando as ferramentas de CLI do Route53. Portanto, essa é uma boa ideia e é melhor do que configurar e gerenciar meu próprio servidor DNS. Realmente não entendo por que a AWS não nos permite atribuir nossos próprios nomes de host endereçáveis ​​ao DNS como parte da criação da instância. Suspiro :-) Aceito a resposta em alguns dias se mais ninguém tiver uma solução melhor. Obrigado!
Tom Harrison Jr
@TomHarrisonJr, embora você tenha marcado isso como correto - suspeito que tenha sido feito de má vontade? Qual foi a sua solução final?
Andrew
2
@ Andrew Embora essa seja uma resposta válida, a resposta curta é "A AWS não possui nenhum serviço DNS interno" e, portanto, você precisa fazer o seu próprio. Sou fã do MaraDNS - simples, gerenciado facilmente por meio de arquivos de texto, leve, etc. Se você realmente não deseja expor seus servidores privados por meio do DDNS ou do Route53, seria assim que eu fazia no passado.
Tom Harrison Jr
6

Parece na documentação do AWS VPC que a abordagem recomendada para alavancar um servidor DNS dentro de um AWS VPC é primeiro criar um conjunto de opções DHCP e associá-lo ao VPC. Em seguida, você pode suportar 1-4 servidores DNS nessa VPC. Além disso, o Conjunto de opções DHCP permitirá que você configure o seguinte para todas as instâncias VPC contidas. (cortado dos documentos)

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).
Oort
fonte
Obrigado, parece que a AWS está caminhando para uma infraestrutura interna de DNS ... gradualmente. Minha pergunta na época era se havia alguma alternativa para hospedar meu próprio DNS interno. Por acaso (agora em uma nova empresa), estamos usando o Route53 para DNS interno e apenas prefixando o nome. Por exemplo, um nome de host público pode ser foo.example.come sua contrapartida interna é i.foo.example.com, cujo endereço é o endereço 10.xxx. Isso tem alguns problemas de segurança que podem expor nossos internos, mas é limitado.
Tom Harrison Jr
2
Agora, a Amazon oferece suporte a zonas hospedadas privadas, que permitem a resolução de DNS restrita a ser resolvida apenas por servidores DNS da Amazon a partir de VPCs associadas à zona hospedada privada. docs.aws.amazon.com/Route53/latest/DeveloperGuide/…
jnt30
4

Algo como Avahi não funcionaria? Isso é até instalado e agradavelmente empacotado para a maioria das distribuições Linux. Dê a cada instância que precisa ser alcançável um nome de host único e Bob seja seu tio.

Michael Hampton
fonte
1
As redes da AWS são estranhas ... Eu não assumiria necessariamente que o Avahi realmente funcionaria. Porém, não é preciso muito para testá-lo.
Womble
Essa seria uma solução interessante, pois significaria que eu só precisava nomear minhas instâncias e o resto é mágico. Mas há muito pouco documento e não ficou claro imediatamente se isso era adequado para um ambiente de servidor de produção. Vou manter isso em mente - obrigado.
Tom Harrison Jr