Déploiement d'un WordPress site Web à haute disponibilité avec une RDS base de données Amazon externe sur Elastic Beanstalk - AWS Elastic Beanstalk

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Déploiement d'un WordPress site Web à haute disponibilité avec une RDS base de données Amazon externe sur Elastic Beanstalk

Ce didacticiel explique comment lancer une instance Amazon RDS DB externe à AWS Elastic Beanstalk, puis comment configurer un environnement de haute disponibilité exécutant un WordPress site Web pour s'y connecter. Le site Web utilise Amazon Elastic File System (AmazonEFS) comme espace de stockage partagé pour les fichiers téléchargés.

L'exécution d'une instance de base de données externe à Elastic Beanstalk découple la base de données du cycle de vie de votre environnement. Cela vous permet de connecter la même base de données depuis plusieurs environnements, de remplacer une base de données par une autre ou d'effectuer un déploiement bleu/vert sans affecter votre base de données.

Note

Pour obtenir des informations actualisées sur la compatibilité des PHP versions avec WordPress les versions, consultez la section PHPCompatibilité et WordPress versions sur le WordPress site Web. Vous devez consulter ces informations avant de passer à une nouvelle version de PHP pour vos WordPress implémentations.

Prérequis

Ce tutoriel suppose que vous connaissez les opérations de base Elastic Beanstalk et la console Elastic Beanstalk. Si ce n'est pas déjà fait, suivez les instructions dans Commencer à utiliser Elastic Beanstalk pour lancer votre premier environnement Elastic Beanstalk.

Pour suivre les procédures décrites dans ce guide, vous aurez besoin d'un shell ou d'un terminal de ligne de commande pour exécuter des commandes. Dans les listes, les commandes sont précédées d'un symbole d'invite ($) et du nom du répertoire actuel, le cas échéant.

~/eb-project$ this is a command this is output

Sous Linux et macOS, vous pouvez utiliser le shell et le gestionnaire de package de votre choix. Sur Windows, vous pouvez installer le sous-système Windows pour Linux afin d'obtenir une version intégrée à Windows d'Ubuntu et de Bash.

Par défaut VPC

Les procédures Amazon Relational Database Service (RDSAmazon) décrites dans ce didacticiel supposent que vous lancez des ressources dans un Amazon Virtual Private Cloud (Amazon) par défaut. VPC Tous les nouveaux comptes incluent un compte par défaut VPC dans chaque AWS région. Si vous n'avez pas de valeur par défautVPC, les procédures peuvent varier. Consultez Utilisation d'Elastic Beanstalk avec Amazon RDS les instructions relatives aux VPC plateformes EC2 -Classic et personnalisées.

AWS Régions

L'exemple d'application utilise AmazonEFS, qui ne fonctionne que dans AWS les régions compatibles avec AmazonEFS. Pour en savoir plus sur AWS les régions prises en charge, consultez Amazon Elastic File System Endpoints and Quotas dans le Références générales AWS.

Lancer une instance de base de données sur Amazon RDS

Lorsque vous lancez une instance avec AmazonRDS, celle-ci est totalement indépendante d'Elastic Beanstalk et de vos environnements Elastic Beanstalk, et elle ne sera ni interrompue ni surveillée par Elastic Beanstalk.

Dans les étapes suivantes, vous allez utiliser la RDS console Amazon pour :

  • Lancez une base de données avec le SQL moteur My.

  • Activez un déploiement Multi-AZ. Cela crée une veille dans une autre zone de disponibilité (AZ) pour fournir la redondance des données, éliminer les blocages d'I/O et minimiser les pics de latence pendant les sauvegardes du système.

