Sous-réseaux proxy réservés aux équilibreurs de charge HTTP(S) internes

Cette page explique comment utiliser les sous-réseaux proxy réservés aux équilibreurs de charge régionaux.

Pour une présentation générale des équilibreurs de charge HTTP(S) internes, consultez la Présentation de l'équilibrage de charge HTTP(S) interne.

Un sous-réseau proxy réservé est exclusivement réservé aux proxys d'équilibreur de charge régional. Il ne peut pas être utilisé à d'autres fins. Vous ne pouvez activer qu'un seul sous-réseau proxy réservé pour chaque réseau VPC de chaque région.

Vous devez créer un sous-réseau proxy réservé avant de créer des règles de transfert pour vos équilibreurs de charge. Chaque région d'un réseau VPC dans lequel vous utilisez des équilibreurs de charge régionaux doit comporter un sous-réseau proxy réservé.

L'équilibreur de charge régional fournit un pool de proxys pour votre réseau. Les proxys évaluent la destination de chaque requête HTTP(S) 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.

  1. Un client établit une connexion avec l'adresse IP et le port de la règle de transfert de l'équilibreur de charge.

  2. L'un des proxys reçoit la connexion réseau du client et y met fin.

  3. 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 proxys de tous les équilibreurs de charge régionaux d'une région utilisent des adresses IP internes provenant d'un sous-réseau proxy réservé unique de cette région sur votre réseau VPC. 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.

Seuls les proxys créés par Google Cloud pour les équilibreurs de charge régionaux d'une région utilisent le sous-réseau proxy réservé. 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 de backend.

Chaque proxy écoute l'adresse IP et le port spécifiés par la règle de transfert de l'équilibreur de charge correspondant. Chaque paquet envoyé à partir d'un proxy vers une VM de backend ou un point de terminaison possède une adresse IP source provenant du sous-réseau proxy réservé.

Le proxy est alloué au niveau du VPC, et non au niveau de l'équilibreur de charge. Cela signifie que plusieurs équilibreurs de charge régionaux situés dans la même région et sur le même réseau VPC partagent des proxys pour l'équilibrage de charge.

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 régional.

Composants numérotés de l'équilibreur de charge HTTP(S) interne (cliquez pour agrandir)
Composants numérotés de l'équilibreur de charge HTTP(S) interne (cliquez pour agrandir)

