Configurer un équilibreur de charge d'application externe régional avec un backend externe

Ce guide vous explique comment configurer un équilibreur de charge d'application externe régional qui envoie les requêtes par proxy à un backend externe. Un backend externe est un point de terminaison externe à Google Cloud.

Avant de suivre ce guide, consultez la documentation de présentation des NEG Internet, y compris les limites.

Le schéma d'architecture suivant présente une interface d'équilibreur de charge d'application externe régional avec un backend externe.

Un équilibreur de charge d'application externe régional avec un backend externe
Figure 1. Un équilibreur de charge d'application externe régional avec un backend externe (cliquez pour agrandir)

Autorisations

Pour suivre ce guide, vous devez créer un NEG Internet, puis créer ou modifier un équilibreur de charge d'application dans un projet. Vous devez être propriétaire ou éditeur du projet (roles/owner ou roles/editor) ou disposer des deux rôles IAM Compute Engine suivants.

Tâche Rôle requis
Créer et modifier des composants d'équilibreur de charge Administrateur de réseaux Compute
(roles/compute.networkAdmin)
Créer et modifier des NEG Administrateur d'instances Compute
(roles/compute.instanceAdmin)

Configurer votre environnement backend externe en dehors de Google Cloud

Pour configurer votre environnement de backend externe, consultez les sections suivantes.

Configurer des points de terminaison du réseau

Configurez un point de terminaison du réseau pour exposer votre backend externe à Google Cloud. Assurez-vous que le point de terminaison (combinaison "adresse IP:port" ou nom de domaine complet et port) est accessible sur Internet. Ce point de terminaison est référencé ultérieurement depuis le NEG Internet.

Pour connaître les exigences de configuration détaillées des points de terminaison NEG Internet, consultez la présentation des NEG Internet.

Autoriser le backend externe à recevoir du trafic provenant de Google Cloud

Vous pouvez effectuer cette étape après avoir créé le sous-réseau proxy réservé et configuré la passerelle Cloud NAT.

Pour permettre aux requêtes de Google Cloud d'atteindre votre backend externe, procédez comme suit :

  1. Configurer une passerelle Cloud NAT avec des adresses IP utilisées pour le trafic de sortie de Google Cloud. La passerelle mappe la plage de sous-réseau proxy réservé aux adresses IP externes. Pour connaître la procédure à suivre, consultez la page Configurer une passerelle Cloud NAT.
  2. Assurez-vous que votre environnement backend externe est configuré pour autoriser le trafic provenant de Google Cloud à atteindre le backend externe. Par exemple, si vous avez utilisé des adresses IP pré-réservées pour la passerelle NAT, vous devez ajouter ces adresses IP à la liste d'autorisation dans votre environnement externe. Pour ce faire, vous devrez probablement vous adresser à l'administrateur réseau ou de sécurité de votre environnement externe.

Configurer votre environnement Google Cloud

Vous aurez besoin d'un réseau VPC avec deux sous-réseaux : un pour les composants de l'équilibreur de charge et l'autre pour le sous-réseau proxy réservé de la région. Vous allez ensuite créer l'équilibreur de charge avec un backend NEG Internet.

Créer le réseau et le sous-réseau VPC

Ce sous-réseau permet de créer les composants de l'équilibreur de charge.

console Cloud

  1. Dans Google Cloud Console, accédez à la page Réseaux VPC.
    Accéder à la page "Réseaux VPC"
  2. Cliquez sur Créer un réseau VPC.
  3. Saisissez un Nom : LB_NETWORK.
  4. Dans la section Sous-réseaux :
    • Définissez Mode de création du sous-réseau sur Personnalisé.
    • Dans la section Nouveau sous-réseau, saisissez les informations suivantes :
      • Nom : LB_SUBNET_NAME
      • Région : REGION
      • Plage d'adresses IP : LB_SUBNET_RANGE
    • Cliquez sur OK.
  5. Cliquez sur Créer.

gcloud

  1. Créez le réseau VPC personnalisé à l'aide de la commande gcloud compute networks create :

    gcloud compute networks create LB_NETWORK \
      --subnet-mode=custom
    
  2. Créez un sous-réseau dans le réseau LB_NETWORK.

    gcloud compute networks subnets create LB_SUBNET_NAME \
      --network=LB_NETWORK \
      --range=LB_SUBNET_RANGE \
      --region=REGION
    

