Une fois n’est pas coutume, je vais vous parler d’Azure ????????
J’ai commencé ce blog il y a maintenant plusieurs mois, et je prends toujours du plaisir à écrire des articles sur Azure. Depuis quelques semaines, je rencontre des problèmes de performances rendant l’accès au site très variable, surtout en matinée. OVH n’a pu résoudre mon souci malgré mon changement de formule. ????
J’ai donc décidé de franchir le pas en rapatriant mon blog sur Azure. Si vous souhaitez aussi créer des ressources Azure sans forcément dépenser un centime, sachez que plusieurs méthodes sont possibles.
Dans mon cas, le statut MCT m’apporte un grand nombre d’avantages de la part de Microsoft, dont justement des crédits Azure, directement disponibles sur la page Visual Studio :
Etape I : Création des ressources Azure
Une fois l’activation des crédits Azure sur un tenant nouveau ou existant, commencez la création de votre site WordPress directement depuis le portail Azure :
Une recherche de WordPress vous affiche un grand nombre de résultats. Il est en effet possible de mettre en place un site web via différents types de service Azure (IaaS, PaaS, …) :
Dans cet article, nous allons nous intéresser au service Azure App Service. Celui-ci crée, déploie et met à l’échelle rapidement des applications Web, mobiles et API de niveau entreprise s’exécutant sur n’importe quelle plate-forme.
Voici une démo assez complète du service :
Choisissez donc l’article édité par WordPress :
La création des ressources Azure via ce template WordPress est assez simple et rapide et peu de champs sont à remplir :
- Souscription Azure : « ligne de crédit » utilisée pour positionner la ressource
- Groupe de ressources : conteneur logique pour l’organiser les ressources
- Région : Localisation physique de vos données
- Nom de l’instance : nom de l’application web, mais aussi URL de base du site créé WordPress créé par Azure
Une fois les champs validés, la synthèse avant création est affichée sur le dernier onglet :
Lancez la création des ressources Azure en cliquant sur Créer.
Moins de 10 minutes plus tard, Azure a fini. Cliquez ici pour afficher votre application web :
Vous retrouvez à droite l’URL de votre site web. Cliquez dessus pour ouvrir un nouvel onglet :
Les habitués reconnaitront tout de suite la page d’installation de WordPress. Finalement, quelques clics seulement suffisent pour installer WordPress sur Azure :
On a déjà terminé la lecture de cet article ? Pas encore ????
En faisant un tour sur le groupe de ressources, voici ce que le template a créé pour vous :
Les deux premiers sont des éléments de base pour faire fonctionner une application web sur Azure. Le template WordPress a donc aussi créé une base MySQL Database, pour y stocker le contenu de votre site.
C’est assez logique, MySQL est un des choix possibles pour faire fonctionner WordPress. Voici d’ailleurs un exemple des tables contenues dans WordPress :
En ouvrant la ressource MySQL Database, on peut y voir que la configuration attribuée par défaut via ce template n’est pas des moins chères !
Un tour dans les modèles de prix nous permet d’avoir une meilleure idée de son coût mensuel :
Evidemment, la baisse du nombre de cœurs pour MySQL n’ira pas en dessous de 2. De plus il est impossible de repasser sur une édition Basique ????:
Un petite tour nous permet alors de nous faire une idée du coût de l’ensemble :
- App Service Plan : P1V2 (Windows) : 35.09 € / mois
- MySQL : 4 vCore / 100GB (General Purpose) : 263.63 € / mois
Dans mon cas, le besoin n’est pas encore présent pour justifier une telle architecture. Mais comment faire pour partir sur des SKUs MySQL plus petits ?
Pour cela, nans allons réutiliser le template déployé juste avant, le modifier et le relancer pour un nouveau déploiement Azure.
Etape II : Suppression des ressources Azure
Retournez sur le groupe de ressources et cliquez ici :
Cet écran vous affiche l’historique des précédents déploiements passés, réussis ou échoués :
Avant d’en relancer un nouveau, supprimez les ressources existantes créées par ce template WordPress. Validez la suppression des ressources Azure comme ceci :
Etape III : Relancez le déploiement du template
Une fois les ressources Azure supprimées, retournez sur l’écran précédent et cliquez sur le déploiement :
Cliquez sur Redéployer :
Vous retrouvez alors ici toutes les informations SKUs des ressources créées :
Dans mon cas, je n’ai modifié que les informations de la base de données MySQL. Pour cela, j’ai donc rectifié les valeurs suivantes :
- vmName : B_Gen5_1
- serverEdition : Basic
- vCores : 1
Voici donc le bas de page de ma configuration :
Cliquez pour valider le template et lancer le déploiement :
Quelques minutes plus tard, vous retrouvez toutes les ressources Azure dont toujours une base de données MySQL, mais avec un SKU bien moins cher ???? :
Etape IV : Configuration WordPress
Retournez alors sur votre application web afin de terminer l’installation de WordPress. Choisissez la langue qui vous convient puis cliquez sur Continuer :
Terminez en renseignant les derniers champs pour finaliser l’installation :
Une fois authentifié avec votre nouveau compte administrateur, vous voici sur votre console d’administration WordPress :
Etape V : Ajout d’un nom de domaine personnalisé
Toujours en rapport avec Azure, il me parait important d’ajouter un nom de domaine personnalisé et de sécuriser les connexions. Pour cela, retournez sur votre application web Azure, puis cliquez ici :
Vous ne pouvez acheter des domaines directement depuis Azure. Des sites comme GoDaddy ou encore Domain.com proposent ce type de service. Pour ma part, j’utilise régulièrement le site Freenom pour acheter des domaines gratuits dans le but de tests.
Une fois le domaine acheté, pensez à ajouter le domaine sur votre application web Azure pour ensuite ajoutez les enregistrements DNS nécessaires :
Les informations ci-dessus sont nécessaires pour configurer les enregistrements DNS sur mon nouveau domaine. Quelques minutes d’attente et une validation plus tard, le nouveau domaine passe au vert. Finalisez l’ajout de ce dernier :
Etape VI : Ajout d’un certificat TLS
Ce nouveau domaine ne dispose pas encore de certificat TLS comme l’indique la copie d’écran ci-dessous. Cliquez sur les paramétrages TLS/SSL pour corriger cela :
Cliquez alors sur la seconde section, puis sur Créer un certificat managé et choisissez le domaine ajouté puis cliquez sur Créer :
Ce processus prend plusieurs minutes. Une fois terminé, retournez dans vos Domaines personnalisés, puis cliquez ici :
Sélectionnez les éléments dans la liste pour les associer entre eux. Le choix du type pourra se faire selon cet article Microsoft. Cliquez ici pour valider le lien :
Votre nouveau domaine gère bien maintenant la sécurité TLS. Profitez-en alors pour activer cette option :
Autant rester sur le sujet TLS/SSL en activant aussi cette exigence sur votre base de données MySQL :
En retournant sur l’application web, on remarque que l’URL présente sur la page principale reprend maintenant le domaine personnalisé avec le protocole HTTPS. Une fois sur votre site, consultez les détails du certificat généré par GeoTrust :
Etape VI : Activation d’Azure Backup
Toujours dans la configuration, profitez-en pour activer la sauvegarde via Azure Backup :
La sauvegarde de vos données va alors se faire sur une compte de stockage Blob :
Vous pouvez le créer directement ici si nécessaire en cliquant ici. Le nom de celui-ci doit être unique sur Azure :
Sélectionnez ce nouveau compte de stockage pour créer après coup un nouveau conteneur, puis validez :
Définissez votre police de sauvegarde, puis validez là :
Vous pouvez cliquer dès à présent ici pour effectuer votre première sauvegarde manuelle. Les autres suivront automatiquement, en fonction de votre police de sauvegarde :
Allez dans le compte de stockage pour constater l’apparition des fichiers de sauvegarde :
L’architecture est maintenant en place, il ne vous reste plus qu’à utiliser votre console WordPress ????
Conclusion
Cette mise en œuvre d’un site WordPress sur Azure n’est pas des plus compliquée. Microsoft vous simplifie grandement le travail. D’autres articles vont suivre sur le sujet car je souhaite aussi aborder la migration des données ou encore l’optimisation de l’architecture et la mise en place d’autres métriques.