Configurer un CMS WordPress connecté à un MySQL Database dans le Cloud

Créer et gérer des sites Web modernes dans le cloud sans avoir besoin d'un diplôme en programmation ou en administration de base de données. Profitez des fonctionnalités conviviales de la plate-forme WordPress et de l'élasticité et des avantages économiques de l'hébergement de vos pages Web et blogs dans Oracle Cloud Infrastructure.

Architecture

Cette architecture déploie un service WordPress CMS et Oracle MySQL Database Service dans Oracle Cloud Infrastructure (OCI).

Vous pouvez déployer WordPress sur un seul noeud ou dans le cadre d'une configuration HA à plusieurs noeuds. Cette architecture de référence inclut l'automatisation Terraform, compatible avec les deux configurations.

Pour un environnement à haute disponibilité multinoeud complexe, déployez des noeuds WordPress dans plusieurs domaines de pannes avec des équilibreurs de charge principaux et de secours, et un service Oracle Cloud Infrastructure File Storage partagé (service NFS géré) pour tous les noeuds WordPress.

Le schéma suivant illustre cette architecture multinoeud.

Description de l'image oci-arch-wordpress-mds.png
Description de l'illustration oci-arch-wordpress-mds.png

oci-arch-wordpress-mds-oracle.zip

Vous pouvez effectuer les opérations suivantes lors de la configuration d'un environnement multinoeud :

  • Définissez le nombre de noeuds de couche WordPress.
  • Déployez des équilibreurs de charge publics et masquez les noeuds WordPress dans un sous-réseau privé.
  • Déployez l'hôte Bastion ou les services Bastion pour accéder aux ressources privées.
  • Utilisez les services Oracle Cloud Infrastructure File Storage avec un stockage NFS partagé pour le contenu WordPress (partagez des téléchargements, des plug-ins et des thèmes entre les noeuds).

Le schéma suivant illustre une architecture à noeud unique simple. Il se compose d'un déploiement léger, qui pourrait être adapté à des fins d'apprentissage ou servir de preuve de concept.

Description de l'image deploy-wordpress-cms-mysql-dbs.png
Description de l'illustration Deploy-wordpress-cms-mysql-dbs.png

deploy-wordpress-cms-mysql-dbs-oracle.zip