Configurer le sous-réseau proxy réservé

Ce sous-réseau proxy réservé est utilisé par tous les équilibreurs de charge basés sur Envoy dans la région REGION.

Console

  1. Dans Google Cloud Console, accédez à la page Réseaux VPC.
    Accéder à la page "Réseaux VPC"
  2. Sélectionnez un réseau dans la liste.
  3. Cliquez sur Ajouter un sous-réseau.
  4. Saisissez un Nom : PROXY_ONLY_SUBNET_NAME.
  5. Sélectionnez une Région : REGION.
  6. Définissez le champ Objectif sur Proxy géré régional.
  7. Saisissez une plage d'adresses IP : PROXY_ONLY_SUBNET_RANGE.
  8. Cliquez sur Ajouter.

gcloud

Créez le sous-réseau proxy réservé à l'aide de la commande gcloud compute networks subnets create.

gcloud compute networks subnets create PROXY_ONLY_SUBNET_NAME \
  --purpose=REGIONAL_MANAGED_PROXY \
  --role=ACTIVE \
  --region=REGION \
  --network=LB_NETWORK \
  --range=PROXY_ONLY_SUBNET_RANGE

Configurer une passerelle Cloud NAT

Avant de configurer la passerelle Cloud NAT, assurez-vous d'avoir consulté les limites et considérations tarifaires applicables. Pour en savoir plus, consultez la section NEG régionaux : utiliser une passerelle Cloud NAT.

Les commandes suivantes décrivent comment configurer une passerelle Cloud NAT. La passerelle Cloud NAT peut être configurée pour utiliser des adresses IP externes NAT automatiques, dans lesquelles l'allocation est basée sur la demande ou utiliser un ensemble pré-réservé manuellement d'adresses IP externes. La passerelle mappe la plage de sous-réseau proxy réservé aux adresses IP externes.

Configurer des adresses IP NAT allouées automatiquement

Lorsque vous créez une passerelle Cloud NAT avec attribution automatique d'adresses IP NAT, vous pouvez spécifier les niveaux de service réseau (Premium ou Standard) à partir desquels la passerelle Cloud NAT alloue les adresses IP.

Console

  1. Dans Google Cloud Console, accédez à la page Cloud NAT.

    Accédez à Cloud NAT

  2. Cliquez sur Commencer ou sur Créer une passerelle Cloud NAT.

  3. Saisissez un nom de passerelle LB_NAT_CONFIG.

  4. Dans le champ Type de NAT, sélectionnezPublique.

  5. Dans la liste Réseau, sélectionnez LB_NETWORK.

  6. Dans la liste Région, sélectionnez REGION.

  7. Créez un routeur Cloud Router dans la région.

  8. Pour le type de point de terminaison source, sélectionnez Équilibreurs de charge proxy gérés.

  9. Dans la liste Source, sélectionnez Personnalisée.

    • Dans la liste Sous-réseaux, sélectionnez PROXY_ONLY_SUBNET_NAME.
  10. Dans la liste Adresses IP Cloud NAT, sélectionnez Automatiques (recommandé).

  11. Dans le champ Niveau de service réseau, choisissez Premium ou Standard.

  12. Cliquez sur Créer.

gcloud

Utilisez des adresses IP allouées de manière dynamique si votre environnement backend externe ne vous oblige pas à ajouter sur une liste d'autorisation des adresses IP Google Cloud spécifiques pouvant envoyer du trafic vers le backend externe.

  1. Créez un routeur Cloud Router :

    gcloud beta compute routers create ROUTER_NAME \
      --network=LB_NETWORK \
      --region=REGION
  2. Configurez la passerelle Cloud NAT.

    gcloud beta compute routers nats create LB_NAT_CONFIG \
      --router=ROUTER_NAME \
      --endpoint-types=ENDPOINT_TYPE_MANAGED_PROXY_LB \
      --nat-custom-subnet-ip-ranges=PROXY_ONLY_SUBNET_NAME \
      --auto-allocate-nat-external-ips \
      --region=REGION
    

