web-dev-qa-db-fra.com

L'instance EC2 n'a pas de DNS public

Un gars avec qui je travaille m'a donné les informations d'identification EC2 pour me connecter à sa console EC2. Je n'étais pas celui qui l'a mis en place. Certaines instances affichent un nom DNS public et d'autres ont un DNS public vierge. Je veux pouvoir me connecter aux instances qui ont un DNS public vide. Je n'ai pas été capable de comprendre pourquoi ils apparaissent en blanc.

272
user1456508

J'ai eu le même problème et je l'ai résolu. Jetez un coup d'œil aux instructions pas à pas:

  • Allez sur console.aws.Amazon.com
  • Aller à Services -> VPC
  • Ouvrir vos VPC
  • sélectionnez votre VPC connecté à votre EC2 et
  • sélectionnez Actions => Editer les noms d’hôte DNS ---> Modifier les noms d’hôte DNS: en OUI

J'espère que cela t'aides!

À votre santé

551
Mat

Il existe en réalité un paramètre dans le VPC appelé "Noms d'hôtes DNS". Vous pouvez modifier le VPC dans lequel l'instance EC2 existe et le remplacer par "Oui". Cela devrait faire l'affaire.

J'ai rencontré ce problème hier et j'ai essayé la réponse ci-dessus de Manny, qui n'a pas fonctionné. Le réglage VPC, cependant, a a fonctionné pour moi.

Finalement, j'ai ajouté un EIP et je l'utilise pour me connecter.

53
Mike T

On dirait que l'instance a été lancée dans VPC et que, ce faisant, la case à cocher pour Automatically assign a public IP address to your instances n'a pas été cochée. Par conséquent, l'instance n'a pas d'adresse IP publique.

Vous pouvez attribuer une adresse IP Elastic à cette instance, puis vous connecter à l'aide de cette adresse IP.

36
slayedbylucifer

Dans mon cas, j'ai trouvé la réponse de slayedbylucifer et d'autres qui indiquent la même chose sont valables.
Même s'il est défini que DNS hostname: yes, aucune adresse IP publique n'est attribuée à my-pvc (adresse IP privée uniquement).

Il est clair que Assigner automatiquement une adresse IP publique doit être réglé sur Enable.
S'il n'est pas sélectionné, il est réglé par défaut sur Use subnet setting (Disable)

Assign Public IP

23
Chetabahana
  1. Accédez à la console AWS.
  2. Allez dans Services et sélectionnez VPC
  3. Cliquez sur vpc.
  4. sélectionnez l'instance et cliquez sur Action.
  5. Sélectionnez Modifier le nom d'hôte DNS, cliquez sur Oui.

À la fin, vous obtiendrez votre DNS public.

22
Jitendra Bhalothia

Pour moi le problème était dans les paramètres de sous-réseau.

  1. Ouvrir https://console.aws.Amazon.com/vpc
  2. Aller aux sous-réseaux dans le menu de gauche
  3. Choisissez votre sous-réseau
  4. Modifier les paramètres IP d'attribution automatique pour activer
20
Neftanic

Voici le conseil fourni 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 le VPC et vérifiez l'onglet Résumé. Si la résolution DNS ou les noms d’hôte DNS sont non, cliquez sur Modifier et définissez la valeur sur oui.

En supposant que vous ayez fait cela et que vous n'obteniez toujours pas d'adresse IP publique, passez au sous-réseau en question dans l'écran d'administration VPC et vous découvrirez probablement que "Auto-Assign Public IP" n'est pas défini sur yes. Modifiez ce paramètre alors, et je sais que vous ne voulez pas ici, créez une nouvelle instance dans ce sous-réseau. Autant que je sache, vous ne pouvez pas modifier cela sur l'hôte, j'ai essayé et essayé, il suffit de le terminer.

20
Bill Parker

