En tant qu'ingénieur cloud, vous devez vous assurer que votre solution est tolérante aux pannes et évolutive. Vos applications peuvent être à plusieurs niveaux et, même si toutes les instances de machines virtuelles (VM) déployées dans votre architecture ne doivent pas nécessairement être accessibles au public, elles doivent être évolutives et pouvoir gérer les défaillances. De plus, le trafic doit être équilibré entre les VM de votre solution. C'est pourquoi l'un des services les plus importants à intégrer dans votre architecture est un équilibreur de charge résilient et évolutif, capable de gérer et de rediriger le trafic ainsi que d'effectuer régulièrement des vérifications de l'état.
Dans AWS, vous pouvez répartir le trafic vers des instances Elastic Compute Cloud (EC2) disposant d'adresses IP publiques avec des équilibreurs de charge Web. Pour les applications à plusieurs niveaux, les instances backend sont généralement connectées au frontend uniquement sans adresses IP externes. Dans ce scénario, vous pouvez utiliser une combinaison d'équilibreurs de charge réseau internes et Web.
Même si vos instances backend de VM ne sont pas publiques, elles doivent pouvoir télécharger des correctifs de sécurité et des mises à jour. Vous configurez des passerelles de traduction d'adresses réseau (NAT) pour permettre une communication unidirectionnelle avec l'Internet public. Ainsi, vos instances de VM privées peuvent établir des connexions avec Internet, mais Internet ne peut pas établir de connexions avec vos instances de VM.
Pour assurer la tolérance aux pannes, optimiser la rentabilité et garantir une haute disponibilité, vous combinez des images AMI (Amazon Machine Images), des modèles de lancement et des groupes Auto Scaling. Cela permet de répondre de manière dynamique à l'augmentation de la demande, de désallouer les ressources lorsqu'elles ne sont plus nécessaires et d'effectuer des vérifications de l'état pour vous assurer que vos instances sont toujours opérationnelles.
Vous allez maintenant découvrir comment gérer le trafic et faire évoluer les services efficacement dans Google Cloud.
Présentation
Google Cloud propose un équilibrage de charge réseau interne pour le trafic basé sur les protocoles TCP et UDP. L'équilibrage de charge réseau interne vous permet d'assurer l'exécution et le scaling de vos services derrière une adresse IP d'équilibrage de charge privée uniquement accessible à vos instances de machines virtuelles internes.
Dans cet atelier, vous allez créer deux groupes d'instances gérés dans la même région. Ensuite, vous configurerez et testerez un équilibreur de charge réseau interne en utilisant les groupes d'instances en tant que backends, comme illustré dans ce schéma réseau :
Objectifs
Dans cet atelier, vous apprendrez à effectuer les tâches suivantes :
Créer des règles de pare-feu de trafic interne et de vérification de l'état
Créer une configuration NAT à l'aide de Cloud Router
Configurer deux modèles d'instance
Créer deux groupes d'instances gérés
Configurer et tester un équilibreur de charge réseau interne
Préparation
Pour chaque atelier, nous vous attribuons un nouveau projet Google Cloud et un nouvel ensemble de ressources pour une durée déterminée, sans frais.
Connectez-vous à Qwiklabs dans une fenêtre de navigation privée.
Vérifiez le temps imparti pour l'atelier (par exemple : 01:15:00) : vous devez pouvoir le terminer dans ce délai.
Une fois l'atelier lancé, vous ne pouvez pas le mettre en pause. Si nécessaire, vous pourrez le redémarrer, mais vous devrez tout reprendre depuis le début.
Lorsque vous êtes prêt, cliquez sur Démarrer l'atelier.
Notez vos identifiants pour l'atelier (Nom d'utilisateur et Mot de passe). Ils vous serviront à vous connecter à Google Cloud Console.
Cliquez sur Ouvrir la console Google.
Cliquez sur Utiliser un autre compte, puis copiez-collez les identifiants de cet atelier lorsque vous y êtes invité.
Si vous utilisez d'autres identifiants, des messages d'erreur s'afficheront ou des frais seront appliqués.
Acceptez les conditions d'utilisation et ignorez la page concernant les ressources de récupération des données.
Tâche 1 : Configurer des règles de pare-feu de trafic interne et de vérification de l'état
Dans cette tâche, vous allez configurer des règles de pare-feu pour autoriser la connectivité du trafic interne et les tests de vérification d'état pour votre application. Vous allez explorer le réseau existant et créer des règles de pare-feu pour autoriser le trafic en provenance de plages d'adresses IP spécifiques.
Configurez des règles de pare-feu pour autoriser la connectivité de trafic interne à partir de sources faisant partie de la plage 10.10.0.0/16. Cette règle autorise le trafic entrant de n'importe quel client situé dans le sous-réseau.
Les vérifications de l'état déterminent les instances d'un équilibreur de charge qui peuvent recevoir de nouvelles connexions. Pour l'équilibrage de charge d'application (HTTP), les vérifications de l'état portant sur vos instances à équilibrage de charge proviennent d'adresses situées dans les plages 130.211.0.0/22 et 35.191.0.0/16. Vos règles de pare-feu doivent autoriser ces connexions.
Explorer le réseau my-internal-app
Le réseau my-internal-app, composé des sous-réseaux subnet-a et subnet-b, et les règles de pare-feu pour le trafic RDP, SSH et ICMP ont été configurés pour vous.
Dans la console Cloud, accédez au menu de navigation (), puis cliquez sur Réseau VPC > Réseaux VPC.
Vous verrez alors le réseau my-internal-app et ses sous-réseaux : subnet-a et subnet-b.
Chaque projet Google Cloud commence avec le réseau default (par défaut). En outre, le réseau my-internal-app a été créé lors de l'élaboration du schéma réseau.
Vous allez créer les groupes d'instances gérés dans subnet-a et subnet-b. Ces deux sous-réseaux figurent dans la région , car un équilibreur de charge réseau interne est un service régional. Les groupes d'instances gérés se trouvent dans des zones distinctes, de manière à immuniser votre service contre les défaillances de zone.
Créer la règle de pare-feu pour autoriser le trafic provenant de n'importe quelle source située dans la plage 10.10.0.0/16
Créez une règle de pare-feu pour autoriser le trafic dans le sous-réseau 10.10.0.0/16.
Dans le menu de navigation (), cliquez sur Réseau VPC > Pare-feu.
Vous verrez alors les règles de pare-feu app-allow-icmp et app-allow-ssh-rdp.
Ces règles de pare-feu ont été créées en amont.
Cliquez sur Créer une règle de pare-feu.
Spécifiez les paramètres suivants et conservez les valeurs par défaut des autres paramètres.
Propriété
Valeur (saisissez la valeur ou sélectionnez l'option spécifiée)
Nom
fw-allow-lb-access
Réseau
my-internal-app
Cibles
Tags cibles spécifiés
Tags cibles
backend-service
Filtre source
Plages IPv4
Plages IPv4 sources
10.10.0.0/16
Protocoles et ports
Tout autoriser
Remarque : Pensez à ajouter /16 dans les plages IPv4 sources.
Cliquez sur Créer.
Créer la règle de vérification de l'état
Créez une règle de pare-feu pour autoriser les vérifications de l'état.
Dans le menu de navigation (), cliquez sur Réseau VPC > Pare-feu.
Cliquez sur Créer une règle de pare-feu.
Spécifiez les paramètres suivants et conservez les valeurs par défaut des autres paramètres.
Propriété
Valeur (saisissez la valeur ou sélectionnez l'option spécifiée)
Nom
fw-allow-health-checks
Réseau
my-internal-app
Cibles
Tags cibles spécifiés
Tags cibles
backend-service
Filtre source
Plages IPv4
Plages IPv4 sources
130.211.0.0/22 et 35.191.0.0/16
Protocoles et ports
Protocoles et ports spécifiés
Remarque : Pensez à ajouter /22 et /16 dans les plages d'adresses IPv4 sources.
Cochez la case tcp et spécifiez le port 80.
Cliquez sur Créer.
Cliquez sur Vérifier ma progression pour valider l'objectif.
Configurer des règles de pare-feu de trafic interne et de vérification de l'état
Tâche 2 : Créer une configuration NAT à l'aide de Cloud Router
Dans cette tâche, vous allez créer une instance Cloud Router et configurer Cloud NAT pour permettre à vos instances backend d'envoyer du trafic sortant.
Les instances backend de VM Google Cloud que vous configurerez lors de la tâche 3 ne seront pas configurées avec des adresses IP externes.
À la place, vous allez configurer le service Cloud NAT pour permettre à ces instances de VM d'envoyer le trafic sortant uniquement via Cloud NAT et de recevoir le trafic entrant via l'équilibreur de charge.
Créer l'instance Cloud Router
Dans la barre de titre de la console Google Cloud, saisissez Services réseau dans le champ de recherche, puis cliquez sur Services réseau dans la section Produits et pages.
Sur la page Service réseau, cliquez sur Épingler à côté de "Services réseau".
Cliquez sur Cloud NAT.
Cliquez sur Commencer pour configurer une passerelle NAT.
Spécifiez les paramètres suivants et conservez les valeurs par défaut des autres paramètres.
Propriété
Valeur (saisissez la valeur ou sélectionnez l'option spécifiée)
Nom de la passerelle
nat-config
Réseau
my-internal-app
Région
Cliquez sur Cloud Router, puis sélectionnez Créer un routeur.
Dans le champ Nom, saisissez nat-router-.
Cliquez sur Créer.
Dans "Créer une passerelle Cloud NAT", cliquez sur Créer.
Remarque : Attendez que la valeur du champ "État de la passerelle NAT" passe à "En cours d'exécution" avant de passer à la tâche suivante.
Cliquez sur Vérifier ma progression pour valider l'objectif.
Créer une configuration NAT à l'aide de Cloud Router
Tâche 3 : Configurer les modèles d'instance et créer les groupes d'instances
Dans cette tâche, vous allez vérifier les modèles d'instance et les groupes d'instances gérés préconfigurés. Vous exécuterez des scripts de démarrage sur les instances existantes et créerez une VM utilitaire pour tester la connectivité aux instances backend.
Un groupe d'instances géré crée un groupe d'instances identiques à l'aide d'un modèle d'instance. Ces instances permettent de créer les backends de l'équilibreur de charge réseau interne.
Cette tâche a été effectuée pour vous au début de cet atelier. Vous devrez vous connecter en SSH à chaque VM du groupe d'instances et exécuter la commande suivante pour configurer l'environnement.
Dans le menu de navigation, cliquez sur Compute Engine > Instances de VM.
Vous pouvez voir deux instances dont les noms commencent par instance-group-1 et instance-group-2.
Sélectionnez le bouton SSH à côté d'instance-group-1 pour vous connecter en SSH à la VM.
Si vous y êtes invité, autorisez la fonctionnalité SSH dans le navigateur à se connecter à la VM en cliquant sur Autoriser.
Exécutez la commande suivante pour relancer le script de démarrage de l'instance :
sudo google_metadata_script_runner startup
Répétez les étapes précédentes pour instance-group-2.
Attendez que les deux scripts de démarrage terminent de s'exécuter, puis fermez le terminal SSH de chaque VM. Le résultat des scripts de démarrage doit être le suivant :
Finished running startup scripts.
Vérifier les backends
Vérifiez que les instances de VM sont créées dans les deux sous-réseaux, et créez une VM utilitaire pour accéder aux sites HTTP des backends.
Dans le menu de navigation, cliquez sur Compute Engine > Instances de VM.
Vous pouvez voir deux instances dont les noms commencent par instance-group-1 et instance-group-2.
Ces instances figurent dans des zones distinctes, et leurs adresses IP internes font partie des blocs CIDR subnet-a et subnet-b.
Cliquez sur Créer une instance.
Sur la page Configuration de la machine, spécifiez les paramètres suivants et conservez les valeurs par défaut des autres paramètres :
Propriété
Valeur (saisissez la valeur ou sélectionnez l'option spécifiée)
Nom
utility-vm
Région
Zone
Série
E2
Type de machine
e2-medium (2 vCPU, 4 Go de mémoire)
Cliquez sur OS et stockage.
Si l'image affichée n'est pas Debian GNU/Linux 12 (bookworm), cliquez sur Modifier, sélectionnez Debian GNU/Linux 12 (bookworm), puis cliquez sur Sélectionner.
Cliquez sur Mise en réseau.
Pour Interfaces réseau, cliquez sur le menu déroulant afin de modifier l'interface réseau.
Spécifiez les paramètres suivants et conservez les valeurs par défaut des autres paramètres.
Propriété
Valeur (saisissez la valeur ou sélectionnez l'option spécifiée)
Réseau
my-internal-app
Sous-réseau
subnet-a
Adresse IP interne principale
Éphémère (personnalisée)
Adresse IP éphémère personnalisée
10.10.20.50
Adresse IPv4 externe
Aucune
Cliquez sur OK.
Cliquez sur Créer.
Notez que les adresses IP internes des backends sont 10.10.20.2 et 10.10.30.2.
Remarque : Si ces adresses IP diffèrent de ces valeurs, remplacez-les dans les deux commandes curl ci-dessous.
Cliquez sur Vérifier ma progression pour valider l'objectif.
Configurer les modèles d'instance et créer les groupes d'instances
Pour utility-vm, cliquez sur SSH afin de lancer un terminal et de vous y connecter.
Si vous y êtes invité, autorisez la fonctionnalité SSH dans le navigateur à se connecter à la VM en cliquant sur Autoriser.
Pour vérifier la page d'accueil d'instance-group-1-xxxx, exécutez la commande suivante :
curl 10.10.20.2
Le résultat doit se présenter comme suit :
Résultat :
<h1>Internal Load Balancing Lab</h1><h2>Client IP</h2>Your IP address : 10.10.20.50<h2>Hostname</h2>Server Hostname:
instance-group-1-1zn8<h2>Server Location</h2>Region and Zone: {{{project_0.default_zone | Zone 1}}}
Pour vérifier la page d'accueil d'instance-group-2-xxxx, exécutez la commande suivante :
curl 10.10.30.2
Le résultat doit se présenter comme suit :
Résultat :
<h1>Internal Load Balancing Lab</h1><h2>Client IP</h2>Your IP address : 10.10.20.50<h2>Hostname</h2>Server Hostname:
instance-group-2-q5wp<h2>Server Location</h2>Region and Zone: {{{project_0.default_zone_2 | Zone 2}}}
Remarque : Ce résultat sera utile pour vérifier que l'équilibreur de charge interne envoie du trafic aux deux backends.
Fermez le terminal SSH pour utility-vm :
exit
Tâche 4 : Configurer l'équilibreur de charge réseau interne
Dans cette tâche, vous allez configurer l'équilibreur de charge réseau interne pour qu'il équilibre le trafic entre les deux backends (instance-group-1 dans et instance-group-2 dans ), comme illustré dans le schéma réseau ci-dessous.
Démarrer la configuration
Dans la console Cloud, accédez au menu de navigation (), puis cliquez sur Services réseau > Équilibrage de charge.
Cliquez sur + Créer un équilibreur de charge.
Pour 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 Passthrough, puis cliquez sur Suivant.
Pour Public ou interne, sélectionnez Interne, puis cliquez sur Suivant.
Pour Créer un équilibreur de charge, cliquez sur Configurer.
Pour Nom de l'équilibreur de charge, saisissez my-ilb.
Pour Région, saisissez .
Pour Réseau, sélectionnez my-internal-app dans le menu déroulant.
Configurer le service de backend régional
Le service de backend surveille les groupes d'instances et les empêche de dépasser l'utilisation configurée.
Cliquez sur Configuration du backend.
Spécifiez les paramètres suivants et conservez les valeurs par défaut des autres paramètres.
Propriété
Valeur (sélectionnez l'option spécifiée)
Groupe d'instances
instance-group-1 ()
Cliquez sur OK.
Cliquez sur Ajouter un backend.
Dans le champ Groupe d'instances, sélectionnez instance-group-2 ().
Cliquez sur OK.
Dans le champ Vérification d'état, sélectionnez Créer une vérification d'état.
Spécifiez les paramètres suivants et conservez les valeurs par défaut des autres paramètres.
Propriété
Valeur (sélectionnez l'option spécifiée)
Nom
my-ilb-health-check
Protocole
TCP
Port
80
Intervalle entre deux tests
10 s
Délai avant expiration
5 s
Seuil opérationnel
2
Seuil de faible capacité
3
Remarque : Les vérifications de l'état déterminent les instances qui peuvent recevoir de nouvelles connexions. Cette vérification de l'état HTTP sonde les instances toutes les 10 secondes, attend une réponse pendant cinq secondes, puis considère deux tentatives ayant réussi ou trois tentatives ayant échoué comme seuil opérationnel ou seuil de faible capacité, respectivement.
Cliquez sur Enregistrer.
Vérifiez qu'il y a une coche bleue à côté de Configuration du backend dans la console Cloud. S'il n'y a pas de coche, vérifiez que vous avez bien suivi la procédure ci-dessus dans son intégralité.
Configurer l'interface
L'interface transfère le trafic vers le backend.
Cliquez sur Configuration de l'interface.
Spécifiez les paramètres suivants et conservez les valeurs par défaut des autres paramètres.
Propriété
Valeur (saisissez la valeur ou sélectionnez l'option spécifiée)
Sous-réseau
subnet-b
Objectif de l'adresse IP interne > Adresse IP
Créer une adresse IP
Spécifiez les paramètres suivants et conservez les valeurs par défaut des autres paramètres.
Propriété
Valeur (saisissez la valeur ou sélectionnez l'option spécifiée)
Nom
my-ilb-ip
Adresse IP statique
Laissez-moi choisir
Adresse IP personnalisée
10.10.30.5
Cliquez sur Réserver.
Sous Ports, saisissez 80 dans le champ Numéro de port.
Cliquez sur OK.
Examiner et créer l'équilibreur de charge réseau interne
Cliquez sur Vérifier et finaliser.
Examinez les sections Backend et Interface.
Cliquez sur Créer.
Attendez que l'équilibreur de charge soit créé avant de passer à la tâche suivante.
Cliquez sur Vérifier ma progression pour valider l'objectif.
Configurer l'équilibreur de charge réseau interne
Tâche 5 : Tester l'équilibreur de charge réseau interne
Dans cette tâche, vous allez vérifier que l'adresse IP my-ilb transfère bien le trafic vers instance-group-1 dans et vers instance-group-2 dans .
Accéder à l'équilibreur de charge réseau interne
Dans le menu de navigation, cliquez sur Compute Engine > Instances de VM.
Pour utility-vm, cliquez sur SSH afin de lancer un terminal et de vous y connecter.
Si vous y êtes invité, autorisez la fonctionnalité SSH dans le navigateur à se connecter à la VM en cliquant sur Autoriser.
Pour vérifier que l'équilibreur de charge réseau interne transfère le trafic, exécutez la commande suivante :
curl 10.10.30.5
Le résultat doit se présenter comme suit :
Résultat :
<h1>Internal Load Balancing Lab</h1><h2>Client IP</h2>Your IP address : 10.10.20.50<h2>Hostname</h2>Server Hostname:
instance-group-2-1zn8<h2>Server Location</h2>Region and Zone: {{{project_0.default_zone_2|Zone2}}}
Remarque : Comme prévu, le trafic est transféré de l'équilibreur de charge interne (10.10.30.5) vers le backend.
Vous devriez obtenir des réponses d'instance-group-1 dans et d'instance-group-2 dans . Si ce n'est pas le cas, exécutez de nouveau la commande.
Félicitations !
Dans cet atelier, vous avez créé deux groupes d'instances gérés dans la région , ainsi qu'une règle de pare-feu pour autoriser le trafic HTTP vers ces instances et le trafic TCP à partir du vérificateur d'état Google Cloud. Ensuite, vous avez configuré et testé un équilibreur de charge réseau interne pour ces groupes d'instances.
Dans AWS, le modèle courant inclut des passerelles de traduction d'adresses réseau (NAT), des groupes Auto Scaling et des équilibreurs de charge Elastic Load Balancer (ELB) pour préserver la confidentialité de vos instances Elastic Compute Cloud (EC2). Cette solution permet à vos instances EC2 de communiquer avec les instances frontend et de télécharger des mises à jour de manière sécurisée depuis l'Internet public.
Dans Google Cloud, vous pouvez utiliser un équilibreur de charge réseau interne pour répartir le trafic vers des instances ou des groupes d'instances gérés (MIG) dans la même région Google Cloud. Si vos backends sont répartis sur plusieurs régions, vous aurez besoin d'un équilibreur de charge mondial, qui ne peut être déployé qu'en tant qu'équilibreur externe.
Vous pouvez utiliser un équilibreur de charge réseau interne pour les types de trafic suivants :
TCP/UDP (passthrough)
HTTP/HTTPS
TCP (proxy)
Pour autoriser vos instances sans adresses IP externes à établir des connexions sortantes vers Internet, vous pouvez créer une configuration Cloud NAT.
Terminer l'atelier
Une fois l'atelier terminé, cliquez sur Terminer l'atelier. Google Cloud Skills Boost supprime les ressources que vous avez utilisées, puis efface le compte.
Si vous le souhaitez, vous pouvez noter l'atelier. Sélectionnez un nombre d'étoiles, saisissez un commentaire, puis cliquez sur Envoyer.
Le nombre d'étoiles correspond à votre degré de satisfaction :
1 étoile = très insatisfait(e)
2 étoiles = insatisfait(e)
3 étoiles = ni insatisfait(e), ni satisfait(e)
4 étoiles = satisfait(e)
5 étoiles = très satisfait(e)
Si vous ne souhaitez pas donner votre avis, vous pouvez fermer la boîte de dialogue.
Pour soumettre des commentaires, suggestions ou corrections, veuillez accéder à l'onglet Assistance.
Copyright 2020 Google LLC Tous droits réservés. Google et le logo Google sont des marques de Google LLC. Tous les autres noms d'entreprises et de produits peuvent être des marques des entreprises auxquelles ils sont associés.
Les ateliers créent un projet Google Cloud et des ressources pour une durée déterminée.
Les ateliers doivent être effectués dans le délai imparti et ne peuvent pas être mis en pause. Si vous quittez l'atelier, vous devrez le recommencer depuis le début.
En haut à gauche de l'écran, cliquez sur Démarrer l'atelier pour commencer.
Utilisez la navigation privée
Copiez le nom d'utilisateur et le mot de passe fournis pour l'atelier
Cliquez sur Ouvrir la console en navigation privée
Connectez-vous à la console
Connectez-vous à l'aide des identifiants qui vous ont été attribués pour l'atelier. L'utilisation d'autres identifiants peut entraîner des erreurs ou des frais.
Acceptez les conditions d'utilisation et ignorez la page concernant les ressources de récupération des données.
Ne cliquez pas sur Terminer l'atelier, à moins que vous n'ayez terminé l'atelier ou que vous ne vouliez le recommencer, car cela effacera votre travail et supprimera le projet.
Ce contenu n'est pas disponible pour le moment
Nous vous préviendrons par e-mail lorsqu'il sera disponible
Parfait !
Nous vous contacterons par e-mail s'il devient disponible
Un atelier à la fois
Confirmez pour mettre fin à tous les ateliers existants et démarrer celui-ci
Utilisez la navigation privée pour effectuer l'atelier
Ouvrez une fenêtre de navigateur en mode navigation privée pour effectuer cet atelier. Vous éviterez ainsi les conflits entre votre compte personnel et le compte temporaire de participant, qui pourraient entraîner des frais supplémentaires facturés sur votre compte personnel.
Dans cet atelier, vous allez créer deux groupes d'instances gérés dans la même région. Ensuite, vous configurerez un équilibreur de charge réseau interne en utilisant les groupes d'instances en tant que backends.
Durée :
2 min de configuration
·
Accessible pendant 90 min
·
Terminé après 45 min