À propos des services publiés

Ce document explique comment utiliser Private Service Connect pour rendre un service disponible pour les clients de services.

En tant que producteur de services, vous pouvez utiliser Private Service Connect pour publier des services à l'aide d'adresses IP internes sur votre réseau VPC. Vos services publiés sont accessibles aux clients de services en utilisant des adresses IP internes dans leurs réseaux VPC.

Pour rendre un service disponible pour les clients, vous devez créer un ou plusieurs sous-réseaux dédiés. Vous créez ensuite un rattachement de service qui fait référence à ces sous-réseaux. Le rattachement de service peut avoir des préférences de connexion différentes.

Types de clients de service

Deux types de clients peuvent se connecter à un service Private Service Connect :

Les points de terminaison sont basés sur une règle de transfert.

Figure 1 : Un point de terminaison permet aux clients de services d'envoyer du trafic depuis le réseau VPC du client vers des services du réseau VPC du producteur de services (cliquez pour agrandir).

Les backends sont basés sur un équilibreur de charge.

Figure 2. Un backend qui utilise un équilibreur de charge d'application externe global permet aux clients de services dotés d'un accès Internet d'envoyer du trafic aux services du réseau VPC du producteur de services (cliquez pour agrandir).

Configuration du service Private Service Connect

Lorsque vous créez un service Private Service Connect, vous configurez un sous-réseau, un rattachement de service et une préférence de connexion. Vous pouvez également configurer un domaine DNS pour le service. Ces configurations sont décrites dans les sections suivantes.

Sous-réseaux NAT

Les rattachements de service Private Service Connect sont configurés avec un ou plusieurs sous-réseaux NAT (également appelés sous-réseaux Private Service Connect). Les paquets du réseau VPC du client sont traduits à l'aide de la traduction NAT source (SNAT) afin que leurs adresses IP sources d'origine soient converties en adresses IP sources du sous-réseau NAT du réseau VPC du producteur.

Les rattachements de service peuvent avoir plusieurs sous-réseaux NAT. Des sous-réseaux NAT peuvent être ajoutés au rattachement de service à tout moment, sans interrompre le trafic.

Alors qu'un rattachement de service peut avoir plusieurs sous-réseaux NAT configurés, un sous-réseau NAT ne peut pas être utilisé dans plusieurs rattachements de service.

Les sous-réseaux Private Service Connect NAT ne peuvent pas être utilisés pour des ressources telles que des instances de VM ou des règles de transfert. Les sous-réseaux ne sont utilisés que pour fournir les adresses IP de SNAT des connexions client entrantes.

Dimensionnement du sous-réseau NAT

Lorsque vous publiez un service, vous créez un sous-réseau NAT et choisissez une plage d'adresses IP. La taille du sous-réseau détermine le nombre de points de terminaison ou de backends Private Service Connect pouvant se connecter simultanément au rattachement de service. Les adresses IP sont utilisées à partir du sous-réseau NAT en fonction du nombre de connexions Private Service Connect. Si toutes les adresses IP du sous-réseau NAT sont utilisées, toutes les connexions Private Service Connect supplémentaires échouent. C'est pourquoi il est important de dimensionner correctement le sous-réseau NAT.

Lorsque vous choisissez une taille de sous-réseau, tenez compte des points suivants :

  • Il y a quatre Adresses IP réservées dans un sous-réseau NAT. Le nombre d'adresses IP disponibles est donc de 2(32 - PREFIX_LENGTH) - 4. Par exemple, si vous créez un sous-réseau NAT avec une longueur de préfixe de /24, Private Service Connect peut utiliser 252 adresses IP pour SNAT. Un sous-réseau /29 avec 4 adresses IP disponibles est la plus petite taille compatible avec les réseaux VPC.

  • Une adresse IP est utilisée à partir du sous-réseau NAT pour chaque point de terminaison ou backend connecté au rattachement de service.

  • Lorsque vous estimez le nombre d'adresses IP dont vous avez besoin pour les points de terminaison et les backends, tenez compte des services mutualisés ou des clients qui utilisent un accès multiple pour Private Service Connect.

  • Le nombre de connexions TCP ou UDP, de clients ou de réseaux VPC consommateur n'a pas d'incidence sur l'utilisation des adresses IP du sous-réseau NAT.

Par exemple, si deux points de terminaison sont connectés à un même rattachement de service, deux adresses IP sont consommées à partir du sous-réseau NAT. Si le nombre de points de terminaison ne change pas, vous pouvez utiliser un sous-réseau /29 avec quatre adresses IP utilisables pour ce rattachement de service.

