À 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.
Les backends sont basés sur un équilibreur de charge.
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 NAT Service Connect ne peuvent pas être utilisés pour des ressources telles que des instances de machines virtuelles (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 seul rattachement de service, deux adresses IP sont utilisé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.
Spécifications NAT
Tenez compte des caractéristiques suivantes de la NAT Private Service Connect lorsque vous concevez le service que vous publiez :
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é.
Pour éviter les problèmes de dépassement du délai d'expiration des connexions client, effectuez l'une des opérations suivantes :
Assurez-vous que toutes les connexions durent moins de 20 minutes.
Assurez-vous que du trafic est envoyé au moins une fois toutes les 20 minutes. Vous pouvez utiliser une pulsation ou un message keepalive directement dans votre application, ou utiliser plutôt des messages keepalive TCP. Par exemple, vous pouvez configurer un message keepalive dans le proxy cible d'un équilibreur de charge d'application interne régional ou d'un équilibreur de charge réseau proxy interne régional.
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.
Nombre maximal de connexions
Une seule VM de producteur peut accepter jusqu'à 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. Toute la traduction d'adresse réseau est effectuée localement sur l'hôte producteur, ce qui ne nécessite pas de pool de ports NAT alloué de manière centralisée.
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".
Les listes de consommateurs déterminent si un point de terminaison peut se connecter à un service publié, mais elles ne contrôlent pas qui peut envoyer des requêtes à ce point de terminaison. Par exemple, supposons qu'un client dispose d'un réseau VPC partagé auquel sont associés deux projets de service. Si un service publié contient service-project1
dans la liste d'acceptation des clients et service-project2
dans la liste de refus des clients, les éléments suivants s'appliquent:
-
Un client dans
service-project1
peut créer un point de terminaison qui se connecte au service publié. -
Un client dans
service-project2
ne peut pas créer de point de terminaison qui se connecte au service publié. -
Un client dans
service-project2
peut envoyer des requêtes au point de terminaison dansservice-project1
, s'il n'existe aucune règle ni aucune stratégie de pare-feu empêchant ce trafic.
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.
Limites des listes d'acceptation des clients
Les listes d'acceptation des clients sont soumises à des limites de connexion. Ces limites définissent le nombre total de connexions de point de terminaison et de backend Private Service Connect qu'un rattachement de service peut accepter à partir du projet client ou du réseau VPC spécifié.
Les producteurs peuvent utiliser les limites de connexion 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.
Les connexions propagées ne sont pas comptabilisées dans ces limites.
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".
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.
Connexions propagées
Les clients qui se connectent à votre rattachement de service à l'aide de points de terminaison peuvent activer la propagation de la connexion. Les connexions propagées permettent aux charges de travail des spokes de VPC utilisateur d'accéder aux services gérés dans les réseaux VPC producteurs, comme si les deux réseaux VPC étaient directement connectés via des points de terminaison. Chaque connexion propagée utilise une adresse IP du sous-réseau NAT du rattachement de service.
Vous pouvez afficher le nombre de connexions propagées associées à un point de terminaison connecté lorsque vous affichez les détails d'un service publié. Ce nombre n'inclut pas les connexions propagées bloquées par la limite de connexions propagées du producteur.
Limite de connexions propagées
Les rattachements de service sont soumis à une limite de connexions propagées. Les producteurs de services peuvent ainsi restreindre le nombre de connexions propagées pouvant être établies au niveau du rattachement de service d'un client particulier. Si aucune valeur n'est spécifiée, la limite de connexions propagées par défaut est de 250.
- Si la préférence de connexion du rattachement de service est
ACCEPT_MANUAL
, la limite s'applique à chaque projet ou réseau VPC figurant dans la liste d'acceptation du client. - Si la préférence de connexion est
ACCEPT_AUTOMATIC
, la limite s'applique à chaque projet contenant un point de terminaison connecté.
Si un client dépasse la limite de connexion propagée, aucune autre connexion propagée n'est créée. Pour permettre la création de davantage de points de terminaison propagés, vous pouvez augmenter la limite de connexion propagée. Lorsque vous augmentez cette limite, Network Connectivity Center crée des connexions propagées qui étaient bloquées par la limite, à condition que les nouvelles connexions ne dépassent pas la limite mise à jour. La modification de cette limite n'a aucune incidence sur les connexions propagées existantes.
Empêcher l'épuisement des quotas
Le nombre total de points de terminaison Private Service Connect et de connexions propagées, à partir de n'importe quel client, qui peuvent accéder à votre réseau VPC producteur est contrôlé par le quota PSC ILB consumer forwarding rules per producer VPC network
.
Il est particulièrement important de vous protéger contre l'épuisement de ce quota, en particulier pour les services multi-locataires.
Vous pouvez utiliser les limites suivantes pour éviter l'épuisement des quotas:
- Les limites de connexion de la liste d'acceptation des clients contrôlent le nombre total de points de terminaison Private Service Connect pouvant créer des connexions à un rattachement de service à partir d'un seul projet ou réseau VPC client. L'abaissement de ces limites n'a aucune incidence sur les connexions existantes. Ces limites ne s'appliquent pas aux connexions propagées.
- Les limites de connexion propagées contrôlent le nombre total de connexions propagées pouvant être établies à un rattachement de service à partir d'un client unique. L'abaissement de cette limite n'a aucune incidence sur les connexions propagées existantes.
Exemple
L'exemple suivant montre comment les limites de connexion propagées et les limites de la liste d'acceptation des clients fonctionnent par rapport au quota PSC ILB consumer forwarding rules per producer VPC network
.
Imaginons qu'un consommateur ait créé deux points de terminaison dans un réseau VPC de spoke, spoke-vpc-1
. Les deux points de terminaison se connectent à service-attachment-1
dans producer-vpc-1
. Le spoke est connecté à un hub Network Connectivity Center pour lequel la propagation de la connexion est activée, et aucun autre spoke n'est connecté à ce hub.
Le producteur de services a configuré service-attachment-1
pour que la limite de la liste d'acceptation des clients soit de quatre pour chaque projet de la liste d'acceptation. Le producteur a configuré une limite de connexion propagée de deux, ce qui signifie qu'un seul projet peut avoir jusqu'à deux connexions propagées.
Les quotas et les limites d'utilisation pour cette configuration sont les suivants:
Quota/Limit | Utilisation | Explication |
---|---|---|
Règles de transfert client ILB PSC par réseau VPC producteur | 2 | une par point de terminaison |
Limite de connexion de la liste d'acceptation des clients pour le rattachement de service consumer-project-1 |
2 | une par point de terminaison |
Limite de connexions propagées du rattachement de service pour consumer-project-1 |
0 | aucune connexion propagée |
Supposons que consumer-project-1
connecte un autre spoke nommé spoke-vpc-2
au même hub Network Connectivity Center que spoke-vpc-1
. Deux connexions propagées sont alors créées dans consumer-project-1
, une pour chaque point de terminaison existant.
Les quotas et les limites d'utilisation pour cette configuration sont les suivants:
Quota/Limit | Utilisation | Explication |
---|---|---|
Règles de transfert client ILB PSC par réseau VPC producteur | 4 | une par point de terminaison et une par connexion propagée |
Limite de connexion de la liste d'acceptation des clients pour le rattachement de service consumer-project-1 |
2 | une par point de terminaison |
Limite de connexions propagées du rattachement de service pour consumer-project-1 |
2 | une par connexion propagée |
Consumer-project-1
a atteint sa limite de connexions propagées. Si le client ajoute un autre spoke VPC, Private Service Connect ne crée pas de nouvelles connexions propagées.
Supposons qu'un autre consommateur dispose de deux spokes VPC dans consumer-project-2
. Les spokes se connectent à un hub Network Connectivity Center avec les connexions propagées activées. L'un des spokes du VPC contient un seul point de terminaison qui se connecte à service-attachment-1
.
Les quotas et les limites d'utilisation pour cette configuration sont les suivants:
Quota/Limit | Utilisation | Explication |
---|---|---|
Règles de transfert client ILB PSC par réseau VPC producteur | 6 | quatre de consumer-project-1 et deux de consumer-project-2 |
Limite de connexion de la liste d'acceptation des clients pour le rattachement de service consumer-project-1 |
2 | une par point de terminaison dans consumer-project-1 |
Limite de connexion de la liste d'acceptation des clients pour le rattachement de service consumer-project-2 |
1 | une par point de terminaison dans consumer-project-2 |
Limite de connexions propagées du rattachement de service pour consumer-project-1 |
2 | une par connexion propagée dans consumer-project-1 |
Limite de connexions propagées du rattachement de service pour consumer-project-2 |
1 | une par connexion propagée dans consumer-project-2 |
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 :
Déployez le service dans chaque région. Chaque instance régionale du service doit être configurée sur un équilibreur de charge compatible avec l'accès via un backend.
Créez un rattachement de service pour publier chaque instance régionale du service.
Configuration du client :
Créez un backend pour accéder aux services publiés. Le backend est basé sur un équilibreur de charge d'application externe global et inclut les configurations suivantes :
Un NEG Private Service Connect dans chaque région qui pointe vers le rattachement de service de cette région
Un service de backend contenant les backends NEG
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.
Traduction de version IP
Pour les connexions entre les points de terminaison Private Service Connect pour les services publiés et les rattachements de service, la version IP de l'adresse IP de la règle de transfert client détermine la version IP du point de terminaison et le trafic sortant du point de terminaison. La version IP du point de terminaison peut être de type IPv4 ou IPv6, mais pas les deux. Les utilisateurs peuvent utiliser une adresse IPv4 si le sous-réseau de l'adresse est à pile unique. Les clients peuvent utiliser une adresse IPv4 ou IPv6 si le sous-réseau de l'adresse est à double pile. Les clients peuvent connecter des points de terminaison IPv4 et IPv6 au même rattachement de service, ce qui peut être utile pour migrer des services vers IPv6.
Pour les connexions entre les points de terminaison Private Service Connect pour les services publiés et les rattachements de service, la version IP de la règle de transfert du producteur détermine la version IP du rattachement de service et le trafic sortant du rattachement de service. La version IP du rattachement de service peut être de type IPv4 ou IPv6, mais pas les deux. Les producteurs peuvent utiliser une adresse IPv4 si le sous-réseau de l'adresse est à pile unique. Les producteurs peuvent utiliser une adresse IPv4 ou IPv6 si le sous-réseau de l'adresse est à double pile.
La version IP de l'adresse IP de la règle de transfert du producteur doit être compatible avec le type de pile du sous-réseau NAT du rattachement de service. Si la règle de transfert du producteur est de type IPv4, le sous-réseau NAT peut être à pile unique ou à double pile. Si la règle de transfert du producteur est IPv6, le sous-réseau NAT doit être à double pile.
Private Service Connect n'est pas compatible avec la connexion d'un point de terminaison IPv4 à un rattachement de service IPv6. Dans ce cas, la création du point de terminaison échoue avec le message d'erreur suivant :
Private Service Connect forwarding rule with an IPv4 address
cannot target an IPv6 service attachment.
Les combinaisons suivantes sont possibles pour les configurations compatibles :
- Point de terminaison IPv4 vers rattachement de service IPv4
- Point de terminaison IPv6 vers rattachement de service IPv6
-
Point de terminaison IPv6 vers rattachement de service IPv4
Dans cette configuration, Private Service Connect traduit automatiquement les deux versions d'adresse IP.
Pour les connexions entre les backends Private Service Connect et les rattachements de service, les règles de transfert client et producteur doivent utiliser IPv4.
Fonctionnalités et compatibilité
Dans les tables suivantes, la coche indique qu'une fonctionnalité est compatible, et "aucun symbole" 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
Cette section récapitule les options de configuration disponibles pour les clients et les producteurs lorsqu'ils utilisent des points de terminaison pour accéder aux services de publication.
Configuration du client
Ce tableau récapitule les options et les capacités compatibles avec les points de terminaison qui accèdent à des 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 |
Uniquement si l'accès global est activé sur l'équilibreur de charge avant la création du rattachement de service |
Uniquement si l'accès global est activé sur l'équilibreur de charge avant la création du rattachement de service |
Indépendant du paramètre d'accès mondial sur l'équilibreur de charge |
Trafic Cloud VPN | ||||
Configuration DNS automatique | IPv4 uniquement | IPv4 uniquement | IPv4 uniquement | IPv4 uniquement |
Propagation des connexions | IPv4 uniquement | IPv4 uniquement | IPv4 uniquement | IPv4 uniquement |
Points de terminaison IPv4 |
|
|
|
|
Points de terminaison IPv6 |
|
|
|
|
Configuration du producteur
Ce tableau récapitule les options de configuration 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 : |
|
|
|
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 |
Version IP |
|
|
|
|
Différents équilibreurs de charge prennent en charge différentes configurations de port. Certains équilibreurs de charge acceptent un seul port, d'autres sont compatibles avec une plage de ports et d'autres acceptent 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. Cette section récapitule les options de configuration disponibles pour les clients et les producteurs lorsqu'ils utilisent des backends pour accéder aux services de publication.
Configuration du client
Ce tableau décrit les équilibreurs de charge client compatibles avec les backends Private Service Connect pour les services publiés, y compris les protocoles de service de backend pouvant être utilisés avec chaque équilibreur de charge du client. Les équilibreurs de charge du client peuvent accéder aux services publiés qui sont hébergés sur des équilibreurs de charge du producteur compatibles.
Équilibreur de charge du client | Protocoles | Version IP |
---|---|---|
Équilibreur de charge d'application externe global (compatible avec plusieurs régions) Remarque : L'équilibreur de charge d'application classique n'est pas compatible. |
|
IPv4 |
|
IPv4 | |
|
IPv4 | |
|
IPv4 | |
|
IPv4 | |
|
IPv4 | |
|
IPv4 | |
Équilibreur de charge réseau proxy externe global Pour associer cet équilibreur de charge à un NEG Private Service Connect, utilisez la Google Cloud CLI ou envoyez une requête API. Remarque : L'équilibreur de charge réseau classique n'est pas compatible. |
|
IPv4 |
Configuration du producteur
Ce tableau décrit la configuration des équilibreurs de charge de producteur compatibles avec les backends Private Service Connect des services publiés.
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 |
|
|
|
Protocoles de règles de transfert |
|
|
|
Ports de règle de transfert | Nous vous recommandons d'utiliser un seul port. Pour en savoir plus, consultez la section Configuration du port du producteur. | Prend en charge un seul port | Prend en charge un seul port |
Protocole PROXY | |||
Version IP | IPv4 | IPv4 | IPv4 |
Configuration du port du producteur
Lorsqu'un backend de client se connecte à un service publié hébergé sur un équilibreur de charge réseau passthrough interne, Google Cloud choisit un port à utiliser par le client. Le port est choisi en fonction de la configuration du port de la règle de transfert du producteur. Tenez compte des points suivants lorsque vous créez la règle de transfert pour l'équilibreur de charge du producteur:
- Nous vous recommandons de spécifier un seul port. Dans cette configuration, le backend du client utilise le même port.
Si vous spécifiez plusieurs ports, les règles suivantes s'appliquent:
- Si le port
443
est inclus, le backend du client utilise le port443
. - Si le port
443
n'est pas inclus, le backend du client utilise le premier port de la liste, une fois celle-ci triée par ordre alphabétique. Par exemple, si vous spécifiez les ports80
et1111
, le backend du client utilise le port1111
. Modifier les ports utilisés par les backends du producteur peut entraîner une interruption de service pour les consommateurs.
Par exemple, imaginons que vous créiez un service publié avec une règle de transfert qui utilise les ports
443
et8443
, et des VM de backend qui répondent sur les ports443
et8443
. Lorsqu'un backend de client se connecte à ce service, il utilise le port443
pour la communication.Si vous modifiez les VM de backend pour qu'elles ne répondent que sur le port
8443
, le backend du client ne peut plus accéder au service publié.
- Si le port
Ne pas utiliser
--port=ALL
. Si cette configuration est utilisée, le backend du client utilise le port1
, qui ne fonctionne pas.
VPC partagé
Les administrateurs de projets de service peuvent créer des rattachements de service dans des projets de service VPC partagé qui se connectent à des ressources dans des 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.
Afficher les informations de connexion client
Par défaut, Private Service Connect traduit l'adresse IP source du client en adresse dans l'un des sous-réseaux Private Service Connect du réseau VPC du producteur de services. Si vous souhaitez voir l'adresse IP source d'origine du client, vous pouvez activer le protocole PROXY lorsque vous publiez un service. Private Service Connect est compatible avec le protocole PROXY version 2.
Certains services ne sont pas compatibles avec le protocole PROXY. Pour en savoir plus, consultez la section Fonctionnalités et compatibilité.
Si le protocole PROXY est activé, vous pouvez obtenir l'adresse IP source et l'ID de connexion PSC (pscConnectionId
) du client à partir de l'en-tête de protocole PROXY.
Le format des en-têtes de protocole PROXY dépend de la version IP du point de terminaison du client. Si l'équilibreur de charge de votre rattachement de service possède une adresse IPv6, les clients peuvent se connecter avec des adresses IPv4 et IPv6. Configurez votre application pour qu'elle reçoive et lise les en-têtes de protocole PROXY pour la version IP du trafic qu'elle doit recevoir.
Pour le trafic client qui transite par une connexion propagée, l'adresse IP source du client et l'ID de connexion PSC font référence au point de terminaison Private Service Connect qui est propagé.
Lorsque vous activez le protocole PROXY pour un rattachement de service, la modification ne s'applique qu'aux nouvelles connexions. Les connexions existantes n'incluent pas l'en-tête de protocole PROXY.
Si vous activez le protocole PROXY, consultez la documentation de votre logiciel serveur Web backend pour obtenir des informations sur l'analyse et le traitement des en-têtes de protocole PROXY entrants dans les charges utiles TCP de connexion client. Si le protocole PROXY est activé sur le rattachement de service, mais que le serveur Web de backend n'est pas configuré pour traiter les en-têtes de protocole PROXY, les requêtes Web peuvent être mal formulées. Si les requêtes sont mal formulées, le serveur ne peut pas les interpréter.
L'ID de connexion Private Service Connect (pscConnectionId
) est encodé dans l'en-tête du protocole de PROXY au format TLV (Type-Length-Value).
Champ | Longueur du champ | Valeur du champ |
---|---|---|
Type | 1 octet | 0xE0 (PP2_TYPE_GCP)
|
Longueur | 2 octets | 0x8 (8 octets) |
Valeur | 8 octets | ID de connexion PSC (pscConnectionId ) de 8 octets dans l'ordre réseau |
Vous pouvez afficher l'ID de connexion PSC (pscConnectionId
) de 8 octets en consultant la règle de transfert du client ou le rattachement de service du producteur.
La valeur pscConnectionId
est unique pour toutes les connexions actives à un moment donné. Toutefois, au fil du temps, un pscConnectionId
peut être réutilisé dans les scénarios suivants :
Dans un réseau VPC donné, si vous supprimez un point de terminaison (règle de transfert) et que vous créez un point de terminaison utilisant la même adresse IP, il est possible d'utiliser la même valeur
pscConnectionId
.Si vous supprimez un réseau VPC contenant des points de terminaison (règles de transfert), après un délai d'attente de sept jours, la valeur
pscConnectionId
utilisée pour ces points de terminaison peut être utilisée pour un autre point de terminaison dans un autre réseau VPC.
Vous pouvez utiliser les valeurs pscConnectionId
pour le débogage et pour suivre les sources des paquets.
Un ID de rattachement de service Private Service Connect distinct (pscServiceAttachmentId
) de 16 octets est disponible dans le rattachement de service producteur.
La valeur pscServiceAttachmentId
est un ID unique qui identifie un rattachement de service Private Service Connect. Vous pouvez utiliser la valeur pscServiceAttachmentId
pour plus de visibilité et pour le débogage. Cette valeur n'est pas incluse dans l'en-tête de protocole PROXY.
Tarifs
La tarification de Private Service Connect est décrite sur la page des tarifs relatifs aux VPC.
Quotas
Le nombre total de points de terminaison Private Service Connect et de connexions propagées, à partir de n'importe quel client, qui peuvent accéder à votre réseau VPC producteur est contrôlé par le quota PSC ILB consumer forwarding rules per producer VPC network
.
Les points de terminaison contribuent à ce quota jusqu'à leur suppression, même si le rattachement de service associé est supprimé ou configuré pour refuser la connexion. Les connexions propagées sont prises en compte dans ce quota jusqu'à la suppression du point de terminaison associé, même si la propagation de la connexion est désactivée sur le hub Network Connectivity Center ou si le spoke de la connexion propagée est supprimé.
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 :
- Règles de transfert multiples utilisant une adresse IP partagée (
SHARED_LOADBALANCER_VIP
) - Sous-paramètre du backend
- 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.
Pour connaître les problèmes et les solutions, consultez la section Problèmes connus.