Pour lancer une RDS instance de base de données par défaut VPC
  1. Ouvrez la RDSconsole.

  2. Dans la panneau de navigation, choisissez Databases (Bases de données).

  3. Choisissez Create database (Créer une base de données).

  4. Choisissez Standard Create (Création standard).

    Important

    Ne choisissez pas Easy Create (Création facile). Si vous le choisissez, vous ne pouvez pas configurer les paramètres nécessaires pour lancer cette RDS base de données.

  5. Sous Additional Configuration (Configuration supplémentaire), pour Initial database name (Nom initial de la base de données), tapez ebdb.

  6. Vérifiez les paramètres par défaut et ajustez ces paramètres en fonction de vos exigences spécifiques. Prêtez attention aux options suivantes :

    • Classe d'instance de base de données : choisissez une taille d'instance dotée d'une quantité de mémoire et d'CPUalimentation adaptée à votre charge de travail.

    • Multi-AZ deployment (Déploiement multi-AZ) : pour une haute disponibilité, définissez cette option sur Create an Aurora Replica/Reader node in a different AZ (Créer un nœud de réplica/lecteur Aurora dans une autre zone de disponibilité).

    • Master username (Identifiant principal) et Master password (Mot de passe principal) : nom d'utilisateur et mot de passe de la base de données. Notez les valeurs de ces paramètres, car vous en aurez besoin par la suite.

  7. Vérifiez les paramètres par défaut pour les autres options, puis cliquez sur Create database (Créer une base de données).

Une fois votre instance de base de données créée, modifiez le groupe de sécurité qui lui est associé afin d'autoriser le trafic entrant sur le port approprié.

Note

Il s'agit du même groupe de sécurité que celui que vous associerez plus tard à votre environnement Elastic Beanstalk. Par conséquent, la règle que vous ajoutez maintenant accordera une autorisation d'entrée aux autres ressources de ce même groupe de sécurité.

Pour modifier les règles de trafic entrant sur le groupe de sécurité attaché à votre instance RDS
  1. Ouvrez la RDSconsole Amazon.

  2. Choisissez Databases (Bases de données).

  3. Choisissez le nom de votre instance de base de données pour en afficher les détails.

  4. Dans la section Connectivity (Connectivité), prenez note des Subnets (Sous-réseaux), des Security groups (Groupes de sécurité) et du Endpoint (Point de terminaison) affichés sur cette page. Ainsi, vous pourrez utiliser ces informations ultérieurement.

  5. Sous Security (Sécurité), vous voyez le groupe de sécurité associé à l'instance de base de données. Ouvrez le lien pour afficher le groupe de sécurité dans la EC2 console Amazon.

  6. Dans les détails du groupe de sécurité, choisissez l'onglet Inbound (Entrant).

  7. Choisissez Edit (Modifier).

  8. Choisissez Add Rule (Ajouter une règle).

  9. Pour Type, choisissez le moteur de base de données utilisé par votre application.

  10. Pour Source, entrez sg- pour afficher la liste des groupes de sécurité disponibles. Choisissez le groupe de sécurité associé au groupe Auto Scaling utilisé avec votre environnement Elastic Beanstalk. Cela permet aux EC2 instances Amazon présentes dans l'environnement d'accéder à la base de données.

    Image d'écran permettant de modifier les règles de trafic entrant pour un groupe de sécurité dans la EC2 console Amazon.
  11. Choisissez Save (Enregistrer).

La création d'une instance DB prend environ 10 minutes. En attendant, téléchargez WordPress et créez votre environnement Elastic Beanstalk.

Télécharger WordPress

Pour préparer le déploiement WordPress en utilisant AWS Elastic Beanstalk, vous devez copier les WordPress fichiers sur votre ordinateur et fournir les informations de configuration correctes.

Pour créer un WordPress projet
  1. Téléchargez WordPress sur wordpress.org.

    ~$curl https://wordpress.org/wordpress-6.2.tar.gz -o wordpress.tar.gz
  2. Téléchargez les fichiers de configuration à partir de l'exemple de référentiel.

    ~$ wget https://github.com/aws-samples/eb-php-wordpress/releases/download/v1.1/eb-php-wordpress-v1.zip
  3. Extrayez WordPress et modifiez le nom du dossier.

    ~$ tar -xvf wordpress.tar.gz ~$ mv wordpress wordpress-beanstalk ~$ cd wordpress-beanstalk
  4. Extrayez les fichiers de configuration au cours de l' WordPress installation.

    ~/wordpress-beanstalk$ unzip ../eb-php-wordpress-v1.zip creating: .ebextensions/ inflating: .ebextensions/dev.config inflating: .ebextensions/efs-create.config inflating: .ebextensions/efs-mount.config inflating: .ebextensions/loadbalancer-sg.config inflating: .ebextensions/wordpress.config inflating: LICENSE inflating: README.md inflating: wp-config.php

