Wie kann ich Verbindungsprobleme mit einer Amazon RDS-DB-Instance beheben, die ein öffentliches oder privates Subnetz einer VPC verwendet?

Lesedauer: 5 Minute
0

Ich kann keine Verbindung zu meiner Amazon Relational Database Service (Amazon RDS) -DB-Instance herstellen. Wie kann ich Verbindungsprobleme in einem öffentlichen oder privaten Subnetz einer Amazon Virtual Private Cloud (Amazon VPC) beheben?

Kurzbeschreibung

Sie können Amazon RDS-Datenbanken im öffentlichen oder privaten Subnetz einer VPC starten. Eine falsche VPC-Konfiguration auf der Seite der RDS-Instanz kann jedoch zu Verbindungsproblemen führen. Oder Konfigurations- oder Verbindungsprobleme auf dem Client, von dem aus Sie eine Verbindung herstellen, können ebenfalls zu Verbindungsproblemen führen.

Um diese Probleme zu lösen, sehen Sie sich je nach Umgebung die folgenden Lösungen an.

Behebung

**Hinweis:**Wenn Sie beim Ausführen von AWS Command Line Interface (AWS CLI)-Befehlen Fehler erhalten, stellen Sie sicher, dass Sie die neueste AWS CLI-Version verwenden.

Meine DB-Instance befindet sich in einem öffentlichen Subnetz, und ich kann von meinem lokalen Computer aus keine Verbindung über das Internet herstellen

Dieses Problem kann auftreten, wenn die Eigenschaft Öffentlich zugänglich der DB-Instance auf Nein gesetzt ist. Um zu überprüfen, ob eine DB-Instance öffentlich zugänglich ist:

Öffnen Sie die Amazon RDS-Konsole, wählen Sie im Navigationsbereich Datenbanken und wählen Sie Ihre DB-Instance aus. Überprüfen Sie anschließend den Abschnitt Konnektivität & Sicherheit Ihrer Instance.

-oder-

Verwenden Sie den Befehl describe-db-instances in der AWS-CLI.

So ändern Sie die Eigenschaft Öffentlich zugänglich der Amazon RDS-Instance in ** Ja**:

1.Öffnen Sie die Amazon RDS-Konsole.

2.Wählen Sie im Navigationsbereich Datenbanken und wählen Sie dann die DB-Instance aus.

3.Wählen Sie ** Modifizieren**.

4.Erweitern Sie unter Konnektivität den Abschnitt Zusätzliche Konfiguration und wählen Sie dann Öffentlich zugänglich aus.

5.Wählen Sie Weiter.

6.Wählen Sie Modify DB Instance aus.

Hinweis: Diese Änderung wird sofort angewendet, auch wenn Sie die Option Sofort anwenden nicht auswählen. Ausfallzeiten treten nur auf, wenn Sie ausstehende Wartungsmaßnahmen mit dieser Änderung eingerichtet haben, die Ausfallzeiten erfordern, und Sie Sofort anwenden wählen.

Wenn Sie die Eigenschaft Öffentlich zugänglich auf Ja setzen und Sie immer noch keine Verbindung zu Ihrer RDS-Instance herstellen können, überprüfen Sie die folgenden Details:

  • Stellen Sie sicher, dass an Ihre VPC ein Internet-Gateway angeschlossen ist.
  • Stellen Sie sicher, dass die eingehenden Regeln für die Sicherheitsgruppe Ihrer RDS-Instance Verbindungen von Ihrer Quell-IP zulassen.

Meine DB-Instance befindet sich in einem privaten Subnetz, und ich kann von meinem lokalen Computer aus keine Verbindung zu ihr herstellen

Sie können dieses Problem lösen, indem Sie ein öffentliches Subnetz verwenden. Wenn Sie ein öffentliches Subnetz verwenden, sind alle Ressourcen im Subnetz über das Internet zugänglich. Wenn diese Lösung Ihre Sicherheitsanforderungen nicht erfüllt, verwenden Sie AWS Site-to-Site VPN. Mit Site-to-Site VPN Konfigurieren Sie ein Kunden-Gateway, mit dem Sie Ihre VPC mit Ihrem Remote-Netzwerk verbinden können.

Eine andere Methode zur Lösung dieses Problems ist die Verwendung einer Amazon EC2-Instance als Bastion (Jump) -Host. Weitere Informationen finden Sie unter Wie kann ich von einem lokalen Computer aus eine Verbindung zu einer privaten Amazon RDS-DB-Instance herstellen, indem ich eine Amazon EC2-Instance als Bastion-Host verwende?

Um zu einem öffentlichen Subnetz zu wechseln:

1.Öffnen Sie die Amazon RDS-Konsole.

