Wie stelle ich eine Verbindung zu einer MS SQL-Instanz in AWS her?

4249

Ich habe folgende Schritte unternommen:

  • Ein AWS-Konto erstellt
  • Eine MS SQL Server Express-Instanz wurde hochgefahren
  • Sicherheitsgruppe für TCP 1433, meine IP, Präfix 32 hinzugefügt
  • Weiterleitung für meine Heimfirewall für Port 1433 zu meinem Dev-Computer hinzugefügt
  • Bei Verwendung von SQL Management Studio auf diesem Computer versuche ich, eine Verbindung zu dem in der AWS-Konsole angezeigten Servernamen herzustellen, wobei der sa-Kontoname und das zuvor angegebene Kennwort verwendet werden

Ich erhalte die Meldung "Verbindung nicht möglich ... netzwerkbezogener Fehler ... Der Parameter ist falsch".

In einem LAN sollte als Nächstes geprüft werden, ob die Remote-Verwaltung und TCP für die SQL-Instanz aktiviert ist. Natürlich ist jede Administration eines Cloud-Computers remote, und für die Standardparametergruppe ist der Remotezugriff aktiviert. Ich gehe davon aus, dass dies standardmäßig festgelegt ist.

Bei der Verbindung über RDP zeigt die Instanz keine installierte SQL-Software. Ich vermute, dass die RDS-Instanz irgendwie mit der Windows-Instanz verknüpft sein muss. Wenn Sie RDP-Zugriff auf den Server wünschen, der ein RDS unterstützt, muss ich ihn auf dem Server als App installieren und nicht mit RDS.

Diese grundlegenden Dinge waren für Google überraschend schwierig. Es scheint, dass der Wechsel zwischen EC2 und VDC widersprüchliche Dokumentationssätze hinterlassen hat.

2
Kleines Update: Basierend auf http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ConnectToMicrosoftSQLServerInstance.html habe ich versucht, eine Verbindung zum Instanzendpunkt (mydbname.subdomain.region.rds.amazonaws.com) mit dem Port herzustellen getrennt durch ein Komma anstelle eines Doppelpunkts. Dies gibt "... netzbezogenen Fehler ... Versuch fehlgeschlagen, weil der verbundene Teilnehmer nicht geantwortet hat ..." vor 10 Jahren 0
Wenn Sie den Port in Mgt Studio vom Servernamen weglassen (1433 ist der Standardwert), bekomme ich "... Netzwerkfehler ... Netzwerkpfad wurde nicht gefunden". Mein Rechner kann den Instanzpfad auflösen, also gibt es den Ping, aber es werden keine Pings zurückgegeben. vor 10 Jahren 0
Haben Sie im SQL-Konfigurationsmanager Remoteverbindungen über Named Pipes aktiviert? Haben Sie auch überlegt, einen anderen Port zu verwenden? Viele ISPs blockieren den Verkehr von 1433. Frank Thomas vor 10 Jahren 0
Ich war noch nicht in der Lage, RDP zum Laufen zu bringen, um diese Art von Detail zu überprüfen, obwohl AWS seine praktische Konfiguration sofort einräumt. Ich habe stundenlang durch die AWS-Konsole gesucht und nach Wegen gesucht, dies zu konfigurieren (und nach Ihrem Vorschlag, Ports zuhören), ohne Erfolg. vor 10 Jahren 0
Der Verbindungsaufbau mit der IP-Adresse und den Creds der RDP-Instanz hat auch nicht funktioniert: "... Server wurde nicht gefunden ... Netzwerkpfad wurde nicht gefunden." vor 10 Jahren 0
Ich hasse es, es zu sagen, aber es scheint, als müssten Sie Unterstützung von Ihrem Diensteanbieter benötigen. Frank Thomas vor 10 Jahren 0

2 Antworten auf die Frage

0
David Kennedy

Stellen Sie sicher, dass die Datenbankinstanz öffentlich zugänglich ist. Wechseln Sie zu Ihrem RDS-Dashboard und zeigen Sie die Instanzdetails an.

Wenn nicht, müssen Sie die Instanz neu erstellen. Es scheint keine Möglichkeit zu geben, diese Option zu ändern.

0
Jon Doh

Ich hatte ein ähnliches Problem bei der Verwendung von RDS. Ich habe es gelöst:

  • Ich hatte private Subnetze (keine NAT-Box) anstelle von öffentlichen verwendet
  • Es gab 2 Routen, keine.

Nachdem ich auf öffentliche Subnetze umgestiegen war (ein neues erstellt hatte, um sich dem aktuellen anzuschließen, um die neue Subnetzgruppe zu bilden - dann zerstörte ich die Instanz, die Subnetzgruppe und erstellte sie neu). Ich konnte immer noch keine Verbindung herstellen und fand das beim Erstellen des zweiten öffentlichen Subnetzes Ich hatte zwei verschiedene Routen (und mein SQL-Server hatte eine IP-Adresse aus dem neu erstellten Subnetz. Die Route wurde zu derjenigen geändert, die das erste öffentliche Subnetz verwendet hat.