Créer un site web WordPress à charge équilibrée

dans Amazon Lightsail

Amazon Lightsail constitue le moyen le plus simple de démarrer avec AWS. Il permet de bénéficier de serveurs virtuels, d'une capacité de stockage, de bases de données et de fonctionnalités de mise en réseau, ainsi que d'un forfait mensuel rentable.

Ce tutoriel vous montre comment créer un site Web WordPress à charge équilibrée dans Amazon Lightsail. Un équilibreur de charge est un serveur qui répartit le trafic réseau sur un ensemble de serveurs. En répartissant ainsi le trafic su un groupe de serveurs, vous pouvez considérablement améliorer le nombre d'utilisateurs simultanés que peut prendre en charge votre site Web WordPress. Les équilibreurs de charge ajoutent également une tolérance aux pannes. L'équilibreur de charge Lightsail veille à ce que seules les instances WordPress saines qui lui sont attachées reçoivent du trafic.

Vous pouvez faire évoluer horizontalement un site Web WordPress en augmentant le nombre d'instances attachées à un équilibreur de charge. Vous pouvez également le faire évoluer verticalement en remplaçant les instances attachées à un équilibreur de charge par des instances qui utilisent un plan Lightsail plus supérieur (par exemple, opter pour le plan à 5 USD par mois plutôt que celui 3,50 USD par mois). Ce tutoriel n'aborde pas le scénario de mise à l'échelle verticale, mais sa mise en œuvre s'effectue en respectant une procédure similaire.

Dans ce tutoriel, vous effectuez les opérations suivantes :

  • Création d'une base de données gérées MySQL dans Lightsail
  • Création d'un utilisateur IAM pour votre instance WordPress
  • Connexion de votre instance WordPress via SSH pour configurer la base de données gérées et les informations d'identification de l'utilisateur IAM
  • Connexion au tableau de bord de votre site Web WordPress et installation de l'extension WP Offload Media
  • Duplication de votre instance WordPress
  • Création d'un équilibreur de charge dans Lightsail et attachement de vos instances WordPress

Démarrez gratuitement avec Amazon Lightsail. 

À propos de ce didacticiel
Durée Env. 60 minutes                                           
Coût Des coûts s'appliquent
Cas d'utilisation Calcul
Produits Amazon Lightsail
Public ciblé Développeur
Niveau Intermédiaire 
Date de la dernière mise à jour 16 avril 2020

Vous possédez déjà un compte ? Connectez-vous.

1. Création d'une instance WordPress dans Amazon Lightsail

Dans ce tutoriel, vous devrez créer une instance WordPress dans Lightsail. Pour ce faire, suivez les étapes du tutoriel Lancement et configuration d'une instance WordPress avec Amazon Lightsail.

2. Création d'une base de données gérées MySQL dans Lightsail

Respectez la procédure suivante pour créer une base de données gérées MySQL dans Lightsail. La nouvelle base de données gérées MySQL servira de base de données centrale pour l'ensemble des instances WordPress dont la charge sera équilibrée.


a. Connectez-vous à la console Amazon Lightsail


b. Dans l'onglet Bases de données de la page d'accueil d'Amazon Lightsail, choisissez Créer une base de données.

lb1

c. Choisissez la région AWS et la zone de disponibilité applicables à votre base de données.

Remarque : la base de données doit être créée dans la même région que votre instance WordPress.

lb2

d. Choisissez la dernière version de MySQL comme moteur de base de données. Bien que disponible, PostgreSQL n'est pas compatible avec WordPress.

lb3

e. Choisissez un plan de base de données.

Celui-ci inclut une configuration machine à coût réduit et prévisible (mémoire RAM, disque SSD et vCPU), ainsi qu'un quota de transfert de données. Vous pouvez essayer le forfait standard Lightsail à 15 USD gratuitement pendant un mois (jusqu'à 750 heures).

lb4

f. Saisissez le nom de votre base de données.

