Déployer Apache Tomcat sur un calcul Ampere A1 basé sur des armes connecté à une base de données autonome
Apache Tomcat est un serveur d'applications Java open source. Il implémente les technologies Java Servlet, JavaServer Pages, Java Expression Language et Java WebSocket.
Architecture
Il s'agit d'une architecture de référence multi-arc qui contient un équilibreur de charge, un niveau d'application avec Apache Tomcat exécuté sur des formes Arm AArch64 (Arm-based Ampere A1 Compute), et un niveau de base de données avec Oracle Autonomous Database en cours d'exécution sur x86.
En tant que développeur Java, vous pouvez profiter de cette flexibilité et déployer une application Web Tomcat à l'aide de la sécurité et des performances des formes Arm dans OCI. Dans ce scénario, vous pouvez modifier le nombre de base en fonction de vos besoins en matière d'application.
Les composants sont situés dans différents sous-réseaux. L'équilibreur de charge se trouve dans un sous-réseau public. Les serveurs Tomcat partagent un sous-réseau privé et la base de données se trouve dans son propre sous-réseau privé. Tout accès externe passe par l'équilibreur de charge via une passerelle Internet.
Un exemple d'application qui affiche la gestion des sessions d'application à l'aide de la base de données est inclus.
Le diagramme suivant illustre cette architecture de référence.

