EC2 instância não tem DNS públicos
15 answers
- Vá para console.aws.amazon.com
- Ir para Serviços - > VPC
- Abrir Os Vossos VPC
- Seleccione o seu VPC ligado ao seu EC2 e
- Seleccione as acções = > editar os nomes das máquinas do DNS ---> mudar os nomes das máquinas DNS: para SIM
Existe na verdade uma configuração no VPC chamada "DNS Hostnames". Você pode modificar o VPC em que a instância EC2 existe, e mudar isso para "Sim". Isso deve servir.
Encontrei esta questão ontem e tentei a resposta acima do Manny, que não resultou. A configuração VPC, no entanto, fez trabalhar para mim. Em última análise, adicionei um EIP e uso-o para me ligar.Parece que a instância foi lançada no VPC e, ao fazê-lo, a opção para {[[0]} não foi assinalada. Por conseguinte, a instância não tem um IP público
Você pode atribuir um IP elástico a esta instância e então fazer login usando esse IP.
-
Vai à consola da AWS.
- Vá aos Serviços e seleccione VPC
- Carregue em vpc.
- Seleccione a instância e carregue em acção.
- Seleccione editar o nome da máquina DNS carregue em Sim.
Esta é a dica fornecida para resolver o problema que não funciona:
Dica-Se a sua instância não tiver um nome DNS público, abra a consola VPC, seleccione a VPC e verifique a página de resumo. Se a resolução do DNS ou os nomes das máquinas do DNS forem não, clique em Editar e mudar o valor para Sim.
Assumindo que fez isto e que ainda não está a obter um IP público, passe então para a sub-rede em questão no ecrã de administração do VPC e irá provavelmente descobrir"atribuir automaticamente um IP público" não está preparado para Sim. Modifique essa configuração então, e eu sei que você não quer aqui isso, criar uma nova instância nessa sub-rede. Pelo que posso dizer, não pode modificar isto no hospedeiro, eu tentei e tentei, apenas terminá-lo.
No meu caso, encontrei a resposta de slayedbylucifer e outros que apontam para o mesmo são válidos.
Até mesmo está definido que {[[0]}, nenhum IP público é atribuído em my-pvc (apenas IP Privat).
É definitivamente que a atribuição automática de IP público tem de ser definida
Enable
.
Se não estiver selecionado, então por padrão ele define paraUse subnet setting (Disable)
Para mim, o problema estava na configuração das sub-redes.
- Abrir https://console.aws.amazon.com/vpc
- Vá para sub-redes no menu à esquerda
- Escolha a sua sub-rede
- modificar a atribuição automática das opções IP para activar
Basta lançar outra instância (e também apagar a que está em questão se não tiver uso) e certifique-se que desta vez você verifica "automaticamente atribuir um endereço IP público à sua instância". If not then as slayedbylucifer suggested; assign an Elastic IP (EIP) to the instance and then login in using that IP. Tenha cuidado, porém, se você estiver executando a lista AWS livre, um EIP vai custar-lhe dinheiro -- esse é um tópico completamente diferente..
Em Primeiro Lugar, Pode haver duas razões para isto:
- criou o seu próprio VPC e esqueceu-se de activar o DNS público.
Para resolver isto:
I) vá à consola VPC AWS e seleccione o VPC que criou.
Depois carregue em acções e active a resolução do DNS.
OR
- não activou a opção pública de atribuição de ip na configuração EC2.
Aqui você não pode mudar a configuração; então crie uma imagem ami e então recriar a instância a partir disso.
Se a instância estiver em VPC, certifique-se de que tanto a "resolução DNS" como "nomes de host DNS" estão definidos como "Sim". Você pode fazer isso na UI da consola Aws. HTH!
Vá à consola VPC, seleccione o seu VPC e carregue no menu Acções, seleccione Editar os nomes das máquinas DNS - seleccione Sim. Isso deve resolver tudo.
Para aqueles que usam a formação de nuvens, as propriedades chave são Enableddnssupport e Enableddnshostnames que devem ser definidos como true
VPC: {
Type: 'AWS::EC2::VPC',
Properties: {
CidrBlock: '10.0.0.0/16',
EnableDnsSupport: true,
EnableDnsHostnames: true,
InstanceTenancy: 'default',
Tags: [
{
Key: 'env',
Value: 'dev'
}]
}
}
Está relacionado com o recurso do VPC chamado "DNS Hostnames". Você pode ativá-lo ou desativá-lo. Vá ao VPC, no menu Acções seleccione o item " editar os nomes das máquinas DNS "e depois escolha"Sim". Depois disso, o DNS público das instâncias EC2 deve ser exibido.
A mudança para a configuração dos nomes das máquinas do DNS também pode ser feita com o AWS CLI:
aws ec2 modify-vpc-attribute --vpc-id $vpc_id --enable-dns-hostnames '{"Value": true}'
(em que $vpc_id é o ID do VPC a que a sua instância está ligada.)
Assim que o VPC for actualizado, a instância ganhará um DNS público.
Depois de verificar as configurações de VPC e sub-redes, a minha instância EC2 ainda não tinha um DNS público. Depois de um dia à procura de uma resolução, finalmente descobri.
Tive de criar um novo endereço elástico de IP e associá-lo à minha instância.Do Painel de instrumentos EC2:
Vá para IPs elásticos da barra lateral.
Carregue em alocar o novo endereço, Depois alocar .
Volta para o painel EC2. Ir para a rede Interfaces.Seleccione a instância EC2 sem DNS públicos. Então Acções-Endereço Associado .
O campo endereço , seleccione o novo endereço IP elástico.
O campo associado ao endereço IP privado , seleccione o endereço IP privado sem DNS públicos.
Clique Em Endereço Associado .
A sua instância EC2 deve agora ter um DNS público.