Conditions à respecter :

  • Le nom doit être différent pour chaque région AWS de votre compte Amazon Lightsail.
  • Le nom doit contenir entre 2 et 255 caractères.
  • Le nom doit débuter et se terminer par un caractère alphanumérique ou un chiffre.
  • Le nom peut inclure des caractères alphanumériques, des chiffres, des points, des tirets hauts et des tirets bas.
lb5

g. Choisissez Créer une base de données.

La création de votre base de données nécessitera quelques minutes.


h. Une fois votre base de données créée et disponible, choisissez son nom dans l'onglet Bases de données de la console Lightsail.


i. Effectuez les opérations suivantes dans l'onglet Connexion de la page de gestion de votre base de données:

  1. Prenez note du nom DNS de la base de données. Vous en aurez besoin plus loin dans ce tutoriel.
  2. Prenez note du nom d'utilisateur de la base de données. Vous en aurez besoin plus loin dans ce tutoriel.
  3. Choisissez Afficher le mot de passe, puis Modifier le mot de passe. Saisissez un nouveau mot de passe fort sans caractères spéciaux. Vous devez modifier le mot de passe pour supprimer les caractères spéciaux, car certaines des commandes plus loin dans ce tutoriel ne fonctionneront pas comme prévu si le mot de passe contient des caractères spéciaux.
  4. Prenez note du mot de passe de la base de données. Vous en aurez besoin plus loin dans ce tutoriel.
hawp2i

3. Créez un compartiment Amazon S3 pour votre instance WordPress

Effectuez les opérations suivantes pour créer un compartiment Amazon S3 qui servira au stockage des éléments multimédias de votre site Web WordPress.


a. Connectez-vous à la console Amazon S3.


b. Choisissez Bloquer l'accès public dans le menu de navigation de gauche.


c. Vérifiez que les deux options pour bloquer l'accès public via des listes de contrôle d'accès (ACL) sont désactivées. Si ce n'est pas le cas, choisissez Modifier, désélectionnez ces options, puis choisissez Enregistrer les modifications. Ces options sont obligatoires pour que WordPress accède au compartiment Amazon S3 que vous créez.

Remarque : ces paramètres étant appliqués à l'ensemble des compartiments S3, assurez-vous qu'ils sont compatibles avec vos autres compartiments S3 existants.

update1
update2

d. Choisissez Compartiment dans la volet de navigation de gauche, puis Créer un compartiment.

update3

e. Attribuez un nom à votre compartiment. Les noms de tous les compartiments S3 sont globalement uniques. Vous ne pouvez donc pas utiliser le même que celui de ce tutoriel.

Prenez note du nom choisi. Vous devrez le saisir dans votre configuration WordPress plus loin dans ce tutoriel.


f. Choisissez la région AWS de votre compartiment S3. Vous devez créer toutes vos ressources pour ce tutoriel dans la même région AWS. Par conséquent, créez votre compartiment S3 dans la même région que votre instance WordPress.

update4

g. Désélectionnez Bloquer tous les accès publics, puis choisissez Bloquer l'accès public aux compartiments et aux objets, accordé via de nouvelles stratégies de compartiment ou de point d'accès public et Bloquer l'accès public et entre comptes aux compartiments et objets via n'importe quelles stratégies de compartiment ou de point d'accès public. Vérifiez que les deux options pour bloquer l'accès public via des listes de contrôle d'accès (ACL) sont désélectionnées.


h. Confirmez votre choix des paramètres que vous avez sélectionnés.

update6

i. Choisissez Créer un compartiment.


3. Création d'une stratégie et d'un utilisateur IAM pour votre instance WordPress

Effectuez les opérations suivantes pour créer une stratégie pour le compartiment Amazon S3 que vous avez créé, puis créez un utilisateur IAM avec la stratégie qui peut accéder au compartiment S3. Plus loin dans ce tutoriel, vous configurerez votre instance WordPress avec les informations d'identification de l'utilisateur IAM.