Remplacez les éléments suivants :

  • LB_NAT_CONFIG : nom de votre configuration NAT.

  • ROUTER_NAME : nom de votre routeur Cloud Router.

  • REGION : région du NAT à créer. Si la région n'est pas spécifiée, vous pouvez être invité à sélectionner une région (mode interactif uniquement).

  • PROXY_ONLY_SUBNET_NAME : nom de votre sous-réseau proxy réservé.

Configurer des adresses IP allouées manuellement

N'utilisez des adresses IP allouées manuellement que si votre environnement backend externe nécessite d'utiliser une liste d'autorisation pour les adresses IP Google Cloud spécifiques. Si l'environnement backend externe ne nécessite pas de liste d'autorisation, utilisez plutôt l'allocation dynamique, comme indiqué précédemment.

Lors de la création d'une passerelle Cloud NAT, vous pouvez choisir d'attribuer manuellement des adresses IP NAT de niveau Premium ou Standard, ou les deux, sous réserve de certaines conditions.

Console

  1. Dans Google Cloud Console, accédez à la page Cloud NAT.

    Accédez à Cloud NAT

  2. Cliquez sur Commencer ou sur Créer une passerelle Cloud NAT.

  3. Saisissez un nom de passerelle LB_NAT_CONFIG.

  4. Dans la liste Réseau, sélectionnez LB_NETWORK.

  5. Dans la liste Région, sélectionnez REGION.

  6. Sélectionnez ou créez un routeur Cloud Router dans la région.

  7. Pour le type de point de terminaison source, sélectionnez Équilibreurs de charge proxy gérés.

  8. Dans la liste Source, sélectionnez Personnalisée.

    • Dans le champ sous-réseaux, sélectionnez PROXY_ONLY_SUBNET_NAME.
  9. Dans la liste Adresses IP Cloud NAT, sélectionnez Manuelles.

  10. Dans le champ Niveau de service réseau, choisissez Premium ou Standard.

  11. Sélectionnez ou créez une adresse IP externe réservée statique à utiliser pour le NAT.

  12. Si vous souhaitez spécifier des adresses IP supplémentaires, cliquez sur Ajouter une adresse IP, puis sélectionnez ou créez une adresse IP externe réservée statique supplémentaire.

  13. Cliquez sur Créer.

gcloud

  1. Créez les adresses IP. Étant donné que la passerelle effectue une traduction NAT de type un à un, vous devez vous assurer que le pool d'adresses IP réservées est assez grand pour gérer la quantité de trafic attendue. Une insuffisance d'allocation d'adresses IP NAT peut entraîner une perte de trafic.

    gcloud compute addresses create IP_ADDRESS_NAME_1 IP_ADDRESS_NAME_2 [IP_ADDRESS_NAME_3 ...] \
      --region=REGION
    
  2. Créez un routeur Cloud Router :

    gcloud compute routers create ROUTER_NAME \
      --network=LB_NETWORK \
      --region=REGION
  3. Configurez la passerelle Cloud NAT.

    gcloud beta compute routers nats create LB_NAT_CONFIG \
      --router=ROUTER_NAME \
      --endpoint-types=ENDPOINT_TYPE_MANAGED_PROXY_LB \
      --nat-custom-subnet-ip-ranges=PROXY_ONLY_SUBNET_NAME \
      --nat-external-ip-pool=IP_ADDRESS_NAME_1,IP_ADDRESS_NAME_2,[IP_ADDRESS_NAME_3 ...] \
      --region=REGION
    

    Remplacez les éléments suivants :

  • LB_NAT_CONFIG : nom de votre configuration NAT.

  • ROUTER_NAME : nom de votre routeur Cloud Router.

  • PROXY_ONLY_SUBNET_NAME : nom de votre sous-réseau proxy réservé.

  • REGION : région du NAT à créer. Si la région n'est pas spécifiée, vous pouvez être invité à sélectionner une région (mode interactif uniquement).

Pour en savoir plus, consultez la section Spécifier des plages de sous-réseaux pour la NAT dans la documentation de Cloud NAT.

Assurez-vous d'utiliser une liste d'autorisation pour les plages d'adresses IP NAT dans votre environnement backend externe, afin que votre backend externe puisse recevoir du trafic issu de Google Cloud.

Réserver l'adresse IP de l'équilibreur de charge