Comme le montre le schéma, le déploiement d'un équilibreur de charge régional 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 HTTP(S) internes, l'adresse IP de l'équilibreur de charge associée à la règle de transfert doit également se trouver dans ce sous-réseau.
  • Le sous-réseau proxy réservé est 10.129.0.0/23 (dans cet exemple).
  • Créer un sous-réseau proxy réservé

    Réserver un sous-réseau à un équilibreur de charge régional revient essentiellement à créer un sous-réseau, en ajoutant certaines options.

    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 HTTP(S) interne. 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. Pour le sous-réseau proxy réservé, --purpose doit être défini sur REGIONAL_MANAGED_PROXY.

    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.

    Vous devez créer un sous-réseau proxy réservé dans chaque région d'un réseau virtuel (VPC) où vous utilisez des équilibreurs de charge régionaux. Ce sous-réseau est partagé par tous vos équilibreurs de charge régionaux dans la région.

    Vous devez créer des sous-réseaux proxy réservés, pour les réseaux en mode automatique comme pour ceux en mode personnalisé. La taille de sous-réseau recommandée est /23 (512 adresses proxy réservées). Elle doit être au minimum de /26 (64 adresses proxy réservées).

    Console

    1. Dans Cloud Console, accédez à la page Réseaux VPC.
      Accéder à la page Réseaux VPC
    2. Cliquez sur le nom du réseau VPC partagé auquel vous souhaitez ajouter un sous-réseau proxy réservé.
    3. Cliquez sur Ajouter un sous-réseau.
    4. Saisissez un nom.
    5. Sélectionnez une Région.
    6. Définissez le champ Objectif sur Proxy géré régional.
    7. Saisissez une plage d'adresses IP.
    8. 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=REGIONAL_MANAGED_PROXY \
        --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é.
    • 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é. Consultez la configuration de fw-allow-proxies dans la section Configurer des règles de pare-feu.

    Disponibilité du proxy

    Parfois, les régions Google Cloud ne disposent pas d'une capacité de proxy suffisante pour un nouvel équilibreur de charge régional. Dans ce cas, Cloud Console 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é

    Lors de la modification du nombre de backends dans votre déploiement, il est possible que vous deviez également modifier la taille ou la plage d'adresses de votre sous-réseau proxy réservé.

    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

    1. 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

      1. Dans Cloud Console, accédez à la page Réseaux VPC.
        Accéder à la page Réseaux VPC
      2. Cliquez sur le nom du réseau VPC partagé auquel vous souhaitez ajouter un sous-réseau proxy réservé.
      3. Cliquez sur Ajouter un sous-réseau.
      4. Saisissez un nom.
      5. Sélectionnez une Région.
      6. Définissez le champ Objectif sur Proxy géré régional.
      7. Pour le champ Rôle, sélectionnez Sauvegarder.
      8. Saisissez une plage d'adresses IP.
      9. Cliquez sur Ajouter.
    2. 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.

    3. Faites évoluer le sous-réseau proxy réservé de secours vers le rôle actif. Cette action rétrograde également le sous-réseau proxy réservé précédemment actif au statut de secours:

      1. Dans Cloud Console, accédez à la page Réseaux VPC.
        Accéder à la page Réseaux VPC
      2. Cliquez sur le nom du réseau VPC partagé que vous souhaitez modifier.
      3. 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.
      4. Cliquez sur Activer.
      5. Spécifiez un délai avant expiration du drainage facultatif.
      6. Cliquez sur Activer le sous-réseau.
    4. 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

    1. 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_SUBNET \
         --purpose=REGIONAL_MANAGED_PROXY \
         --role=BACKUP \
         --region=REGION \
         --network=VPC_NETWORK_NAME \
         --range=CIDR_RANGE
      

    2. 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.

    3. La commande gcloud suivante fait passer un sous-réseau proxy réservé de secours au statut actif et rétrograde le sous-réseau proxy réservé précédemment actif au statut de secours :

      gcloud compute networks subnets update BACKUP_PROXY_SUBNET \
         --region=REGION \
         --role=ACTIVE \
         --drain-timeout=CONNECTION_DRAINING_TIMEOUT
      

      Remplacez l'élément suivant :

      • BACKUP_PROXY_SUBNET : nom du sous-réseau proxy réservé de secours que vous venez de créer
      • REGION : région du sous-réseau proxy réservé de secours que vous venez de créer
      • 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
    4. 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.

    Exemple de configuration

    Cette section inclut un exemple de configuration qui vous montre les étapes à suivre pour modifier le sous-réseau proxy réservé dans une région.

    1. Créez un sous-réseau proxy réservé de secours dédié à la région.

      gcloud compute networks subnets create new-l7ilb-backend-subnet-us-west1 \
         --purpose=REGIONAL_MANAGED_PROXY \
         --role=BACKUP \
         --region=us-west1 \
         --network=default \
         --range=10.130.0.0/23
      

    2. Mettez à jour votre pare-feu de backend de façon à accepter les connexions du nouveau sous-réseau.

      gcloud compute firewall-rules update l7-ilb-firewall \
         --source-ranges 10.129.0.0/23,10.130.0.0/23
      
    3. 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.

      gcloud compute networks subnets update new-l7ilb-ip-range-us-west1 \
         --drain-timeout 1h --role ACTIVE
      

      Pour drainer immédiatement une plage d'adresses IP, définissez --drain-timeout sur 0s. 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.

    4. Surveillez l'état du drainage à l'aide de la commande list ou describe. L'état du sous-réseau est DRAINING 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.

    5. Mettez à jour votre règle de pare-feu de backend afin d'autoriser uniquement les connexions à partir du nouveau sous-réseau.

      gcloud compute firewall-rules update l7-ilb-firewall \
         --source-ranges 10.130.0.0/23
      
    6. Supprimez l'ancien sous-réseau.

      gcloud compute networks subnets delete l7ilb-ip-range-us-west1 \
         --region us-west1
      

    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 et REGIONAL_MANAGED_PROXY dans le même réseau et la même région, tout comme vous ne pouvez pas avoir deux proxys REGIONAL_MANAGED_PROXY ou deux proxys INTERNAL_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.

    • Les sous-réseaux proxy réservés ne sont pas compatibles avec les journaux de flux VPC.

    Étape suivante