2.Wählen Sie im Navigationsbereich Datenbanken und dann die DB-Instance aus.

3.Kopieren Sie im Abschnitt Konnektivität & Sicherheit den Endpunkt der DB-Instance.

4.Führen Sie von einer EC2-Instance innerhalb der VPC aus einen nslookup zum DB-Instance-Endpunkt durch. Sehen Sie sich die folgende Beispielausgabe an:

nslookup myexampledb.xxxx.us-east-1.rds.amazonaws.com
Server: xx.xx.xx.xx
Address: xx.xx.xx.xx#53

Non-authoritative answer:
Name: myexampledb.xxxx.us-east-1.rds.amazonaws.com
Address: 172.31.xx.x

5.Nachdem Sie die private IP-Adresse Ihrer RDS-DB-Instance erhalten haben, können Sie die private IP-Adresse einem bestimmten Subnetz in der VPC zuordnen. Das VPC-Subnetz basiert auf dem CIDR-Bereich des Subnetzes und der privaten IP-Adresse.

6.Öffnen Sie die Amazon VPC-Konsole und wählen Sie dann im Navigationsbereich Subnetze aus.

7.Wählen Sie das Subnetz aus, das der DB-Instance zugeordnet ist, die Sie in Schritt 5 gefunden haben.

8.Wählen Sie im Beschreibung-Bereich die Routentabelle aus.

9.Wählen Sie Aktionen und dann Bearbeiten Routen aus.

10.Wählen Sie Route hinzufügen. Geben Sie für IPv4- und IPv6-Verkehr im Feld Ziel die Routen für Ihr externes oder On-Premises Netzwerk ein. Wählen Sie dann die Internet-Gateway-ID in der Ziel-Liste aus.

Hinweis: Stellen Sie sicher, dass die Regel für Eingehende Sicherheitsgruppen für Ihre Instance den Datenverkehr auf die Adressen Ihres externen oder lokalen Netzwerks einschränkt.

11.Wählen Sie Speichern.

**Wichtig:**Wenn Sie ein Subnetz in öffentlich ändern, können auch andere DB-Instances im Subnetz über das Internet aufgerufen werden. Auf die DB-Instances kann über das Internet zugegriffen werden, wenn sie über eine zugehörige öffentliche Adresse verfügen.

Wenn nach diesen Schritten immer noch nicht auf die DB-Instance zugegriffen werden kann, überprüfen Sie, ob die DB-Instance Öffentlich zugänglich ist. Folgen Sie dazu den Schritten unter Meine DB-Instance befindet sich in einem privaten Subnetz, und ich kann von meinem lokalen Computer aus keine Verbindung zu ihr herstellen.

Auf meine DB-Instance kann von einer anderen VPC aus nicht von einer Amazon EC2-Instance aus zugegriffen werden

Erstellen Sie eine VPC-Peering-Verbindung zwischen den VPCs. Eine VPC-Peering-Verbindung ermöglicht es zwei VPCs, über private IP-Adressen miteinander zu kommunizieren.

1.Erstellen und akzeptieren Sie eine VPC-Peering-Verbindung.

**Wichtig:**Wenn sich die VPCs in demselben AWS-Konto befinden, stellen Sie sicher, dass sich die IPv4-CIDR-Blöcke nicht überschneiden. Weitere Informationen finden Sie unter VPC-Peering-Einschränkungen.

2.Aktualisieren Sie beide Routentabellen.

3.Aktualisieren Sie Ihre Sicherheitsgruppen, sodass sie auf Peer-VPC-Gruppen verweisen.

4.Aktivieren Sie die Unterstützung der DNS-Auflösung für Ihre VPC-Peering-Verbindung.

5.Testen Sie auf der Amazon Elastic Compute Cloud (Amazon EC2) -Instance die VPC-Peering-Verbindung mithilfe eines Netzwerkdienstprogramms. Siehe folgendes Beispiel:

nc -zv <hostname> <port>

Wenn die Verbindung funktioniert, sieht die Ausgabe in etwa wie folgt aus:

$ nc -zv myexampledb.xxxx.us-east-1.rds.amazonaws.com 5439
found 0 associations
found 1 connections:
     1:    flags=82<CONNECTED,PREFERRED>
    outif en0
    src xx.xxx.xxx.xx port 53396
    dst xx.xxx.xxx.xxx port 5439
    rank info not available
    TCP aux info available

Connection to myexampledb.xxxx.us-east-1.rds.amazonaws.com port 5439 [tcp/*] succeeded!

Ähnliche Informationen

Szenarien für den Zugriff auf eine DB-Instance in einer VPC

Arbeiten mit einer DB-Instance in einer VPC