Adresse IP privée

Cette page fournit des informations sur l'utilisation de la connectivité IP privée avec Cloud SQL. Pour obtenir des instructions détaillées sur la configuration d'une instance Cloud SQL en vue de l'utilisation d'une adresse IP privée, consultez la page Configurer une adresse IP privée.

Aperçu

Lorsque vous configurez une instance Cloud SQL pour vous servir d'une adresse IP privée, vous utilisez un accès aux services privés. L'accès aux services privés est mis en œuvre sous la forme d'une connexion d'appairage VPC entre votre réseau VPC et le réseau VPC des services Google sous-jacent, où réside votre instance Cloud SQL. Même si plusieurs plages d'adresses IP peuvent être allouées, Google s'occupe toujours de la plage d'adresses IP utilisée pour l'adresse IP privée. Le trafic IP utilisant des services privés n’est jamais exposé à l’Internet public. Par conséquent, les vecteurs d'attaque sont moins nombreux. De plus, une adresse IP privée peut présenter une latence réseau inférieure à celle d'une adresse IP publique.

Vous pouvez utiliser l'accès aux services privés pour vous connecter aux ressources suivantes :

  • Ressources Cloud SQL ayant accès à un réseau VPC

  • Ressources Cloud SQL provenant de sources externes à travers un tunnel VPN ou une connexion Cloud Interconnect à votre réseau VPC.

Vous pouvez vous connecter via une adresse IP privée depuis n'importe quelle région. Vous pouvez également vous connecter par le biais de VPC partagés entre des projets.

Le schéma suivant montre une instance Compute Engine (VM1) hébergée dans le même projet GCP que les instances Cloud SQL configurées avec une adresse IP privée (DB1 et DB2). Les adresses IP des instances Cloud SQL font partie de la plage allouée par l'accès aux services privés. Elles sont appairées au réseau VPC via la connexion au service privé.

Diagramme de configuration d'adresses IP privées Description dans le texte ci-dessus.

Configuration requise pour les adresses IP privées

Pour utiliser des adresses IP privées, votre réseau et votre environnement d’application doivent répondre aux exigences décrites ci-après. En outre, la configuration initiale d'adresses IP privées nécessite certaines autorisations IAM spécifiques.

Configuration réseau requise

Lorsque vous créez un réseau VPC, vous devez définir une plage d'adresses IP allouée pour le réseau et créer une connexion de service privée. La plage d'adresses englobe les adresses IP de vos instances Cloud SQL et ne peut pas chevaucher d'autres plages dans les réseaux VPC du projet.

La plage d'adresses IP allouée garantit que les plages d'adresses IP de sous-réseau et les destinations des routes personnalisées dans votre réseau VPC ne chevauchent pas les plages d'adresses utilisées par la connexion d'accès aux services privés. Vous pouvez créer manuellement une plage d'adresses IP allouée si vous souhaitez contrôler le bloc CIDR. Vous pouvez également laisser Google Cloud en créer une à votre place.

Cloud SQL alloue un sous-réseau de taille /24 appartenant à la plage d'adresses IP d'accès aux services privés pour chaque combinaison de région et de type de base de données. Par exemple, pour placer des instances MySQL dans deux régions, la plage d'adresses IP allouée doit contenir au moins deux sous-réseaux de taille /24. Le déploiement de MySQL et de PostgreSQL dans deux régions nécessite quatre sous-réseaux de taille /24. Les instances SQL Server peuvent partager le même sous-réseau avec les instances MySQL d'une région.

Les connexions à une instance Cloud SQL à l'aide d'une adresse IP privée sont automatiquement autorisées pour les plages d'adresses RFC 1918. De cette façon, tous les clients privés peuvent accéder à la base de données sans passer par le proxy. Les plages d'adresses non-RFC 1918 doivent être configurées en tant que réseaux autorisés.

Par défaut, Cloud SQL n'apprend pas les routes de sous-réseau non-RFC 1918 à partir de votre VPC. Vous devez mettre à jour l'appairage de réseaux vers Cloud SQL pour exporter les routes non-RFC 1918.

Exigences relatives à l'environnement d'application

  • Si vous vous connectez depuis GKE, vous devez en exécuter la version 1.8 ou une version ultérieure sur un cluster de VPC natif.

Exigences relatives à l'API et à IAM

  • Vous devez activer l'API Service Networking pour votre projet.

    Si vous utilisez un réseau VPC partagé, vous devez également activer cette API pour le projet hôte.

  • La mise en œuvre d'un accès aux services privés nécessite le rôle IAM compute.networkAdmin.

    Si vous utilisez un réseau VPC partagé, vous devez également attribuer le rôle compute.networkAdmin à l'utilisateur sur le projet hôte.

    Une fois l'accès aux services privés établi pour votre réseau, vous n'avez plus besoin du rôle IAM compute.networkAdmin pour configurer une instance de sorte qu'elle utilise une adresse IP privée.

Sécurité

Un certain niveau de chiffrement est fourni pour le trafic circulant via l'accès aux services privés. Pour en savoir plus, consultez la page Chiffrement et authentification du réseau virtuel de Google Cloud.

Vous pouvez configurer le proxy Cloud SQL pour qu'il se connecte via une adresse IP privée et fournisse une authentification à l'aide d'identifiants IAM ainsi qu'un chiffrement de bout en bout utilisant un certificat SSL/TLS en rotation.

Si vous gérez vous-même vos certificats SSL/TLS afin de répondre à des exigences de sécurité spécifiques, consultez les instructions fournies sur la page Configurer SSL/TLS.

