Accès au VPC sans serveur

L'accès au VPC sans serveur vous permet de vous connecter directement à votre réseau cloud privé virtuel (VPC) à partir d'environnements sans serveur tels que Cloud Run, App Engine ou les fonctions Cloud Run. La configuration de l'accès au VPC sans serveur permet à votre environnement sans serveur d'envoyer des requêtes à votre réseau VPC à l'aide de DNS internes et d'adresses IP internes (telles que définies par les normes RFC 1918 et RFC 6598). Les réponses à ces requêtes utilisent également votre réseau interne.

L'utilisation de l'accès au VPC sans serveur présente deux avantages principaux :

  • Les requêtes envoyées à votre réseau VPC ne sont jamais exposées à Internet.
  • La communication via l'accès au VPC sans serveur peut avoir moins de latence qu'Internet.

L'accès au VPC sans serveur envoie le trafic interne de votre réseau VPC vers votre environnement sans serveur uniquement lorsque ce trafic est une réponse à une requête envoyée depuis votre environnement sans serveur via le connecteur d'accès au VPC sans serveur. Pour en savoir plus sur l'envoi d'autres trafics internes vers votre environnement sans serveur, consultez la page Accès privé à Google.

Pour accéder aux ressources de plusieurs réseaux VPC et projets Google Cloud, vous devez également configurer le VPC partagé ou l'appairage de réseaux VPC.

Fonctionnement

L'accès au VPC sans serveur repose sur une ressource appelée connecteur. Un connecteur gère le trafic entre votre environnement sans serveur et votre réseau VPC. Lorsque vous créez un connecteur dans votre projet Google Cloud, vous l'associez à un réseau VPC et à une région spécifiques. Vous pouvez ensuite configurer vos services sans serveur de sorte qu'ils utilisent le connecteur pour le trafic réseau sortant.

Plages d'adresses IP

Deux options permettent de définir la plage d'adresses IP d'un connecteur :

  • Sous-réseau/28 : Vous pouvez spécifier un sous-réseau existant s'il n'y a pas de ressources utilisant déjà le sous-réseau.
  • Plage CIDR : vous pouvez spécifier une plage CIDR /28 inutilisée. Lorsque vous spécifiez cette plage, assurez-vous qu'elle ne chevauche aucune plage CIDR en cours d'utilisation.

Le trafic envoyé via le connecteur à votre réseau VPC provient du sous-réseau ou de la plage CIDR que vous spécifiez.

Règles de pare-feu

Les règles de pare-feu sont nécessaires au fonctionnement du connecteur et à sa communication avec d'autres ressources, y compris celles de votre réseau.

Règles de pare-feu pour les connecteurs dans les réseaux VPC autonomes ou les projets hôtes de VPC partagés

Si vous créez un connecteur dans un réseau VPC autonome ou dans le projet hôte d'un réseau VPC partagé, Google Cloud crée toutes les règles de pare-feu nécessaires. Ces règles de pare-feu n'existent que tant que le connecteur associé existe. Elles sont visibles dans la console Google Cloud, mais vous ne pouvez pas les modifier ni les supprimer.

But des règles de pare-feu Format du nom Type Action Priorité Protocoles et ports
Autorise le trafic vers les instances de VM du connecteur à partir des plages de sondes de vérification de l'état de l'état (35.191.0.0/16, 35.191.192.0/18, 130.211.0.0/22) sur certains ports. aet-CONNECTOR_REGION-CONNECTOR_NAME-hcfw Entrée Autoriser 100 TCP:667
Autorise le trafic vers les instances de VM du connecteur à partir de l'infrastructure sans serveur sous-jacente de Google (35.199.224.0/19) sur certains ports. aet-CONNECTOR_REGION-CONNECTOR_NAME-rsgfw Entrée Autoriser 100 TCP:667, UDP:665-666, ICMP
Autorise le trafic des instances de VM du connecteur vers l'infrastructure sans serveur sous-jacente de Google (35.199.224.0/19) sur certains ports. aet-CONNECTOR_REGION-CONNECTOR_NAME-earfw Sortie Autoriser 100 TCP:667, UDP:665-666, ICMP
Bloque le trafic provenant des instances de VM du connecteur vers l'infrastructure sans serveur sous-jacente de Google (35.199.224.0/19) pour tous les autres ports. aet-CONNECTOR_REGION-CONNECTOR_NAME-egrfw Sortie Refuser 100 TCP:1-666, 668-65535, UDP:1-664, 667-65535
Autorise tout le trafic provenant des instances de VM du connecteur (en fonction de leur adresse IP) vers toutes les ressources du réseau VPC du connecteur. aet-CONNECTOR_REGION-CONNECTOR_NAME-sbntfw Entrée Autoriser 1000 TCP, UDP, ICMP
Autorise tout le trafic provenant des instances de VM du connecteur (en fonction de leur balise réseau) vers toutes les ressources du réseau VPC du connecteur. aet-CONNECTOR_REGION-CONNECTOR_NAME-tagfw Entrée Autoriser 1000 TCP, UDP, ICMP