Réservez une adresse IP statique pour l'équilibreur de charge.

Console

  1. Dans la console Google Cloud, accédez à la page Réserver une adresse statique.

    Accédez à la page "Réserver une adresse statique"

  2. Choisissez un Nom pour la nouvelle adresse.

  3. Définissez le Niveau de service réseau sur Standard.

  4. Pour Version IP, sélectionnez IPv4. Les adresses IPv6 ne peuvent être que globales et ne peuvent être utilisées qu'avec les équilibreurs de charge globaux.

  5. Pour le Type, sélectionnez Régional.

  6. Sélectionnez une Région.

  7. Laissez l'option Associé à définie sur Aucun. Une fois l'équilibreur de charge créé, cette adresse IP sera associée à la règle de transfert de l'équilibreur de charge.

  8. Cliquez sur Réserver pour réserver l'adresse IP.

gcloud

  1. Pour réserver une adresse IP externe statique à l'aide de gcloud compute, utilisez la commande compute addresses create.

    gcloud compute addresses create LB_IP_ADDRESS  \
       --region=REGION \
       --network-tier=STANDARD
    

    Remplacez les éléments suivants :

    • LB_IP_ADDRESS : nom que vous souhaitez donner à cette adresse.
    • REGION : région dans laquelle vous souhaitez réserver cette adresse. Cette région doit être la même que celle de l'équilibreur de charge. Toutes les adresses IP régionales sont IPv4.
  2. Utilisez la commande compute addresses describe pour afficher le résultat :

    gcloud compute addresses describe LB_IP_ADDRESS
    

Configurer le NEG Internet

Vous pouvez créer un NEG Internet avec des points de terminaison INTERNET_FQDN_PORT ou INTERNET_IP_PORT.

Console

Créer un NEG avec des points de terminaison INTERNET_FQDN_PORT

  1. Dans la console Google Cloud, accédez à la page Groupe de points de terminaison du réseau.

    Accéder au groupe de points de terminaison du réseau

  2. Cliquez sur Créer un groupe de points de terminaison du réseau.

  3. Spécifiez un paramètre INTERNET_NEG_NAME pour votre NEG Internet. Pour en savoir plus, consultez la section Recommandation pour l'attribution de noms aux ressources.

  4. Dans la liste Type de groupe de points de terminaison du réseau, sélectionnez Groupe de points de terminaison du réseau (Internet), puis procédez comme suit :

    • Dans la liste Champ d'application, sélectionnez Régional.
    • Facultatif : Dans la liste Région, modifiez le paramètre REGION pour ce NEG.
    • Dans la liste Réseau, sélectionnez LB_NETWORK.
    • Dans la zone Port par défaut, saisissez DEFAULT_PORT_NUMBER.
    • Dans la liste Ajouter des points de terminaison via, sélectionnez Nom de domaine complet et port.
  5. Sélectionnez Créer.

Ajoutez des points de terminaison INTERNET_FQDN_PORT au NEG.

  1. Dans la console Google Cloud, accédez à la page Groupe de points de terminaison du réseau.

    Accéder au groupe de points de terminaison du réseau

  2. Cliquez sur INTERNET_NEG_NAME.
  3. Saisissez le nom de domaine complet, tel que myorg.example.com. Vous devez spécifier les objets de nom de domaine complet dans la syntaxe de nom de domaine complet standard.

  4. Facultatif : Pour Type de port, sélectionnez Personnalisé. Si le type de port est Default, le port par défaut du NEG est utilisé.

  5. Dans la zone Numéro de port, saisissez PORT_NUMBER_1.
  6. Sélectionnez Créer.

Créer un NEG avec des points de terminaison INTERNET_IP_PORT

  1. Dans la console Google Cloud, accédez à la page Groupe de points de terminaison du réseau.

    Accéder au groupe de points de terminaison du réseau

  2. Cliquez sur Créer un groupe de points de terminaison du réseau.

  3. Spécifiez un nom INTERNET_NEG_NAME pour votre NEG Internet. Pour en savoir plus, consultez la section Recommandation pour l'attribution de noms aux ressources.

  4. Dans la liste Type de groupe de points de terminaison du réseau, sélectionnez Groupe de points de terminaison du réseau (Internet), puis procédez comme suit :

    • Dans la liste Champ d'application, sélectionnez Régional.
    • Facultatif : Dans la liste Région, modifiez le paramètre REGION pour ce NEG.
    • Dans la liste Réseau, sélectionnez LB_NETWORK.
    • Dans la zone Port par défaut, saisissez DEFAULT_PORT_NUMBER.
    • Dans la liste Ajouter des points de terminaison via, sélectionnez Adresse IP et port.
  5. Sélectionnez Créer.

