Connectivité privée

La connectivité privée permet à Datastream de communiquer avec les ressources de votre réseau cloud privé virtuel (VPC) à l'aide d'une connexion VPC Network Peering au réseau VPC de Datastream.

La connexion d'appairage de réseaux VPC entre votre réseau VPC et le réseau VPC Datastream permet à Datastream de se connecter aux éléments suivants:

La connexion d'appairage de réseaux VPC entre votre réseau VPC et le réseau VPC Datastream ne permet pas à Datastream de se connecter aux éléments suivants:

Pour établir une connectivité entre Datastream et une ressource accessible uniquement à partir de votre réseau VPC, vous pouvez utiliser une VM NAT (Network Address Translation) dans votre réseau VPC. Un cas d'utilisation courant d'une VM NAT est lorsque Datastream doit se connecter à une instance Cloud SQL.

Cette page décrit un exemple de configuration de VM NAT qui permet à Datastream de se connecter de manière privée à une instance Cloud SQL.

Schéma de parcours utilisateur de Datastream

Configurer une VM NAT

  1. Identifiez l'adresse IP de l'instance Cloud SQL à laquelle Datastream doit se connecter.

  2. Identifiez votre réseau VPC. Il s'agit du réseau VPC connecté au réseau VPC Datastream à l'aide de l'appairage de réseaux VPC.

  3. Si vous ne l'avez pas déjà fait, créez une configuration de connectivité privée dans Datastream. Cela crée la connexion d'appairage de réseaux VPC qui connecte votre réseau VPC et le réseau VPC Datastream. Notez la plage d'adresses IP utilisée par la configuration de la connectivité privée Datastream.

  4. Choisissez un type de machine à utiliser pour la VM NAT que vous créerez à l'étape suivante.Google Cloud applique une limite de bande passante sortante maximale par instance pour les paquets acheminés par les sauts suivants dans un réseau VPC, en fonction du type de machine de l'instance de VM. Pour en savoir plus, consultez Sortie vers des destinations routables dans un réseau VPC et Bande passante de sortie maximale par instance.

  5. Créez la VM NAT dans votre réseau VPC. Si votre réseau VPC est un réseau VPC partagé, vous pouvez créer la VM NAT dans le projet hôte ou dans un projet de service, à condition que l'interface réseau de la VM NAT se trouve dans le réseau VPC partagé.

    • Pour réduire le temps aller-retour réseau, créez la VM NAT dans la même région que Datastream.
    • Cet exemple suppose que la VM NAT ne possède qu'une seule interface réseau.
    • Exécutez le script dans une distribution Linux, par exemple Debian 12.
    • Utilisez le script de démarrage suivant. Le script de démarrage est exécuté par root à chaque démarrage de la VM. Ce script inclut des commentaires expliquant ce que fait chaque ligne du script. Dans le script, remplacez CLOUD_SQL_INSTANCE_IP par l'adresse IP de l'instance Cloud SQL et DATABASE_PORT par le port de destination utilisé par le logiciel de base de données.
    #! /bin/bash
    
    export DB_ADDR=CLOUD_SQL_INSTANCE_IP
    export DB_PORT=DATABASE_PORT
    
    # Enable the VM to receive packets whose destinations do
    # not match any running process local to the VM
    echo 1 > /proc/sys/net/ipv4/ip_forward
    
    # Ask the Metadata server for the IP address of the VM nic0
    # network interface:
    md_url_prefix="http://169.254.169.254/computeMetadata/v1/instance"
    vm_nic_ip="$(curl -H "Metadata-Flavor: Google" ${md_url_prefix}/network-interfaces/0/ip)"
    
    # Clear any existing iptables NAT table entries (all chains):
    iptables -t nat -F
    
    # Create a NAT table entry in the prerouting chain, matching
    # any packets with destination database port, changing the destination
    # IP address of the packet to the SQL instance IP address:
    iptables -t nat -A PREROUTING \
         -p tcp --dport $DB_PORT \
         -j DNAT \
         --to-destination $DB_ADDR
    
    # Create a NAT table entry in the postrouting chain, matching
    # any packets with destination database port, changing the source IP
    # address of the packet to the NAT VM's primary internal IPv4 address:
    iptables -t nat -A POSTROUTING \
         -p tcp --dport $DB_PORT \
         -j SNAT \
         --to-source $vm_nic_ip
    
    # Save iptables configuration:
    iptables-save
  6. Créez une règle de pare-feu d'autorisation d'entrée (ou une règle dans une stratégie de pare-feu réseau globale, une stratégie de pare-feu réseau régionale ou une stratégie de pare-feu hiérarchique) avec les caractéristiques suivantes:

    • Direction: entrée
    • Action: autoriser
    • Paramètre cible: au moins la VM NAT
    • Paramètre source: plage d'adresses IP utilisée par la configuration de connectivité privée Datastream
    • Protocol (Protocole) : TCP
    • Port: doit inclure au moins DATABASE_PORT
  7. La règle implicite d'autorisation pour le trafic sortant permet à la VM NAT d'envoyer des paquets vers n'importe quelle destination. Si votre réseau VPC utilise des règles de pare-feu de refus du trafic sortant, vous devrez peut-être créer une règle de pare-feu autorisant le trafic sortant pour autoriser la VM NAT à envoyer des paquets à l'instance Cloud SQL. Si une règle d'autorisation de sortie est nécessaire, utilisez les paramètres suivants:

    • Direction: sortie
    • Action: autoriser
    • Paramètre cible: au moins la VM NAT
    • Paramètre de destination: adresse IP de l'instance Cloud SQL
    • Protocol (Protocole) : TCP
    • Port: doit inclure au moins DATABASE_PORT
  8. Assurez-vous d'avoir configuré votre instance Cloud SQL pour qu'elle accepte les connexions à partir de l'adresse IPv4 interne principale utilisée par l'interface réseau de votre VM NAT. Pour obtenir des instructions, consultez la section Autoriser avec des réseaux autorisés dans la documentation Cloud SQL.

  9. Créez un profil de connexion dans Datastream. Dans les informations de connexion du profil, spécifiez l'adresse IPv4 interne principale de la VM NAT que vous avez créée. Saisissez le port de la base de données source dans le champ de port du profil de connexion.

