it-swarm.com.de

Die EC2-Instanz hat kein öffentliches DNS

Ein Mitarbeiter, mit dem ich zusammenarbeite, gab mir die EC2-Anmeldeinformationen, um mich an seiner EC2-Konsole anzumelden. Ich war nicht derjenige, der es eingerichtet hat. Einige der Instanzen zeigen einen öffentlichen DNS-Namen und andere einen leeren öffentlichen DNS. Ich möchte in der Lage sein, eine Verbindung zu Instanzen herzustellen, die ein leeres öffentliches DNS haben. Ich konnte nicht herausfinden, warum diese als leer angezeigt werden.

272
user1456508

Ich hatte das gleiche Problem und löste es. Schauen Sie sich die Schritt-für-Schritt-Anleitung an:

  • Gehen Sie zu console.aws.Amazon.com
  • Gehe zu Dienste -> VPC
  • Öffnen Sie Ihre VPCs
  • wählen Sie Ihre VPC verbunden mit Ihrem EC2 und
  • wählen Sie Actions => Edit DNS Hostnames ---> Change DNS Hostnames: to YES

Hoffe das hilft!

Prost

551
Mat

In der VPC gibt es eine Einstellung namens "DNS-Hostnamen". Sie können die VPC ändern, in der die EC2-Instanz vorhanden ist, und dies in "Ja" ändern. Das sollte den Trick machen.

Ich bin gestern auf dieses Problem gestoßen und habe die obige Antwort von Manny ausprobiert, die nicht funktioniert hat. Die VPC-Einstellung hat funktioniert für mich.

Letztendlich habe ich eine EIP hinzugefügt und benutze diese, um eine Verbindung herzustellen.

53
Mike T

Klingt so, als ob die Instanz in VPC gestartet wurde und dabei das Kontrollkästchen für Automatically assign a public IP address to your instances wurde nicht geprüft. Daher hat die Instanz keine öffentliche IP

Sie können dieser Instanz eine elastische IP zuweisen und sich dann mit dieser IP anmelden.

36
slayedbylucifer

In meinem Fall fand ich die Antwort von slayedbylucifer und andere, die auf dasselbe verweisen, sind gültig.
Auch wenn DNS hostname: yes Eingestellt ist, wird am my-pvc (nur Privat IP) keine Public IP vergeben .

Es ist definitiv so, dass Auto Assign Public IP gesetzt werden muss Enable.
Wenn es nicht ausgewählt ist, wird es standardmäßig auf Use subnet setting (Disable) gesetzt.

Assign Public IP

23
Chetabahana
  1. Wechseln Sie zur AWS-Konsole.
  2. Gehen Sie zu Dienste und wählen Sie VPC aus
  3. Klicken Sie auf vpc.
  4. wählen Sie die Instanz aus und klicken Sie auf Aktion.
  5. Wählen Sie Edit DNS Host name und klicken Sie auf yes.

Am Ende erhalten Sie Ihre öffentlichen DNS.

22

Bei mir lag das Problem in den Subnetzeinstellungen.

  1. Öffnen Sie https://console.aws.Amazon.com/vpc
  2. Gehen Sie zu den Subnetzen im linken Menü
  3. Wählen Sie Ihr Subnetz
  4. Ändern Sie die automatisch zugewiesenen IP-Einstellungen, um sie zu aktivieren
20
Neftanic

Dies ist der Tipp zur Behebung des Problems, das nicht funktioniert:

Tipp - Wenn Ihre Instanz keinen öffentlichen DNS-Namen hat, öffnen Sie die VPC-Konsole, wählen Sie die VPC aus und überprüfen Sie die Registerkarte Zusammenfassung. Wenn entweder die DNS-Auflösung oder der DNS-Hostname Nein lautet, klicken Sie auf Bearbeiten und ändern Sie den Wert in Ja.

Angenommen, Sie haben dies getan und Sie erhalten immer noch keine öffentliche IP. Wechseln Sie dann in das betreffende Subnetz im VPC-Verwaltungsbildschirm und Sie werden wahrscheinlich feststellen, dass "Öffentliche IP automatisch zuweisen" nicht auf "Ja" gesetzt ist. Ändern Sie diese Einstellung dann, und ich weiß, dass Sie dies hier nicht möchten, erstellen Sie eine neue Instanz in diesem Subnetz. Soweit ich Ihnen sagen kann, dass Sie dies auf dem Host nicht ändern können, habe ich versucht und versucht, es einfach zu beenden.

