Google Cloud Platform (3/3) - Compute Engine, une architecture complete

Google Cloud Platform (3/3) - Compute Engine, une architecture complete


Si vous avez suivi les deux premiers articles sur Google Cloud Platform, vous êtes capable de mettre en production un site rapidement et êtes capable de scaler automatiquement selon le trafic. Mais tout cela n'est possible qu'avec les éléments pré-installés de Google Cloud Platform. Comment créer sa propre configuration ? Réinstaller un serveur facilement ? Scaler automatiquement ? Dans ce tutoriel nous allons seulement installer un apache, mais vous pouvez appliquer tout ceci avec n'importe quelle installation.

Etape 1, créer votre configuration :

Allez dans le menu "Compute Engine", disponible ici.

Compute Engine - Google Cloud Platform

Puis cliquez sur "Créer une instance", vous allez arriver sur un formulaire qu'il va falloir remplir.

Créer une instance - Google Cloud Platform

  • Choisissez un nom
  • Puis la zone (il s'agit du lieu du serveur)
  • Choisissez le type de machine (c'est ceci qui fait varier le prix)
  • Laissez le disque de démarrage par défaut
  • Cochez la case "Autoriser le trafic HTTP"

Ouvrez le lien "Gestion, disque, réseau et clés SSH", et dans l'onglet Disque décochez la case "Supprimer le disque de démarrage lorsque l'instance est supprimée".

Suppression du disque - Google Cloud Platform

Cliquez alors sur "Créer".

Etape 2, installer apache :

Allez dans "Instance de VM" et attendre que la machine soit prête.

Instance de VM - Google Cloud Platform

Cliquez sur SSH pour ouvrir la connexion à la machine.

Connexion SSH - Google Cloud Platform

Une fois connecté, nous allons installer apache. Pour cela il vous suffit de lancer les commandes suivantes :

sudo apt-get update; sudo apt-get install apache2; sudo /etc/init.d/apache2 restart;

Une fois terminé, si vous cliquez sur l'IP externe fournie dans l'interface "Instance de VM", vous devriez voir la page apache par défaut.

Apache - Google Cloud Platform

Comme vous pouvez le voir l'installation prend un certain temps, et nous ne voulons pas le refaire pour chaque machine dont nous avons besoin. Nous allons donc nous servir de cette machine comme template pour d'autres machines.

Etape 3, création d'un template de machine :

Retour dans l'interface "Instance de VM", vous allez supprimer la machine en sélectionnant la VM puis cliquer sur supprimer.

Supprimer une instance - Google Cloud Platform

Allez dans le menu "Images" et cliquez sur "Créer une image".

Créer une image - Google Cloud Platform

Vous devez alors remplir le formulaire de création d'image.

Formulaire Image - Google Cloud Platform

La seule chose qu'il faut surveiller, c'est le choix du disque source qui doit être celui de la machine que l'on vient de détruire. Une fois l'image créée, allez dans le menu "Modèles d'instances" et cliquez sur "Créer un modèle d'instance".

Modèle d'instance - Google Cloud Platform

Vous arrivez dans un formulaire ressemblant à celui de la création d'instance.

Modèle d'instance - Google Cloud Platform

Dans disque de démarrage, vous devez choisir l'image que vous venez de créer, elle est disponible dans l'onglet "images personnalisées" .

Image perso - Google Cloud Platform

Et n'oubliez pas de cocher la case "Autoriser le trafic HTTP". Puis cliquez sur "Créer". Pour vérifier que tout est bon, nous allons créer de nouvelles instances via ce template.

Etape 4, création d'un groupe d'instance:

Allez dans le menu "Groupes d'instances" puis cliquez sur "Créer un groupe d'instances".

Créer groupe d'instances - Google Cloud Platform

Vous avez l'habitude, nous arrivons sur un formulaire assez long.

Formulaire 1 - Google Cloud Platform

Formulaire 2 - Google Cloud Platform

  • Choisissez un nom pour votre groupe
  • Puis l'emplacement (le mieux c'est multizone qui permet d'avoir des serveurs dans le monde entier)
  • Prenez ensuite le "modèle d'instance" que vous venez de créer
  • Activez l'évolution dynamique
  • Mettez le minimum d'instances à 3

Vous pouvez alors créer le groupe. Si vous retournez dans le menu "Instances de VM" vous pourrez voir les trois machines en cours de création. Une fois terminé, cliquez sur l"IP externe" de chaque machine. Normalement la page d'apache par défaut s'affiche.

groupe d'instance - Google Cloud Platform

À partir de maintenant, nous avons un groupe d'instances qui va scaler selon le trafic. Seulement, le trafic arrive sur les trois Ips, il nous faut donc un "load balancer" devant les machines pour envoyer le trafic sur le groupe d'instances.

Etape 5, le load balancer :

Changez de menu et allez dans "réseau".

Réseau - Google Cloud Platform

Puis allez dans "Équilibrage des charges", et créez un équilibreur.

Load Balancer - Google Cloud Platform

Choisissez un équilibrage des charges HTTP(S). Vous pouvez alors configurer l'équilibreur.

Configuration équilibreur - Google Cloud Platform

Choisissez un nom. Puis cliquez sur "Configuration des backends", et créez un service backend. Vous arrivez sur le formulaire suivant :

Backend - Google Cloud Platform

Formulaire - Google Cloud Platform

  • Choisissez un nom
  • Puis l'instance backend (c'est le groupe créé juste avant)

Ajoutez un test périodique.

Test périodique - Google Cloud Platform

  • Choisissez un nom
  • Puis le protocole http
  • Laissez le reste

Il ne nous reste plus qu'a cliquer sur "Règles d'hôte et de chemin d'accès", qui passera directement en vert. La même chose pour "Configuration du frontend" qui passe en vert automatique. Vous n'avez plus qu'à créer, cela va prendre pas mal de temps (environs 5 min). Vous pourrez trouver l'IP d'entrée du load balancer dans le menu "Équilibrage des charges", puis sur le load balancer fraîchement configuré vous aurez l'ip disponible.

Load balancer - Google Cloud Platform

Toujours dans cette interface, dans l'onglet surveillance vous pouvez suivre les backends qui reçoivent les requêtes.

Surveillance Backend - Google Cloud Platform

Et voila vous avez une architecture scalable automatiquement avec un load balancer comme un vrai architecte réseau.

Etape 6, on supprime les machines :

Avant de vous quitter, nous allons supprimer les machines. Vous devez le faire dans l'ordre suivant car sinon les machines se relanceront automatiquement.

  • Supprimez le load balancer
  • Puis dans le menu avancé de l'équilibrage des charges supprimez le service backend
  • Retourner dans le menu "compute engine", puis "groupe d'instances"
  • Supprimez votre groupe d'instance

Si vous allez dans le dashboard vous devez ne plus voir de machine "compute engine"

Dashboard - Google Cloud Platform

Auteur(s)

Jonathan Jalouzot

Jonathan Jalouzot

Lead développeur au @lemondefr, mes technologies sont le symfony depuis 2009, le nodejs, l'angularjs, rabbitMq etc ... J'adore les médias et aimerai continuer dans ce secteur plein de surprise. Vous pouvez me retrouver sur les réseaux sociaux: Twitter: @captainjojo42 Instagram: @captainjojo42 Linkedin: https://fr.linkedin.com/in/jonathanjalouzot Github: https://github.com/captainjojo

Voir le profil

Vous souhaitez en savoir plus sur le sujet ?
Organisons un échange !

Notre équipe d'experts répond à toutes vos questions.

Nous contacter

Découvrez nos autres contenus dans le même thème

DialogFlow, votre chatbot facile

DialogFlow, votre chatbot facile

Il existe aujourd'hui de nombreuses aides à la mise en place des ChatBots conversationnels dits intelligents. On parlera aujourd'hui spécifiquement de DialogFlow, anciennement Api.ai de Google.

IAM aws

IAM aws

L'une des étapes incontournables d'Amazon Web Service est de bien comprendre le service IAM (Identity and Access Management). C'est l'un des services les plus importants car il permet de gérer les utilisateurs ou services qui peuvent avoir accès à votre compte AWS. Nous allons l'étudier ensemble.

Un an de webperformance dans un média français

Un an de webperformance dans un média français

Depuis un an je travaille en tant qu'expert webperformance chez France Medias Monde dans le cadre de la refonte de l'ensemble des fronts des différents sites web du groupe. Nous allons revenir sur cette expérience, pour nous permettre de comprendre comment réaliser ce genre de mission.