a. Connectez-vous à la console IAM.


b. Choisissez Stratégies dans la volet de navigation de gauche, puis Créer une stratégie.

c. Sur la page Créer une stratégie, choisissez l'onglet JSON, puis collez la stratégie suivante dans la zone de texte. Veillez à remplacer le nom de votre compartiment par celui du compartiment Amazon S3 que vous avez créé plus tôt dans ce didacticiel.

Le résultat devrait ressembler à l'image suivante.

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "s3:PutObject",
                "s3:GetObjectAcl",
                "s3:GetObject",
                "s3:PutBucketAcl",
                "s3:ListBucket",
                "s3:DeleteObject",
                "s3:GetBucketAcl",
                "s3:GetBucketLocation",
                "s3:PutObjectAcl"
            ],
            "Resource": [
                "arn:aws:s3:::<your bucket name>",
                "arn:aws:s3:::<your bucket name>/*"
            ]
        }
    ]
}
update7

d. Choisissez Examiner une stratégie.

e. Attribuez un nom à votre stratégie, par exemple strategie-wp-s3, puis choisissez Créer une stratégie.

Vous disposez désormais d'une stratégie applicable à un nouvel utilisateur IAM. Dans les prochaines étapes, vous allez créer un utilisateur IAM

update8

f. Choisissez Utilisateurs dans la barre de navigation de gauche. Ensuite, choisissez Ajouter un utilisateur.

lb7

g. Saisissez un nom d'utilisateur.

Ex. : utilisateur-wp-s3


h. Choisissez Accès par programmation.

i. Choisissez Suivant : Autorisations.

lb8

j. Choisissez Attacher directement les stratégies existantes.


k. Recherchez le nom de la stratégie IAM que vous avez créée, comme strategie-wp-s3.

 


l. Choisissez la stratégie IAM que vous avez créée dans les résultats de la recherche.

m. Choisissez Suivant : Balises.

 

update10

n. Vous n'avez pas besoin d'ajouter de balises à l'utilisateur IAM. Sélectionnez Suivant : Vérification.


o. Vérifiez les détails de l'utilisateur, puis choisissez Créer un utilisateur.

lb10

p. Copiez l'ID de clé d'accès de l'utilisateur, puis collez-le dans le fichier texte des informations d'identification que vous avez créé plus tôt dans ce tutoriel.

lb11

q. Choisissez Afficher sous la colonne Clé d'accès secrète.


r. Copiez la clé d'accès secrète et collez-la dans le fichier texte des informations d'identification.


s. Enregistrez le fichier texte des informations d'identification à un emplacement sûr. Vous aurez besoin de ces informations d'identification plus loin dans ce tutoriel.


t. Choisissez Fermer.

Vous en avez ainsi terminé avec la console IAM que vous pouvez donc fermer.

4. Connexion de votre instance WordPress via SSH pour configurer la base de données gérées et les informations d'identification de l'utilisateur IAM

Effectuez les opérations suivantes pour exporter les données de la base de données MySQL de votre instance WordPress et les importer dans la nouvelle base de données gérée de Lightsail. Vous allez également configurer votre instance WordPress pour qu'elle se connecte à la base de données gérée MySQL et configurer les informations d'identification de l'utilisateur IAM dans votre instance WordPress.


a. Connectez-vous à la console Lightsail.


b. Dans l'onglet Instances de la page d'accueil d'Amazon Lightsail, choisissez l'icône du client SSH basé sur un navigateur de votre instance WordPress.

lb12

c. Une fois que la fenêtre du client SSH basé sur un navigateur s'ouvre, saisissez la commande suivante pour obtenir le mot de passe par défaut Bitnami pour les applications de votre instance WordPress :

cat $HOME/bitnami_application_password

        d. Copiez le mot de passe affiché et collez-le dans le fichier texte dans lequel vous stockez vos informations d'identification.

lb13