Ajoutez des points de terminaison INTERNET_IP_PORT au NEG.

  1. Dans la console Google Cloud, accédez à la page Groupe de points de terminaison du réseau.

    Accéder au groupe de points de terminaison du réseau

  2. Cliquez sur INTERNET_NEG_NAME.
  3. Dans le champ Adresse IP, saisissez IP_ADDRESS_1.
  4. Facultatif : Dans la liste Type de port, sélectionnez Personnalisé. Si le type de port est Default, le port par défaut du NEG est utilisé.

  5. Dans le champ Numéro de port, saisissez PORT_NUMBER_1.
  6. Sélectionnez Créer.

gcloud

Pour créer un NEG avec des points de terminaison INTERNET_FQDN_PORT, procédez comme suit :

  1. Créez la ressource NEG.

    gcloud beta compute network-endpoint-groups create INTERNET_NEG_NAME \
        --network-endpoint-type=INTERNET_FQDN_PORT \
        --default-port=DEFAULT_PORT_NUMBER \
        --network=LB_NETWORK \
        --region=REGION
    
  2. Ajoutez des points de terminaison au NEG. Si aucun port n'est spécifié, le port par défaut du NEG est utilisé.

    gcloud beta compute network-endpoint-groups update INTERNET_NEG_NAME \
        --add-endpoint="fqdn=FULLY_QUALIFIED_DOMAIN_NAME_1,port=PORT_NUMBER_1" \
        [--add-endpoint="fqdn=FULLY_QUALIFIED_DOMAIN_NAME_2,port=PORT_NUMBER_2" \]
        --region=REGION
    

    Remplacez les éléments suivants :

    • FULLY_QUALIFIED_DOMAIN_NAME : nom de domaine complet du point de terminaison
    • PORT_NUMBER : numéro de port du point de terminaison

    Vous pouvez ajouter jusqu'à 256 points de terminaison par NEG.

Si votre domaine peut être résolu sur Internet, aucune autre configuration n'est nécessaire pour configurer le DNS. Toutefois, si vous utilisez des noms de domaine complets privés, vous devez configurer Cloud DNS pour faciliter la résolution DNS. Le nom doit être hébergé sur Cloud DNS ou doit pouvoir être résolu via le transfert DNS de Cloud DNS vers un DNS sur site.

Commencez par créer une zone Cloud DNS pour héberger les enregistrements DNS dans votre projet. Ajoutez-y ensuite les enregistrements DNS. Consultez la documentation de Cloud DNS pour connaître la procédure de configuration spécifique.

Pour créer un NEG avec des points de terminaison INTERNET_IP_PORT, procédez comme suit :

  1. Créez la ressource NEG.

    gcloud beta compute network-endpoint-groups create INTERNET_NEG_NAME \
        --network-endpoint-type=INTERNET_IP_PORT \
        --default-port=DEFAULT_PORT_NUMBER \
        --network=LB_NETWORK \
        --region=REGION
    
  2. Ajoutez des points de terminaison au NEG. Si aucun port n'est spécifié, le port par défaut du NEG est utilisé.

    gcloud beta compute network-endpoint-groups update INTERNET_NEG_NAME \
        --add-endpoint="ip=IP_ADDRESS_1,port=PORT_NUMBER_1" \
        [--add-endpoint="ip=IP_ADDRESS_2,port=PORT_NUMBER_2" \]
        --region=REGION
    

    Remplacez les éléments suivants :

    • IP_ADDRESS : adresse IP du point de terminaison
    • PORT_NUMBER : numéro de port du point de terminaison

    Vous pouvez répéter cette étape pour ajouter jusqu'à 256 points de terminaison par NEG.

Créer l'équilibreur de charge

Console