Configurer une paire de VM NAT et un équilibreur de charge réseau passthrough interne

Pour améliorer la fiabilité d'une solution de VM NAT, envisagez l'architecture suivante, qui utilise une paire de VM NAT et un équilibreur de charge réseau passthrough interne:

  1. Créez deux VM NAT dans différentes zones de la même région. Suivez les instructions de la section Configurer une VM NAT pour créer chaque VM et placez-la dans son propre groupe d'instances non géré zonal.

    Vous pouvez également créer un groupe d'instances géré régional. Dans le modèle de groupe d'instances géré, incluez un script de démarrage comme l'exemple de script de démarrage dans les instructions Configurer une VM NAT.

  2. Créez un équilibreur de charge réseau passthrough interne dont le service de backend utilise le ou les groupes d'instances de l'étape précédente comme backends. Pour obtenir un exemple d'équilibreur de charge réseau passthrough interne, consultez la page Configurer un équilibreur de charge réseau passthrough interne avec backends de groupe d'instances de VM.

    Lorsque vous configurez la vérification de l'état de l'équilibreur de charge, vous pouvez utiliser une vérification de l'état TCP qui utilise un port TCP de destination correspondant à DATABASE_PORT. Les paquets de vérification de l'état sont acheminés vers le CLOUD_SQL_INSTANCE_IP conformément à la configuration de la VM NAT. Vous pouvez également exécuter un processus local sur la VM NAT qui répond à une vérification de l'état TCP ou HTTP sur un port personnalisé.

  3. Créez des règles de pare-feu et configurez les réseaux autorisés Cloud SQL comme décrit dans les instructions de la section Configurer une VM NAT. Assurez-vous que les réseaux autorisés Cloud SQL incluent l'adresse IPv4 interne principale des deux VM NAT.

  4. Lorsque vous créez un profil de connexion Datastream, spécifiez l'adresse IP de la règle de transfert de l'équilibreur de charge réseau passthrough interne dans les informations de connexion du profil.

Étape suivante