Description de l'illustration architecture-deploy-tomcat-adb.png
architecture-deploy-tomcat-adb-oracle.zip
L'architecture comporte les composants suivants :
- Région
Une région est une zone géographique localisée composée d'un ou de plusieurs domaines de disponibilité. Les régions sont indépendantes des autres régions et de vastes distances peuvent les séparer (d'un pays ou 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 offre une tolérance aux pannes. Les domaines de disponibilité ne partagent pas d'infrastructure telle que l'alimentation ou le refroidissement, ni 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.
- Domaines d'erreur
Un domaine de pannes est un regroupement de matériel et d'infrastructure 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 placez des instances Compute dans plusieurs domaines de pannes, les applications peuvent tolérer l'échec du serveur physique, la maintenance du système et de nombreuses pannes communes de réseau et d'alimentation dans le domaine de disponibilité.
- Réseau cloud virtuel (VCN) et sous-réseaux
Un VCN est un réseau défini par logiciel que vous configurez dans une région Oracle Cloud Infrastructure. Les VCN peuvent être segmentés en sous-réseaux, qui peuvent être spécifiques à une région ou à un domaine de disponibilité. Les 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é.
- Equilibreur de charge
Le service Oracle Cloud Infrastructure Load Balancing fournit une distribution automatisée du trafic d'un point d'entrée à plusieurs serveurs accessibles à partir de votre VCN. Lorsque vous créez la couche d'application en mode cluster, vous pouvez configurer l'équilibreur de charge pour distribuer le trafic sur les serveurs Tomcat. L'équilibreur de charge fournit un frontal aux serveurs d'applications, isolant et empêchant l'accès inutile ou non autorisé à la couche interne.
- Listes 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 dans et hors du sous-réseau.
- Tables de routage
Les tables de routage virtuelles contiennent des règles pour acheminer le trafic de sous-réseaux vers des destinations en dehors de VCN, généralement via des passerelles.
- Passerelle Internet
La passerelle Internet permet le trafic entre VCN et Internet public.
- Serveurs Tomcat
Les serveurs Tomcat hébergent Java Servlet, JavaServer Pages, Java Expression Language et Java WebSockets. Les serveurs Tomcat sont installés sur des formes A1 Ampere basées sur des armes dans cette architecture.
- Serveurs de base de données
Tomcat peut se connecter à toute base de données offrant une connectivité de base de données Java JDBC. Cette architecture utilise Oracle Autonomous Database.
- Hôte de Bastion
L'hôte bastion est une instance de calcul qui sert de point d'entrée sécurisé et contrôlé vers la topologie depuis l'extérieur du cloud. L'hôte du bastion est généralement provisionné dans une zone démilitarisée (DMZ). Il vous permet de protéger les ressources sensibles en les plaçant dans des réseaux privés auxquels vous ne pouvez pas accéder directement depuis l'extérieur du cloud. La topologie dispose d'un seul point d'entrée connu que vous pouvez surveiller et auditer régulièrement. Par conséquent, vous pouvez éviter d'exposer les composants les plus sensibles de la topologie sans compromettre leur accès.
Recommandations
Vos exigences peuvent différer de l'architecture décrite ici. Utiliser les recommandations suivantes comme point de départ.
- VCN
Lorsque vous créez VCN, déterminez le nombre d'adresses IP requises pour vos ressources cloud dans chaque sous-réseau. A l'aide de la notation CIDR (Classless Inter-Domain Routing), spécifiez un masque de sous-réseau et une plage d'adresses réseau suffisamment grande pour les adresses IP requises. Utilisez un espace d'adresse qui se trouve dans les blocs d'adresses IP privées standard.
Sélectionnez une plage d'adresses qui ne chevauche pas votre réseau sur site, de sorte que vous puissiez configurer une connexion entre VCN et votre réseau sur site, si nécessaire.
Une fois que VCN a été créé, vous ne pouvez pas modifier sa plage d'adresses.
Lorsque vous concevez les sous-réseaux, tenez compte de vos exigences en matière de fonctionnalités et de sécurité. Attachez toutes les instances de calcul du même niveau ou rôle au même sous-réseau, qui peut servir de limite de sécurité.
Utilisez des sous-réseaux régionaux.
- Equilibreur de charge
Cette architecture utilise un équilibreur de charge toujours libre de 10 Mbps.
La forme des équilibreurs de charge non libres commence à 100 Mbps. En fonction du nombre de connexions simultanées nécessaires et du débit total, vous pouvez utiliser des formes plus grandes.
Nous vous recommandons d'utiliser des noms DNS car l'adresse IP de l'équilibreur de charge ne peut pas être réservée.
- Instances
Dans le cadre des formes flexibles, toutes les locations reçoivent 4 coeurs de forme de calcul Ampere A1 gratuitement et un total de 24 Go de mémoire.
- Systèmes de base de données
Toutes les locations obtiennent deux bases de données autonomes Oracle Toujours libres. Les bases de données autonomes utilisent l'infrastructure Exadata partagée, où Oracle gère le provisionnement et la maintenance de l'infrastructure.
Si plus de deux bases de données sont requises, utilisez un Oracle Autonomous Database non libre.
- Stockage
Les instances de cette architecture utilisent un stockage de blocs standard ; aucune performance supplémentaire n'est requise.
- Connectivité réseau
Vous pouvez gérer l'environnement en vous connectant à votre infrastructure sur site existante à l'aide d'un VPN site à site ou d'une connexion dédiée à FastConnect.
Si l'environnement doit être séparé de l'infrastructure existante ou accessible à l'extérieur, un hôte du bastion peut sécuriser les connexions de gestion. L'hôte du bastion est généralement provisionné dans une zone démilitarisée (DMZ). Il protège les ressources sensibles en les plaçant dans des réseaux privés auxquels on ne peut accéder directement depuis l'extérieur du cloud. Vous pouvez éviter d'exposer les composants les plus sensibles de l'architecture sans compromettre leur accès.
Remarques
Tenez compte des points suivants lors du déploiement de cette architecture de référence.
- Performances
Cette architecture utilise les ressources Toujours libres d'Oracle Cloud Infrastructure. En raison des limitations de la puissance de traitement, cette architecture n'est pas destinée à la production. Pour des charges de travail plus intenses, les formes régulières des instances, des équilibreurs de charge et des bases de données doivent être utilisées.
- Sécurité
Sauf pour l'hôte bastion, s'il est présent, et les équilibreurs de charge, tous les composants doivent être placés dans des sous-réseaux privés.
- Disponibilité
Les équilibreurs de charge et les bases de données sont redondants, ne nécessitant aucune intervention pour tirer parti de ces fonctionnalités. Les serveurs Tomcat sont déployés en couple et équilibrés par l'équilibreur de charge. D'autres noeuds peuvent être ajoutés, mais ils ne sont pas inclus dans le niveau Toujours libre.
- Coût
Cette architecture utilise le niveau Toujours libre. Il n'y a aucun coût si la configuration de déploiement standard est utilisée.
Déployer
Le code Terraform de cette architecture de référence est disponible sur GitHub. Vous pouvez extraire le code vers 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 à partir de GitHub vers 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 :
- Cliquezsur
Si vous n'êtes pas déjà connecté, entrez les informations d'identification de location et d'utilisateur.
- Consultez et acceptez les conditions générales.
- Sélectionnez la région dans laquelle déployer la pile.
- Suivez les invites et instructions affichées à l'écran pour créer la pile.
- Après avoir créé la pile, cliquez sur Actions Terraform, puis sélectionnez 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 nécessaires. 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, puis sélectionnez Appliquer.
- Cliquezsur
- Déployer à l'aide du code Terraform dans GitHub:
- Accédez à GitHub.
- Cloner ou télécharger le référentiel sur votre ordinateur local.
- Suivez les instructions du document
README
.
En savoir plus
Liens vers des informations supplémentaires qui peuvent vous aider à en savoir plus sur, modifier, utiliser ou implémenter cette architecture.
-
Atelier pratique gratuit sur Oracle LiveLabs où vous migrez Tomcat vers Oracle Cloud Infrastructure et vous connectez à une base de données autonome.
-
Articles techniques, livres blancs, échantillons de code, FAQ, etc. décrivant comment utiliser JDBC, le pool de connexions universelles et la JVM intégrée pour se connecter à Oracle Database.
-
Référentiel sur GitHub contenant des exemples de code pour un servlet Java qui se connecte à Oracle Database à l'aide du pilote Oracle JDBC.