Démarrer la configuration

  1. Dans Google Cloud Console, accédez à la page Équilibrage de charge.

    Accéder à la page "Équilibrage de charge"

  2. Cliquez sur Créer un équilibreur de charge.
  3. Dans le champ Type d'équilibreur de charge, sélectionnez Équilibreur de charge d'application (HTTP/HTTPS), puis cliquez sur Suivant.
  4. Pour Public ou interne, sélectionnez Public (externe), puis cliquez sur Suivant.
  5. Pour Déploiement global ou dans une seule région, sélectionnez Recommandé pour les charges de travail régionales, puis cliquez sur Suivant.
  6. Cliquez sur Configurer.

Configuration de base

  1. Saisissez un nom d'équilibreur de charge.
  2. Pour Région, sélectionnez REGION.
  3. Pour Réseau, sélectionnez LB_NETWORK.

Réserver un sous-réseau proxy réservé

Pour réserver un sous-réseau proxy réservé :

  1. Cliquez sur Réserver un sous-réseau.
  2. Dans le champ Nom, saisissez PROXY_ONLY_SUBNET_NAME.
  3. Dans Plage d'adresses IP, saisissez PROXY_ONLY_SUBNET_RANGE.
  4. Cliquez sur Ajouter.

Configuration de l'interface

  1. Cliquez sur Configuration de l'interface.
  2. Saisissez un nom.
  3. Pour Sous-réseau, sélectionnez LB_SUBNET_NAME.
  4. Pour créer un équilibreur de charge HTTPS, vous devez disposer d'un certificat SSL. Nous vous recommandons d'utiliser un certificat géré par Google.

    Propriété Valeur (saisissez une valeur ou sélectionnez une option spécifiée)
    Protocole HTTPS
    Niveau de service réseau Premium
    Version IP IPv4
    Adresse IP Sélectionnez l'adresse IP réservée précédemment : LB_IP_ADDRESS.
    Port 443
    Certificat

    Sélectionnez un certificat SSL existant ou créez-en un.

    Pour créer un équilibreur de charge HTTPS, vous devez disposer d'une ressource de certificat SSL à utiliser dans le proxy HTTPS.

    Si vous souhaitez tester ce processus sans configurer une ressource de certificat SSL (ou un domaine comme requis par les certificats gérés par Google), vous pouvez configurer un équilibreur de charge HTTP.

    Pour créer un équilibreur de charge HTTP, vérifiez que les options suivantes sont configurées avec ces valeurs :

    Propriété Valeur (saisissez une valeur ou sélectionnez une option spécifiée)
    Protocole HTTP
    Niveau de service réseau Premium
    Version IP IPv4
    Adresse IP Sélectionnez l'adresse IP réservée précédemment : LB_IP_ADDRESS.
    Port 80
  5. Cliquez sur OK.

Configuration du backend

  1. Cliquez sur Configuration du backend.
  2. Cliquez sur Services de backend et buckets backend.
  3. Cliquez sur Créer un service backend.
  4. Saisissez un nom.
  5. Pour le type de backend, sélectionnez Groupe de points de terminaison du réseau Internet.
  6. Pour le champ Protocole, sélectionnez le protocole que vous souhaitez utiliser depuis l'équilibreur de charge vers le NEG Internet.
  7. Pour les Backends, dans la fenêtre Nouveau backend, sélectionnez le groupe de points de terminaison du réseau Internet régional créé à l'étape précédente.
  8. Cliquez sur OK.
  9. Configurez la vérification d'état :
    1. Dans la section Health check (Vérification d'état), sélectionnez Create a health check (Créer une vérification d'état).
    2. Définissez le nom de la vérification d'état sur HTTP_HEALTH_CHECK_NAME.
    3. Pour Protocole, sélectionnez HTTP.
    4. Définissez le paramètre Port sur 80.
  10. Cliquez sur Créer.

Vérifier et finaliser

  1. Cliquez sur Vérifier et finaliser.
  2. Si tout semble correct, cliquez sur Créer.