Les architectures possèdent tout ou partie des composants suivants :

  • Région

    Une région Oracle Cloud Infrastructure est une zone géographique localisée qui contient un ou plusieurs centres de données, appelés domaines de disponibilité. Les régions sont indépendantes des autres régions et de vastes distances peuvent les séparer (d'un pays à l'autre ou même d'un continent à l'autre).

  • Domaines de disponibilité

    Les domaines de disponibilité sont des centres de données autonomes et indépendants au sein d'une région. Les ressources physiques de chaque domaine de disponibilité sont isolées des ressources des autres domaines de disponibilité, ce qui permet de tolérer les pannes. Les domaines de disponibilité ne partagent pas d'infrastructure comme l'alimentation ou le refroidissement, ou le réseau de domaine de disponibilité interne. Il est donc peu probable qu'un échec dans un domaine de disponibilité affecte les autres domaines de disponibilité de la région.

  • Domaine de pannes

    Un domaine de panne est un regroupement de matériel et d'infrastructures au sein d'un domaine de disponibilité. Chaque domaine de disponibilité comporte trois domaines de pannes dotés d'une alimentation et d'un matériel indépendants. Lorsque vous distribuez des ressources entre plusieurs domaines de pannes, vos applications peuvent tolérer les pannes de serveur physique, la maintenance du système et les pannes d'alimentation au sein d'un domaine de pannes.

  • Réseau cloud virtuel (VCN) et sous-réseaux

    Un VCN est un réseau personnalisé et défini par logiciel que vous configurez dans une région Oracle Cloud Infrastructure. Comme les réseaux traditionnels de centres de données, les VCN vous donnent un contrôle complet sur votre environnement réseau. Un VCN peut avoir plusieurs blocs CIDR sans chevauchement que vous pouvez modifier après avoir créé VCN. Vous pouvez segmenter un VCN en sous-réseaux, qui peuvent être étendus à une région ou à un domaine de disponibilité. Chaque sous-réseau se compose d'une plage contiguë d'adresses qui ne chevauchent pas les autres sous-réseaux de VCN. Vous pouvez modifier la taille d'un sous-réseau après la création. Un sous-réseau peut être public ou privé.

  • Passerelle Internet

    La passerelle Internet permet le trafic entre les sous-réseaux publics dans un VCN et Internet public.

  • Passerelle NAT (Network Address Translation)

    Une passerelle NAT permet aux ressources privées d'un VCN d'accéder aux hôtes sur Internet, sans exposition à ces ressources aux connexions Internet entrantes.

  • Groupe de sécurité réseau (NSG)

    Les NSG servent de pare-feu virtuel pour vos ressources cloud. Avec le modèle de sécurité sans confiance d'Oracle Cloud Infrastructure, tout le trafic est refusé et vous pouvez contrôler le trafic réseau au sein d'un VCN. Un NSG consiste en un ensemble de règles de sécurité entrantes et sortantes qui ne s'appliquent qu'à un ensemble de VNIC spécifié dans un seul VCN.

  • Liste de sécurité

    Pour chaque sous-réseau, vous pouvez créer des règles de sécurité qui spécifient la source, la destination et le type de trafic qui doivent être autorisés en entrée et en sortie du sous-réseau.

  • Service de base de données Oracle MySQL

    Oracle MySQL Database Service est un service de base de données Oracle Cloud Infrastructure (OCI) entièrement géré qui permet aux développeurs de développer et de déployer rapidement des applications natives du cloud sécurisées. Optimisé pour OCI et exclusivement disponible dans OCI, MySQL Database Service est 100% construit, géré et pris en charge par les équipes d'ingénierie OCI et MySQL.

    Dans cette architecture de référence, Oracle MySQL Database Service est déployé sur une machine virtuelle et sert à héberger les informations de contenu pour WordPress. Le déploiement ne se trouve pas dans un cluster.

  • File Storage

    Le service Oracle Cloud Infrastructure File Storage offre un système de fichiers réseau durable, évolutif, sécurisé et adapté à l'entreprise. Vous pouvez vous connecter à un système de fichiers de service File Storage à partir de n'importe quelle instance Bare Metal, de machine virtuelle ou de conteneur dans un VCN. Vous pouvez également accéder à un système de fichiers en dehors du VCN à l'aide d'Oracle Cloud Infrastructure FastConnect et du VPN IPSec.

  • Système de gestion de contenu WordPress (CMS)

    WordPress CMS vous permet de créer un site de blog complet ou un site Web à usage général. Cette architecture utilise une instance Compute régulière pour déployer le moteur WordPress CMS.

  • équilibreur de charge

    Le service Oracle Cloud Infrastructure Load Balancing fournit une répartition de trafic automatisée à partir d'un seul point d'entrée vers plusieurs serveurs du back-end.

  • Service de bastion

    Oracle Cloud Infrastructure Bastion fournit un accès sécurisé limité et limité dans le temps aux ressources qui ne disposent pas d'adresses publiques et qui nécessitent des contrôles stricts d'accès aux ressources, telles que les machines virtuelles et Bare Metal, Oracle MySQL Database Service, Autonomous Transaction Processing (ATP), Oracle Container Engine for Kubernetes (OKE) et toute autre ressource autorisant l'accès SSH (Secure Shell Protocol). Avec le service Oracle Cloud Infrastructure Bastion, vous pouvez activer l'accès à des hôtes privés sans déployer ni gérer d'hôte de saut. En outre, vous gagnez en posture de sécurité avec des droits d'accès basés sur l'identité et une session SSH centralisée, auditée et liée au temps. Oracle Cloud Infrastructure Bastion élimine le besoin d'une adresse IP publique pour accéder au bastion, ce qui élimine le problème et la surface d'attaque potentielle lors de la fourniture d'un accès à distance.

  • Calculer

    Le service Oracle Cloud Infrastructure Compute vous permet de provisionner et de gérer des hôtes de calcul dans le cloud. Vous pouvez lancer des instances de calcul avec des formes qui répondent à vos besoins en ressources pour l'UC, la mémoire, la bande passante réseau et le stockage. Après avoir créé une instance de calcul, vous pouvez y accéder en toute sécurité, le redémarrer, attacher et détacher des volumes, et l'arrêter lorsque vous n'en avez plus besoin.