e. Saisissez les commandes suivantes, une à une, pour définir les variables d'environnement avec les informations que vous avez copiées et collées dans le fichier texte des informations d'identification.

LSDB_USERNAME=<DatabaseUserName>
LSDB_ENDPOINT=<DatabaseEndpoint>
LSDB_PASSWORD='<DatabasePassword>'
ACCESS_KEY=<AccessKeyID>
SECRET_KEY=<SecretAccessKey>

Remarque : veillez à placer un guillemet simple avant et après le paramètre LSDB_PASSWORD.

Par exemple :

LSDB_USERNAME=dbmasteruser
LSDB_ENDPOINT=ls-24e932a56656a5b471398ea052a04bc32ea0703d.czowadgeezqi.us-west-2.rds.amazonaws.com
LSDB_PASSWORD='3stTVwnfJh9CnKR6'
ACCESS_KEY=AKIAIOSFODNN7EXAMPLE
SECRET_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY

f. Saisissez la commande suivante pour créer un vidage de la base de données MySQL qui se trouve sur votre instance WordPress. Cette commande crée un fichier dump.sql dans le répertoire en cours.

mysqldump -u root --databases bitnami_wordpress --single-transaction --order-by-primary -p > dump.sql

g. Saisissez le mot de passe par défaut Bitnami lorsqu'un mot de passe vous est demandé. Il s'agit du mot de passe par défaut Bitnami pour les applications de votre instance WordPress, mot de passe que vous avez obtenu plus haut dans cette procédure.


h. Saisissez la commande suivante pour importer le fichier dump.sql dans votre base de données gérées MySQL dans Lightsail.

cat dump.sql | mysql --user $LSDB_USERNAME --host $LSDB_ENDPOINT -p

i. Saisissez le mot de passe de la base de données gérées MySQL lorsqu'un mot de passe vous est demandé. Il s'agit du mot de passe de votre base de données gérées MySQL, mot de passe que vous avez obtenu dans la console Lightsail plus haut dans ce tutoriel.


j. Nous allons modifier le fichier wp-config.php dans les prochaines étapes. Avant de continuer, saisissez la commande suivante pour créer une sauvegarde du fichier wp-config.php pour le cas où un problème surviendrait.

cp /home/bitnami/apps/wordpress/htdocs/wp-config.php /home/bitnami/apps/wordpress/htdocs/wp-config.php.bak

k. Saisissez la commande suivante pour obtenir le mot de passe de la base de données MySQL de l'instance à partir du fichier wp-config.php et définissez-le comme variable d'environnement WPDB_PASSWORD.

WPDB_PASSWORD=`cat /home/bitnami/apps/wordpress/htdocs/wp-config.php | grep DB_PASSWORD | cut -d \' -f 4`

l. Saisissez la commande suivante pour ajouter le port à la variable d'environnement du point de terminaison de votre base de données Lightsail.

LSDB_ENDPOINT=$LSDB_ENDPOINT:3306

m. Saisissez la commande suivante pour utiliser la commande WordPress pour ajouter le nom d'utilisateur, le mot de passe et le point de terminaison de la base de données gérée MySQL au fichier wp-config.php.

wp config set DB_USER $LSDB_USERNAME && wp config set DB_PASSWORD $LSDB_PASSWORD && wp config set DB_HOST $LSDB_ENDPOINT

n. Saisissez la commande suivante pour créer un fichier credfile.txt qui contient les informations d'identification de l'utilisateur IAM que vous avez créé plus tôt dans ce tutoriel.

cat <<EOT >> credfile.txt
define( 'AS3CF_SETTINGS', serialize( array (
    'provider' => 'aws', 
    'access-key-id' => '$ACCESS_KEY', 
    'secret-access-key' => '$SECRET_KEY',
) ) );
EOT

o. Saisissez la commande suivante pour insérer le contenu du fichier credfile.txt dans le fichier wp-config.php.

