Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wie sichere ich die Verbindung zur Google-Datenbank mit einer öffentlichen IP-Adresse (0.0.0.0)?

Es gibt mehrere Möglichkeiten, eine sichere Verbindung zu einer Cloud SQL-Instanz einzurichten.

  1. Verwenden Sie SSL-Zertifikate, um eine Verbindung zur Instanz herzustellen, und aktivieren Sie "Nur SSL-Verbindungen zulassen".
  2. Private IP verwenden. Soweit ich weiß, wird die von Ihnen erstellte Anwendung nicht auf der GCP gehostet, sondern woanders. Eine gute Option ist daher:

    2.1. Aktivieren Sie die private IP-Funktion in Ihrer CSQL-Instanz

    2.2. Aktivieren Sie "import benutzerdefinierte Routen " im gerade erstellten Peering zwischen Ihrem Projekt (nennen wir dieses Projekt "Projekt A") und dem Tenant-Projekt, in dem sich Ihr CSQL befindet (der Name dieses Projekts sieht aus wie "speckle-umbrella-[pg]-xx" JFYI). Beachten Sie, dass sich diese Funktion in der Betaphase befindet.

    2.3. Bitten Sie unser technisches Support-Team, "benutzerdefinierte Routen exportieren" auf dem gerade erstellten Peering zu aktivieren, aber für diese Zeit auf unserer Seite (im bereits erwähnten Projekt "speckle-umbrella-[pg]-xx"). Wenn Sie kein Supportpaket haben, können Sie nach diesem einen privaten Issue-Tracker öffnen verlinken Geben Sie meinen Namen, Ihre Projekt-ID und die CSQL-Instanz an, in der Sie diese Funktion aktivieren möchten. Keine Sorge, die Problemverfolgung, die Sie dort öffnen, ist nur für Google-Mitarbeiter und Sie sichtbar. Denken Sie daran, dass es bis zu 90 Tage dauern kann, bis Sie eine Antwort erhalten, wenn Sie dort einen Issue-Tracker öffnen, aber ich werde diesen Beitrag überwachen.

    2.4. Da ich davon ausgegangen bin, dass Ihre App nicht in GCP ausgeführt wird, müssen Sie dann einen VPN-Tunnel einrichten oder eine Cloud-Verbindung , um Ihr lokales Netzwerk mit Google Cloud zu verbinden.

Danach können Sie auf sichere Weise eine Verbindung von Ihrer App zu Ihrer CSQL-Instanz herstellen.

  1. Wenn Sie eine private IP-Adresse verwenden möchten und Ihre App auf der GCP gehostet wird, können Sie eine direkte Verbindung zu Ihrer CSQL-Instanz herstellen, wenn sich Ihre App und CSQL in derselben Region befinden und dieselbe VPC verwenden (wenn Sie eine serverlose Option verwenden). wie Cloud-Funktionen oder Google App Engine Standard können Sie den serverlosen VPC-Zugriff verwenden ). Wenn Ihre App jedoch auf der GCP gehostet wird, aber in einem anderen Projekt, können Sie die Schritte 2.1, 2.2 und 2.3 ausführen und dann ein VPC-Peering zwischen dem Projekt erstellen, in dem sich Ihre Anwendung befindet (nennen wir dieses Projekt "Projekt B"). und das Projekt, dem Sie Ihre CSQL-Instanz zugeordnet haben ("Projekt A"). Für „Projekt A“ müssen Sie „benutzerdefinierte Routen exportieren“ in diesem neuen VPC-Peering aktivieren, und für „Projekt B“ müssen Sie „benutzerdefinierte Routen importieren“ aktivieren. Dadurch geht Ihre Verbindung zwischen Ihrer Anwendung (gehostet in „Projekt B“) von Projekt B zu Projekt A und von Projekt A zu speckle-umbrella-[pg]-xx, bis Sie Ihre Cloud SQL-Instanz erreichen.

Der Grund, warum Sie sich mit benutzerdefinierten Routen befassen müssen, liegt darin, dass VPC-Peerings vor einiger Zeit keine Routen propagieren konnten, aber jetzt ist dies vollständig möglich.