Recommandations

Utilisez les recommandations suivantes comme point de départ pour déployer WordPress. Vos exigences peuvent différer de l'architecture décrite ici.
  • VCN

    Lorsque vous créez un VCN, déterminez le nombre de blocs CIDR requis et la taille de chaque bloc en fonction du nombre de ressources que vous prévoyez d'attacher à des sous-réseaux dans VCN. Utilisez les blocs CIDR qui se trouvent dans l'espace d'adresse IP privé standard.

    Sélectionnez des blocs CIDR qui ne chevauchent aucun autre réseau (dans Oracle Cloud Infrastructure, votre centre de données sur site ou un autre fournisseur cloud) auquel vous avez l'intention de configurer des connexions privées.

    Après avoir créé un VCN, vous pouvez modifier, ajouter et supprimer ses blocs CIDR.

    Lorsque vous concevez les sous-réseaux, tenez compte de vos besoins en matière de flux de trafic et de sécurité. Attachez toutes les ressources d'un niveau ou d'un rôle spécifique au même sous-réseau, qui peut servir de limite de sécurité.

  • Listes de sécurité

    Utilisez les listes de sécurité pour définir les règles entrantes et sortantes qui s'appliquent à l'ensemble du sous-réseau.

  • Formes de calcul

    Cette architecture utilise une image de système d'exploitation Oracle Linux 7.8 avec une forme VM.Standard2.1 pour WordPress CMS. Si les besoins en ressources de votre application sont différents, vous pouvez choisir une forme différente.

  • Service de base de données Oracle MySQL

    Dans cette architecture, WordPress CMS stocke les données relationnelles dans Oracle MySQL Database Service. Nous vous recommandons d'utiliser la dernière version.

Remarques