Lancer un environnement Elastic Beanstalk

Utilisez la console Elastic Beanstalk pour créer un environnement Elastic Beanstalk. Après avoir lancé l'environnement, vous pouvez le configurer pour qu'il se connecte à la base de données, puis y déployer le WordPress code.

Dans les étapes suivantes, vous allez utiliser la console Elastic Beanstalk pour :

  • Créez une application Elastic Beanstalk à l'aide de la plateforme gérée. PHP

  • Acceptez les paramètres par défaut et l'exemple de code.

Pour lancer un environnement (console)
  1. Ouvrez la console Elastic Beanstalk à l'aide de ce lien préconfiguré : console.aws.amazon.com/elasticbeanstalk/home#/ ? newApplication applicationName=tutoriels& = environmentType LoadBalanced

  2. Pour Platform (Plateforme), sélectionnez la plateforme et la branche de plateforme qui correspondent au langage utilisé par votre application.

  3. Pour l'option Code de l'application, choisissez Exemple d'application.

  4. Choisissez Vérifier et lancer.

  5. Passez en revue les options disponibles. Choisissez l'option disponible que vous souhaitez utiliser et, une fois que vous êtes prêt, choisissez Create app (Créer une application).

La création d'un environnement; prend environ 5 minutes et crée les ressources suivantes.

  • EC2instance — Une machine virtuelle Amazon Elastic Compute Cloud (AmazonEC2) configurée pour exécuter des applications Web sur la plateforme de votre choix.

    Chaque plateforme exécute un ensemble spécifique de logiciels, de fichiers de configuration et de scripts pour prendre en charge une version de langage, une infrastructure ou un conteneur web spécifiques, ou une combinaison de ces éléments. La plupart des plateformes utilisent Apache ou NGINX un proxy inverse qui se trouve devant votre application Web, lui transmet les demandes, fournit des ressources statiques et génère des journaux d'accès et d'erreurs.

  • Groupe de sécurité d'instance : groupe EC2 de sécurité Amazon configuré pour autoriser le trafic entrant sur le port 80. Cette ressource permet au HTTP trafic provenant de l'équilibreur de charge d'atteindre l'EC2instance qui exécute votre application Web. Par défaut, le trafic n'est pas autorisé sur les autres ports.

  • Équilibreur de charge – Équilibreur de charge Elastic Load Balancing configuré pour répartir les demandes vers les instances exécutant votre application. De plus, l'équilibreur de charge vous évite d'exposer directement vos instances sur Internet.

  • Groupe de sécurité d'équilibrage de charge : groupe EC2 de sécurité Amazon configuré pour autoriser le trafic entrant sur le port 80. Cette ressource permet au HTTP trafic provenant d'Internet d'atteindre l'équilibreur de charge. Par défaut, le trafic n'est pas autorisé sur les autres ports.

  • Groupe Auto Scaling – Groupe Auto Scaling configuré pour remplacer une instance si elle est résiliée ou devient indisponible.

  • Compartiment Amazon S3 – Emplacement de stockage pour votre code source, les journaux et autres artefacts qui sont créés lorsque vous utilisez Elastic Beanstalk.

  • CloudWatch Alarmes Amazon : deux CloudWatch alarmes qui surveillent la charge sur les instances de votre environnement et qui sont déclenchées si la charge est trop élevée ou trop faible. Lorsqu'une alarme est déclenchée, votre groupe Auto Scaling s'adapte en fonction, à la hausse ou à la baisse.

  • AWS CloudFormation stack : Elastic AWS CloudFormation Beanstalk utilise pour lancer les ressources de votre environnement et propager les modifications de configuration. Les ressources sont définies dans un modèle, que vous pouvez afficher dans la console AWS CloudFormation.

  • Nom de domaine : nom de domaine qui permet d'accéder à votre application Web sous la forme subdomain.region.elasticbeanstalk.com.

    Note

    Pour renforcer la sécurité de vos applications Elastic Beanstalk, le domaine elasticbeanstalk.com est enregistré dans la liste des suffixes publics (). PSL Pour plus de sécurité, nous vous recommandons d'utiliser des cookies avec un préfixe __Host- si vous devez définir des cookies sensibles dans le nom de domaine par défaut de vos applications Elastic Beanstalk. Cette pratique vous aidera à défendre votre domaine contre les tentatives de falsification de requêtes intersites ()CSRF. Pour plus d'informations, consultez la page Set-Cookie du Mozilla Developer Network.

