Vous êtes sur la page 1sur 4

Configurer des équilibreurs de charge réseau et HTTP

1. Définissez la région par défaut :


gcloud config set compute/region Region

2.Dans Cloud Shell, définissez la zone par défaut :


gcloud config set compute/zone Zone

3.Créez une machine virtuelle "www1" dans votre zone par défaut à l'aide du code
suivant :

gcloud compute instances create www1 \


--zone=Zone \
--tags=network-lb-tag \
--machine-type=e2-small \
--image-family=debian-11 \
--image-project=debian-cloud \
--metadata=startup-script='#!/bin/bash
apt-get update
apt-get install apache2 -y
service apache2 restart
echo "
<h3>Web Server: www1</h3>" | tee /var/www/html/index.html'

4.Créez une règle de pare-feu pour autoriser le trafic externe vers les instances
de VM :

gcloud compute firewall-rules create www-firewall-network-lb \


--target-tags network-lb-tag --allow tcp:80

5.Exécutez la commande suivante pour répertorier vos instances. Vous trouverez


leurs adresses IP dans la colonne EXTERNAL_IP :

gcloud compute instances list

6.Vérifiez que chaque instance est en cours d'exécution à l'aide de la commande


curl, en remplaçant [IP_ADDRESS] par l'adresse IP de chacune de vos VM :

curl http://[IP_ADDRESS]

-------------------------Configurer le service d'équilibrage de charge----

1. Créez une adresse IP externe statique pour votre équilibreur de charge :

gcloud compute addresses create network-lb-ip-1 \


--region Region

2.Ajoutez une ancienne ressource de vérification d'état HTTP :

gcloud compute http-health-checks create basic-check

3.Ajoutez un pool cible dans la même région que vos instances. Exécutez la commande
suivante pour créer le pool cible et utiliser la vérification d'état requise pour
que le service puisse fonctionner :

gcloud compute target-pools create www-pool \


--region Region --http-health-check basic-check
4.Ajoutez les instances au pool :

gcloud compute target-pools add-instances www-pool \


--instances www1,www2,www3

5.Ajoutez une règle de transfert :

gcloud compute forwarding-rules create www-rule \


--region Region \
--ports 80 \
--address network-lb-ip-1 \
--target-pool www-pool

---------------------Envoyer du trafic vers vos instances--------

1.Saisissez la commande suivante pour afficher l'adresse IP externe définie dans la


règle de transfert "www-rule" utilisée par l'équilibreur de charge :

gcloud compute forwarding-rules describe www-rule --region Region

2.Accédez à l'adresse IP externe :

IPADDRESS=$(gcloud compute forwarding-rules describe www-rule --region Region --


format="json" | jq -r .IPAddress)

3.Affichez l'adresse IP externe :

echo $IPADDRESS

4.Utilisez la commande curl pour accéder à l'adresse IP externe, en remplaçant


IP_ADDRESS par une adresse IP externe de la commande précédente :

while true; do curl -m1 $IPADDRESS; done

----------------------------Créer un équilibreur de charge HTTP--------


1.Commencez par créer le modèle de l'équilibreur de charge :

gcloud compute instance-templates create lb-backend-template \


--region=Region \
--network=default \
--subnet=default \
--tags=allow-health-check \
--machine-type=e2-medium \
--image-family=debian-11 \
--image-project=debian-cloud \
--metadata=startup-script='#!/bin/bash
apt-get update
apt-get install apache2 -y
a2ensite default-ssl
a2enmod ssl
vm_hostname="$(curl -H "Metadata-Flavor:Google" \
http://169.254.169.254/computeMetadata/v1/instance/name)"
echo "Page served from: $vm_hostname" | \
tee /var/www/html/index.html
systemctl restart apache2'

2.Créez un groupe d'instances géré basé sur le modèle :


gcloud compute instance-groups managed create lb-backend-group \
--template=lb-backend-template --size=2 --zone=Zone

3.Créez la règle de pare-feu fw-allow-health-check :

gcloud compute firewall-rules create fw-allow-health-check \


--network=default \
--action=allow \
--direction=ingress \
--source-ranges=130.211.0.0/22,35.191.0.0/16 \
--target-tags=allow-health-check \
--rules=tcp:80

4.Maintenant que vos instances sont opérationnelles, configurez une adresse IP


externe statique globale que vos clients utiliseront pour accéder à votre
équilibreur de charge :

gcloud compute addresses create lb-ipv4-1 \


--ip-version=IPV4 \
--global

Notez l'adresse IPv4 réservée :


gcloud compute addresses describe lb-ipv4-1 \
--format="get(address)" \
--global

5.Créez une vérification d'état pour l'équilibreur de charge :


gcloud compute health-checks create http http-basic-check \
--port 80

6.Créez un service de backend :


gcloud compute backend-services create web-backend-service \
--protocol=HTTP \
--port-name=http \
--health-checks=http-basic-check \
--global

7.Ajoutez votre groupe d'instances en tant que backend au service de backend :

gcloud compute backend-services add-backend web-backend-service \


--instance-group=lb-backend-group \
--instance-group-zone=Zone \
--global

8.Créez un mappage d'URL pour acheminer les requêtes entrantes vers le service de
backend par défaut :

gcloud compute url-maps create web-map-http \


--default-service web-backend-service

9. Créez un proxy HTTP cible, qui va rediriger les requêtes vers votre mappage
d'URL :

gcloud compute target-http-proxies create http-lb-proxy \


--url-map web-map-http

10.Créez une règle de transfert globale pour acheminer les requêtes entrantes vers
le proxy :
gcloud compute forwarding-rules create http-content-rule \
--address=lb-ipv4-1\
--global \
--target-http-proxy=http-lb-proxy \
--ports=80

Vous aimerez peut-être aussi