L'instance EC2 n'a pas de DNS public
un gars avec qui je travaille m'a donné les références EC2 pour me connecter sur sa console EC2. Je n'étais pas celui qui a mis ça en place. Certaines des instances montrent un nom DNS public et d'autres ont un DNS public vierge. Je veux pouvoir me connecter aux instances qui ont un DNS public vierge. Je n'ai pas été en mesure de comprendre pourquoi ces afficher des vides.
15 réponses
j'ai eu le même problème sur une résolu. Consultez les instructions étape par étape:
- Aller à console.aws.amazon.com
- Go To Services -> VPC
- Ouvrir Votre Vpc
- sélectionnez votre VPC connecté à votre EC2 et
- sélectionner Actions = > éditer les noms D'hôtes DNS - - - > modifier DNS nom d'hôte: to YES
Espérons que cette aide!
Cheers
il y a en fait un paramètre dans le VPC appelé"DNS Hostnames". Vous pouvez modifier le VPC dans lequel L'instance EC2 existe, et le remplacer par "Oui". Cela devrait faire l'affaire.
j'ai couru dans cette question hier et essayé la réponse ci-dessus de Manny, qui n'a pas fonctionné. Le réglage VPC, cependant, a fait travail pour moi.
finalement j'ai ajouté un EIP et je l'utilise pour me connecter.
sonne comme si l'instance avait été lancée en VPC et, ce faisant, la case à cocher Automatically assign a public IP address to your instances
n'a pas été cochée. Par conséquent, l'instance n'a pas de IP publique
vous pouvez assigner une IP élastique à cette instance et ensuite vous connecter en utilisant cette IP.
- Aller à la Console AWS.
- allez à Services et sélectionnez VPC
- cliquez sur vpc.
- sélectionnez l'instance et cliquez sur Action.
- sélectionnez Modifier le nom de L'hôte DNS cliquez sur Oui.
à la fin, vous obtiendrez votre dns Public.
C'est l'astuce fournie pour résoudre le problème qui ne fonctionne pas:
conseil-si votre instance n'a pas de nom DNS public, ouvrez la console VPC, sélectionnez VPC, et vérifiez l'onglet Résumé. Si DNS resolution ou DNS hostnames est non, cliquez sur Edit et changez la valeur en yes.
en supposant que vous avez fait cela et que vous n'obtenez toujours pas une IP publique, puis allez sur le sous-réseau en question dans l'écran d'administration VPC et vous aurez probablement découvrez "Auto-Affecter une adresse IP Publique" n'est pas défini à oui. Modifiez ce paramètre alors, et je sais que vous ne voulez pas créer ceci, Créer une nouvelle instance dans ce sous-réseau. Autant que je puisse dire vous ne pouvez pas modifier ceci sur l'hôte, j'ai essayé et essayé, juste terminer.
dans mon cas, j'ai trouvé la réponse de slayedbylucifer et d'autres qui pointent vers le même sont valides.
Même il est fixé que DNS hostname: yes
, aucune IP publique n'est assignée sur my-pvc (seulement IP privée).
il est certain que attribuent automatiquement la propriété intellectuelle publique doit être défini
Enable
.
Si elle n'est pas sélectionné, puis par défaut, il définit àUse subnet setting (Disable)
pour moi problème était dans les paramètres de sous-réseau.
- Ouvrir https://console.aws.amazon.com/vpc
- aller aux sous-réseaux dans le menu de gauche
- choisissez votre sous-réseau
- modifier l'auto-assignation des paramètres IP pour activer
Lancez juste une autre instance (et supprimez aussi celle en question si elle n'a pas d'utilité) et assurez-vous cette fois que vous cochez"attribuer automatiquement une adresse IP publique à votre instance". Si ce n'est pas le cas, comme slayedbylucifer l'a suggéré, Assignez une IP élastique (EIP) à l'instance et connectez-vous en utilisant cette IP. Attention cependant, si vous exécutez le volet AWS gratuit, un EIP vous coûtera de l'argent-- c'est un tout autre sujet..
tout d'Abord, il peut y avoir deux raisons à cela:
- vous avez créé votre propre VPC et oublié d'activer le DNS Public.
pour résoudre ceci:
i) allez sur la console VPC AWS et sélectionnez la VPC que vous avez créée.
ii) puis cliquez sur Actions et activez la résolution DNS.
OR
- vous n'avez pas activé l'option public ip-assign en configuration EC2.
ici, vous ne pouvez pas changer le paramètre; alors créez une image ami et puis recréez l'instance à partir de cela.
si l'instance est en VPC, assurez-vous que" DNS resolution "et" Dns hostnames "sont définis à"yes". Vous pouvez le faire dans L'interface utilisateur de la console Aws. HTH!
allez à la console VPC, sélectionnez votre VPC, et cliquez sur le menu ACTIONS, sélectionnez Modifier les noms D'hôtes DNS - sélectionnez Oui. Cela devrait résoudre le problème.
pour ceux qui utilisent CloudFormation, les propriétés clés sont EnableDnsSupport et EnableDnsHostnames qui doit être mis à true
VPC: {
Type: 'AWS::EC2::VPC',
Properties: {
CidrBlock: '10.0.0.0/16',
EnableDnsSupport: true,
EnableDnsHostnames: true,
InstanceTenancy: 'default',
Tags: [
{
Key: 'env',
Value: 'dev'
}]
}
}
il est lié à la fonctionnalité de VPC appelée"DNS Hostnames". Vous pouvez l'activer ou la désactiver. Allez sur le VPC, dans le menu Actions, sélectionnez l'item "Modifier les noms D'hôtes DNS", puis choisissez"Oui". Après cela, le DNS public des instances EC2 devrait être affiché.
le changement dans le paramètre DNS Hostnames peut aussi être fait en utilisant le CLI AWS:
aws ec2 modify-vpc-attribute --vpc-id $vpc_id --enable-dns-hostnames '{"Value": true}'
(où $vpc_id est L'ID du VPC auquel votre instance est attachée.)
dès que le VPC est mis à jour, l'instance obtient un DNS public.
après avoir vérifié les paramètres VPC et Subnet, mon instance EC2 n'avait toujours pas de DNS public. Après une journée à chercher une résolution, j'ai finalement compris.
j'ai dû créer une nouvelle adresse IP élastique, puis l'associer à mon instance.
du tableau de bord EC2:
passer à Elastic IPs de la barre latérale.
, Cliquez sur Attribuer une nouvelle adresse , puis attribuer .
retournez au tableau de bord EC2. Allez à interfaces réseau .
sélectionnez L'instance EC2 sans DNS public. Puis Actions - Adresse Associée .
le champ adresse , sélectionnez la nouvelle adresse IP élastique.
le champ associer à l'adresse IP privée , sélectionnez le adresse IP privée sans DNS public.
, Cliquez Sur Associer L'Adresse .
votre instance EC2 devrait maintenant avoir un DNS public.