Déploiement d'une instance Autonomous Database avec un serveur Web Flask
Activer l'accès privé à une base de données autonome entièrement gérée dans Oracle Cloud Infrastructure dans un sous-réseau privé. Cette opération affectera une adresse IP privée à la base de données autonome à des fins d'accès.
Architecture
Cette architecture affiche un serveur Web Flask orienté vers le public connecté à une base de données autonome avec une adresse privée provisionnée dans Oracle Cloud Infrastructure.

Description de l'illustration autonomous-db-private-endpoint.png ci-après
autonomous-db-private-endpoint-oracle.zip
L'architecture comporte les composants suivants :
- Base de données autonome, avec une adresse privée
Cette architecture utilise une base de données autonome (qui peut être une base de données Oracle Autonomous Transaction Processing ou Oracle Autonomous Data Warehouse) provisionnée dans un sous-réseau privé, c'est-à-dire avec une adresse privée.
- 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.
- 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é.
Dans cette architecture, le serveur Web est connecté à un sous-réseau public et la base de données autonome se trouve dans un sous-réseau privé.
Recommandations
Vos exigences peuvent différer de l'architecture décrite ici. Utilisez les recommandations suivantes comme point de départ.
- Formes de calcul
Cette architecture utilise une instance de calcul Oracle Linux 7.7 avec une forme VM.Standard2.1 pour le serveur Flask-based. Si l'application a besoin de plus de puissance de traitement, de mémoire ou de bande passante réseau, choisissez une forme plus large.
- 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.
Après avoir créé un VCN, vous pouvez modifier, ajouter et supprimer ses blocs CIDR.
- Base de données autonome
Dans cette architecture, l'application stocke les données relationnelles dans une base de données autonome. Nous vous recommandons d'utiliser la dernière version d'Oracle Database.
Remarques
- Evolutivité du serveur Web
Vous pouvez mettre à l'échelle votre application Flask à l'aide du pool d'instances de calcul et des fonctionnalités de redimensionnement automatique.
Les pools d'instances vous permettent de provisionner et de créer plusieurs instances de calcul 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 de calcul dans un pool d'instances en fonction des mesures de performances, 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 les coûts pendant les périodes de faible demande.
- Evolutivité de la base de données autonome
Vous pouvez mettre à l'échelle manuellement le numéro de base de la base de données des coeurs d'UC vers le haut ou vers le bas à tout moment. La fonction de redimensionnement automatique permet à votre base de données d'utiliser jusqu'à trois fois le numéro de base actuel des coeurs CPU à tout moment. À mesure que la demande augmente, le redimensionnement automatique augmente automatiquement le nombre de noyaux utilisés. Vous pouvez mettre à l'échelle la capacité de stockage de la base de données à tout moment sans affecter la disponibilité ou les performances.
- 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 de base de données autonomes
Votre base de données autonome est sauvegardée automatiquement et les sauvegardes sont conservées pendant 60 jours. Vous pouvez restaurer et récupérer la base de données à tout moment pendant la période de conservation.
Vous pouvez également créer des sauvegardes manuelles pour compléter les sauvegardes automatiques. Les sauvegardes manuelles sont stockées dans un bucket que vous créez dans Oracle Cloud Infrastructure Object Storage et les sauvegardes sont conservées pendant 60 jours.
- 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 les sauvegardes vers de nouveaux volumes immédiatement ou ultérieurement.
Vous pouvez également utiliser le service pour effectuer une sauvegarde ponctuelle et cohérente avec les pannes d'un volume d'initialisation sans interruption ou arrêt d'application. Les capacités de sauvegarde de volume d'initialisation sont identiques aux capacités de sauvegarde de volume de blocs.
- Sécurité
- Stratégies
Utilisez des stratégies pour restreindre l'accès à vos ressources Oracle Cloud Infrastructure et les opérations qu'elles peuvent effectuer.
- Sécurité réseau
Le service réseau offre 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 au sein d'un VCN. Par exemple, un NSG peut inclure les VNIC de toutes les instances de calcul dans le niveau Web d'une application à plusieurs niveaux.
Les règles de sécurité NSG fonctionnent comme 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 provisionnez la base de données autonome dans Oracle Cloud Infrastructure, vous pouvez spécifier un ou plusieurs NSG. Vous pouvez également mettre à jour une base de données existante pour utiliser un ou plusieurs NSG.
- Stratégies
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 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 d'Oracle Cloud Infrastructure Resource Manager :
- Cliquez sur
Si vous n'êtes pas déjà connecté, entrez les informations d'identification et de connexion utilisateur.
- Vérifiez et acceptez les conditions générales.
- Sélectionnez la région dans laquelle déployer la pile.
- Suivez les invites à l'écran et les instructions pour créer la pile.
- Une fois la pile créée, cliquez sur Actions Terraform, puis sur Plan.
- Attendez que le travail soit terminé 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. Ensuite, réexécutez l'action Plan.
- Si aucune autre modification n'est nécessaire, revenez à la page Détails de la pile, cliquez sur Actions Terraform et sélectionnez Appliquer.
- Cliquez sur
- Déployer à l'aide de la CLI Terraform :
- Accédez à GitHub.
- Téléchargez ou clonez le code sur votre ordinateur local.
- Suivez les instructions du README.
Journal des modifications
Ce journal répertorie uniquement les modifications importantes :
5 mai 2022 | Ajout de l'option permettant de télécharger des versions modifiables (. SVG et . DRAWIO) du diagramme d'architecture. |
20 avril 2021 | Mise à jour du lien pour déployer l'architecture à l'aide d'Oracle Cloud Infrastructure Resource Manager. |
4 novembre 2020 | Étapes ajoutées pour déployer l'architecture à l'aide d'Oracle Cloud Infrastructure Resource Manager. |