Não é possível alterá-lo, a menos que você implante seus próprios servidores de nomes, mas você pode referenciá-lo > com outro nome, criando um CNAME
record, que terá o efeito desejado.
Na sua zona DNS "example.com", seja no Route 53 ou hospedada com outro provedor de hospedagem DNS, você deve conseguir criar CNAME
records:
myserver IN CNAME ip-1.1.1.1-uswest-aws-internal.
Quando uma máquina tenta resolver "myserver.example.com" será, essencialmente, informada pelos servidores DNS "example.com" que deve procurar o hostname "real" interno (o " c anonical nome "). Se a máquina estiver dentro da sua implantação do EC2, ela solicitará ao resolvedor de DNS do EC2 que o examine, e o resolvedor do EC2, por sua vez, retornará o endereço IP interno ... levando ao comportamento desejado - você pode acessar seu interno máquinas pelos nomes de host desejados.
Se um sistema fora da sua implantação do EC2 pesquisar esse nome de host, ele falhará, que é o comportamento correto, já que a máquina não é acessível de fora (se tiver apenas um IP privado).
Por outro lado, se você tiver uma máquina com um IP público e um nome de host público correspondente, como ec2-x-x-x-x.us-west-2.compute.amazonaws.com
usando esse nome de host como o CNAME
target fará a mesma coisa. Quando consultado por dentro da sua EC2, o resultado será o endereço IP interno através de alguma mágica de DNS que o EC2 faz de forma transparente ... ou de fora, ele retornará o endereço IP público externo.
link
Esclarecimento:
Existem dois tipos de comportamento de servidor DNS - servidores "autoritativos" responderão a uma solicitação de qualquer host por qualquer registro de recurso para o qual sejam autoritários ... e "resolvedores" recursivos, que consultam o DNS global em nome de seus clientes autorizados. Também é possível que um servidor DNS execute ambas as funções.
Suas instâncias do EC2 (por padrão) usam os servidores de resolução da AWS para procurar qualquer nome de host, dentro e fora dela, que suas instâncias tentam acessar e retornar um endereço IP ... mas o resolvedor da AWS também é autoritativo para " .internal "pseudo-domínio, portanto, quando as instâncias tentam procurar hosts" .internais ", o IP interno correto é retornado.
Agora, suponha que você configure nomes de host internos como destinos CNAME nos servidores DNS externos "example.com" e tente procurar internamente "myserver.example.com" ... o resolvedor AWS consulta a hierarquia DNS global e acaba pedindo a um dos servidores de nomes autoritativos "myserver.example.com". A resposta será essencialmente dizer "tudo o que sei é que para encontrar myserver.example.com, você deve procurar ip-1.1.1.1-uswest-aws-internal" ... o resolvedor AWS percebe que não precisa consultar um entidade externa para responder a esta nova pergunta, porque é autoritária para o domínio interno falso, simplesmente responde com a resposta correta, que já sabe.
O "example.com" externo não precisa nem tenta validar o destino CNAME, pois esse não é o seu trabalho.
Agora, se o CNAME referir-se ao hostname externo, o processo é o mesmo e o resultado é o mesmo, porque o resolvedor AWS (que lida com todas as consultas DNS feitas por suas máquinas internas) não tenta procurar o endereço IP verdadeiro e correto dos servidores DNS que são autoritativos para o domínio "compute.amazonaws.com" ... em vez disso, ele mais uma vez acredita, por causa de seu design, que já conhece o endereço IP de seu nome de host externo. mas a resposta será novamente o seu endereço IP privado interno.
O resolvedor da AWS de que estou falando, acima, é uma entidade virtual que é somente acessível a suas instâncias. As informações que ele contém sobre o nome do host público para o mapeamento IP privado só podem ser acessadas por suas instâncias quando elas são consultadas. Não é acessível externamente.
Se você fornecer um nome de host interno como um destino CNAME, as consultas externas receberão a resposta "interna", que para elas será um beco sem saída. Se você fornecer nomes de host externos como o destino CNAME, eles acabarão com o IP público, pois a localização do CNAME os direcionará para os servidores DNS autoritários públicos, não para o resolvedor interno privado que apenas suas instâncias podem acessar.
Na verdade, isso é tudo muito simples na prática, embora não tão simples de explicar aqui, porque muitos dos fundamentos do DNS precisam ser entendidos primeiro ... mas isso, no final das contas, funciona porque o DNS "example.com" servidores simplesmente não se importam se você configurá-los com um CNAME eles entendem. Não é problema deles compreendê-lo - o ônus está no resolvedor que está procurando uma resposta para dar sentido final à resposta intermediária que aparece no CNAME.