gcloud

  1. Facultatif : créez une vérification d'état. Les vérifications d'état des backends externes utilisent les vérifications d'état distribuées Envoy et subissent ultérieurement une traduction NAT.
    gcloud compute health-checks create http HTTP_HEALTH_CHECK_NAME \
        --region=REGION \
        --use-serving-port
    
  2. Créez un service de backend :
    gcloud compute backend-services create BACKEND_SERVICE \
        --load-balancing-scheme=EXTERNAL_MANAGED \
        --protocol=HTTP \
        --health-checks=HTTP_HEALTH_CHECK_NAME \
        --health-checks-region=REGION \
        --region=REGION
    
  3. Ajoutez le NEG Internet au service de backend :
    gcloud compute backend-services add-backend BACKEND_SERVICE \
        --network-endpoint-group=INTERNET_NEG_NAME \
        --network-endpoint-group-region=REGION \
        --region=REGION
    
    gcloud compute backend-services add-backend BACKEND_SERVICE \
        --network-endpoint-group=INTERNET_NEG_NAME \
        --network-endpoint-group-region=REGION \
        --region=REGION
      
  4. Créez un mappage d'URL pour acheminer les requêtes entrantes vers le service de backend :
    gcloud compute url-maps create URL_MAP_NAME \
        --default-service=BACKEND_SERVICE \
        --region=REGION
    
  5. Facultatif : effectuez cette étape si vous utilisez HTTPS entre le client et l'équilibreur de charge. Cette opération n'est pas requise pour les équilibreurs de charge HTTP.

    Vous pouvez créer des certificats Compute Engine ou via le gestionnaire de certificats. Utilisez l'une des méthodes suivantes pour créer des certificats à l'aide du gestionnaire de certificats :

    • Certificats régionaux autogérés Pour en savoir plus sur la création et l'utilisation de certificats autogérés régionaux, consultez la page Déployer un certificat régional autogéré. Les mappages de certificats ne sont pas acceptés.

    • Certificats régionaux gérés par Google. Les mappages de certificats ne sont pas acceptés.

      Les types de certificats régionaux gérés par Google suivants sont compatibles avec le gestionnaire de certificats :

    • Après avoir créé des certificats, associez-les directement au proxy cible.

      Pour créer une ressource de certificat SSL autogéré Compute Engine, procédez comme suit :
      gcloud compute ssl-certificates create SSL_CERTIFICATE_NAME \
          --certificate CRT_FILE_PATH \
          --private-key KEY_FILE_PATH
      
    • Créez un proxy HTTP(S) cible, qui va rediriger les requêtes vers votre mappage d'URL.

      Pour un équilibreur de charge HTTP, créez un proxy HTTP cible :

      gcloud compute target-http-proxies create TARGET_HTTP_PROXY_NAME \
          --url-map=URL_MAP_NAME \
          --region=REGION
      

      Pour un équilibreur de charge HTTPS, créez un proxy cible HTTPS. Le serveur proxy est la partie de l'équilibreur de charge qui contient le certificat SSL pour l'équilibrage de charge HTTPS. Vous chargez donc également votre certificat à cette étape :

      gcloud compute target-https-proxies create TARGET_HTTPS_PROXY_NAME \
          --ssl-certificates=SSL_CERTIFICATE_NAME \
          --url-map=URL_MAP_NAME \
          --region=REGION
      
    • Créez une règle de transfert pour acheminer les requêtes entrantes vers le proxy.

      Pour un équilibreur de charge HTTP, utilisez ce qui suit :

      gcloud compute forwarding-rules create HTTP_FORWARDING_RULE_NAME \
          --load-balancing-scheme=EXTERNAL_MANAGED \
          --network-tier=STANDARD \
          --address=LB_IP_ADDRESS \
          --target-http-proxy=TARGET_HTTP_PROXY_NAME \
          --target-http-proxy-region=REGION \
          --region=REGION \
          --ports=80
      

      Pour un équilibreur de charge HTTPS, utilisez ce qui suit :

      gcloud compute forwarding-rules create HTTPS_FORWARDING_RULE_NAME \
          --load-balancing-scheme=EXTERNAL_MANAGED \
          --network-tier=STANDARD \
          --address=LB_IP_ADDRESS \
          --target-https-proxy=TARGET_HTTPS_PROXY_NAME \
          --target-http-proxy-region=REGION \
          --region=REGION \
          --ports=443
      

Connecter un domaine à votre équilibreur de charge