Vous pouvez encore limiter l'accès du connecteur aux ressources de son réseau VPC cible à l'aide de règles de pare-feu VPC ou de règles de stratégies de pare-feu. Lorsque vous ajoutez des règles de pare-feu, assurez-vous qu'elles utilisent une priorité supérieure à 100 afin qu'elles ne soient pas en conflit avec les règles de pare-feu masquées définies par Google Cloud. Pour en savoir plus, consultez la section Limiter l'accès des VM du connecteur aux ressources de réseau VPC.

Règles de pare-feu pour les connecteurs dans les projets de service de VPC partagé

Si vous créez un connecteur dans un projet de service et qu'il cible un réseau VPC partagé dans le projet hôte, vous devez ajouter des règles de pare-feu afin d'autoriser le trafic nécessaire au fonctionnement du connecteur.

Vous pouvez également limiter l'accès du connecteur aux ressources de son réseau VPC cible à l'aide de règles de pare-feu VPC ou de règles de stratégies de pare-feu. Pour en savoir plus, consultez la section Accès aux ressources VPC.

Débit et scaling

Un connecteur d'accès au VPC sans serveur est constitué d'instances de connecteur. Les instances de connecteur peuvent utiliser l'un des types de machines disponibles. Les types de machines plus volumineux fournissent un débit plus élevé. Vous pouvez afficher le débit et les coûts estimés pour chaque type de machine dans la console Google Cloud et dans le tableau suivant.

Type de machine Plage de débit estimé en Mbit/s* Prix
(instance de connecteur plus coûts liés aux transferts de données sortants sur le réseau)
f1-micro 100-500 Tarifs f1-micro
e2-micro 200-1000 Tarifs e2-micro
e2-standard-4 3200-16000 Tarifs standard e2

* Les plages de débit maximal sont des estimations basées sur un fonctionnement normal. Le débit réel dépend de nombreux facteurs. Consultez la section Bande passante réseau de VM.

Vous pouvez définir le nombre minimal et maximal d'instances de connecteur autorisées pour votre connecteur. La valeur minimale doit être égale à 2. La valeur maximale ne peut pas dépasser 10 et doit être supérieure à la valeur minimale. Si vous ne spécifiez pas de valeurs minimale et maximale pour le nombre d'instances de votre connecteur, la valeur minimale de 2 et la valeur maximale de 10 sont appliquées par défaut. Un connecteur peut temporairement dépasser la valeur définie pour le nombre maximal d'instances lorsque Google effectue une maintenance bimensuelle (mises à jour de sécurité, par exemple). Lors de la maintenance, des instances supplémentaires peuvent être ajoutées pour garantir que le service n'est pas interrompu. Après la maintenance, les connecteurs reviennent au même nombre d'instances qu'avant la période de maintenance. Les opérations de maintenance durent généralement quelques minutes. Pour réduire l'impact lors de la maintenance, utilisez des pools de connexions et ne comptez pas sur des connexions de plus d'une minute. Les instances cessent d'accepter les requêtes une minute avant l'arrêt.

L'accès au VPC sans serveur effectue un scaling automatique du nombre d'instances dans votre connecteur à mesure que le trafic augmente. Les instances ajoutées sont du type spécifié pour votre connecteur. Les connecteurs ne peuvent pas combiner plusieurs types de machines. Les connecteurs ne peuvent pas effectuer de scaling vertical. Pour empêcher un scaling horizontal trop fréquent des connecteurs, définissez le nombre maximal d'instances sur un nombre faible. Si un scaling horizontal a été appliqué à votre connecteur et que vous préférez avoir moins d'instances, recréez le connecteur avec le nombre d'instances nécessaire.

Exemple

Si vous choisissez f1-micro comme type de machine et que vous utilisez les valeurs par défaut pour le nombre minimal et maximal d'instances (2 et 10 respectivement), le débit estimé pour votre connecteur sera de 100 Mbit/s au nombre minimal d'instances par défaut, et de 500 Mbit/s au nombre maximal d'instances par défaut.

Graphique du débit

Vous pouvez surveiller le débit actuel depuis la page "Détails du connecteur" dans la console Google Cloud. Le graphique de débit de cette page affiche une vue détaillée des métriques de débit du connecteur.

Tags réseau

Les tags réseau d'accès au VPC sans serveur vous permettent de faire référence aux connecteurs VPC dans les règles de pare-feu et les routes.