Toutes ces ressources sont gérées par Elastic Beanstalk. Lorsque vous arrêtez votre environnement, Elastic Beanstalk arrête toutes les ressources qu'il contient.

Étant donné que l'RDSinstance Amazon que vous avez lancée se trouve en dehors de votre environnement, vous êtes responsable de la gestion de son cycle de vie.

Note

Le compartiment Amazon S3 créé par Elastic Beanstalk est partagé entre les environnements et n'est pas supprimé lors de l'arrêt de l'environnement. Pour plus d'informations, consultez Utilisation d'Elastic Beanstalk avec Amazon S3.

Configuration des groupes de sécurité et des propriétés de l'environnement

Ajoutez le groupe de sécurité de votre instance DB à votre environnement en cours d'exécution. Cette procédure conduit Elastic Beanstalk à remettre en service toutes les instances de votre environnement avec le groupe de sécurité supplémentaire associé.

Pour ajouter un groupe de sécurité à votre environnement
  • Effectuez l’une des actions suivantes :

    • Pour ajouter un groupe de sécurité à l'aide de la console Elastic Beanstalk

      1. Ouvrez la console Elastic Beanstalk, puis dans la liste des régions, sélectionnez votre. Région AWS

      2. Dans le panneau de navigation, choisissez Environments (Environnements), puis choisissez le nom de votre environnement dans la liste.

        Note

        Si vous avez plusieurs environnements, utilisez la barre de recherche pour filtrer la liste des environnements.

      3. Dans le panneau de navigation, choisissez Configuration.

      4. Dans la catégorie de configuration Instances, choisissez Edit (Modifier).

      5. Sous groupes EC2 de sécurité, choisissez le groupe de sécurité à associer aux instances, en plus du groupe de sécurité d'instance créé par Elastic Beanstalk.

      6. Pour enregistrer les modifications, cliquez sur Appliquer en bas de la page.

      7. Lisez l'avertissement, puis choisissez Confirm (Confirmer).

    • Pour ajouter un groupe de sécurité à l'aide d'un fichier de configuration, utilisez le fichier exemple securitygroup-addexisting.config.

Ensuite, utilisez les propriétés de l'environnement pour transmettre les informations de connexion à votre environnement.

L' WordPress application utilise un ensemble de propriétés par défaut qui correspondent à celles configurées par Elastic Beanstalk lorsque vous provisionnez une base de données dans votre environnement.