Une fois l'équilibreur de charge créé, notez l'adresse IP associée à celui-ci (par exemple, 30.90.80.100). Pour faire pointer votre domaine vers votre équilibreur de charge, créez un enregistrement A à l'aide de votre service d'enregistrement de domaine. Si vous avez ajouté plusieurs domaines à votre certificat SSL, vous devez ajouter un enregistrement A à chacun d'eux, tous pointant vers l'adresse IP de l'équilibreur de charge. Par exemple, pour créer des enregistrements A pour www.example.com et example.com, utilisez le code suivant :

NAME                  TYPE     DATA
www                   A        30.90.80.100
@                     A        30.90.80.100

Si vous utilisez Cloud DNS comme fournisseur DNS, consultez la section Ajouter, modifier et supprimer des enregistrements.

Tester l'équilibreur de charge

Maintenant que vous avez configuré votre équilibreur de charge, vous pouvez commencer à envoyer du trafic vers son adresse IP. Si vous avez configuré un domaine, vous pouvez également envoyer du trafic vers le nom de domaine. Toutefois, la propagation DNS peut prendre un certain temps. Vous pouvez donc commencer à utiliser l'adresse IP à des fins de test.

Console

  1. Dans la console Google Cloud, accédez à la page Équilibrage de charge.

    Accéder à la page "Équilibrage de charge"

  2. Cliquez sur l'équilibreur de charge que vous venez de créer.

  3. Notez l'adresse IP de l'équilibreur de charge.

  4. Envoyez du trafic vers l'équilibreur de charge.

    • Si vous avez créé un équilibreur de charge HTTP, vous pouvez le tester en accédant à http://IP_ADDRESS. Remplacez IP_ADDRESS par l'adresse IP de l'équilibreur de charge. Vous devriez être redirigé vers l'application que vous exécutez sur le backend externe.

    • Si vous avez créé un équilibreur de charge HTTPS, vous pouvez le tester en accédant à https://IP_ADDRESS. Remplacez IP_ADDRESS par l'adresse IP de l'équilibreur de charge. Vous devriez être redirigé vers l'application que vous exécutez sur le backend externe.

    Si cela ne fonctionne pas et que vous utilisez un certificat géré par Google, vérifiez que l'état de votre ressource de certificat est ACTIF. Pour plus d'informations, consultez la section État des ressources de certificat SSL géré par Google.

    Vous pouvez également utiliser curl depuis l'interface de ligne de commande de votre machine locale. Remplacez IP_ADDRESS par l'adresse IPv4 de l'équilibreur de charge. Si vous utilisez un certificat géré par Google, testez le domaine qui pointe vers l'adresse IP de l'équilibreur de charge. Exemple :

    curl -s 'https://www.example.com:443' --resolve www.example.com:443:IP_ADDRESS
    
  5. Facultatif : Si vous utilisez un domaine personnalisé, vous devrez peut-être attendre la propagation des paramètres DNS mis à jour. Testez ensuite votre domaine dans le navigateur Web.

    Pour obtenir de l'aide concernant le dépannage, consultez la section Résoudre les problèmes liés aux backends externes et aux NEG Internet.

Configuration supplémentaire

Cette section développe l'exemple de configuration et propose d'autres options de configuration. Toutes les tâches décrites ici sont facultatives. Vous pouvez les exécuter dans n'importe quel ordre.

Utiliser un en-tête personnalisé pour authentifier les requêtes

Pour authentifier les requêtes envoyées à votre backend externe, vous pouvez définir un en-tête personnalisé pour indiquer qu'elles proviennent d'un équilibreur de charge Google Cloud. Vous devrez également configurer le backend externe pour qu'il attende cet en-tête personnalisé sur le trafic provenant de Google Cloud.

Pour apprendre à configurer des en-têtes personnalisés, consultez la page Configurer la gestion avancée du trafic.

Pour connaître les autres méthodes d'authentification, consultez la page Authentifier les requêtes sur le backend externe.

Activer IAP sur l'équilibreur de charge d'application externe

Vous pouvez configurer IAP pour l'activer ou le désactiver (par défaut). Si cette option est activée, vous devez fournir des valeurs pour oauth2-client-id et oauth2-client-secret.

Pour activer IAP, mettez à jour le service de backend afin d'inclure l'indicateur --iap=enabled avec oauth2-client-id et oauth2-client-secret.

Étapes suivantes