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 réseau proxy externe régional avec un backend externe.Autorisations
Pour suivre ce guide, vous devez créer un NEG Internet, puis créer ou modifier un équilibreur de charge réseau proxy 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 :
- 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.
- 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
- Dans Google Cloud Console, accédez à la page Réseaux VPC.
Accéder à la page "Réseaux VPC" - Cliquez sur Créer un réseau VPC.
- Saisissez un Nom : LB_NETWORK.
- 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.
- Cliquez sur Créer.
gcloud
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
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
- Dans Google Cloud Console, accédez à la page Réseaux VPC.
Accéder à la page "Réseaux VPC" - Sélectionnez un réseau dans la liste.
- Cliquez sur Ajouter un sous-réseau.
- Saisissez un Nom : PROXY_ONLY_SUBNET_NAME.
- Sélectionnez une Région : REGION.
- Définissez le champ Objectif sur Proxy géré régional.
- Saisissez une plage d'adresses IP : PROXY_ONLY_SUBNET_RANGE.
- 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
Dans Google Cloud Console, accédez à la page Cloud NAT.
Cliquez sur Commencer ou sur Créer une passerelle Cloud NAT.
Saisissez un nom de passerelle LB_NAT_CONFIG.
Dans le champ Type de NAT, sélectionnezPublique.
Dans la liste Réseau, sélectionnez LB_NETWORK.
Dans la liste Région, sélectionnez REGION.
Créez un routeur Cloud Router dans la région.
Pour le type de point de terminaison source, sélectionnez Équilibreurs de charge proxy gérés.
Dans la liste Source, sélectionnez Personnalisée.
- Dans la liste Sous-réseaux, sélectionnez PROXY_ONLY_SUBNET_NAME.
Dans la liste Adresses IP Cloud NAT, sélectionnez Automatiques (recommandé).
Dans le champ Niveau de service réseau, choisissez Premium ou Standard.
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.
Créez un routeur Cloud Router :
gcloud beta compute routers create ROUTER_NAME \ --network=LB_NETWORK \ --region=REGION
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
Dans Google Cloud Console, accédez à la page Cloud NAT.
Cliquez sur Commencer ou sur Créer une passerelle Cloud NAT.
Saisissez un nom de passerelle LB_NAT_CONFIG.
Dans la liste Réseau, sélectionnez LB_NETWORK.
Dans la liste Région, sélectionnez REGION.
Sélectionnez ou créez un routeur Cloud Router dans la région.
Pour le type de point de terminaison source, sélectionnez Équilibreurs de charge proxy gérés.
Dans la liste Source, sélectionnez Personnalisée.
- Dans le champ sous-réseaux, sélectionnez PROXY_ONLY_SUBNET_NAME.
Dans la liste Adresses IP Cloud NAT, sélectionnez Manuelles.
Dans le champ Niveau de service réseau, choisissez Premium ou Standard.
Sélectionnez ou créez une adresse IP externe réservée statique à utiliser pour le NAT.
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.
Cliquez sur Créer.
gcloud
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
Créez un routeur Cloud Router :
gcloud compute routers create ROUTER_NAME \ --network=LB_NETWORK \ --region=REGION
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éserver une adresse IP externe pour l'équilibreur de charge. Cette procédure crée l'adresse IP de l'équilibreur de charge au niveau Standard. Les équilibreurs de charge réseau proxy externes régionaux sont compatibles avec les niveaux de service réseau Premium et Standard. Toutefois, la création de cet équilibreur de charge au niveau Premium n'est pas possible dans la console Google Cloud. Utilisez plutôt gcloud ou l'API REST.
Console
Dans la console Google Cloud, accédez à la page Réserver une adresse statique.
Choisissez un Nom pour la nouvelle adresse.
Définissez le Niveau de service réseau sur Standard.
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.
Pour le Type, sélectionnez Régional.
Sélectionnez une Région.
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.
Cliquez sur Réserver pour réserver l'adresse IP.
gcloud
Pour réserver une adresse IP externe statique à l'aide de
gcloud compute
, utilisez la commandecompute 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 sontIPv4
.
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
Dans la console Google Cloud, accédez à la page Groupe de points de terminaison du réseau.
Cliquez sur Créer un groupe de points de terminaison du réseau.
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.
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.
- Sélectionnez Créer.
Ajoutez des points de terminaison INTERNET_FQDN_PORT
au NEG.
Dans la console Google Cloud, accédez à la page Groupe de points de terminaison du réseau.
- Cliquez sur INTERNET_NEG_NAME.
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.Facultatif : Pour Type de port, sélectionnez Personnalisé. Si le type de port est
Default
, le port par défaut du NEG est utilisé.- Dans la zone Numéro de port, saisissez PORT_NUMBER_1.
- Sélectionnez Créer.
Créer un NEG avec des points de terminaison INTERNET_IP_PORT
Dans la console Google Cloud, accédez à la page Groupe de points de terminaison du réseau.
Cliquez sur Créer un groupe de points de terminaison du réseau.
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.
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.
- Sélectionnez Créer.
Ajoutez des points de terminaison INTERNET_IP_PORT
au NEG.
Dans la console Google Cloud, accédez à la page Groupe de points de terminaison du réseau.
- Cliquez sur INTERNET_NEG_NAME.
- Dans le champ Adresse IP, saisissez IP_ADDRESS_1.
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é.- Dans le champ Numéro de port, saisissez PORT_NUMBER_1.
- Sélectionnez Créer.
gcloud
Pour créer un NEG avec des points de terminaison INTERNET_FQDN_PORT
, procédez comme suit :
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
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 terminaisonPORT_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 :
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
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 terminaisonPORT_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
Dans Google Cloud Console, accédez à la page Équilibrage de charge.
- Cliquez sur Créer un équilibreur de charge.
- Sous Type d'équilibreur de charge, sélectionnez Équilibreur de charge réseau (TCP/UDP/SSL), puis cliquez sur Suivant.
- Pour Proxy ou passthrough, sélectionnez Équilibreur de charge proxy, puis cliquez sur Suivant.
- Pour Public ou interne, sélectionnez Public (externe), puis cliquez sur Suivant.
- Pour Déploiement global ou dans une seule région, sélectionnez Recommandé pour les charges de travail régionales, puis cliquez sur Suivant.
- Cliquez sur Configurer.
Configuration de base
- Saisissez un nom d'équilibreur de charge.
- Pour Région, sélectionnez REGION.
- 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é :
- Cliquez sur Réserver un sous-réseau.
- Dans le champ Nom, saisissez PROXY_ONLY_SUBNET_NAME.
- Dans Plage d'adresses IP, saisissez PROXY_ONLY_SUBNET_RANGE.
- Cliquez sur Ajouter.
Configuration de l'interface
- Cliquez sur Configuration de l'interface.
- Saisissez un nom.
- Pour Sous-réseau, sélectionnez LB_SUBNET_NAME.
- Pour Adresse IP, sélectionnez l'adresse IP réservée précédemment : LB_IP_ADDRESS
- Pour Numéro de port, spécifiez un seul numéro de port compris entre 1 et 65 535. La règle de transfert ne transfère que les paquets avec un port de destination correspondant.
- Cliquez sur OK.
Configuration du backend
- Cliquez sur Configuration du backend.
- Cliquez sur Services de backend et buckets backend.
- Cliquez sur Créer un service backend.
- Saisissez un nom.
- Pour le type de backend, sélectionnez Groupe de points de terminaison du réseau Internet.
- Dans le champ Protocole, sélectionnez TCP.
- Pour 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.
- Cliquez sur OK.
- Configurez la vérification d'état :
- Dans la section Health check (Vérification d'état), sélectionnez Create a health check (Créer une vérification d'état).
- Définissez le nom de la vérification d'état sur TCP_HEALTH_CHECK_NAME.
- Dans le champ Protocole, sélectionnez TCP.
- Définissez le paramètre Port sur
80
. - Conservez les valeurs par défaut restantes, puis cliquez sur Enregistrer.
- Cliquez sur Créer.
Vérifier et finaliser
- Cliquez sur Vérifier et finaliser.
- Si tout semble correct, cliquez sur Créer.
gcloud
- 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 tcp TCP_HEALTH_CHECK_NAME \ --region=REGION \ --use-serving-port
- Créez un service de backend :
gcloud compute backend-services create BACKEND_SERVICE \ --load-balancing-scheme=EXTERNAL_MANAGED \ --health-checks=TCP_HEALTH_CHECK_NAME \ --health-checks-region=REGION \ --region=REGION
- 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
Créez un proxy TCP cible pour acheminer les requêtes vers votre service de backend.
gcloud compute target-tcp-proxies create TARGET_TCP_PROXY_NAME \ --backend-service=BACKEND_SERVICE \ --region=REGION
Créez une règle de transfert pour acheminer les requêtes entrantes vers le proxy. Pour "--ports", spécifiez un seul numéro de port compris entre 1 et 65 535. La règle de transfert ne transfère que les paquets avec un port de destination correspondant.
gcloud compute forwarding-rules create FORWARDING_RULE_NAME \ --load-balancing-scheme=EXTERNAL_MANAGED \ --network-tier=STANDARD \ --network=LB_NETWORK \ --address=LB_IP_ADDRESS \ --target-tcp-proxy=TARGET_TCP_PROXY_NAME \ --target-tcp-proxy-region=REGION \ --region=REGION \ --ports=PORT_NUMBER
Tester l'équilibreur de charge
Maintenant que vous avez configuré votre équilibreur de charge, vous pouvez commencer à envoyer du trafic vers son adresse IP.
Obtenez l'adresse IP de l'équilibreur de charge.
Pour obtenir l'adresse IPv4, exécutez la commande suivante :
gcloud compute addresses describe LB_IP_ADDRESS
Envoyez du trafic à l'équilibreur de charge sur l'adresse IP et le port spécifiés lors de la création de la règle de transfert de l'équilibreur de charge. Le fait que les backends de NEG Internet répondent aux requêtes dépend du service qui s'exécute sur les points de terminaison externes.
Étapes suivantes
- Pour configurer la journalisation et la surveillance de votre équilibreur de charge, consultez la page Journalisation et surveillance de l'équilibreur de charge réseau proxy.
- Pour supprimer les ressources que vous avez créées afin qu'elles ne vous soient plus facturées à l'avenir, consultez la section Nettoyer la configuration de l'équilibreur de charge.