Surveillance du sous-réseau NAT

Pour garantir que les connexions Private Service Connect n'échouent pas en raison de l'indisponibilité des adresses IP d'un sous-réseau NAT, nous vous recommandons de procéder comme suit :

  • Surveillez la métrique de rattachement de service private_service_connect/producer/used_nat_ip_addresses. Assurez-vous que le nombre d'adresses IP NAT utilisées ne dépasse pas la capacité des sous-réseaux NAT d'un rattachement de service.
  • Surveillez l'état de connexion des connexions du rattachement de service. Si une connexion est à l'état Attention requise, il se peut qu'il n'y ait plus d'adresses IP disponibles dans les sous-réseaux NAT du rattachement.
  • Pour les services mutualisés, vous pouvez utiliser des limites de connexion pour vous assurer qu'un seul client n'épuise pas la capacité des sous-réseaux NAT d'un rattachement de service.

Si nécessaire, vous pouvez ajouter des sous-réseaux NAT au rattachement de service à tout moment, sans interrompre le trafic.

Nombre maximal de connexions

Une seule VM de producteur peut accepter 65 536 connexions TCP et 65 536 connexions UDP simultanées à partir d'un seul point de terminaison Private Service Connect. Aucune limite ne s'applique au nombre total de connexions TCP et UDP qu'un point de terminaison Private Service Connect peut recevoir de manière globale sur tous les backends du producteur. Les VM clientes peuvent utiliser les 65 536 ports lors du lancement de connexions TCP ou UDP à un point de terminaison Private Service Connect. Toutes les traductions d'adresse réseau sont effectuées localement sur l'hôte producteur, qui ne nécessite pas de pool de ports NAT alloué de manière centralisée.

Autres points à noter

Les autres sous-réseaux NAT sont les suivants :

  • Le délai d'inactivité du mappage UDP est de 30 secondes et ne peut pas être configuré.

  • Le délai d'inactivité de la connexion TCP une fois celle-ci établie est de 20 minutes et ne peut pas être configuré.

  • Le délai d'inactivité de la connexion TCP transitoire est de 30 secondes et ne peut pas être configuré.

  • Il existe un délai de deux minutes avant qu'un 5-tuple (adresse IP source et port source du sous-réseau NAT plus protocole, adresse IP et port de destination) ne puisse être réutilisé.

  • La configuration SNAT pour Private Service Connect n'accepte pas les fragments d'adresses IP.

Rattachements de service

Les producteurs de services exposent leur service via un rattachement de service.

  • Pour exposer un service, un producteur de services crée un rattachement de service qui fait référence à la règle de transfert de l'équilibreur de charge du service.

  • Pour accéder à un service, un client de services crée un point de terminaison qui fait référence au rattachement de service.

L'URI du rattachement de service a le format suivant : projects/SERVICE_PROJECT/regions/REGION/serviceAttachments/SERVICE_NAME.

Chaque équilibreur de charge ne peut être référencé que par un seul rattachement de service. Vous ne pouvez pas configurer plusieurs rattachements de service qui utilisent le même équilibreur de charge.

Préférences de connexion

Chaque rattachement de service possède une préférence de connexion qui indique si les requêtes de connexion sont automatiquement acceptées. Trois options sont proposées :

  • Accepter automatiquement toutes les connexions. Le rattachement de service accepte automatiquement toutes les requêtes de connexion entrantes de n'importe quel client. L'acceptation automatique peut être remplacée par une règle d'administration qui bloque les connexions entrantes.
  • Accepter les connexions pour les réseaux sélectionnés. Le rattachement de service n'accepte les requêtes de connexion entrantes que si le réseau VPC client cfigure sur la liste d'acceptation des rattachements de service.
  • Accepter les connexions pour les projets sélectionnés. Le rattachement de service n'accepte les requêtes de connexion entrantes que si le projet client figure sur la liste d'acceptation des rattachements de service.

Nous vous recommandons d'accepter les connexions pour les projets ou les réseaux sélectionnés. L'acceptation automatique de toutes les connexions peut être appropriée si vous contrôlez l'accès des clients par d'autres moyens et que vous souhaitez offrir un accès permissif à votre service.

États de connexion

Les rattachements de service possèdent des états de connexion qui décrivent l'état de leurs connexions. Pour en savoir plus, consultez États de connexion.

Listes d'acceptation et de refus client