Lors du déploiement de WordPress dans Oracle Cloud, tenez compte des éléments suivants pour l'évolutivité, la disponibilité et la sauvegarde :

  • évolutivité de WordPress CMS

    Vous pouvez mettre à l'échelle votre CMS WordPress à l'aide du pool d'instances et des fonctionnalités de redimensionnement automatique.

    Les pools d'instances vous permettent de provisionner et de créer plusieurs instances Compute basées sur la même configuration dans la même région.

    La mise à l'échelle automatique vous permet d'ajuster automatiquement le nombre d'instances Compute dans un pool d'instances en fonction des mesures de performance, telles que l'utilisation de l'UC. Le redimensionnement automatique vous aide à fournir des performances cohérentes pour les utilisateurs pendant les périodes de forte demande et vous aide à réduire vos coûts pendant les périodes de faible demande.

  • évolutivité du service de base de données Oracle MySQL

    Choisissez la forme de l'ordinateur de votre service de base de données Oracle MySQL en fonction de la charge globale planifiée.

  • Disponibilité de l'application

    Les domaines de pannes offrent la meilleure résilience dans un domaine de disponibilité. Si vous avez besoin d'une disponibilité plus élevée, envisagez d'utiliser plusieurs domaines de disponibilité ou plusieurs régions.

  • Sauvegardes Oracle MySQL Database Service

    MySQL Database Service prend en charge deux types de sauvegarde : sauvegarde complète de toutes les données contenues dans le système de base de données et sauvegarde incrémentielle de seules les données ajoutées ou modifiées depuis la dernière sauvegarde complète. Les sauvegardes s'exécutent de la manière suivante :

    • Manuel : une action dans la console ou une demande effectuée via l'API lance la sauvegarde. Les sauvegardes manuelles peuvent être conservées pendant au moins une journée et un maximum de 365 jours.

    • Automatique : les sauvegardes programmées automatiquement s'exécutent sans aucune interaction requise lors du choix de l'utilisateur. Les sauvegardes automatiques sont conservées entre un et 35 jours. La valeur par défaut de conservation est de sept jours. Une fois défini, vous ne pouvez pas modifier la période de conservation d'une sauvegarde automatique

    Calculer les sauvegardes

    Le service Oracle Cloud Infrastructure Block Volumes vous permet d'effectuer des sauvegardes ponctuelles de données sur un volume de blocs. Vous pouvez ensuite restaurer ces sauvegardes vers de nouveaux volumes immédiatement ou ultérieurement.

    Vous pouvez également utiliser le service pour effectuer une sauvegarde ponctuelle et cohérente en cas de panne d'un volume d'initialisation sans interruption ou arrêt d'application. Les capacités de sauvegarde de volume d'initialisation sont les mêmes que les capacités de sauvegarde de volume de bloc.

  • Stratégies de sécurité

    Utilisez des stratégies pour restreindre qui peut accéder aux ressources Oracle Cloud Infrastructure (OCI) dont dispose votre société et comment.

  • Sécurité réseau

    Le service Networking propose deux fonctions de pare-feu virtuel qui utilisent des règles de sécurité pour contrôler le trafic au niveau des paquets : les listes de sécurité et les groupes de sécurité réseau (NSG). Un NSG consiste en un ensemble de règles de sécurité entrantes et sortantes qui ne s'appliquent qu'à un ensemble de VNIC de votre choix dans un seul VCN. Par exemple, vous pouvez choisir toutes les instances Compute qui agissent en tant que serveurs Web dans le niveau Web d'une application multiniveau dans VCN.

    Les règles de sécurité NSG fonctionnent de la même manière que les règles de liste de sécurité. Toutefois, pour la source ou la destination d'une règle de sécurité NSG, vous pouvez spécifier un NSG au lieu d'un bloc CIDR. Ainsi, vous pouvez facilement écrire des règles de sécurité pour contrôler le trafic entre deux NSG dans le même VCN ou le trafic dans un seul NSG. Lorsque vous créez un système de base de données, vous pouvez spécifier un ou plusieurs NSG. Vous pouvez également mettre à jour un système de base de données existant pour utiliser un ou plusieurs NSG.

Déployer

Le code Terraform de cette architecture de référence est disponible sur GitHub. Vous pouvez extraire le code dans Oracle Cloud Infrastructure Resource Manager en un seul clic, créer la pile et le déployer. Vous pouvez également télécharger le code de GitHub sur votre ordinateur, personnaliser le code et déployer l'architecture à l'aide de la CLI Terraform.

  • Déployer à l'aide de l'exemple de pile dans Oracle Cloud Infrastructure Resource Manager :
    1. Cliquez sur Déploiement sur Oracle Cloud

      Si vous n'êtes pas déjà connecté, entrez les informations d'identification de location et d'utilisateur.

    2. Vérifiez et acceptez les conditions générales.
    3. Sélectionnez la région dans laquelle déployer la pile.
    4. Suivez les invites à l'écran et les instructions pour créer la pile.
    5. Après avoir créé la pile, cliquez sur Actions Terraform et sélectionnez Plan.
    6. Attendez que le travail soit terminé et examinez le plan.

      Pour apporter des modifications, revenez à la page Détails de la pile, cliquez sur Modifier la pile et apportez les modifications requises. Exécutez ensuite à nouveau l'action Plan.

    7. Si aucune autre modification n'est nécessaire, revenez à la page Détails de la pile, cliquez sur Actions Terraform et sélectionnez Appliquer.
  • Déployer à l'aide du code Terraform dans GitHub :
    1. Accédez à GitHub.
    2. Cloner ou télécharger le référentiel sur votre ordinateur local.
    3. Suivez les instructions du document README.
  • Déployez à l'aide du tutoriel Installez WordPress CMS sur Oracle Linux avec la base de données MySQL.

Explorer plus

En savoir plus sur les meilleures pratiques d'Oracle Cloud Infrastructure et Oracle MySQL Database Service.

Examiner ces ressources supplémentaires :

Journal des modifications

Ce journal répertorie les modifications importantes :