sed -i "/define( 'WP_DEBUG', false );/r credfile.txt" /home/bitnami/apps/wordpress/htdocs/wp-config.php

p. Saisissez-la commande suivante pour supprimer le fichier credfile.txt dont vous n'avez désormais plus besoin. À ce stade, vous pouvez également supprimer le fichier d'informations d'identification qui contient l'ensemble des informations d'identification que vous avez copiées et collées plus tôt dans ce tutoriel.

sudo rm –r credfile.txt

q. L'ensemble de commandes précédent réinitialise les autorisations du fichier wp-config.php. Saisissez la commande suivante pour corriger les autorisations du fichier wp-config.php et de la sauvegarde que vous avez créée.

sudo chown bitnami:daemon /home/bitnami/apps/wordpress/htdocs/wp-config.php && sudo chown bitnami:daemon /home/bitnami/apps/wordpress/htdocs/wp-config.php.bak

r. Saisissez la commande suivante pour redémarrer les services sur l'instance.

sudo /opt/bitnami/ctlscript.sh restart

Vous pouvez fermer la fenêtre du client SSH basé sur un navigateur. Votre instance WordPress est désormais configurée pour se connecter à votre nouvelle base de données gérées MySQL dans Lightsail. Lorsque vous publiez de nouveaux articles sur votre site Web WordPress, les données de ces publications sont écrites dans la base de donnée gérées MySQL de Lightsail, plutôt que dans celle qui se trouve sur l'instance.

5. Connexion au tableau de bord de votre site Web WordPress et installation de l'extension WP Offload Media

Effectuer les opérations suivantes pour installer l'extension WP Offload Media sur votre site Web WordPress. L'extension WP Offload Media crée un compartiment Amazon S3 dans votre compte AWS en utilisant les informations d'identification IAM configurées dans la section précédente de ce tutoriel. Il connecte également votre WordPress au nouveau compartiment S3 afin que les fichiers multimédias téléchargés sur votre site Web soient enregistrés dans votre nouveau compartiment S3. Le nouveau compartiment S3 servira d'emplacement central pour les fichiers multimédias de l'ensemble des instances WordPress dont la charge sera équilibrée.


a. Accédez à votre instance. Par exemple, http://192.0.2.0.

L'adresse IP publique de votre instance est indiquée dans la console Amazon Lightsail, comme illustré sur cette image :

lb14

b. Choisissez l'icône de gestion Bitnami dans le coin inférieur droit de la page

lb15

c. Choisissez Connexion.

lb16

d. Saisissez user dans la zone de texte Nom d'utilisateur, puis entrez le mot de passe par défaut Bitnami dans la zone de texte Mot de passe. Choisissez ensuite Connexion.

lb17

e. Placez le curseur sur Extensions dans le volet de navigation de gauche, puis choisissez Ajouter une nouvelle.

lb18

f. Saisissez WP Offload Media dans la zone de texte de recherche et appuyez sur Entrée.

lb19

g. Dans les résultats de la recherche, choisissez Installer maintenant en regard de l'extension WP Offload Media Lite.

lb29

h. Une fois l'extension installée, choisissez Activer.

lb21

i. Après avoir activé l'extension, placez le curseur sur Paramètres dans le volet de navigation de gauche et choisissez Offload Media Lite.

lb22

j. Dans la page des paramètres de l'extension Offload Media Lite, saisissez le nom du compartiment S3 que vous avez créé plus tôt dans ce tutoriel dans la zone de texte Compartiment.

Choisissez ensuite Enregistrer le paramètre du compartiment.

update11

La page Offload Media Lite confirme l'enregistrement des paramètres.

Votre site Web WordPress est désormais configuré pour télécharger des fichiers multimédias dans votre compartiment Amazon S3. Avec le nouveau compartiment S3 central pour vos fichiers multimédias WordPress associé à la nouvelle base de données gérée centrale MySQL dans Lightsail, vous pouvez désormais dupliquer votre instance WordPress en étant assuré que chaque version dupliquée de votre instance fera référence au compartiment S3 et à la base de données gérées MySQL. Passez à l'étape suivante pour dupliquer votre instance WordPress dans Lightsail.