Les listes d'acceptation des clients et les listes de refus des clients sont une fonctionnalité de sécurité des rattachements de service. Les listes d'acceptation et de rejet permettent aux producteurs de services de spécifier les clients qui peuvent établir des connexions Private Service Connect à leurs services. Les listes d'acceptation des clients spécifient si une connexion est acceptée ou non, tandis que les listes de refus des clients indiquent si une connexion est refusée. Ces deux listes vous permettent de spécifier des clients en fonction du réseau VPC ou du projet de la ressource de connexion. Si vous ajoutez simultanément un projet ou un réseau à la liste d'acceptation et à la liste de refus, les requêtes de connexion de ce projet ou de ce réseau sont refusées. Il n'est pas possible de spécifier des clients par dossier.

Les listes d'acceptation et de refus des clients permettent de spécifier des projets ou des réseaux VPC, mais pas les deux en même temps. Vous pouvez modifier une liste d'un type à un autre sans interrompre les connexions, mais vous devez effectuer la modification en une seule mise à jour. Sinon, certaines connexions peuvent temporairement passer à l'état "En attente".

Pour en savoir plus sur la manière dont les listes d'acceptation des clients interagissent avec les règles d'administration, consultez la page Interaction entre les listes d'acceptation des clients et les règles d'administration.

Rapprochement des connexions

Le rapprochement des connexions détermine si les mises à jour des listes d'acceptation ou de refus d'un rattachement de service peuvent affecter les connexions Private Service Connect existantes. Si le rapprochement des connexions est activé, la mise à jour des listes d'acceptation ou de refus peut mettre fin aux connexions existantes. Les connexions précédemment refusées peuvent devenir acceptées. Si le rapprochement des connexions est désactivé, la mise à jour des listes d'acceptation ou de refus n'affecte que les connexions nouvelles et en attente.

Prenons l'exemple d'un rattachement de service avec plusieurs connexions acceptées à partir de Project-A. Project-A figure sur la liste d'acceptation du rattachement de service. Le rattachement de service est mis à jour en supprimant Project-A de la liste d'acceptation.

Si le rapprochement des connexions est activé, toutes les connexions existantes provenant de Project-A passent en PENDING, ce qui met fin à la connectivité réseau entre les deux réseaux VPC et interrompt immédiatement le trafic réseau.

Si le rapprochement des connexions est désactivé, les connexions existantes provenant de Project-A ne sont pas affectées. Le trafic réseau peut toujours circuler sur les connexions Private Service Connect existantes. Cependant, toute nouvelle connexion Private Service Connect n'est pas autorisée.

Pour en savoir plus sur la configuration du rapprochement des connexions pour les nouveaux rattachements de service, consultez la page Publier un service avec approbation explicite.

Pour en savoir plus sur la configuration du rapprochement des connexions pour les rattachements de service existants, consultez la page Configurer le rapprochement des connexions.

Limites de connexion

Les listes d'acceptation des clients sont soumises à des limites de connexion. Ces limites définissent le nombre total de connexions qu'un rattachement de service peut accepter à partir du projet client ou du réseau VPC spécifié. Les producteurs peuvent utiliser ces limites pour empêcher les clients individuels d'épuiser les adresses IP ou les quotas de ressources du réseau VPC producteur. Chaque connexion Private Service Connect acceptée soustrait la limite configurée pour un projet client ou un réseau VPC. Les limites sont définies lorsque vous créez ou mettez à jour les listes d'acceptation des clients. Vous pouvez afficher les connexions d'un rattachement de service lorsque vous décrivez ce rattachement.

Par exemple, considérons un rattachement de service doté d'une liste d'acceptation client qui inclut project-1 et project-2, toutes deux avec une limite d'une connexion. Le projet project-1 demande deux connexions, project-2 demande une connexion et project-3 demande une connexion. Étant donné que project-1 a une limite d'une connexion, la première connexion est acceptée et la seconde reste en attente. La connexion provenant de project-2 est acceptée, et la connexion provenant de project-3 reste en attente. La deuxième connexion depuis project-1 peut être acceptée en augmentant la limite de project-1. Si project-3 est ajouté à la liste d'acceptation des clients, cette connexion passe de l'état "En attente" à l'état "Acceptée".

Configuration DNS

Pour en savoir plus sur la configuration DNS des services publiés et des points de terminaison qui se connectent aux services publiés, consultez la page Configuration DNS pour les services.

Configuration dans plusieurs régions

Vous pouvez mettre un service à disposition dans plusieurs régions en créant les configurations suivantes.

