phpMyAdmin mit Cloud SQL in Cloud Run verwenden

In dieser Anleitung wird beschrieben, wie Sie phpMyAdmin in Cloud Run installieren. Sie können phpMyAdmin verwenden, um Cloud SQL über das Web zu verwalten.

Diese Anleitung ist hilfreich, wenn Sie:

  • Anwendungen in Cloud Run hosten.
  • Cloud SQL als Datenbank verwenden
  • Sie möchten phpMyAdmin als Oberfläche für MySQL verwenden oder eine Weboberfläche für die Datenbankverwaltung bevorzugen.

Vorbereitung

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Install the gcloud CLI.

  5. Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.

  6. Führen Sie folgenden Befehl aus, um die gcloud CLI zu initialisieren:

    gcloud init
  7. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  8. Verify that billing is enabled for your Google Cloud project.

  9. Install the gcloud CLI.

  10. Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.

  11. Führen Sie folgenden Befehl aus, um die gcloud CLI zu initialisieren:

    gcloud init
  12. Erstellen Sie eine Cloud SQL-Instanz der zweiten Generation mit einer privaten IP-Adresse.
  13. Erstellen Sie einen Datenbanknutzer:
  14. Dienst mit dem phpMyAdmin-Image erstellen

    Console

    1. Rufen Sie in der Google Cloud Console Cloud Run auf:

      Zu Cloud Run

    2. Wählen Sie Dienst erstellen aus.

      1. Geben Sie im Feld Container-Image-URL phpmyadmin ein. Cloud Run ruft das Image aus dem öffentlichen Docker Hub ab.
      2. Geben Sie im Feld Name des Dienstkontos phpmyadmin ein.
      3. Prüfen Sie Require authentication.
      4. Klicken Sie auf Container, Volumes, Netzwerk, Sicherheit, um die folgenden Optionen festzulegen:
        1. Geben Sie im Feld Port den Wert 80 für den Containerport ein.
        2. Fügen Sie unter Umgebungsvariablen PMA_HOST hinzu und legen Sie als Wert die interne IP-Adresse der Cloud SQL-Instanz fest.
      5. Wählen Sie unter Netzwerk die Optionen Mit einer VPC für ausgehenden Traffic verbinden und Traffic direkt an eine VPC senden aus. Wählen Sie dasselbe Netzwerk wie die Cloud SQL-Instanz aus.

    Über den Cloud Run-Proxy mit dem Dienst verbinden

    Verwenden Sie den Cloud Run-Entwicklerproxy, um sicher auf den IAM-geschützten Dienst zuzugreifen.

    1. Verwenden Sie den folgenden Befehl, um den Proxy für den zuvor erstellten Dienst zu starten:

      gcloud run services proxy phpmyadmin --port=8080
      

      Wenn Sie in der gcloud CLI aufgefordert werden, die cloud-run-proxy-Komponenten zu installieren, geben Sie Y ein.

    2. Geben Sie zum Testen der Einrichtung die URL und die Portnummer (z. B. http://127.0.0.1:8080/) sowie den Nutzernamen (Administratorname) und das Passwort ein. Da Sie über den lokalen Cloud Run-Entwicklerproxy sicher auf den Dienst zugreifen, wird möglicherweise eine Fehlermeldung angezeigt, die Sie ignorieren können: There is a mismatch between HTTPS indicated on the server and client.

    Fehlerbehebung

    Informationen zu Cloud Run-Fehlern finden Sie in den Cloud Run-Logs in der Google Cloud Console.