La création d'un réseau VPC pour chaque instance avec une adresse IP privée offre une meilleure isolation du réseau plutôt que de placer toutes les instances dans le réseau VPC "par défaut".

Présentation de la configuration de l'accès de votre réseau à des services privés

Lorsque vous configurez la connectivité IP privée pour la première fois sur un réseau VPC donné, vous devez effectuer une procédure ponctuelle afin de mettre en place l'accès aux services privés pour Cloud SQL.

Une fois que vous avez établi l'accès aux services privés, vous pouvez créer une instance Cloud SQL configurée pour utiliser une adresse IP privée, ou bien configurer une adresse IP privée pour une instance Cloud SQL existante. Pour obtenir des instructions détaillées, consultez la page Configurer une adresse IP privée.

Aide-mémoire des rubriques concernant les adresses IP privées

Si vous gérez des instances Cloud SQL utilisant des adresses IP privées, certaines des thématiques suivantes peuvent vous intéresser :

Sujet Discussion
Réseaux VPC partagés Vous pouvez créer des instances Cloud SQL dotées d'adresses IP privées dans un réseau VPC partagé. Cependant, vous ne pouvez pas attribuer à une instance Cloud SQL existante une adresse IP privée dans un réseau VPC partagé.
Régions Vous pouvez vous connecter via une adresse IP privée entre différentes régions.
Anciens réseaux Vous ne pouvez pas vous connecter à l'adresse IP privée d'une instance Cloud SQL depuis un ancien réseau. Les anciens réseaux ne sont pas compatibles avec l’appairage de réseaux VPC ni avec l’accès aux services privés.
Suppression d'une adresse IP privée Une fois que vous avez configuré une instance Cloud SQL pour qu'elle utilise une adresse IP privée, vous ne pouvez pas retirer la fonctionnalité d'adresse IP privée de cette instance.
Adresses IP publique et privée Vous pouvez utiliser à la fois une adresse IP publique et une adresse IP privée pour vous connecter à la même instance Cloud SQL. Ces deux méthodes de connexion ne sont pas incompatibles.
Instances Cloud SQL existantes Vous pouvez configurer une instance pour qu'elle utilise une adresse IP privée au moment de sa création. Vous pouvez également configurer une instance existante de sorte qu'elle utilise une adresse IP privée. Lorsque vous configurez une instance existante pour qu'elle utilise une adresse IP privée ou que vous modifiez le réseau auquel elle est connectée, l'instance redémarre, ce qui entraîne un temps d'arrêt de quelques minutes.
Adresses IP statiques L'adresse IP privée de l'instance Cloud SQL est statique. Elle ne change pas.
Instances dupliquées Les instances dupliquées héritent du même état de connectivité IP privée que l'instance principale. Vous ne pouvez pas configurer une adresse IP privée directement sur une instance dupliquée.
Cloud Run Vous ne pouvez pas utiliser d'adresses IP privées avec Cloud Run.
Proxy Cloud SQL Pour permettre la connexion à une instance Cloud SQL à l'aide d'une adresse IP privée, le proxy doit se trouver sur une ressource ayant accès au même réseau VPC que l'instance. Si les deux types d'adresses IP sont activés sur l'instance, le proxy utilise par défaut l'adresse IP publique. Pour s'assurer que le proxy utilise l'adresse IP privée, l'utilisateur doit lui transmettre l'option -ip_address_types=PRIVATE. En savoir plus
Appairage de réseaux VPC Une connexion utilisant l'accès aux services privés repose sur l'appairage de réseaux VPC. Cependant, vous ne créez pas explicitement l'appairage de réseaux VPC, car celui-ci est interne à Google Cloud. Après avoir créé la connexion d'accès aux services privés, vous pouvez voir son appairage au réseau VPC sous-jacent sur la page "Appairage de réseaux VPC" de Cloud Console. Ne supprimez pas cet appairage, sauf si vous souhaitez supprimer la connexion privée.

Apprenez-en plus sur l'appairage de réseaux VPC.

VPC Service Controls VPC Service Controls améliore votre capacité à limiter le risque d'exfiltration des données. Cette solution vous permet de créer des périmètres autour de l'instance Cloud SQL. VPC Service Controls limite l'accès depuis l'extérieur aux ressources situées dans le périmètre. Seuls les clients et les ressources situés dans le périmètre peuvent interagir entre eux. Pour en savoir plus, consultez la page Présentation de VPC Service Controls. Consultez également les limites applicables à Cloud SQL lors de l'utilisation de VPC Service Controls. Pour utiliser VPC Service Controls avec Cloud SQL, consultez la page Configurer VPC Service Controls.
Appairage transitif Seuls les réseaux directement appairés peuvent communiquer. L'appairage transitif n'est pas disponible. En d'autres termes, si le réseau VPC N1 est appairé à N2 et N3, mais si N2 et N3 ne sont pas directement connectés, le réseau VPC N2 ne peut pas communiquer avec le réseau VPC N3 via l'appairage de réseaux VPC.

Les instances Cloud SQL de différents projets Google Cloud peuvent se connecter les unes aux autres à l'aide de réseaux VPC partagés.

Déplacement d'instances Cloud SQL Les instances Cloud SQL ne peuvent être déplacées qu'entre des réseaux appartenant au projet dans lequel elles résident. Par ailleurs, il n'est pas possible de déplacer des instances Cloud SQL d'un projet à l'autre, ni entre des réseaux hébergés par des projets différents.

Étapes suivantes