Direkt zum Inhalt

Wie stelle ich eine Verbindung zu einer Amazon-RDS-DB-Instance her, die ein öffentliches oder privates Subnetz einer Amazon VPC verwendet?

Lesedauer: 5 Minute
0

Ich möchte eine Verbindung zu meiner Amazon Relational Database Service (Amazon RDS)-DB-Instance herstellen, die sich in einem öffentlichen oder privaten Subnetz einer Amazon Virtual Private Cloud (Amazon VPC) befindet.

Kurzbeschreibung

Wenn du RDS-DB-Instances im öffentlichen oder privaten Subnetz einer VPC startest, können aus den folgenden Gründen Verbindungsprobleme auftreten:

  • Falsche VPC-Konfiguration auf der DB-Instance
  • Falsche Konfiguration oder Verbindungsprobleme auf dem Client, von dem aus du eine Verbindung herstellst

Führe die für deine Umgebung passende Lösung durch, um diese Probleme zu beheben.

Lösung

Hinweis: Wenn du beim Ausführen von AWS Command Line Interface (AWS CLI)-Befehlen Fehlermeldungen erhältst, findest du weitere Informationen dazu unter Problembehandlung bei der AWS CLI. Stelle außerdem sicher, dass du die neueste Version der AWS CLI verwendest.

Verbindungsprobleme mit einer DB-Instance in einem öffentlichen Subnetz über das Internet von deinem lokalen Computer aus beheben

Wenn die Eigenschaft Öffentlich zugänglich der DB-Instance auf Nein gesetzt ist, können Verbindungsprobleme auftreten. Gehe wie folgt vor, um zu überprüfen, ob die DB-Instance öffentlich zugänglich ist:

  1. Öffne die Amazon Aurora- und RDS-Konsole.
  2. Wähle im Navigationsbereich Datenbanken aus.
  3. Wähle deine DB-Instance aus.
  4. Überprüfe anschließend den Abschnitt Konnektivität und Sicherheit der Instance.
    -oder-
    Führe den AWS-CLI-Befehl describe-db-instances aus:
    aws rds describe-db-instances --db-instance-id example_instance_id
    Hinweis: Ersetze example_instance_id durch deine Instance-ID.

Gehe wie folgt vor, um die Eigenschaft Öffentlich zugänglich der DB-Instance zu aktualisieren:

  1. Öffne die Aurora- und RDS-Konsole.
  2. Wähle im Navigationsbereich Datenbanken und dann deine DB-Instance aus.
  3. Wähle Ändern aus.
  4. Erweitere unter Konnektivität den Abschnitt Zusätzliche Konfiguration und wähle dann Öffentlich zugänglich aus.
  5. Wähle Weiter aus.
  6. Wähle DB-Instance ändern aus.
    Hinweis: Amazon RDS wendet die Änderung sofort an, auch wenn du die Option Sofort anwenden nicht auswählst. Eine Ausfallzeit tritt nur auf, wenn du eine ausstehende Wartungsmaßnahme hast, die eine Ausfallzeit erfordert, und du Sofort anwenden wählst.

Wenn du die Eigenschaft Öffentlich zugänglich aktiviert hast, aber immer noch keine Verbindung zur Instance herstellen kannst, überprüfe die folgenden Details:

  • Stelle sicher, dass deiner VPC ein Internet-Gateway zugeordnet ist.
  • Stelle sicher, dass die Regeln für eingehenden Datenverkehr der Sicherheitsgruppe der DB-Instance Verbindungen von deiner Quell-IP-Adresse zulassen.

Behebe Probleme mit der Verbindung zu einer DB-Instance in einem privaten Subnetz von deinem lokalen Computer aus

Um dieses Problem zu beheben, verwende eine der folgenden Methoden, die am besten zu deinem Anwendungsfall passt:

Gehe wie folgt vor, um zu einem öffentlichen Subnetz zu wechseln:

  1. Öffne die Aurora- und RDS-Konsole.

  2. Wähle im Navigationsbereich Datenbanken und dann deine DB-Instance aus.

  3. Kopiere im Abschnitt Konnektivität und Sicherheit den Endpunkt der DB-Instance.

  4. Führe einen nslookup am DB-Instance-Endpunkt von einer EC2-Instance innerhalb der VPC aus, ähnlich dem folgenden Beispiel:

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

    Beispielausgabe:

    Non-authoritative answer:
    Name: myexampledb.xxxx.us-east-1.rds.amazonaws.com
    Address: 172.31.xx.x
  5. Nachdem du die private IP-Adresse der DB-Instance erhalten hast, verknüpfe die private IP-Adresse mit einem bestimmten Subnetz in der VPC. Das VPC-Subnetz basiert auf dem CIDR-Bereich des Subnetzes und der privaten IP-Adresse.

  6. Öffne die Amazon-VPC-Konsole.

  7. Wähle im Navigationsbereich die Option Subnetze.

  8. Wähle das Subnetz aus, das der DB-Instance zugeordnet ist, die du in Schritt 5 gefunden hast.

  9. Wähle im Bereich Beschreibung die Routing-Tabelle aus.

  10. Wähle Aktionen und dann Routen bearbeiten aus.

  11. Wähle Route hinzufügen aus. Gib für IPv4- und IPv6-Verkehr im Feld „Ziel“ die Routen für dein externes oder On-Premises Netzwerk ein. Wähle dann die Internet-Gateway-ID in der Ziel-Liste aus.
    Hinweis: Stelle sicher, dass die Sicherheitsgruppenregel für eingehenden Datenverkehr für die Instance den Datenverkehr auf die Adressen des externen oder On-Premises-Netzwerks einschränkt.

  12. Wähle Speichern aus.

Wenn auf die DB-Instance immer noch nicht zugegriffen werden kann, stelle sicher, dass die DB-Instance öffentlich zugänglich ist. Weitere Informationen findest du im vorherigen Abschnitt Beheben von Problemen bei der Verbindung mit einer DB-Instance in einem öffentlichen Subnetz über das Internet von deinem lokalen Computer aus.

Problembehandlung beim DB-Instance-Zugriff über eine EC2-Instance von einer anderen VPC

Wenn du von einer EC2-Instance in einer anderen VPC nicht auf die DB-Instance zugreifen kannst, erstelle eine VPC-Peering-Verbindung. Eine VPC-Peering-Verbindung verwendet private IP-Adressen, um den VPCs die Kommunikation zu ermöglichen.

Führe die folgenden Schritte aus:

  1. Erstelle eine VPC-Peering-Verbindung.
    Hinweis: Achte darauf, dass sich die IPv4-CIDR-Blöcke nicht überschneiden, wenn sich die VPCs im gleichen AWS-Konto befinden. Weitere Informationen findest du unter VPC-Peering-Einschränkungen.
  2. Akzeptiere die Verbindung.
  3. Aktualisiere beide Routing-Tabellen.
  4. Aktualisiere die Sicherheitsgruppen, sodass sie auf Peer-VPC-Gruppen verweisen.
  5. Aktiviere die Unterstützung der DNS-Auflösung für die VPC-Peering-Verbindung.
  6. Verwende auf der EC2-Instance ein Netzwerkdienstprogramm, um die VPC-Peering-Verbindung ähnlich dem folgenden Beispiel zu testen:
    nc -zv hostname port
    Hinweis: Ersetze hostname durch deinen Hostnamen und port durch deinen 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