Configurer l'accès à l'instance Cloud SQL

Le service de transfert de données BigQuery vous permet de transférer des données d'une instance Cloud SQL privée vers différents projets Google Cloud via une adresse IP interne. Pour établir cette connexion privée pour le connecteur MySQL du service de transfert de données BigQuery ou le connecteur PostgreSQL du service de transfert de données BigQuery, vous devez configurer l'appairage de réseaux cloud privés virtuels, un proxy Cloud SQL et un rattachement de réseau.

Présentation de l'architecture

Pour transférer des données d'une instance Cloud SQL privée d'un projet vers BigQuery dans un autre projet, le service de transfert de données BigQuery nécessite un réseau de connecteurs pour assurer la connectivité réseau privée.

L'appairage de réseaux VPC n'accepte que la communication entre les réseaux directement appairés et ne transfère pas le trafic provenant d'autres connexions. Par conséquent, le trafic qui entre dans un réseau VPC via un rattachement de réseau Private Service Connect ne peut pas traverser une connexion d'appairage pour atteindre un réseau Cloud SQL appairé. Pour établir cette connexion, une VM Compute Engine du réseau du connecteur exécute le proxy d'authentification Cloud SQL. Le proxy met fin à la connexion entrante provenant du rattachement de réseau et établit une connexion authentifiée à l'instance Cloud SQL sur le réseau appairé.

Le schéma suivant illustre les composants réseau et le chemin des données entre le service de transfert de données BigQuery et une instance Cloud SQL privée :

Architecture réseau du service de transfert de données BigQuery vers Cloud SQL.

Avant de commencer

Assurez-vous de disposer des éléments suivants :

  • Accès à un projet Google Cloud avec le connecteur du service de transfert de données BigQuery et à un autre projet Google Cloud avec l'instance Cloud SQL.
  • Une base de données MySQL ou PostgreSQL existante dans un projet Google Cloud .
  • Les autorisations appropriées pour créer un VPC, créer des règles de pare-feu et installer des logiciels.
  • Une instance de machine virtuelle (VM).

Configurer l'appairage de VPC

Pour configurer l'appairage de VPC, vous devez créer un appairage de VPC à partir du projet de connecteur du service de transfert de données BigQuery, créer un appairage de VPC dans le projet de base de données Cloud SQL vers le projet du service de transfert de données BigQuery, et configurer les routes et les règles de pare-feu.

Créer un appairage de VPC à partir du projet de connecteur du service de transfert de données BigQuery

  1. Dans la console Google Cloud , accédez à la page Appairage de réseaux VPC de votre projet de connecteur du service de transfert de données BigQuery.

    Accéder à la page "Appairage de réseaux VPC"

  2. Cliquez sur Créer une connexion d'appairage.

  3. Dans le champ Nom, saisissez un nom pour votre configuration d'appairage.

  4. Pour Votre réseau VPC, sélectionnez le réseau VPC que vous souhaitez appairer dans le projet de connecteur du service de transfert de données BigQuery.

  5. Pour Réseau VPC appairé, sélectionnez l'option Dans un autre projet.

  6. Dans le champ ID du projet, saisissez l'ID du projet Cloud SQL.

  7. Dans le champ Nom du réseau VPC, saisissez le nom du réseau VPC dans le projet Cloud SQL.

  8. Cliquez sur Créer.

Créer un appairage de VPC dans le projet de base de données Cloud SQL

Pour créer un appairage de VPC dans le projet de base de données Cloud SQL vers le projet du service de transfert de données BigQuery, procédez comme suit :

  1. Dans la console Google Cloud , accédez à la page Appairage de réseaux VPC de votre projet de connecteur du service de transfert de données BigQuery.

    Accéder à la page "Appairage de réseaux VPC"

  2. Cliquez sur Créer une connexion d'appairage.

  3. Dans le champ Nom, saisissez un nom pour votre configuration d'appairage.

  4. Sélectionnez le réseau VPC que vous souhaitez appairer dans le projet de base de données Cloud SQL.

  5. Dans le champ ID du projet de pair, saisissez l'ID du projet du service de transfert de données BigQuery.

  6. Pour Réseau VPC appairé, saisissez le nom du réseau VPC dans le projet de connecteur du service de transfert de données BigQuery.

  7. Cliquez sur Créer.