Lancez simplement une autre instance (et supprimez également celle en question si elle n’a aucune utilité) et assurez-vous cette fois que vous cochez la case "Attribuer automatiquement une adresse IP publique à votre instance". Sinon, comme suggéré slayedbylucifer; attribuez une adresse IP élastique (EIP) à l’instance, puis connectez-vous à l’aide de cette adresse IP. Attention toutefois, si vous utilisez le niveau AWS gratuit, un EIP vous coûtera de l'argent - c'est un tout autre sujet ..

9
Manny Fernandez

Il est lié à la fonctionnalité du VPC appelée "Noms d'hôtes DNS". Vous pouvez l'activer ou le désactiver. Allez dans le VPC, dans le menu Actions, sélectionnez l’item "Editer les noms d’hôte DNS" puis choisissez "Oui". Après cela, le DNS public des instances EC2 devrait être affiché.

8
Lior Kirshner

Tout d’abord, il peut y avoir deux raisons à cela:

  1. Vous avez créé votre propre VPC et avez oublié d'activer le DNS public.

Pour résoudre ceci:

i) Accédez à la console AWS VPC et sélectionnez le VPC que vous avez créé.

ii) Cliquez ensuite sur Actions, puis activez la résolution DNS.

            OR
  1. Vous n'avez pas activé l'option public ip-assign dans la configuration EC2.

Ici, vous ne pouvez pas changer le réglage; alors créez une image AMI puis recréez l’instance à partir de celle-ci.

5
Patrick R

Pour ceux qui utilisent CloudFormation, les propriétés de clé sont EnableDnsSupport et EnableDnsHostnames, qui doit être défini sur true.

VPC: {
    Type: 'AWS::EC2::VPC',
    Properties: {
      CidrBlock: '10.0.0.0/16',
      EnableDnsSupport: true,
      EnableDnsHostnames: true,
      InstanceTenancy: 'default',
      Tags: [
        {
          Key: 'env',
          Value: 'dev'
        }]
    }
  }
2
user6118264

Si l'instance est dans VPC, assurez-vous que "résolution DNS" et "noms d'hôte DNS" sont définis sur "oui". Vous pouvez le faire dans l'interface utilisateur de la console Aws. HTH!

1
Trunal Bhanse

Accédez à la console VPC, sélectionnez votre VPC, puis cliquez sur le menu ACTIONS, sélectionnez Modifier les noms d’hôte DNS - sélectionnez Oui. Cela devrait résoudre le problème.

1
Kingz

La modification du paramètre Noms d’hôte DNS peut également être effectuée à l'aide de l'AWS CLI:

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 obtiendra un DNS public.

1
Paul Pritchard

Après avoir vérifié les paramètres VPC et de sous-réseau, mon instance EC2 n’avait toujours pas de DNS public. Après une journée de recherche d’une résolution, j’ai enfin trouvé la solution.

Je devais créer une nouvelle adresse IP Elastic, puis l'associer à mon instance.

Depuis le tableau de bord EC2:

Allez à IP élastiques à partir de la barre latérale.

Cliquez sur Allocate new address, puis Allocate.

Retournez au tableau de bord EC2. Allez à interfaces résea.

Sélectionnez l'instance EC2 sans DNS public. Alors Actions - Adresse associée.

Dans le champ Address, sélectionnez la nouvelle adresse IP élastique.

Le champ Associer à une adresse IP privée permet de sélectionner l'adresse IP privée sans DNS public.

Cliquez sur Adresse associée.

Votre instance EC2 devrait maintenant avoir un DNS public.

1
BenR

Vous n'êtes pas obligé d'attribuer une adresse IP publique à votre instance. vous pouvez utiliser NAT instances ou NAT Gateway.

https://docs.aws.Amazon.com/vpc/latest/userguide/VPC_Scenario2.htmlhttps://docs.aws.Amazon.com/vpc/latest/userguide/ vpc-nat-compare.html

0
Trouble