20
Bill Parker

Starten Sie einfach eine andere Instanz (und löschen Sie die betreffende Instanz, wenn sie keine Verwendung hat) und vergewissern Sie sich, dass Sie diesmal "Ihrer Instanz automatisch eine öffentliche IP-Adresse zuweisen" aktivieren. Wenn nicht, dann als slayedbylucifer vorgeschlagen; Weisen Sie der Instanz eine Elastic IP (EIP) zu und melden Sie sich dann mit dieser IP an. Seien Sie jedoch vorsichtig, wenn Sie die kostenlose AWS-Stufe ausführen, kostet Sie ein EIP Geld - das ist ein ganz anderes Thema.

9
Manny Fernandez

Es hängt mit der VPC-Funktion "DNS-Hostnamen" zusammen. Sie können es aktivieren oder deaktivieren. Gehen Sie zur VPC, wählen Sie im Menü Aktionen den Eintrag "DNS-Hostnamen bearbeiten" und wählen Sie dann "Ja". Anschließend sollte das öffentliche DNS der EC2-Instanzen angezeigt werden.

8
Lior Kirshner

Erstens kann dies zwei Gründe haben:

  1. Sie haben Ihre eigene VPC erstellt und vergessen, Public DNS zu aktivieren.

Um dies zu lösen:

i) Gehen Sie zur AWS VPC-Konsole und wählen Sie die von Ihnen erstellte VPC aus.

ii) Klicken Sie dann auf Aktionen und aktivieren Sie die DNS-Auflösung.

            OR
  1. Sie haben die öffentliche IP-Zuweisungsoption in der EC2-Konfiguration nicht aktiviert.

Hier können Sie die Einstellung nicht ändern. Erstellen Sie also ein AMI-Image und erstellen Sie die Instanz danach erneut.

5
Patrick R

Bei Verwendung von CloudFormation lauten die Schlüsseleigenschaften EnableDnsSupport und EnableDnsHostnames und sollten auf true gesetzt werden

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

Wenn sich die Instanz in VPC befindet, stellen Sie sicher, dass sowohl "DNS-Auflösung" als auch "DNS-Hostnamen" auf "Ja" gesetzt sind. Sie können dies in der Benutzeroberfläche der Aws-Konsole tun. HTH!

1
Trunal Bhanse

Gehen Sie zur VPC-Konsole, wählen Sie Ihre VPC aus und klicken Sie im Menü AKTIONEN auf DNS-Hostnamen bearbeiten - wählen Sie Ja. Das sollte es beheben.

1
Kingz

Die Änderung der DNS-Hostnamen-Einstellung kann auch über die AWS-CLI erfolgen:

aws ec2 modify-vpc-attribute --vpc-id $vpc_id --enable-dns-hostnames '{"Value": true}'

(Dabei ist $ vpc_id die ID der VPC, an die Ihre Instanz angehängt ist.)

Sobald die VPC aktualisiert wird, erhält die Instanz ein öffentliches DNS.

1
Paul Pritchard

Nach der Überprüfung der VPC- und Subnet-Einstellungen verfügte meine EC2-Instanz noch nicht über ein öffentliches DNS. Nach einem Tag der Suche nach einer Lösung, habe ich es endlich herausgefunden.

Ich musste eine neue elastische IP-Adresse erstellen und sie dann meiner Instanz zuordnen.

Über das EC2-Dashboard:

Gehen Sie in der Seitenleiste zu Elastic IPs.

Klicken Sie auf Neue Adresse zuweisen und dann auf Zuweisen.

Kehren Sie zum EC2-Dashboard zurück. Gehen Sie zu Netzwerkschnittstellen.

Wählen Sie die EC2-Instanz ohne öffentlichen DNS aus. Dann Aktionen - Adresse zuordnen.

Wählen Sie im Feld Adresse die neue elastische IP-Adresse aus.

Wählen Sie im Feld Zu privater IP-Adresse zuordnen die private IP-Adresse ohne öffentlichen DNS aus.

Klicken Sie auf Adresse zuordnen.

Ihre EC2-Instanz sollte jetzt über ein öffentliches DNS verfügen.

1
BenR

Sie müssen Ihrer Instanz keine öffentliche IP-Adresse zuweisen. Sie können NAT Instanzen oder NAT Gateway verwenden.

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

0
Trouble