Cette page explique comment utiliser les sous-réseaux proxy réservés utilisés par les équilibreurs de charge basés sur Envoy. Un sous-réseau proxy réservé fournit un pool d'adresses IP réservées exclusivement aux proxys Envoy utilisés par les équilibreurs de charge Google Cloud. Il ne peut pas être utilisé à d'autres fins.
Les proxys interrompent les connexions entrantes, puis évaluent la destination de chaque requête en fonction du mappage d'URL, de l'affinité de session du service de backend, du mode d'équilibrage de chaque groupe d'instances backend ou groupe de points de terminaison du réseau, ainsi que d'autres facteurs.
Un client établit une connexion avec l'adresse IP et le port de la règle de transfert de l'équilibreur de charge.
Chaque proxy écoute l'adresse IP et le port spécifiés par la règle de transfert de l'équilibreur de charge correspondant. L'un des proxys reçoit la connexion réseau du client et y met fin.
Le proxy établit une connexion à la VM de backend ou au point de terminaison approprié dans un groupe de points de terminaison du réseau, tel que déterminé par les services de backend et le mappage d'URL de l'équilibreur de charge.
Une adresse IP interne est attribuée à chacun des proxys de l'équilibreur de charge. Les paquets envoyés à partir d'un proxy vers une VM ou un point de terminaison de backend possèdent une adresse IP source provenant du sous-réseau proxy réservé.
Le sous-réseau proxy réservé ne peut pas être utilisé à d'autres fins. L'adresse IP de la règle de transfert de l'équilibreur de charge ne provient pas du sous-réseau proxy réservé. Il en est de même pour les adresses IP des points de terminaison et des VM backend.
Équilibreurs de charge compatibles
Les équilibreurs de charge basés sur Envoy suivants nécessitent des sous-réseaux proxy réservés :
Sous-réseau proxy réservé avec l'objectif
GLOBAL_MANAGED_PROXY
:- Équilibreur de charge d'application interne interrégional
- Équilibreur de charge réseau interne interrégional
Dans un réseau et une région donnés, un seul sous-réseau proxy réservé d'objectif
GLOBAL_MANAGED_PROXY
est partagé entre tous les équilibreurs de charge d'application internes interrégionaux de cette région. À tout moment, un seul sous-réseau avec l'objectifGLOBAL_MANAGED_PROXY
peut être actif dans chaque région d'un réseau VPC.
Sous-réseau proxy réservé avec l'objectif
REGIONAL_MANAGED_PROXY
:- Équilibreur de charge d'application externe régional
- Équilibreur de charge d'application interne régional
- Équilibreur de charge réseau proxy externe régional
- Équilibreur de charge réseau proxy interne régional
Dans un réseau et une région donnés, un seul sous-réseau proxy réservé, dont l'objectif est
REGIONAL_MANAGED_PROXY
, est partagé entre tous les équilibreurs de charge régionaux basés sur Envoy. À tout moment, un seul sous-réseau avec l'objectifREGIONAL_MANAGED_PROXY
peut être actif dans chaque région d'un réseau VPC.
Place des sous-réseaux proxy réservés dans l'architecture de l'équilibreur de charge
Le schéma suivant présente les ressources Google Cloud requises pour un équilibreur de charge d'application interne régional.
Comme le montrent les schémas, le déploiement d'un équilibreur de charge basé sur Envoy nécessite au moins deux sous-réseaux :
- Les VM de backend et les points de terminaison de backend de l'équilibreur de charge utilisent un seul sous-réseau, dont la plage d'adresses IP principale est
10.1.2.0/24
(dans cet exemple). Ce sous-réseau n'est pas le sous-réseau proxy réservé. Vous pouvez utiliser plusieurs sous-réseaux pour vos VM de backend et points de terminaison si les sous-réseaux se trouvent dans la même région que l'équilibreur de charge. Pour les équilibreurs de charge d'application internes, l'adresse IP de l'équilibreur de charge associée à la règle de transfert peut également se trouver dans ce sous-réseau (mais ce n'est pas obligatoire). - Le sous-réseau proxy réservé est
10.129.0.0/23
(dans cet exemple).
Recommandations sur la taille du sous-réseau proxy réservé
Un sous-réseau proxy réservé doit fournir au moins 64 adresses IP. Cela correspond à une longueur de préfixe inférieure ou égale à /26
. Nous vous recommandons de commencer par un sous-réseau proxy réservé avec un préfixe /23
(512 adresses proxy réservées), puis de modifier la taille à mesure que vos besoins en termes de trafic évoluent.
Les proxys sont alloués au niveau du VPC, et non au niveau de l'équilibreur de charge. Vous devez créer un sous-réseau proxy réservé dans chaque région d'un réseau VPC où vous utilisez des équilibreurs de charge basés sur Envoy. Si vous déployez plusieurs équilibreurs de charge dans la même région et le même réseau VPC, ils partagent le même sous-réseau proxy réservé pour l'équilibrage de charge. Les équilibreurs de charge basés sur Envoy évoluent automatiquement le nombre de proxys disponibles pour gérer votre trafic en fonction de vos besoins en termes de trafic.
Chaque proxy supplémentaire entraîne des frais horaires supplémentaires. Pour en savoir plus sur la facturation des sous-réseaux proxy réservés, consultez la page Frais des instances de proxy dans la documentation sur les tarifs de Cloud Load Balancing.
Créer un sous-réseau proxy réservé
Vous devez créer des sous-réseaux proxy réservés pour les équilibreurs de charge basés sur Envoy, que votre réseau soit en mode automatique ou personnalisé. La création d'un sous-réseau proxy réservé suit essentiellement la même procédure que celle permettant de créer n'importe quel sous-réseau, à l'exception de certaines options en plus.
Pour un sous-réseau proxy réservé, --purpose
doit être défini sur REGIONAL_MANAGED_PROXY
ou GLOBAL_MANAGED_PROXY
, selon votre équilibreur de charge.
Vous ne pouvez pas réutiliser un sous-réseau existant en tant que sous-réseau proxy réservé. Vous devez créer un sous-réseau dans chaque région disposant d'un équilibreur de charge basé sur Envoy.
Cela est en partie dû au fait que la commande subnets update
ne permet pas de modifier le champ --purpose
d'un sous-réseau.
Vous devez créer un sous-réseau proxy réservé destiné aux proxys des équilibreurs de charge avant de créer des règles de transfert pour vos équilibreurs de charge régionaux. Si vous tentez de configurer un équilibreur de charge régional sans avoir préalablement créé de sous-réseau proxy réservé pour la région, le processus de création de l'équilibreur de charge échoue.
Console
- Dans la console Google Cloud, accédez à la page Réseaux VPC.
Accéder à la page Réseaux VPC - Cliquez sur le nom du réseau VPC partagé auquel vous souhaitez ajouter un sous-réseau proxy réservé.
- Cliquez sur Ajouter un sous-réseau.
- Saisissez un nom.
- Sélectionnez une région.
- Définissez le champ Objectif sur l'un des éléments suivants :
- Pour les équilibreurs de charge régionaux : proxy géré régional
- Pour les équilibreurs de charge interrégionaux : proxy géré interrégional
- Saisissez une plage d'adresses IP.
- Cliquez sur Ajouter.
gcloud
La commande gcloud compute networks subnets create crée un sous-réseau proxy réservé.
gcloud compute networks subnets create SUBNET_NAME \ --purpose=SUBNET_PURPOSE \ --role=ACTIVE \ --region=REGION \ --network=VPC_NETWORK_NAME \ --range=CIDR_RANGE
Les champs sont définis comme suit :
- SUBNET_NAME est le nom du sous-réseau proxy réservé.
- SUBNET_PURPOSE est l'objectif du sous-réseau. Définissez cette valeur sur
REGIONAL_MANAGED_PROXY
ouGLOBAL_MANAGED_PROXY
selon votre équilibreur de charge. - REGION est la région du sous-réseau proxy réservé.
- VPC_NETWORK_NAME est le nom du réseau VPC qui contient le sous-réseau.
- CIDR_RANGE correspond à la plage d'adresses IP principale du sous-réseau. Vous devez utiliser un masque de sous-réseau ne dépassant pas
26
afin qu'au moins 64 adresses IP soient disponibles pour les proxys de la région. La longueur de masque de sous-réseau recommandée est/23
.
Pour obtenir un exemple de configuration complet, consultez la section Configurer le sous-réseau proxy réservé.
Vous devez configurer une règle de pare-feu pour que vos backends acceptent les connexions provenant du sous-réseau proxy réservé. Pour obtenir un exemple complet de configuration incluant la configuration des règles de pare-feu, consultez les pages suivantes :
- Configurer un équilibreur de charge d'application externe régional
- Configurer un équilibreur de charge d'application interne régional
- Configurer un équilibreur de charge réseau proxy interne régional
- Configurer un équilibreur de charge réseau proxy externe régional
- Configurer un équilibreur de charge d'application interne interrégional
- Configurer un équilibreur de charge réseau interne interrégional
Disponibilité du proxy
Parfois, les régions Google Cloud ne disposent pas d'une capacité de proxy suffisante pour un nouvel équilibreur de charge. Dans ce cas, la console Google Cloud fournit un message d'avertissement de disponibilité du proxy lors de la création de votre équilibreur de charge. Pour résoudre ce problème, vous pouvez effectuer l'une des opérations suivantes :
- Sélectionnez une autre région pour votre équilibreur de charge. Cette option peut être pratique si vous avez des backends dans une autre région.
- Sélectionnez un réseau VPC comportant déjà un sous-réseau proxy réservé alloué.
- Attendez que le problème de capacité soit résolu.
Modifier la taille ou la plage d'adresses d'un sous-réseau proxy réservé
Lorsque la quantité de trafic gérée par votre équilibreur de charge augmente, vous devrez peut-être augmenter la taille de votre sous-réseau proxy réservé pour permettre l'attribution d'un plus grand nombre de proxys Envoy à votre équilibreur de charge.
Vous ne pouvez pas développer un sous-réseau proxy réservé de la même manière qu'une plage d'adresses principale (à l'aide de la commande expand-ip-range). Au lieu de cela, vous devez créer un sous-réseau proxy réservé de secours qui répond à vos besoins, puis le promouvoir à un rôle actif. Ceci est dû au fait qu'un seul sous-réseau proxy réservé peut être actif par région et par réseau VPC, et que vous pouvez uniquement étendre la plage d'adresses IP principale d'un sous-réseau.
Le passage d'un sous-réseau proxy réservé du statut de secours à actif n'interrompt pas les nouvelles connexions :
- Le sous-réseau proxy réservé qui vient d'être activé est utilisé pour les nouvelles connexions.
- Le sous-réseau proxy réservé précédemment actif (désormais sous-réseau de secours) n'est plus utilisé pour les nouvelles connexions.
- Google Cloud commence le drainage des connexions existantes dans les proxys du sous-réseau proxy réservé précédemment actif (désormais sous-réseau de secours).
Vous ne pouvez créer qu'un seul sous-réseau proxy réservé actif et un seul sous-réseau proxy réservé de secours par région et par réseau VPC.
Console
Créer un sous-réseau proxy réservé de secours dans la même région, en spécifiant une plage d'adresses IP principale qui répond à vos besoins
- Dans la console Google Cloud, accédez à la page Réseaux VPC.
Accéder à la page Réseaux VPC - Cliquez sur le nom du réseau VPC partagé auquel vous souhaitez ajouter un sous-réseau proxy réservé.
- Cliquez sur Ajouter un sous-réseau.
- Saisissez un nom.
- Sélectionnez une région.
- Définissez le champ Objectif sur l'un des éléments suivants :
- Pour les équilibreurs de charge régionaux : proxy géré régional
- Pour les équilibreurs de charge interrégionaux : proxy géré interrégional
- Pour le champ Rôle, sélectionnez De secours.
- Saisissez une plage d'adresses IP.
- Cliquez sur Ajouter.
- Dans la console Google Cloud, accédez à la page Réseaux VPC.
Créez ou modifiez des règles de pare-feu autorisant les entrées qui s'appliquent à vos VM de backend ou points de terminaison, de sorte qu'elles incluent la plage d'adresses IP principale du sous-réseau proxy réservé de secours.
Faites passer le sous-réseau proxy réservé de secours au statut actif. Cette action rétrograde également le sous-réseau proxy réservé précédemment actif au statut de secours :
- Dans la console Google Cloud, accédez à la page Réseaux VPC.
Accéder à la page Réseaux VPC - Cliquez sur le nom du réseau VPC partagé que vous souhaitez modifier.
- Sous Sous-réseaux proxy réservés à l'équilibrage de charge, localisez le sous-réseau de secours créé à l'étape précédente.
- Cliquez sur Activer.
- Spécifiez un délai avant expiration du drainage facultatif.
- Cliquez sur Activer le sous-réseau.
- Dans la console Google Cloud, accédez à la page Réseaux VPC.
Après expiration du délai de drainage des connexions ou après avoir vérifié que les connexions à vos VM de backend ou points de terminaison ne proviennent pas des proxys du sous-réseau proxy réservé précédemment actif (désormais de secours), vous pouvez effectuer les opérations suivantes :
- Modifiez les règles de pare-feu autorisant les entrées qui s'appliquent à vos VM de backend ou points de terminaison de sorte qu'elles n'incluent pas la plage d'adresses IP principale du sous-réseau proxy réservé précédemment actif (désormais sous-réseau de secours).
- Supprimez le sous-réseau proxy réservé précédemment actif (désormais sous-réseau de secours) pour libérer les adresses IP que le sous-réseau utilisait pour sa plage d'adresses IP principale.
gcloud
Les étapes suivantes supposent que vous disposez déjà d'un sous-réseau proxy réservé actif.
Créez un sous-réseau proxy réservé de secours dans la même région, en spécifiant une plage d'adresses IP principale qui répond à vos besoins, à l'aide de la commande gcloud compute networks subnets create avec l'option
--role=BACKUP
.gcloud compute networks subnets create BACKUP_PROXY_ONLY_SUBNET_NAME \ --purpose=SUBNET_PURPOSE \ --role=BACKUP \ --region=REGION \ --network=VPC_NETWORK_NAME \ --range=BACKUP_PROXY_ONLY_SUBNET_RANGE
Remplacez les éléments suivants :
BACKUP_PROXY_ONLY_SUBNET_NAME
: nom du sous-réseau proxy réservé de secours que vous venez de créerSUBNET_PURPOSE
: objectif du sous-réseau proxy réservé de secours que vous venez de créerREGION
: région du sous-réseau proxy réservé de secours que vous venez de créer. Il doit s'agir de la même région que celle du sous-réseau proxy réservé actif actuel.REGION
: réseau du sous-réseau proxy réservé de secours que vous venez de créer. Il doit s'agir du même réseau que le sous-réseau proxy réservé actif actuel.BACKUP_PROXY_ONLY_SUBNET_RANGE
: plage CIDR du sous-réseau proxy réservé de secours que vous venez de créer
Créez ou modifiez des règles de pare-feu autorisant les entrées qui s'appliquent à vos VM de backend ou points de terminaison, de sorte qu'elles incluent désormais la plage d'adresses IP principale du sous-réseau proxy réservé de secours. La règle de pare-feu doit déjà accepter les connexions provenant du sous-réseau actif.
gcloud compute firewall-rules update PROXY_ONLY_SUBNET_FIREWALL_RULE \ --source-ranges ACTIVE_PROXY_ONLY_SUBNET_RANGE,BACKUP_PROXY_ONLY_SUBNET_RANGE
Remplacez les éléments suivants :
PROXY_ONLY_SUBNET_FIREWALL_RULE
: nom de la règle de pare-feu qui permet au trafic provenant du sous-réseau proxy réservé d'atteindre vos instances backend ou points de terminaison.ACTIVE_PROXY_ONLY_SUBNET_RANGE
: plage CIDR du sous-réseau proxy réservé actif actuel
Mettez à jour le nouveau sous-réseau en le définissant comme le sous-réseau proxy réservé actif (
ACTIVE
) dans la région et attendez le drainage de l'ancien sous-réseau. Cette action rétrograde également le sous-réseau proxy réservé précédemment actif au statut de secours.Pour drainer immédiatement une plage d'adresses IP, définissez
--drain-timeout
sur0s
. Cette opération met fin rapidement à toutes les connexions aux proxys avec des adresses attribuées dans le sous-réseau en cours de drainage.gcloud compute networks subnets update BACKUP_PROXY_ONLY_SUBNET_NAME \ --region=REGION \ --role=ACTIVE \ --drain-timeout=CONNECTION_DRAINING_TIMEOUT
Remplacez les éléments suivants :
CONNECTION_DRAINING_TIMEOUT
: durée, en secondes, pendant laquelle Google Cloud migre les connexions existantes hors des proxys du sous-réseau proxy réservé précédemment actif
Surveillez l'état du drainage à l'aide de la commande
list
oudescribe
. L'état du sous-réseau estDRAINING
pendant le drainage.gcloud compute networks subnets list
Attendez que le drainage soit terminé. Lorsque l'ancien sous-réseau proxy réservé est drainé, l'état du sous-réseau est
READY
.Mettez à jour votre règle de pare-feu de sous-réseau proxy réservé pour autoriser uniquement les connexions du nouveau sous-réseau.
gcloud compute firewall-rules PROXY_ONLY_SUBNET_FIREWALL_RULE \ --source-ranges BACKUP_PROXY_ONLY_SUBNET_RANGE
Une fois que vous êtes certain que les connexions à vos VM de backend ou points de terminaison ne proviennent pas de proxys du sous-réseau proxy réservé précédemment actif (désormais sous-réseau de secours), vous pouvez supprimer l'ancien sous-réseau.
gcloud compute networks subnets delete ACTIVE_PROXY_ONLY_SUBNET_NAME \ --region=REGION
Migrer l'objectif d'un sous-réseau proxy réservé
Si vous avez déjà créé un sous-réseau proxy réservé avec --purpose=INTERNAL_HTTPS_LOAD_BALANCER
, vous devez migrer l'objectif du sous-réseau vers REGIONAL_MANAGED_PROXY
avant de pouvoir créer d'autres équilibreurs de charge basés sur Envoy dans la même région du réseau VPC.
Console
Si vous utilisez la console Google Cloud pour créer l'équilibreur de charge, vous êtes invité à migrer l'objectif d'un sous-réseau proxy réservé précédemment créé de --purpose=INTERNAL_HTTPS_LOAD_BALANCER
vers REGIONAL_MANAGED_PROXY
lors de la création de l'équilibreur de charge.
gcloud
Pour remplacer l'objectif d'un sous-réseau proxy réservé existant --purpose=INTERNAL_HTTPS_LOAD_BALANCER
par REGIONAL_MANAGED_PROXY
, utilisez la commande suivante :
gcloud compute networks subnets update PROXY_ONLY_SUBNET \ --purpose=REGIONAL_MANAGED_PROXY \ --region=REGION
La migration de l'objectif d'un sous-réseau proxy réservé de --purpose=INTERNAL_HTTPS_LOAD_BALANCER
vers REGIONAL_MANAGED_PROXY
n'entraîne aucun temps d'arrêt. La modification devrait prendre effet presque instantanément.
Supprimer un sous-réseau proxy réservé
La suppression d'un sous-réseau proxy réservé libère sa plage d'adresses IP principale afin que vous puissiez l'utiliser à d'autres fins. Google Cloud applique les règles suivantes lorsqu'il reçoit une requête de suppression d'un sous-réseau proxy réservé :
Un sous-réseau proxy réservé actif ne peut pas être supprimé s'il existe au moins un équilibreur de charge régional dans la même région et le même réseau VPC.
Un sous-réseau proxy réservé actif ne peut pas être supprimé s'il existe un sous-réseau proxy réservé de secours dans la même région et le même réseau VPC.
Si vous essayez de supprimer un sous-réseau proxy réservé actif avant de supprimer la sauvegarde, le message d'erreur suivant s'affiche : "Utilisation des ressources non valide : impossible de supprimer le sous-réseau ACTIF car un sous-réseau DE SECOURS existe."
En pratique, ces règles ont les effets suivants :
Si aucun équilibreur de charge régional n'est défini dans une région et un réseau VPC donnés, vous pouvez supprimer les sous-réseaux proxy réservés de cette région. Si un sous-réseau proxy réservé de secours existe, vous devez d'abord le supprimer avant de pouvoir supprimer le sous-réseau proxy réservé actif.
Si au moins un équilibreur de charge régional est défini dans une région et un réseau VPC donnés, vous ne pouvez pas supprimer le sous-réseau proxy réservé actif. Toutefois, vous pouvez promouvoir le sous-réseau proxy réservé de secours et lui donner le statut actif, ce qui rétrograde automatiquement le sous-réseau proxy réservé précédemment actif au statut de secours. Une fois les connexions drainées, vous pouvez supprimer le sous-réseau proxy réservé de secours (précédemment actif).
Pour plus d'informations, reportez-vous à la section Supprimer des sous-réseaux dans la documentation du réseau VPC.
Limites
Les contraintes suivantes s'appliquent aux sous-réseaux proxy réservés :
Vous ne pouvez pas avoir à la fois un sous-réseau
INTERNAL_HTTPS_LOAD_BALANCER
etREGIONAL_MANAGED_PROXY
dans le même réseau et la même région, tout comme vous ne pouvez pas avoir deux proxysREGIONAL_MANAGED_PROXY
ou deux proxysINTERNAL_HTTPS_LOAD_BALANCER
.Vous ne pouvez créer qu'un seul sous-réseau proxy réservé actif et un seul sous-réseau proxy réservé de secours dans chaque région et dans chaque réseau VPC.
Vous ne pouvez pas créer de sous-réseau proxy réservé de secours, sauf si vous avez déjà créé un sous-réseau proxy réservé actif dans cette région et ce réseau.
Vous pouvez modifier le statut d'un sous-réseau proxy réservé de secours et le définir comme actif en le mettant à jour. Lorsque vous effectuez cette opération, Google Cloud change automatiquement le sous-réseau proxy réservé précédemment actif en sous-réseau de secours. Vous ne pouvez pas définir explicitement un sous-réseau proxy réservé comme sous-réseau de secours en le mettant à jour.
Pendant la période de drainage des connexions d'un sous-réseau proxy réservé (
--drain-timeout
), vous ne pouvez pas remplacer son statut.Google Cloud ne vous avertit pas si votre sous-réseau proxy réservé manque d'adresses IP. Toutefois, vous pouvez configurer Monitoring pour surveiller l'utilisation des adresses IP de votre sous-réseau proxy réservé. Vous pouvez définir des règles d'alerte afin de configurer une alerte pour la métrique
loadbalancing.googleapis.com/subnet/proxy_only/addresses
.Les sous-réseaux proxy réservés ne sont pas compatibles avec les journaux de flux VPC.
Étapes suivantes
- Configurer un équilibreur de charge d'application externe régional avec des backends de groupes d'instances de VM
- Configurer un équilibreur de charge d'application externe régional dans un environnement VPC partagé
- Configurer un équilibreur de charge d'application interne régional avec des backends de groupes d'instances de VM
- Configurer un équilibreur de charge d'application interne régional ou interrégional dans un environnement VPC partagé
- Configurer un équilibreur de charge réseau proxy interne régional avec des backends de groupe d'instances de VM
- Configurer un équilibreur de charge réseau proxy externe régional avec des backends de groupes d'instances de VM
- Configurer un équilibreur de charge réseau proxy interne interrégional avec des backends de groupes d'instances de VM