Déployer une application Web hautement disponible
Une pile d'applications Web inclut généralement un équilibreur de charge, plusieurs serveurs Web et une banque de données. Pour la haute disponibilité, vous avez besoin d'une topologie qui inclut des ressources redondantes sur tous les niveaux de la pile.
Architecture
Cette architecture de référence présente une application Web hautement disponible exécutée dans Oracle Cloud avec une base de données Oracle Autonomous Transaction Processing.
Un équilibreur de charge public reçoit les demandes client d'Internet et les achemine vers un pool de serveurs Web distribués dans plusieurs domaines de pannes. Le niveau de données est constitué d'une base de données autonome avec une adresse privée.
Le diagramme suivant illustre cette architecture de référence.

Description de l'illustration ha-webapp-oci.png
L'architecture comporte les composants suivants :
- Région
Une région Oracle Cloud Infrastructure est une zone géographique localisée qui contient des centres de données, appelés domaines de disponibilité. Les régions sont indépendantes les unes des autres et de grandes distances peuvent les séparer (elles peuvent se trouver dans des pays voire des continents différents).
Toutes les ressources de cette architecture sont déployées dans une seule région.
- 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.
Les ressources de cette architecture sont déployées dans un seul domaine de disponibilité.
- Domaines de pannes
Un domaine de disponibilité 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 avec une alimentation et un matériel indépendants. Lorsque vous distribuez des ressources entre plusieurs domaines de pannes, les applications peuvent tolérer les pannes de serveur physique, de maintenance système et d'alimentation au sein d'un domaine de pannes.
La topologie illustrée dans cette architecture couvre plusieurs domaines de pannes.
- Réseau cloud virtuel et sous-réseaux
Un VCN est un réseau personnalisable défini par logiciel que vous configurez dans une région Oracle Cloud Infrastructure. Comme les réseaux de centre de données traditionnels, les réseaux cloud virtuels vous donnent un contrôle total sur votre environnement réseau. Un VCN peut contenir plusieurs blocs CIDR qui ne se chevauchent pas et que vous pouvez modifier après avoir créé le VCN. Vous pouvez segmenter un VCN en sous-réseaux, qui peuvent être ciblés sur une région ou sur un domaine de disponibilité. Chaque sous-réseau se compose d'une plage d'adresses contiguës qui ne chevauchent pas les autres sous-réseaux du VCN. Vous pouvez modifier la taille d'un sous-réseau après sa création. Un sous-réseau peut être public ou privé.
Dans cette architecture, les serveurs Web sont attachés à un sous-réseau public et la base de données utilise un sous-réseau privé.
- 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.
- serveurs Web
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é, la redémarrer, attacher et détacher des volumes, et l'arrêter lorsque vous n'en avez plus besoin.
Les serveurs Web de cette architecture sont exécutés sur des machines virtuelles de calcul.
- Base de données Autonomous Transaction Processing
Oracle Autonomous Transaction Processing est un service de base de données doté de fonctions d'automatisation, d' sécurité et de réparation. Il est optimisé pour les charges de travail de traitement des transactions. Il n'est pas nécessaire de configurer ou de gérer du matériel, ni d'installer un logiciel. Oracle Cloud Infrastructure gère la création de la base de données, ainsi que la sauvegarde, l'application de patches, la mise à niveau et le réglage de la base de données.
- Groupes 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é 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 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.
Dans cette architecture, des groupes de sécurité réseau distincts sont utilisés pour l'équilibreur de charge, les serveurs Web et la base de données.
- Tables de routage
Les tables de routage virtuelles contiennent des règles pour acheminer le trafic des sous-réseaux vers des destinations en dehors d'un VCN, généralement via des passerelles.
- Passerelle Internet
La passerelle Internet autorise le trafic entre les sous-réseaux publics d'un VCN et le réseau Internet public.
- Passerelle NAT (Network Address Translation)
Une passerelle NAT permet aux ressources privées d'un VCN d'accéder à des hôtes sur Internet, sans exposition aux connexions Internet entrantes.
Recommandations
Vos exigences peuvent différer de l'architecture décrite ici. Utilisez les recommandations suivantes comme point de départ.
- Formes de calcul pour les serveurs Web
Lors du déploiement de l'architecture, choisissez une forme adaptée aux instances de calcul hébergeant les serveurs Web, en fonction des exigences en matière de mémoire et de traitement de votre application.
- Conception du réseau
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 aux sous-réseaux du VCN. Utilisez des blocs CIDR se trouvant dans l'espace d'adresses IP privées standard.
Sélectionnez les 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) sur lequel vous comptez configurer des connexions privées.
Après avoir créé un VCN, vous pouvez modifier, ajouter et enlever ses blocs CIDR.
Lorsque vous concevez les sous-réseaux, tenez compte des exigences de sécurité et de flux de trafic. Associez 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é.
Utilisez des sous-réseaux régionaux.
Remarques
Lors de la conception d'une pile d'applications hautement disponible dans le cloud, tenez compte des facteurs suivants :
- Evolutivité
- Base de données
Vous pouvez à tout moment redimensionner manuellement le nombre de coeurs de processeur de la base de données. La fonctionnalité de redimensionnement automatique des bases de données autonomes permet à la base de données d'utiliser jusqu'à trois fois le nombre de base de coeurs de processeur en cours à tout moment. Au fur et à mesure de l'augmentation de la demande, le redimensionnement automatique augmente automatiquement le nombre de coeurs utilisés. Les bases de données autonomes vous permettent de redimensionner la capacité de stockage à tout moment sans affecter la disponibilité ou les performances.
- Application
Vous pouvez redimensionner votre application à l'aide des fonctionnalités de pool d'instances et de redimensionnement automatique.
Les pools d'instances permettent de provisionner et de créer plusieurs instances de calcul basées sur la même configuration dans la même région.
Utilisez le redimensionnement automatique pour ajuster automatiquement le nombre d'instances de calcul d'un pool 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 lorsque la demande est faible.
- Base de données
- Disponibilité
- Base de données
Le diagramme d'architecture présente une seule base de données Oracle Autonomous Transaction Processing. Lors du déploiement de l'architecture, vous pouvez activer Oracle Autonomous Data Guard pour provisionner et gérer une base de données de secours.
- Application
Les domaines de pannes assurent la résilience au sein d'un domaine de disponibilité. Dans la mesure du possible, envisagez de répartir les ressources entre plusieurs domaines de disponibilité ou plusieurs régions.
- Base de données
- Sécurité
- Contrôle d'accès
Utilisez des stratégies pour limiter les personnes autorisées à accéder à vos ressources dans le cloud et les actions qu'elles peuvent effectuer.
- 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 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.
- Contrôle d'accès
Déployer
Le code Terraform de cette architecture de référence est disponible dans GitHub. Vous pouvez extraire le code dans Oracle Cloud Infrastructure Resource Manager en un seul clic, créer la pile et la déployer. Vous pouvez également télécharger le code à partir de GitHub sur votre ordinateur, le personnaliser et le déployer à l'aide de l'interface de ligne de commande Terraform.
- Déployer à l'aide d'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.
- Consultez et acceptez les conditions générales.
- 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 à l'aide de l'interface de ligne de commande Terraform :
- Accédez à GitHub.
- Téléchargez ou clonez le code sur votre ordinateur local.
- Suivez les instructions du fichier README.
Journal des modifications
Ce journal répertorie uniquement les modifications importantes :
| 19 novembre 2021 | Ajout de l'option pour télécharger les versions modifiables (.SVG et .DRAWIO) du diagramme d'architecture. |
| 25 novembre 2020 |
|