Utiliser phpMyAdmin avec Cloud SQL sur Cloud Run

Ce guide explique comment installer phpMyAdmin sur Cloud Run. Cette application vous permet d'administrer Cloud SQL sur le Web.

Ce tutoriel peut vous être utile si vous répondez aux critères suivants :

  • Hébergez des applications sur Cloud Run.
  • Vous utilisez Cloud SQL comme base de données.
  • Vous souhaitez utiliser phpMyAdmin en tant qu'interface pour MySQL ou préférez recourir à une interface Web pour administrer votre base de données.

Objectifs

  • Découvrez comment déployer phpMyAdmin sur Cloud Run.

Coûts

Ce tutoriel fait appel à des composants payants de Google Cloud, y compris ceux-ci :

Pour obtenir une estimation des coûts en fonction de votre utilisation prévue, utilisez le simulateur de coût.

Les nouveaux utilisateurs de Cloud Platform peuvent bénéficier d'un Google Cloud essai sans frais.

Avant de commencer

  1. Connectez-vous à votre compte Google Cloud . Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $ de crédits sans frais pour exécuter, tester et déployer des charges de travail.
  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 role (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. Installez la gcloud CLI.

  5. Si vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.

  6. Pour initialiser la gcloud CLI, exécutez la commande suivante :

    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 role (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. Installez la gcloud CLI.

  10. Si vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.

  11. Pour initialiser la gcloud CLI, exécutez la commande suivante :

    gcloud init
  12. Créez une instance Cloud SQL de deuxième génération avec une adresse IP privée.
  13. Créez un utilisateur de base de données.

Créer un service à l'aide de l'image phpMyAdmin

Console

  1. Dans la console Google Cloud , accédez à Cloud Run :

    Accédez à Cloud Run

  2. Sélectionnez Créer un service.

    1. Dans le champ URL de l'image du conteneur, saisissez phpmyadmin. Cloud Run extrait l'image du Docker Hub public.
    2. Dans le champ Service name (Nom du compte de service), saisissez phpmyadmin.
    3. Consultez Require authentication.
    4. Cliquez sur Conteneur(s), volumes, mise en réseau, sécurité pour définir les options suivantes :
      1. Dans le champ Port, saisissez 80 pour la valeur du port du conteneur.
      2. Dans Variables d'environnement, ajoutez PMA_HOST et définissez la valeur sur l'adresse IP interne de l'instance Cloud SQL.
    5. Dans Mise en réseau, sélectionnez Se connecter à un VPC pour le trafic sortant et Envoyer le trafic directement vers un VPC. Choisissez le même réseau que l'instance Cloud SQL.

Se connecter au service à l'aide du proxy Cloud Run

Pour accéder de manière sécurisée au service protégé par IAM, utilisez le proxy de développement Cloud Run.

  1. Pour démarrer le proxy sur le service créé précédemment, utilisez la commande suivante :

    gcloud run services proxy phpmyadmin --port=8080
    

    Si la gcloud CLI vous invite à installer les composants cloud-run-proxy, saisissez Y.

  2. Pour tester la configuration, saisissez l'URL et le numéro de port (par exemple, http://127.0.0.1:8080/), puis le nom d'utilisateur (nom de l'administrateur) et le mot de passe. Étant donné que vous utilisez le proxy de développement Cloud Run local pour accéder au service de manière sécurisée, vous pouvez voir un message d'erreur, que vous pouvez ignorer : There is a mismatch between HTTPS indicated on the server and client.

Résoudre les problèmes

Pour obtenir des informations sur les erreurs Cloud Run, accédez aux journaux Cloud Run dans la consoleGoogle Cloud .

Effectuer un nettoyage

Une fois le tutoriel terminé, vous pouvez procéder au nettoyage des ressources que vous avez créées afin qu'elles ne soient plus comptabilisées dans votre quota et qu'elles ne vous soient plus facturées. Dans les sections suivantes, nous allons voir comment supprimer ou désactiver ces ressources.

Supprimer le projet

Le moyen le plus simple d'empêcher la facturation est de supprimer le projet que vous avez créé pour ce tutoriel.

Pour supprimer le projet :

  1. Dans la console Google Cloud , accédez à la page Gérer les ressources.

    Accéder à la page "Gérer les ressources"

  2. Dans la liste des projets, sélectionnez le projet que vous souhaitez supprimer, puis cliquez sur Supprimer.
  3. Dans la boîte de dialogue, saisissez l'ID du projet, puis cliquez sur Arrêter pour supprimer le projet.

Supprimer des instances

Pour supprimer une instance Cloud SQL :

  1. Dans la console Google Cloud , accédez à la page Instances.

    Accéder à la page "Instances"

  2. Cliquez sur le nom de l'instance SQL que vous souhaitez supprimer.
  3. Pour supprimer l'instance, cliquez sur Supprimer , puis suivez les instructions.

Étapes suivantes