Chaque connecteur d'accès au VPC sans serveur reçoit automatiquement les deux tags réseau suivants (parfois appelés tags d'instance) :

  • Tag réseau universel (vpc-connector) : s'applique à tous les connecteurs existants et à tous les connecteurs ultérieurs.

  • Tag réseau unique (vpc-connector-REGION-CONNECTOR_NAME) : s'applique au connecteur CONNECTOR_NAME dans la région REGION.

Ces tags réseau ne peuvent pas être supprimés. Il n'est pas possible d'ajouter des tags réseau.

Cas d'utilisation

Vous pouvez utiliser l'accès au VPC sans serveur pour accéder aux instances de VM Compute Engine, aux instances Memorystore et à toute autre ressource disposant d'un DNS interne ou d'une adresse IP interne. En voici quelques exemples :

  • Vous exploitez Memorystore pour stocker les données associées à un service sans serveur.
  • Vos charges de travail sans serveur utilisent un logiciel tiers que vous exécutez sur une VM Compute Engine.
  • Vous exécutez un service de backend sur un groupe d'instances géré dans Compute Engine et avez besoin que votre environnement sans serveur communique avec ce backend sans exposition au réseau Internet.
  • Votre environnement sans serveur doit accéder aux données de votre base de données sur site via Cloud VPN.

Exemple

Dans cet exemple, un projet Google Cloud exécute plusieurs services dans les environnements sans serveur suivants: App Engine, les fonctions Cloud Run et Cloud Run.

Un connecteur d'Accès au VPC sans serveur a été créé et attribué à la plage d'adresses IP 10.8.0.0/28. Par conséquent, l'adresse IP source de toute requête envoyée depuis le connecteur se situe dans cette plage.

Le réseau VPC contient deux ressources. L'une des ressources possède l'adresse IP interne 10.0.0.4. L'autre ressource possède l'adresse IP interne 10.1.0.2 et se trouve dans une région différente de celle du connecteur d'accès au VPC sans serveur.

Le connecteur gère l'envoi et la réception des requêtes et des réponses directement à partir de ces adresses IP internes. Lorsque le connecteur envoie des requêtes à la ressource avec l'adresse IP interne 10.1.0.2, des coûts de transfert de données sortant s'appliquent, car cette ressource se trouve dans une région différente.

Toutes les requêtes et réponses entre les environnements sans serveur et les ressources du réseau VPC circulent en interne.

Les requêtes envoyées à des adresses IP externes passent toujours par Internet et n'utilisent pas le connecteur d'accès au VPC sans serveur.

Le schéma suivant présente cette configuration.

Exemple d'accès au VPC sans serveur.
Exemple d'accès au VPC sans serveur (cliquez pour agrandir).

Tarifs

Pour en savoir plus sur la tarification de l'Accès au VPC sans serveur, consultez la section Accès au VPC sans serveur de la page "Tarifs de VPC".

Services compatibles

Le tableau suivant indique les types de réseaux que vous pouvez atteindre à l'aide de l'accès au VPC sans serveur :

Service de connectivité Prise en charge de l'accès au VPC sans serveur
VPC
VPC partagé
Anciens réseaux
Réseaux connectés à Cloud Interconnect
Réseaux connectés à Cloud VPN
Réseaux connectés à l'appairage de réseaux VPC

Le tableau suivant indique les environnements sans serveur compatibles avec l'accès au VPC sans serveur :

Environnement sans serveur Prise en charge de l'accès au VPC sans serveur
Cloud Run
Knative serving*
Fonctions Cloud Run
Environnement standard App Engine Tous les environnements d'exécution, sauf PHP 5
Environnement flexible App Engine*

*Si vous souhaitez utiliser des adresses IP internes lors de la connexion à partir de Knative serving ou de l'environnement flexible App Engine, vous n'avez pas besoin de configurer l'accès au VPC sans serveur. Assurez-vous simplement que votre service est déployé dans un réseau VPC disposant d'une connectivité aux ressources que vous souhaitez atteindre.

Protocoles réseau compatibles

Le tableau suivant décrit les protocoles réseau compatibles avec les connecteurs d'accès au VPC sans serveur.

Protocole Acheminer uniquement les requêtes envoyées à des adresses IP privées via le connecteur Acheminer tout le trafic via le connecteur
TCP
UDP
ICMP Compatible seulement avec les adresses IP externes

Régions où le service est disponible

Les connecteurs d'accès au VPC sans serveur sont compatibles avec toutes les régions qui prennent en charge Cloud Run, Cloud Run Functions ou l'environnement standard App Engine.

Pour afficher les régions disponibles, procédez comme suit :

gcloud compute networks vpc-access locations list

Étapes suivantes