Pour configurer les propriétés de l'environnement pour une RDS instance de base de données Amazon
  1. Ouvrez la console Elastic Beanstalk, puis dans la liste des régions, sélectionnez votre. Région AWS

  2. Dans le panneau de navigation, choisissez Environments (Environnements), puis choisissez le nom de votre environnement dans la liste.

    Note

    Si vous avez plusieurs environnements, utilisez la barre de recherche pour filtrer la liste des environnements.

  3. Dans le panneau de navigation, choisissez Configuration.

  4. Dans la catégorie de configuration Mises à jour, surveillance et journalisation, sélectionnez Modifier.

  5. Dans la section Environment properties (Propriétés de l'environnement), définissez les variables lues par votre application pour créer une chaîne de connexion. Pour assurer la compatibilité avec les environnements dotés d'une RDS instance de base de données intégrée, utilisez les noms et valeurs suivants. Vous pouvez trouver toutes les valeurs, à l'exception de votre mot de passe, dans la RDSconsole.

    Nom de la propriété Description Valeur de la propriété

    RDS_HOSTNAME

    Nom d'hôte de l'instance DB.

    Dans l'onglet Connectivité et sécurité de la RDS console Amazon : Endpoint.

    RDS_PORT

    Port sur lequel l'instance de base de données accepte des connexions. La valeur par défaut varie selon les moteurs de base de données.

    Dans l'onglet Connectivité et sécurité de la RDS console Amazon : Port.

    RDS_DB_NAME

    Nom de la base de données, ebdb.

    Dans l'onglet Configuration de la RDS console Amazon : Nom de la base de données.

    RDS_USERNAME

    Nom d'utilisateur que vous avez configuré pour votre base de données.

    Dans l'onglet Configuration de la RDS console Amazon : Nom d'utilisateur principal.

    RDS_PASSWORD

    Mot de passe que vous avez configuré pour votre base de données.

    Non disponible pour référence dans la RDS console Amazon.

    Section de configuration des propriétés de l'environnement avec ajout de RDS propriétés
  6. Pour enregistrer les modifications, cliquez sur Appliquer en bas de la page.

Configuration et déploiement de votre application

Vérifiez que la structure de votre dossier wordpress-beanstalk est correcte, comme illustré.

wordpress-beanstalk$ tree -aL 1 . ├── .ebextensions ├── index.php ├── LICENSE ├── license.txt ├── readme.html ├── README.md ├── wp-activate.php ├── wp-admin ├── wp-blog-header.php ├── wp-comments-post.php ├── wp-config.php ├── wp-config-sample.php ├── wp-content ├── wp-cron.php ├── wp-includes ├── wp-links-opml.php ├── wp-load.php ├── wp-login.php ├── wp-mail.php ├── wp-settings.php ├── wp-signup.php ├── wp-trackback.php └── xmlrpc.php

Le fichier wp-config.php personnalisé du référentiel de projet utilise les variables d'environnement que vous avez définies à l'étape précédente pour configurer la connexion de base de données. Le dossier .ebextensions contient des fichiers de configuration qui créent des ressources supplémentaires au sein de votre environnement Elastic Beanstalk.

Les fichiers de configuration doivent être modifiés pour être compatibles avec votre compte. Remplacez les valeurs d'espace réservé dans les fichiers par les valeurs appropriées IDs et créez un ensemble de sources.

Pour mettre à jour les fichiers de configuration et créer une solution groupée source
  1. Modifiez les fichiers de configuration comme suit.

    • .ebextensions/dev.config— Restreint l'accès à votre environnement pour le protéger pendant le processus WordPress d'installation. Remplacez l'adresse IP fictive située en haut du fichier par l'adresse IP publique de l'ordinateur que vous utiliserez pour accéder au site Web de votre environnement afin de terminer votre WordPress installation.

      Note

      En fonction de votre réseau, il se peut que vous ayez besoin d'utiliser un bloc d'adresses IP.

    • .ebextensions/efs-create.config— Crée un système de EFS fichiers et des points de montage dans chaque zone/sous-réseau de disponibilité de votre. VPC Identifiez votre sous-réseau VPC et votre sous-réseau par défaut IDs dans la VPCconsole Amazon.

  2. Créez un bundle source contenant les fichiers dans votre dossier de projet. La commande suivante permet de créer une solution groupée source nommée wordpress-beanstalk.zip.

    ~/eb-wordpress$ zip ../wordpress-beanstalk.zip -r * .[^.]*

Téléchargez le bundle source dans Elastic Beanstalk WordPress pour le déployer dans votre environnement.

Pour déployer un groupe source
  1. Ouvrez la console Elastic Beanstalk, puis dans la liste des régions, sélectionnez votre. Région AWS

  2. Dans le panneau de navigation, choisissez Environments (Environnements), puis choisissez le nom de votre environnement dans la liste.

    Note

    Si vous avez plusieurs environnements, utilisez la barre de recherche pour filtrer la liste des environnements.

  3. Sur la page de présentation de l'environnement, choisissez Upload and deploy (Charger et déployer).

  4. Utilisez la boîte de dialogue à l'écran pour charger le bundle source.

  5. Choisissez Deploy (Déployer).

  6. Une fois le déploiement terminé, vous pouvez choisir le site sur URL lequel ouvrir votre site Web dans un nouvel onglet.

Installer WordPress

Pour terminer votre WordPress installation
  1. Ouvrez la console Elastic Beanstalk, puis dans la liste des régions, sélectionnez votre. Région AWS

  2. Dans le panneau de navigation, choisissez Environments (Environnements), puis choisissez le nom de votre environnement dans la liste.

    Note

    Si vous avez plusieurs environnements, utilisez la barre de recherche pour filtrer la liste des environnements.

  3. Choisissez l'environnement dans lequel vous URL souhaitez ouvrir votre site dans un navigateur. Vous êtes redirigé vers un assistant WordPress d'installation car vous n'avez pas encore configuré le site.

  4. Effectuez une installation standard. Le fichier wp-config.php est déjà présent dans le code source et configuré pour lire les informations de connexion à la base de données à partir de l'environnement. Vous ne devriez donc pas être invité à configurer la connexion.

L'installation prend environ une minute.

Mise à jour des clés et des valeurs salt

Le fichier WordPress de configuration lit wp-config.php également les valeurs des clés et des sels à partir des propriétés de l'environnement. Actuellement, ces propriétés sont toutes définies sur test par le fichier wordpress.config dans le dossier .ebextensions.

La valeur salt de hachage peut être n'importe quelle valeur qui respecte les exigences de propriété d'environnement, mais vous ne devez pas la stocker dans le contrôle de code source. Utilisez la console Elastic Beanstalk pour définir ces propriétés directement sur l'environnement.

Pour mettre à jour des propriétés d'environnement
  1. Ouvrez la console Elastic Beanstalk, puis dans la liste des régions, sélectionnez votre. Région AWS

  2. Dans le panneau de navigation, choisissez Environments (Environnements), puis choisissez le nom de votre environnement dans la liste.

    Note

    Si vous avez plusieurs environnements, utilisez la barre de recherche pour filtrer la liste des environnements.

  3. Dans le panneau de navigation, choisissez Configuration.

  4. Sous Software (Logiciel), choisissez Edit (Modifier).

  5. Pour Environment properties, modifiez les propriétés suivantes :

    • AUTH_KEY – Valeur choisie pour AUTH_KEY.

    • SECURE_AUTH_KEY – Valeur choisie pour SECURE_AUTH_KEY.

    • LOGGED_IN_KEY – Valeur choisie pour LOGGED_IN_KEY.

    • NONCE_KEY – Valeur choisie pour NONCE_KEY.

    • AUTH_SALT – Valeur choisie pour AUTH_SALT.

    • SECURE_AUTH_SALT – Valeur choisie pour SECURE_AUTH_SALT.

    • LOGGED_IN_SALT – Valeur choisie pour LOGGED_IN_SALT.

    • NONCE_SALT – Valeur choisie pour NONCE_SALT.

  6. Pour enregistrer les modifications, cliquez sur Appliquer en bas de la page.

Note

La définition des propriétés sur l'environnement remplace directement les valeurs dans wordpress.config.

Retrait des restrictions d'accès

L'exemple de projet inclut le fichier de configuration loadbalancer-sg.config. Il crée un groupe de sécurité et l'affecte à l'équilibreur de charge de l'environnement, à l'aide de l'adresse IP que vous avez configurée dans dev.config. Il limite l'HTTPaccès sur le port 80 aux connexions provenant de votre réseau. Dans le cas contraire, un tiers pourrait se connecter à votre site avant que vous n'ayez installé WordPress et configuré votre compte administrateur.

Maintenant que vous l'avez installé WordPress, supprimez le fichier de configuration pour ouvrir le site au monde entier.

Pour supprimer la restriction et mettre à jour votre environnement
  1. Supprimez le fichier .ebextensions/loadbalancer-sg.config de votre répertoire de projet.

    ~/wordpress-beanstalk$ rm .ebextensions/loadbalancer-sg.config
  2. Créez une solution groupée source.

    ~/eb-wordpress$ zip ../wordpress-beanstalk-v2.zip -r * .[^.]*

Téléchargez le bundle source dans Elastic Beanstalk WordPress pour le déployer dans votre environnement.

Pour déployer un groupe source
  1. Ouvrez la console Elastic Beanstalk, puis dans la liste des régions, sélectionnez votre. Région AWS

  2. Dans le panneau de navigation, choisissez Environments (Environnements), puis choisissez le nom de votre environnement dans la liste.

    Note

    Si vous avez plusieurs environnements, utilisez la barre de recherche pour filtrer la liste des environnements.

  3. Sur la page de présentation de l'environnement, choisissez Upload and deploy (Charger et déployer).

  4. Utilisez la boîte de dialogue à l'écran pour charger le bundle source.

  5. Choisissez Deploy (Déployer).

  6. Une fois le déploiement terminé, vous pouvez choisir le site sur URL lequel ouvrir votre site Web dans un nouvel onglet.

Configuration de votre groupe Auto Scaling

Enfin, configurez le groupe Auto Scaling de votre environnement avec un nombre minimum d'instances plus élevé. Exécutez au moins deux instances à tout moment pour éviter que les serveurs Web de votre environnement constituent un point de défaillance unique. Cela vous permet également de déployer des modifications sans mettre votre site hors service.

Pour configurer le groupe Auto Scaling de votre environnement pour une haute disponibilité
  1. Ouvrez la console Elastic Beanstalk, puis dans la liste des régions, sélectionnez votre. Région AWS

  2. Dans le panneau de navigation, choisissez Environments (Environnements), puis choisissez le nom de votre environnement dans la liste.

    Note

    Si vous avez plusieurs environnements, utilisez la barre de recherche pour filtrer la liste des environnements.

  3. Dans le panneau de navigation, choisissez Configuration.

  4. Dans la catégorie de configuration Capacity (Capacité), choisissez Edit (Modifier).

  5. Dans la section Auto Scaling group (Groupe Auto Scaling), définissez les Min instances (Instances min.) sur 2.

  6. Pour enregistrer les modifications, cliquez sur Appliquer en bas de la page.

Pour prendre en charge le téléchargement de contenu sur plusieurs instances, l'exemple de projet utilise Amazon EFS pour créer un système de fichiers partagé. Créez une publication sur le site et chargez le contenu afin de le stocker sur le système de fichiers partagé. Affichez la publication et actualisez la page plusieurs fois pour atteindre les deux instances et vérifier que le système de fichiers partagé fonctionne.

Mise à niveau WordPress

Pour effectuer une mise à niveau vers une nouvelle version de WordPress, sauvegardez votre site et déployez-le dans un nouvel environnement.

Important

N'utilisez pas la fonctionnalité de mise à jour intégrée WordPress ou ne mettez pas à jour vos fichiers source pour utiliser une nouvelle version. Ces deux actions peuvent faire en sorte que votre publication URLs renvoie des erreurs 404 même si elles se trouvent toujours dans la base de données et le système de fichiers.

Pour mettre à niveau WordPress
  1. Dans la console WordPress d'administration, utilisez l'outil d'exportation pour exporter vos publications vers un XML fichier.

  2. Déployez et installez la nouvelle version WordPress de sur Elastic Beanstalk en suivant les mêmes étapes que pour installer la version précédente. Pour éviter les temps d'arrêt, vous pouvez créer un environnement avec la nouvelle version.

  3. Dans la nouvelle version, installez l'outil d' WordPress importation dans la console d'administration et utilisez-le pour importer le XML fichier contenant vos publications. Si les publications ont été créées par l'utilisateur administrateur dans l'ancienne version, affectez-les à l'utilisateur administrateur sur le nouveau site au lieu d'essayer d'importer l'utilisateur admin.

  4. Si vous avez déployé la nouvelle version dans un environnement distinct, effectuez un CNAMEéchange pour rediriger les utilisateurs de l'ancien site vers le nouveau site.

Nettoyage

Lorsque vous avez fini d'utiliser Elastic Beanstalk, vous pouvez arrêter votre environnement. Elastic Beanstalk AWS met fin à toutes les ressources associées à votre environnement, telles que les instances EC2 Amazon, les instances de base de données, les équilibreurs de charge,les groupes de sécurité et les alarmes.

Pour mettre fin à votre environnement Elastic Beanstalk depuis la console
  1. Ouvrez la console Elastic Beanstalk, puis dans la liste des régions, sélectionnez votre. Région AWS

  2. Dans le panneau de navigation, choisissez Environments (Environnements), puis choisissez le nom de votre environnement dans la liste.

    Note

    Si vous avez plusieurs environnements, utilisez la barre de recherche pour filtrer la liste des environnements.

  3. Choisissez Actions (Actions), puis Terminate Environment (Résilier l’environnement).

  4. Utilisez la boîte de dialogue à l'écran pour confirmer la résiliation de l'environnement.

Avec Elastic Beanstalk, vous pouvez facilement créer un nouvel environnement pour votre application à tout moment.

Vous pouvez également arrêter les ressources de base de données que vous avez créées hors de votre environnement Elastic Beanstalk. Lorsque vous mettez fin à une instance Amazon RDS DB, vous pouvez prendre un instantané et restaurer les données sur une autre instance ultérieurement.

Pour mettre fin à votre RDS instance de base de données
  1. Ouvrez la RDSconsole Amazon.

  2. Choisissez Databases (Bases de données).

  3. Sélectionnez votre instance DB.

  4. Choisissez Actions, puis Supprimer.

  5. Choisissez si vous souhaitez créer un instantané, puis choisissez Delete (Supprimer).

Étapes suivantes

À mesure que vous continuez à développer votre application, vous souhaiterez probablement disposer d'une solution pour gérer des environnements et déployer votre application sans devoir créer un fichier .zip et le charger manuellement sur la console Elastic Beanstalk. L'interface de ligne de commande CLI (EB easy-to-use ) d'Elastic Beanstalk fournit des commandes pour créer, configurer et déployer des applications dans les environnements Elastic Beanstalk à partir de la ligne de commande.

L'exemple d'application utilise des fichiers de configuration pour configurer PHP les paramètres et créer une table dans la base de données, si elle n'existe pas déjà. Vous pouvez également utiliser un fichier de configuration pour configurer les paramètres de groupe de sécurité de vos instances lors de la création de l'environnement afin d'éviter les mises à jour de configuration, qui prennent du temps. Pour plus d’informations, consultez Personnalisation d'environnement avancée avec fichiers de configuration (.ebextensions).

Pour le développement et les tests, vous pouvez utiliser la fonctionnalité Elastic Beanstalk permettant d'ajouter directement une instance de base de données gérée à votre environnement. Pour savoir comment configurer une base de données dans votre environnement, consultez Ajout d'une base de données à votre environnement Elastic Beanstalk.

Si vous avez besoin d'une base de données hautes performances, envisagez d'utiliser Amazon Aurora. Amazon Aurora est un moteur de base de données SQL compatible My qui propose des fonctionnalités de base de données commerciales à faible coût. Pour connecter votre application à une autre base de données, répétez les étapes de configuration du groupe de sécurité et mettez à jour les RDS propriétés d'environnement associées.

Enfin, si vous prévoyez d'utiliser votre application dans un environnement de production, vous devez configurer un nom de domaine personnalisé pour votre environnement et activer HTTPS les connexions sécurisées.