Configuration du producteur :

Configuration du client :

Dans cette configuration, le point de terminaison achemine le trafic à l'aide de la règle d'équilibrage de charge globale par défaut, en commençant par l'état le plus proche du client.

Figure 3. L'utilisation d'un équilibreur de charge HTTP(S) externe global permet aux clients de service dotés d'un accès Internet d'envoyer du trafic aux services du réseau VPC du producteur de services. Le service étant déployé dans plusieurs régions, l'équilibreur de charge peut acheminer le trafic vers un NEG situé dans la région opérationnelle la plus proche (cliquez pour agrandir).

Fonctionnalités et compatibilité

Dans les tableaux suivants, une coche indique qu'une fonctionnalité est disponible, et un symbole "no" indique qu'une fonctionnalité n'est pas compatible.

Selon l'équilibreur de charge du producteur choisi, le service du producteur peut prendre en charge l'accès via des points de terminaison, des backends ou les deux.

Compatibilité avec les points de terminaison

Ce tableau récapitule les options et les fonctionnalités de configuration compatibles avec les points de terminaison qui accèdent aux services publiés.

Configuration du client (point de terminaison) Équilibreur de charge de producteur
Équilibreur de charge réseau passthrough interne Équilibreur de charge d'application interne régional Équilibreur de charge réseau proxy interne régional Transfert de protocole interne (instance cible)
Accès mondial du client

Indépendant du paramètre d'accès mondial sur l'équilibreur de charge

Seulement si l' accès mondial est activé sur l'équilibreur de charge

Seulement si l' accès mondial est activé sur l'équilibreur de charge

Indépendant du paramètre d'accès mondial sur l'équilibreur de charge

Trafic d'interconnexion

Trafic Cloud VPN
Configuration DNS automatique
Pile d'adresses IP IPv4 IPv4 IPv4 IPv4

Ce tableau récapitule les options et les capacités compatibles avec les services publiés auxquels les points de terminaison ont accès.

Configuration du producteur (service publié) Équilibreur de charge de producteur
Équilibreur de charge réseau passthrough interne Équilibreur de charge d'application interne régional Équilibreur de charge réseau proxy interne régional Transfert de protocole interne (instance cible)
Backends de producteur compatibles
  • NEG GCE_VM_IP
  • Groupes d'instances
  • NEG GCE_VM_IP_PORT
  • NEG hybrides
  • NEG sans serveur
  • NEG Private Service Connect
  • Groupes d'instances
  • NEG GCE_VM_IP_PORT
  • NEG hybrides
  • NEG sans serveur
  • NEG Private Service Connect
  • Groupes d'instances
Non applicable
Protocole PROXY  Trafic TCP uniquement  Trafic TCP uniquement
Modes d'affinité de session NONE (quintuple)
CLIENT_IP_PORT_PROTO
Non applicable Non applicable Non applicable

Différents équilibreurs de charge acceptent différentes configurations de port. Certains équilibreurs de charge acceptent un seul port, d'autres une plage de ports, d'autres tous les ports. Pour en savoir plus, consultez la section Spécifications de ports.

Compatibilité avec les backends

Un backend Private Service Connect pour les services publiés nécessite deux équilibreurs de charge : un équilibreur de charge du client et un équilibreur de charge du producteur. Ce tableau décrit la compatibilité entre différents types d'équilibreurs de charge client et producteur, y compris les protocoles de service de backend pouvant être utilisés avec chaque équilibreur de charge client. Chaque ligne représente un type d'équilibreur de charge client, et chaque colonne représente un type d'équilibreur de charge producteur.

Équilibreur de charge client et protocoles de service de backend compatibles Équilibreur de charge de producteur
Équilibreur de charge réseau passthrough interne Équilibreur de charge d'application interne régional Équilibreur de charge réseau proxy interne régional

Équilibreur de charge d'application externe global (compatible avec plusieurs régions)

Protocoles : HTTPS, HTTP2

Remarque : L'équilibreur de charge d'application classique n'est pas compatible.

Équilibreur de charge d'application externe régional

Protocoles : HTTP, HTTPS, HTTP2

Équilibreur de charge d'application interne régional

Protocoles : HTTP, HTTPS, HTTP2

Équilibreur de charge d'application interne interrégional (preview)

Protocoles : HTTPS, HTTP2

Équilibreur de charge réseau proxy interne régional

Protocol (Protocole) : TCP

Équilibreur de charge réseau interne interrégional

