Base de connaissances
1 000 FAQ, 500 tutoriels et vidéos explicatives. Ici, il n'y a que des solutions !
Créer une infrastructure Jelastic Cloud haute disponibilité multi-datacenters
Ce guide donne des indications pour créer une infrastructure haute disponibilité multi-datacenters avec Jelastic Cloud.
Préambule
- Le principe d'une infrastructure haute disponibilité multi-datacenters est de répliquer tous les éléments nécessaires (serveur Web, serveur de bases de données et load balancer) dans un autre datacenter pour assurer le fonctionnement de vos sites et apps en cas d'imprévu (pics de charge, panne matérielle, panne réseau, etc.).
- Les avantages d'une infrastructure haute disponibilité multi-datacenters sont nombreux:
- En cas d'imprévu sur un serveur, un autre serveur prend immédiatement le relai ; vos sites et apps restent accessibles.
- En cas de perturbation avec un composant d'un datacenter, l'infrastructure répliquée dans l'autre datacenter et prend immédiatement le relai ; vos sites et apps restent accessibles.
- En cas de pics de charge importants, le trafic est réparti entre les deux infrastructures par des répartiteurs de charge (load balancers) ; vos sites et apps restent accessibles et rapides.
Mise en place d'une infra haute disponibilité avec Jelastic Cloud
Pour les besoins de cet exemple, 2 serveurs Web avec 2 load balancers seront mis en place, chacun de ces éléments étant hébergé en Suisse dans un datacenter d'Infomaniak différent.
Avant de poursuivre, connectez-vous à l'interface d'administration de votre serveur Jelastic Cloud :
- Cliquez ici afin d'accéder à la gestion de votre produit sur le Manager Infomaniak (besoin d'aide ?).
- Cliquez sur Se connecter à Jelastic Cloud:

1. Création des serveurs Web
Un serveur Web héberge le contenu de vos sites (les fichiers php, images, pdf, etc.).
Voici les actions à effectuer pour créer premier serveur :
- Cliquez sur Nouvel environnement.
- Cliquez sur l'onglet PHP.
- Dans App. Serveurs, choisissez par ex. un serveur Apache.
- Adaptez les ressources de l'environnement selon vos besoins.
- Choisissez Genève DC2 pour la localisation du serveur.
- Renommez l'environnement pour facilement l'identifier par la suite (par exemple DC2-apache).
- Cliquez sur Créer.
Créer ensuite le deuxième serveur Web dans un autre datacenter :
- Cliquez sur Nouvel environnement.
- Cliquez sur l'onglet PHP.
- Dans App. Serveurs, choisissez par exemple un serveur Apache.
- Adaptez les ressources de l'environnement selon vos besoins.
- Choisissez Genève DC3 pour la localisation du serveur.
- Renommez l'environnement pour facilement l'identifier par la suite (par exemple DC3-apache).
- Cliquez sur Créer.
2. Création des répartiteurs de charge (load balancers)
Un répartiteur de charge permet de distribuer la charge et le trafic de vos sites entre vos serveurs Web.
Voici les actions à effectuer pour créer premier serveur :
- Cliquez sur Nouvel environnement.
- Cliquez sur l'onglet PHP.
- Dans Equilibrage, choisissez par exemple un serveur NGINX.
- Adaptez les ressources de l'environnement selon vos besoins.
- Choisissez Genève DC2 pour la localisation du serveur.
- Renommez l'environnement pour facilement l'identifier par la suite (par exemple DC2-nginx).
- Cliquez sur Créer.
Créer ensuite le deuxième load balancer dans un autre datacenter :
- Cliquez sur Nouvel environnement.
- Cliquez sur l'onglet PHP.
- Dans Equilibrage, choisissez par exemple un serveur NGINX.
- Adaptez les ressources de l'environnement selon vos besoins.
- Choisissez Genève DC3 pour la localisation du serveur.
- Renommez l'environnement pour facilement l'identifier par la suite (par exemple DC3-nginx).
- Cliquez sur Créer.
3. Configuration des répartiteurs de charge et du nom de domaine
À présent, il ne reste plus qu'à indiquer aux load balancers sur quels serveurs Web ils doivent distribuer le trafic.
Commencez par créer le fichier load-balancer.conf sur les deux load balancers :
- Connectez-vous en SSH sur le serveur
DC2-nginxen cliquant sur le bouton Web SSH de l'environnement. - Ouvrez le fichier load-balancer.conf :
nano /etc/nginx/conf.d/load-balancer.conf. - Adaptez le code du fichier avec l'URL de vos serveurs Web :
http { upstream backend { server apache-dc2.jcloud-ver-jpc.ik-server.com; server apache-dc3.jcloud.ik-server.com; } server { listen 80; location / { proxy_pass http://backend; } } }
- Répétez ces 3 étapes pour le serveur
DC3-nginx.
Modifier ensuite le fichier de configuration des load balancers :
- Connectez-vous en SSH sur le serveur
DC2-nginxen cliquant sur le bouton Web SSH de l'environnement. - Créez le fichier de configuration suivant :
nano /etc/nginx/nginx.conf. - Adaptez l'URL du fichier de configuration du serveur :
user nginx; worker_processes auto; worker_rlimit_nofile 2048; load_module modules/ngx_stream_module.so; #load_module modules/ngx_http_modsecurity_module.so; error_log /var/log/nginx/error_log info; events { worker_connections 2048; use epoll; } include /etc/nginx/conf.d/load-balancer.conf;
- Redémarrez le service NGINX :
sudo /etc/init.d/nginx restart. - Répétez ces quatre étapes pour le serveur
DC3-nginx.
Il est maintenant nécessaire d'indiquer à votre nom de domaine sur quels serveurs le trafic doit être redirigé.
Au préalable, installez une adresse IP publique sur vos répartiteurs de charge :
- Déployez le noeud du serveur DC2-nginx.
- Passez la souris sur la ligne IP publique et cliquez sur le + qui apparaît à droite.
- Ajoutez une IPv4 publique.
- Répétez ces 3 étapes pour le serveur DC3-nginx.
À ce stade, il ne vous reste plus que de créer deux enregistrements A dans la zone DNS de votre nom de domaine avec l'IP publique de vos deux répartiteurs de charge.
Afin que les changements soient rapidement pris en compte, il est recommandé de configurer les enregistrements A avec un TTL de 5 minutes.
Dans cet exemple, le domaine redirige donc vos visiteurs sur les load balancers qui redirigent à leur tour le trafic vers les serveurs Web.
4. Test de l'infrastructure haute disponibilité
Afin de tester le bon fonctionnement de votre infrastructure, saisissez votre nom de domaine dans un navigateur Web et essayez tour à tour de désactiver un élément de votre infrastructure (un des deux load balancers, un des deux serveurs Web). Si tout fonctionne, vous devriez toujours accéder au contenu hébergé sur l'un des deux serveurs Web.
Attention: la réplication des données entre les serveurs Web ou des serveurs de bases de données doit être mise en place par vos soins.
Lien vers cette FAQ: https://faq.infomaniak.com/2401
Cette FAQ a été utile?