
Ec2 SQL-Datenbankserver:
Connection-specific DNS Suffix . : ec2.internal
Link-local IPv6 Address . . . . . : fe80::9ca:e9d1:a7b5:3e42%16
IPv4 Address. . . . . . . . . . . : 172.31.21.189
Subnet Mask . . . . . . . . . . . : 255.255.240.0
Default Gateway . . . . . . . . . : 172.31.16.1
*(Bitte beachten Sie, dass dieser Ec2-Datenbank derzeit auch eine öffentlich zugängliche elastische IP zugeordnet ist. Ich erwähne dies, weil ich in den VPC-Peering-Dokumenten gesehen habe, dass VPC-Peering nicht richtig funktioniert, wenn eine öffentliche IP zugeordnet ist.)
Ich habe ein AWS Workspace-Verzeichnis auf demselben VPC-Workspace-Client-Netzwerk eingerichtet:
Connection-specific DNS Suffix . : ec2.internal
Link-local IPv6 Address . . . . . : fe80::dc3c:d1c1:c7fe:812b%15
IPv4 Address. . . . . . . . . . . : 172.31.16.45
Subnet Mask . . . . . . . . . . . : 255.255.240.0
Default Gateway . . . . . . . . . : 172.31.16.1
Solange diese auf demselben CIDR 172.31 liegen, können sie nicht kommunizieren. Ich habe die Dokumentation zum VPC-Peering gelesen, aber ich glaube nicht, dass sie in dieser Situation anwendbar ist. Was ist die geeignete und sichere Methode, um eine Netzwerkverbindung zwischen den Workspace-Desktops (Client-App) und der SQL-Datenbank auf meiner EC2-Instanz einzurichten?
Bearbeiten
1) Ich habe der EC2-Sicherheitsgruppe die folgende Regel hinzugefügt, um Datenverkehr zum DB-Server zuzulassen:
2) Habe die Windows-Firewall auf beiden Boxen deaktiviert.
Antwort1
Ich vermute ein Problem in einem der folgenden Bereiche:
- Ein Problem mit Sicherheitsgruppen. Wenn beide Instanzen über die Standardsicherheitsgruppe verfügen, sollte kein Problem vorliegen. Möglicherweise haben Sie jedoch eine neue Sicherheitsgruppe für Ihre SQL-Instanz erstellt (da sie eine externe IP-Adresse hat). In diesem Fall müssen Sie sicherstellen, dass Sie den Zugriff von der Sicherheitsgruppe, der IP-Adresse oder dem IP-Adressbereich des Arbeitsbereichsclients zulassen.
- Ein Problem mit Routingtabellen(unwahrscheinlich, es sei denn, Sie haben die Vorgabe geändert)
- Ein Firewall-Problem(Wenn es sich bei der EC2 SQL-Instanz beispielsweise um einen unter Windows ausgeführten SQL Server handelt, ist auf der Instanz möglicherweise eine Windows-Firewall aktiviert)
- Ein Problem mit NACLs (Auch hier gilt: Wahrscheinlich kein Problem, sofern Sie sie nicht geändert haben.)
Du hast recht,VPC-Peeringist nicht die Lösung. VPC-Peering ermöglicht das Routing zwischen zwei verschiedenenvpcs. Sie haben zwei Subnetze im selben VPC, daher ist dies nicht das, was Sie brauchen.
Einige Beispiele für Sicherheitsregeln, die funktionieren sollten:
- 172.31.0.0/16 – ermöglicht allem im VPC den Zugriff auf den SQL Server
- 172.31.16.0/20 - ermöglicht allen Geräten im Subnetz 172.31.16.0 den Zugriff auf den SQL Server
- 172.31.16.45/32 – ermöglicht einem Desktop den Zugriff auf den SQL-Server.
(Falls es nicht klar ist, sollten Sie diese der Sicherheitsgruppe hinzufügen, die mit dem SQL Server verknüpft ist.)