Picture1

6. Duplication de votre instance WordPress

Effectuez les opérations suivantes pour créer un instantané de votre instance WordPress. Utilisez ensuite cet instantané pour dupliquer votre instance.


a. Connectez-vous à la console Lightsail.


b. Choisissez le nom de votre instance WordPress dans l'onglet Instances de la page d'accueil de Lightsail.

lb26

c. Dans la page de gestion des instances, choisissez l'onglet Instantané

d. Choisissez Créer un instantané, puis Créer.

lb28

e. Une fois l'instantané créé, cliquez sur l'icône des points de suspension (⋮), puis choisissez Créer une instance.

lb29real

f. Sur la page Créer une instance à partir d'un instantané, ne changez pas les sélections par défaut. Faites défiler jusqu'au bas de la page, puis choisissez Créer une instance.

Cette opération crée une réplique exacte de votre WordPress d'origine, qui est déjà configurée pour se connecter à la base de données gérée MySQL et au compartiment Amazon S3 créés plus tôt dans ce tutoriel.

Répétez les étapes de cette section du tutoriel pour créer autant d'instances que nécessaire pour équilibrer la charge. Passez à la section suivante de ce tutoriel pour créer un équilibreur de charge dans Lightsail et attacher vos instances.

lb30
lb31

7. Création d'un équilibreur de charge dans Lightsail et attachement de vos instances WordPress

Effectuez les opérations suivantes pour créer un équilibreur de charge dans Lightsail et attacher vos instances WordPress.


a. Connectez-vous à la console Lightsail.


b. Choisissez l'onglet Mise en réseau de la page d'accueil de Lightsail.


c. Choisissez Créer un équilibreur de charge.

lb32

d. Sur la page Créer un équilibreur de charge, attribuez un nom à votre équilibreur de charge, puis choisissez Créer un équilibreur de charge.


e. Choisissez le nom de votre équilibreur de charge.

lb33

f. Dans l'onglet Instances cibles, sous la section Instances cibles de la page, ouvrez le menu déroulant et choisissez une de vos instances WordPress. Choisissez Attacher pour attacher l'instance.

lb34

g. Choisissez Attacher une autre pour attacher une autre instance à l'équilibreur de charge.

Attachez toutes les instances WordPress dupliquées à l'équilibreur de charge.

lb35

h. Dans le haut de la page Gestion des équilibreurs de charge, copiez le nom DNS de l'équilibreur de charge.

lb36

i. Ouvrez une nouvelle fenêtre de navigateur, collez le nom DNS dans la zone de texte de l'adresse, puis appuyez sur Entrée.

Votre demande est acheminée via l'équilibreur de charge et votre site Web se charge. Le site Web qui se charge vient d'une des instances WordPress attachées à votre équilibreur de charge. À ce stade, votre équilibreur de charge est configuré pour acheminer vers une de vos instances WordPress dupliquées. Pour terminer le processus, ajoutez le nom DNS de vos équilibreurs de charge comme enregistrement d'adresse (A) dans le DNS de votre domaine enregistré.

Félicitations !

Vous avez créé un site Web WordPress à charge équilibrée dans Lightsail.

Amazon Lightsail est idéal pour les développeurs, les pros du Web et tous ceux qui souhaitent démarrer sur AWS rapidement et économiquement. Vous pouvez lancer des instances, des bases de données, un stockage SSD, transférer des données, surveiller vos ressources, entre autres, d'une manière gérée.

Ce didacticiel vous a-t-il été utile ?

Merci
Merci de nous indiquer ce que vous avez aimé.
Fermer
Nous sommes désolés de vous décevoir.
Quelque chose est-il obsolète, déroutant ou inexact ? Aidez-nous à améliorer ce didacticiel en fournissant des commentaires.
Fermer