Protocol (Protocole) : TCP

Équilibreur de charge réseau proxy externe régional

Protocol (Protocole) : TCP

Équilibreur de charge réseau proxy externe global (preview)

Protocole : TCP/SSL

Remarque : L'équilibreur de charge réseau classique n'est pas compatible.

Ce tableau décrit la configuration des équilibreurs de charge de producteur compatibles avec les backends Private Service Connect.

Configuration Équilibreur de charge de producteur
Équilibreur de charge réseau passthrough interne Équilibreur de charge d'application interne régional Équilibreur de charge réseau proxy interne régional
Backends de producteur compatibles
  • NEG GCE_VM_IP
  • Groupes d'instances
  • NEG GCE_VM_IP_PORT
  • NEG hybrides
  • NEG sans serveur
  • NEG Private Service Connect
  • Groupes d'instances
  • NEG GCE_VM_IP_PORT
  • NEG hybrides
  • NEG sans serveur
  • NEG Private Service Connect
  • Groupes d'instances
Protocoles de règles de transfert
  • TCP
  • HTTP
  • HTTPS
  • HTTP/2
  • TCP
Ports de règle de transfert La règle de transfert doit faire référence à un seul port. La règle de transfert doit faire référence à un seul port. La règle de transfert doit faire référence à un seul port.
Protocole PROXY

VPC partagé

Les administrateurs de projet de service peuvent créer des rattachements de service dans des projets de service VPC partagé qui se connectent à des ressources de réseaux VPC partagés.

La configuration est la même que pour un rattachement de service standard, à l'exception des éléments suivants :

  • La règle de transfert de l'équilibreur de charge du producteur est associée à une adresse IP du réseau VPC partagé. Le sous-réseau de la règle de transfert doit être partagé avec le projet de service.
  • Le rattachement de service utilise un sous-réseau Private Service Connect du réseau VPC partagé. Ce sous-réseau doit être partagé avec le projet de service.

Journalisation

Vous pouvez activer les journaux de flux VPC sur les sous-réseaux qui contiennent les VM de backend. Les journaux affichent les flux entre les VM de backend et les adresses IP du sous-réseau Private Service Connect.

VPC Service Controls

Les solutions VPC Service Controls et Private Service Connect sont compatibles entre elles. Si le réseau VPC sur lequel le point de terminaison Private Service Connect est déployé se trouve dans un périmètre VPC Service Controls, le point de terminaison fait partie du même périmètre. Tous les services compatibles avec VPC Service Controls accessibles via le point de terminaison sont soumis aux règles de ce périmètre VPC Service Controls.

Lorsque vous créez un point de terminaison, des appels d'API de plan de contrôle sont effectués entre les projets client et producteur pour établir une connexion Private Service Connect. L'établissement d'une connexion Private Service Connect entre des projets client et producteur qui ne se trouvent pas dans le même périmètre VPC Service Controls ne nécessite pas d'autorisation explicite avec des règles de sortie. La communication avec les services compatibles avec VPC Service Controls via le point de terminaison est protégée par le périmètre VPC Service Controls.

Tarifs

La tarification de Private Service Connect est décrite sur la page des tarifs relatifs aux VPC.

Quotas

Le nombre de points de terminaison que vous pouvez créer pour accéder aux services publiés est contrôlé par le quota PSC Internal LB Forwarding Rules. Pour en savoir plus, consultez la page consacrée aux quotas.

Accès sur site

Les services Private Service Connect sont rendus disponibles à l'aide de points de terminaison. Ces points de terminaison sont accessibles à partir d'hôtes sur site connectés compatibles. Pour en savoir plus, consultez la section Accéder au point de terminaison à partir d'hôtes sur site.

Limites

Les limites suivantes s'appliquent aux services publiés :

  • Les équilibreurs de charge du producteur ne sont pas compatibles avec les fonctionnalités suivantes :
  • La mise en miroir de paquets ne peut pas mettre en miroir les paquets pour le trafic des services publiés par Private Service Connect.
  • Vous devez utiliser Google Cloud CLI ou l'API pour créer un rattachement de service pointant vers une règle de transfert utilisée pour le transfert de protocole interne.
  • Les types d'équilibreurs de charge suivants ne fournissent pas de valeurs pour les métriques BETA. Les valeurs sont 0 ou manquantes :
    • Équilibreur de charge d'application interne régional
    • Équilibreur de charge réseau proxy interne régional
  • Pour connaître les problèmes et les solutions, consultez la liste des Problèmes connus.