Configurer des routes et des règles de pare-feu

Si vous n'avez pas sélectionné les routes d'importation/exportation lors de la configuration des connexions d'appairage, procédez comme suit :

  1. Accédez à la page Routes de votre projet de connecteur du service de transfert de données BigQuery.

    Accéder à la page Routes

  2. Assurez-vous que les routes existent pour autoriser le trafic entre les environnements VPC appairés.

  3. Accédez à la page Stratégies de pare-feu.

    Accéder aux stratégies de pare-feu

  4. Créez des règles de pare-feu pour autoriser le trafic sur les ports nécessaires (par exemple, le port 3306 pour MySQL et le port 5432 pour PostgreSQL) entre les réseaux appairés.

  5. Ajoutez les règles de pare-feu personnalisées requises du projet de connecteur du service de transfert de données BigQuery au projet hébergé dans la base de données Cloud SQL.

  6. Configurez des routes et des règles de pare-feu pour votre projet avec l'instance Cloud SQL, comme vous l'avez fait lors des étapes précédentes.

Configurer le proxy Cloud SQL

  1. Utilisez SSH pour vous connecter à une instance de machine virtuelle (VM) dans le projet de connecteur du service de transfert de données BigQuery.

  2. Dans le terminal, téléchargez le proxy Cloud SQL :

    wget https://dl.google.com/cloudsql/cloud_sql_proxy.linux.amd64 -O cloud_sql_proxy
    
  3. Mettez à jour les autorisations pour les fichiers téléchargés :

    chmod +x cloud_sql_proxy
    
  4. Exécutez le proxy Cloud SQL :

    ./cloud_sql_proxy -instances=NAME=tcp:3306 or 5432 &
    

    Remplacez NAME par le nom de votre connexion d'instance Cloud SQL.

Se connecter à l'adresse IP interne de Cloud SQL

  1. Utilisez l'adresse IP interne de l'instance Cloud SQL pour les connexions.
  2. Configurez votre application ou votre outil pour qu'il se connecte à l'adresse IP interne, en spécifiant les identifiants et les détails de la base de données appropriés.

Lorsque vous vous connectez à partir d'un autre projet Google Cloud , utilisez l'adresse IP interne de la VM proxy que vous avez déployée précédemment. Cette solution résout les problèmes d'appairage transitif.

Créer le rattachement de réseau

Pour créer le rattachement de réseau dans le projet de connecteur du service de transfert de données BigQuery, procédez comme suit :

  1. Dans la console Google Cloud , accédez à la page Rattachements de réseau.

    Accéder à la page "Rattachements de réseau"

  2. Cliquez sur Créer un rattachement de réseau.

  3. Indiquez un nom pour le rattachement de réseau.

  4. Sélectionnez le réseau VPC approprié.

  5. Dans le champ Région, spécifiez la région où se trouve votre connecteur du service de transfert de données BigQuery.

  6. Pour Sous-réseau, sélectionnez l'option appropriée qui correspond à votre configuration.

  7. Cliquez sur Créer un rattachement de réseau.

Tester la connexion

  1. Vérifiez que la VM avec le proxy Cloud SQL peut se connecter à l'instance Cloud SQL :

    mysql -u USERNAME -p -h IP_ADDRESS
    

    Remplacez les éléments suivants :

    • USERNAME : nom de l'utilisateur de base de données.
    • IP_ADDRESS : adresse IP de l'instance Cloud SQL.
  2. Assurez-vous que les applications du projet de connecteur du service de transfert de données BigQuery peuvent se connecter à l'instance Cloud SQL à l'aide de l'adresse IP interne.

Résoudre les problèmes

Si vous rencontrez des problèmes lors de la configuration de votre réseau, procédez comme suit :

  • Assurez-vous que l'appairage de VPC est établi et que les routes sont correctement configurées.
  • Vérifiez que les règles de pare-feu autorisent le trafic sur les ports requis.
  • Vérifiez les journaux du proxy Cloud SQL pour détecter d'éventuelles erreurs et assurez-vous qu'il fonctionne correctement.
  • Assurez-vous que le rattachement de réseau est correctement configuré et connecté.