Déploiement de CMS Drupal sur Oracle Linux avec MySQL Database Service
Drupal est l'un des systèmes de gestion de contenu les plus populaires. Il est libre et open source, publié sous la Licence publique GNU.
Drupal est basé sur la pile LAMP et offre aux utilisateurs et aux entreprises une architecture évolutive et robuste, des efforts de mise en œuvre et de maintenance limités, ainsi qu'une vaste base de connaissances communautaire. Sa configuration et son utilisation ne nécessitent pas de compétences techniques avancées. Il fournit l'infrastructure de sites Web dans le monde entier, de blogs personnels à des sites d'entreprise, politiques et gouvernementaux. Il est très extensible et modulaire, ce qui le rend utile dans une grande variété de scénarios.
Architecture
Vous pouvez déployer Drupal sur un seul noeud ou dans le cadre d'une configuration à plusieurs noeuds hautement disponible. Cette architecture de référence inclut l'automatisation Terraform, compatible avec les deux configurations.
Pour une architecture de production hautement disponible, reportez-vous au diagramme suivant, qui illustre un scénario à plusieurs noeuds.
Description de l'illustration drupal-mds-multi.png
Le diagramme précédent illustre un environnement d'application haute disponibilité simplifié sur OCI, en mettant l'accent sur deux instances de machine virtuelle derrière un équilibreur de charge. Ces instances existent dans deux domaines de pannes distincts au sein d'un domaine de disponibilité. Cette architecture utilise le service OCI File Storage ; Drupal est installé dans un système de fichiers réseau partagé (NFS). Le système de fichiers existe dans un sous-réseau privé dédié comportant un groupe de sécurité réseau qui permet d'accéder à la cible de montage à partir de toutes les instances.
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'illustration drupal-mds-single.png
Cette architecture à noeud unique inclut une instance de machine virtuelle unique et un système de base de données MySQL autonome (MDS). L'instance est placée dans un sous-réseau public et est accessible à partir d'Internet, tandis que le MDS est placé dans un sous-réseau privé. Les listes de sécurité et les tables de routage permettent de limiter et d'acheminer le trafic.
- Location
Une location est une partition sécurisée et isolée qu'Oracle configure dans Oracle Cloud lors de l'inscription à Oracle Cloud Infrastructure. Vous pouvez créer, organiser et administrer vos ressources dans Oracle Cloud dans votre location. Une location est synonyme de société ou d'organisation.
- Stratégies
Une stratégie Oracle Cloud Infrastructure Identity and Access Management indique qui peut accéder à quelles ressources et comment. L'accès est accordé au niveau du groupe et du compartiment, ce qui signifie que vous pouvez écrire une stratégie qui offre à un groupe un type d'accès spécifique dans un compartiment spécifique ou une location.
- Catégories
Les compartiments sont des partitions logiques inter-région au sein d'une location Oracle Cloud Infrastructure. Utilisez des compartiments pour organiser vos ressources dans Oracle Cloud, contrôler l'accès aux ressources et définir des quotas d'utilisation. Pour contrôler l'accès aux ressources d'un compartiment donné, vous définissez des stratégies qui indiquent qui peut accéder aux ressources et les actions qu'elles peuvent effectuer.
- Réseau cloud virtuel
L'une de vos premières étapes dans OCI est de configurer un réseau cloud virtuel pour vos ressources cloud. Un VCN est un réseau défini par logiciel que vous configurez dans une région OCI. Les réseaux cloud virtuels peuvent être segmentés en sous-réseaux, qui peuvent être propres à une région ou à un domaine de disponibilité. Des sous-réseaux propres à une région et à un domaine de disponibilité peuvent coexister dans le même VCN. Un sous-réseau peut être public ou privé.
- Domaines de disponibilité
Les domaines de disponibilité sont des centres de données indépendants et autonomes 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 assure une tolérance de panne. Les domaines de disponibilité ne partagent ni infrastructure (système d'alimentation ou de refroidissement par exemple), ni le réseau interne du domaine de disponibilité. Ainsi, il est peu probable qu'un problème survenant dans un domaine de disponibilité affecte les autres domaines de disponibilité de la région.
- Equilibreur de charge
Le service Oracle Cloud Infrastructure Load Balancing fournit une répartition de trafic automatisée à partir d'un point d'entrée unique vers plusieurs serveurs du back-end.
- Instances de calcul
Oracle Cloud Infrastructure Compute vous permet de provisionner et de gérer des hôtes de calcul. Vous pouvez lancer des instances de calcul avec des formes répondant à vos besoins en ressources (UC, mémoire, bande passante réseau et stockage). Après avoir créé une instance de calcul, vous pouvez y accéder en toute sécurité, la redémarrer, attacher et détacher des volumes, et y mettre fin lorsque vous n'en avez pas besoin.
- Passerelle Internet
La passerelle Internet autorise le trafic entre les sous-réseaux publics d'un VCN et le réseau Internet public.
- Passerelle de routage dynamique
Le DRG est un routeur virtuel qui fournit un chemin pour le trafic de réseau privé entre les réseaux on-premise et les réseaux cloud virtuels. Il peut également être utilisé pour acheminer le trafic entre les réseaux cloud virtuels de la même région ou entre les régions.
- Groupe de sécurité réseau
Les groupes de sécurité réseau agissent comme des pare-feu virtuels pour vos ressources cloud. Avec le modèle de sécurité zéro confiance d'Oracle Cloud Infrastructure, tout le trafic est refusé et vous pouvez contrôler le trafic réseau à l'intérieur d'un VCN. Un groupe de sécurité réseau se compose d'un ensemble de règles de sécurité entrantes et sortantes qui s'appliquent uniquement à un ensemble spécifié de cartes d'interface réseau virtuelles dans un seul VCN.
- Stockage de fichiers
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 d'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.
Recommandations
- VCN
Lorsque vous créez le VCN, déterminez le nombre d'adresses IP requises par vos ressources cloud dans chaque sous-réseau. A l'aide de la notation CIDR (Classless Inter-Domain Routing), indiquez un masque de sous-réseau et une plage d'adresses réseau suffisamment grande pour les adresses IP requises. Utilisez une plage d'adresses comprise dans l'espace d'adresses IP privées standard.
Sélectionnez une plage d'adresses qui ne chevauche ni votre réseau sur site ni aucun autre réseau, de sorte que vous puissiez configurer une connexion entre le VCN et votre réseau sur site, si nécessaire.
Lorsque vous concevez les sous-réseaux, tenez compte des exigences de sécurité et de flux de trafic. Attachez toutes les instances de calcul appartenant au même niveau ou rôle au même sous-réseau, qui peut servir de limite de sécurité.
- Sécurité
Utilisez des stratégies pour limiter les personnes autorisées à accéder aux ressources OCI dont dispose votre entreprise et la façon dont elles peuvent y accéder. Utilisez Vault pour une protection supplémentaire de vos clés, certificats et clés secrètes.
Le service Networking offre deux fonctionnalités de pare-feu virtuel utilisant des règles de sécurité pour contrôler le trafic au niveau du paquet : des listes de sécurité et des groupes de sécurité réseau. Un groupe de sécurité réseau se compose d'un ensemble de règles de sécurité entrantes et sortantes qui s'appliquent uniquement à un ensemble de cartes d'interface réseau virtuelles de votre choix dans un seul VCN. Par exemple, vous pouvez choisir toutes les instances de calcul qui agissent en tant que serveurs Web dans le niveau Web d'une application à plusieurs niveaux de votre VCN.
Les règles de sécurité des groupes de sécurité réseau fonctionnent de la même manière que les règles des listes de sécurité. Toutefois, pour la source ou la destination de la règle de sécurité de groupe de sécurité réseau, vous pouvez indiquer un groupe de sécurité réseau au lieu d'un bloc CIDR. Vous pouvez donc facilement écrire des règles de sécurité pour contrôler le trafic entre deux groupes de sécurité réseau du même VCN ou au sein d'un même groupe de sécurité réseau. Lorsque vous créez un système de base de données, vous pouvez indiquer des groupes de sécurité réseau. Vous pouvez également mettre à jour un système de base de données existant pour qu'il utilise des groupes de sécurité réseau.
- Compute
Prélever des formes avec la combinaison appropriée d'OCPU et de mémoire, et provisionner un stockage de blocs et/ou NVMe local selon les besoins pour chaque instance. Envisagez d'utiliser les formes flexibles disponibles, qui offrent davantage de flexibilité pour la combinaison d'OCPU et de mémoire.
- Base de données
Choisissez votre forme Oracle MySQL Database Service en fonction de la charge globale planifiée. Activer la haute disponibilité MySQL pour trois noeuds redondants.
Remarques
Lors du déploiement du CMS Drupal sur Oracle Linux avec MySQL Database Service, tenez compte des facteurs suivants :
- Disponibilité et évolutivité des applications
Dans cet exemple, dans l'architecture hautement disponible, nous affichons deux instances dans des domaines de pannes différents au sein du même domaine de disponibilité. Vous pouvez choisir de placer les instances dans différents domaines de disponibilité (dans les régions où elles sont disponibles), pour une tolérance de panne encore plus élevée.
Une autre approche, qui représente une adaptation plus dynamique aux besoins de performances plus exigeants et plus variés, consiste à utiliser un pool d'instances et un redimensionnement automatique. Les pools d'instances permettent de provisionner et de créer plusieurs instances Compute reposant sur la même configuration dans la même région.
Le redimensionnement automatique permet d'adapter automatiquement le nombre d'instances Compute dans un pool d'instances en fonction de mesures de performances telles que l'utilisation de l'UC. Le redimensionnement automatique vous aide à fournir des performances cohérentes aux utilisateurs lors des périodes de demande élevée et à réduire les coûts lors des périodes de demande faible.
- Disponibilité et évolutivité des bases de données
Le système MySQL Database affiché dans l'architecture hautement disponible utilise l'option haute disponibilité MySQL intégrée, qui crée trois instances et les place dans différents domaines de pannes.
- Sauvegardes de base de données
MySQL Database Service prend en charge deux types de sauvegarde : la sauvegarde complète de toutes les données contenues dans le système de base de données et la sauvegarde incrémentielle des données ajoutées ou modifiées depuis la dernière sauvegarde complète. Les sauvegardes s'exécutent de l'une des manières suivantes :
- 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 un jour et jusqu'à 365 jours.
- Automatique : les sauvegardes programmées automatiquement s'exécutent sans aucune interaction requise au moment de votre choix. Les sauvegardes automatiques sont conservées pendant une à 35 jours. La valeur de conservation par défaut est de sept jours. Une fois définie, vous ne pouvez pas modifier la durée de conservation d'une sauvegarde automatique
- Sauvegardes de calcul
Le service Oracle Cloud Infrastructure Block Volumes permet de réaliser des sauvegardes à un point dans le temps des données sur un volume de blocs. Vous pouvez ensuite restaurer ces sauvegardes sur de nouveaux volumes immédiatement ou ultérieurement. Vous pouvez également utiliser le service pour effectuer une sauvegarde ponctuelle et cohérente en cas d'incident d'un volume d'initialisation, sans interruption d'application ni temps d'arrêt. Les capacités de sauvegarde de volume d'initialisation sont identiques aux capacités de sauvegarde de volume de blocs.
- Stratégies de sécurité
Utilisez des stratégies pour limiter les personnes autorisées à accéder aux ressources OCI de votre entreprise et la façon dont elles peuvent y accéder.
- Sécurité réseau
Le service Networking offre deux fonctionnalités de pare-feu virtuel utilisant des règles de sécurité pour contrôler le trafic au niveau du paquet : des listes de sécurité et des groupes de sécurité réseau. Un groupe de sécurité réseau se compose d'un ensemble de règles de sécurité entrantes et sortantes qui s'appliquent uniquement à un ensemble de cartes d'interface réseau virtuelles 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 à plusieurs niveaux de votre VCN.
Les règles de sécurité des groupes de sécurité réseau fonctionnent de la même manière que les règles des listes de sécurité. Toutefois, pour la source ou la destination de la règle de sécurité de groupe de sécurité réseau, vous pouvez indiquer un groupe de sécurité réseau au lieu d'un bloc CIDR. Vous pouvez donc facilement écrire des règles de sécurité pour contrôler le trafic entre deux groupes de sécurité réseau du même VCN ou au sein d'un même groupe de sécurité réseau. Lorsque vous créez un système de base de données, vous pouvez indiquer des groupes de sécurité réseau. Vous pouvez également mettre à jour un système de base de données existant pour qu'il utilise des groupes de sécurité réseau.
Dans ces exemples, les instances sont affichées comme existantes dans un sous-réseau public. Envisagez de les placer dans un sous-réseau privé pour plus de sécurité. Dans ce cas, un bastion est requis pour accéder aux instances.
Déployer
Le code Terraform de cette architecture de référence est disponible sous forme d'exemple de pile dans Oracle Cloud Infrastructure Resource Manager. Vous pouvez également télécharger le code à partir de GitHub et le personnaliser en fonction de vos besoins spécifiques.
- Déployer à l'aide de l'exemple de pile dans Oracle Cloud Infrastructure Resource Manager :
- Cliquez sur
.
Si vous n'êtes pas déjà connecté, entrez les informations d'identification de la location et de l'utilisateur.
- Sélectionnez la région de déploiement de la pile.
- Suivez les instructions et les invites à l'écran pour créer la pile.
- Après avoir créé la pile, cliquez sur Actions Terraform et sélectionnez Planifier.
- Attendez la fin du travail et vérifiez 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.
- Si aucune autre modification n'est nécessaire, revenez à la page Détails de la pile, cliquez sur Actions Terraform, puis sélectionnez Appliquer.
- Cliquez sur
- Déployer en utilisant le code Terraform dans GitHub :
- Accédez à GitHub.
- Clonez ou téléchargez le référentiel sur votre ordinateur local.
- Suivez les instructions du document
README
.
Voir plus
En savoir plus sur les meilleures pratiques Oracle Cloud Infrastructure, Oracle MySQL Database Service et d'autres déploiements CMS sur OCI, consultez les ressources supplémentaires suivantes :
- Structure des meilleures pratiques pour Oracle Cloud Infrastructure
- Présentation de MySQL Database Service
- Apprendre à déployer MySQL Database Service dans Oracle Cloud
- Configuration d'un système de gestion de contenu WordPress connecté à une base de données MySQL dans le cloud
- Déployer Joomla CMS sur Oracle Linux avec MySQL Database Service
- Déployer Moodle LMS sur Oracle Linux avec MySQL Database Service
- Déployer Magento eCommerce sur Oracle Linux avec MySQL Database Service