Surveiller et gérer vos installations d'applications Java et Java
Avant de commencer
Cette architecture de référence suppose que vous avez bien intégré OCI.
JMS est un service natif OCI que vous pouvez déployer dans des domaines commerciaux et restreints. Il est accessible via l'API (Kit SDK OCI pour JMS) ou la console JMS.
Vous allez créer des parcs JMS dans un compartiment de votre location. Vous pouvez avoir plusieurs parcs et ressources JMS dans une ou plusieurs zones géographiques. Utilisez des parcs pour contrôler l'accès à la ressource associée et les affecter aux services de votre entreprise. Avec cette approche, chaque service de l'entreprise client peut contrôler sa propre flotte et ses propres ressources.
Pour terminer l'intégration JMS, procédez comme suit :
- Configurez Oracle Cloud Infrastructure pour JMS (gérez des stratégies manuellement ou utilisez un assistant).
- Crée un parc JMS.
- Déployez un agent ou configurez l'agent et activez le module d'extension JMS.
- Surveillez les installations et les applications Java dans votre instance gérée.
- Effectuez les opérations de fonctionnalité avancée, si nécessaire.
Pour plus d'informations, reportez-vous à Service Java Management dans la documentation OCI.
Architecture
L'agent JMS est installé sur les instances gérées pour collecter les métadonnées de télémétrie d'utilisation Java et d'utilisation Java. Les données de télémétrie sont émises et stockées dans votre location à des fins de protection de la vie privée.
Les métadonnées d'utilisation Java sont exfiltrées à partir de votre location par l'agent installé dans vos locations. JMS utilise ces métadonnées pour générer des informations telles que la version de Java, la référence de sécurité et les mises à jour Java à venir, ainsi que l'utilisation des applications. Ces informations sont présentées lors de la connexion à la console OCI. Il n'y a pas d'accès Oracle au-delà du traitement des métadonnées exfiltrées.
A l'aide des fonctionnalités avancées disponibles dans JMS, vous pouvez analyser l'utilisation des serveurs d'applications Java, identifier les vulnérabilités potentielles dans les bibliothèques Java utilisées par les applications exécutées dans votre environnement, utiliser l'enregistreur de vol Java pour l'analyse des performances et de la cryptographie et gérer les exécutions Oracle Java (versions JDK) dans votre environnement. Vous pouvez utiliser la fonctionnalité avancée pour gérer l'exécution de Java dans votre environnement.
Le schéma suivant illustre la topologie du service JMS en production. Le diagramme présente les agents déployés pour suivre l'exécution de Java sur OCI, vos ordinateurs de bureau sur site, vos ordinateurs portables et vos serveurs, ainsi que les services cloud tiers. Ces agents sont déployés dans vos instances gérées et sont associés aux ressources (fleets) créées dans vos locations.
Le schéma suivant illustre cette architecture de référence.

Description de l'image jms-oci-topology.png
De manière générale, les éléments suivants illustrent la façon dont les données circulent entre l'agent JMS installé sur l'instance gérée et le service JMS sur OCI :
- Vous installez l'agent sur l'instance gérée et l'agent s'inscrit auprès d'OCI.
- Vous configurez ou activez le module d'extension JMS (en transmettant le parc JMS en tant que paramètre). L'agent JMS est désormais associé au parc JMS souhaité.
- L'agent JMS inscrit interroge JMS pour le travail. JMS répondra à l'interrogation avec les demandes de travail appropriées, le cas échéant.
- L'agent JMS analyse régulièrement l'instance gérée à la recherche d'installations ou d'entrées Java dans le suivi d'utilisation et envoie les mesures Java et les métadonnées Java à OCI.
Le flux de données entre l'agent JMS et le service OCI est illustré ci-dessous.

Description de l'image jms-oci-workflow.png
- Utilisateur : installe l'agent sur l'agent JMS et une demande est envoyée à l'agent JMS (demande).
- Agent JMS : envoie une demande d'inscription aux services OCI (demande).
- Services OCI : valide la clé, renvoie les métadonnées et les jetons d'authentification, et envoie une réponse à l'agent JMS (réponse).
- Agent JMS : l'agent est démarré et envoie une réponse à l'utilisateur (réponse).
- Agent JMS : installe les modules d'extension demandés dans les services OCI (demande).
- Agent JMS : interroge les services OCI en tant que demande de travail (demande).
- Services OCI : envoie une demande de travail (réponse).
- Agent JMS : l'agent obtient le package et les installations de module d'extension (demande).
- Agent JMS : interroge régulièrement et envoie l'inventaire aux services OCI sur la location client (demande).
Le diagramme réseau ci-dessous décrit les flux de trafic entre l'agent JMS installé sur vos ordinateurs hôtes (sur site) et JMS exécuté dans OCI. Un modèle de trafic similaire se produit entre vos machines hôtes dans OCI et JMS.

Description de l'image jms-oci-network-traffic.png
jms-oci-network-traffic-oracle.zip
- L'agent JMS lance toujours la demande en s'authentifiant auprès d'OCI à l'aide d'un port ouvert autorisé par le pare-feu (443).
- L'agent de gestion et le service JMS d'OCI ne transmettent aucune donnée à l'agent.
- L'agent JMS recherche les demandes de travail dans le service.
- L'intervalle d'interrogation des demandes de travail d'agent JMS peut atteindre 30 secondes.
- L'intervalle d'interrogation d'agent JMS est configurable. L'intervalle d'interrogation maximal est de 10 minutes.
- Les données transmises sont cryptées à l'aide de TLS.
- Les services OCI renvoient ensuite les données en réponse à cette demande une fois la connexion établie.
L'architecture comprend les composants suivants :
- Région
Une région Oracle Cloud Infrastructure est une zone géographique précise, incluant un ou plusieurs 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 (entre pays, voire continents).
- Domaines de disponibilité
Les domaines de disponibilité sont des centres de données autonomes indépendants au sein d'une région. Les ressources physiques de chaque domaine de disponibilité sont isolées de celles des autres, ce qui garantit la tolérance aux pannes. Les domaines de disponibilité ne partagent ni infrastructure (par exemple, alimentation, système de refroidissement), ni réseau de domaine de disponibilité interne. Par conséquent, une panne sur un domaine de disponibilité ne doit pas affecter les autres domaines de disponibilité de la région.
- Compartiment
Les compartiments sont des partitions logiques inter-régionales au sein d'une location Oracle Cloud Infrastructure. Utilisez des compartiments afin d'organiser, de contrôler l'accès et de définir des quotas d'utilisation pour les ressources Oracle Cloud. Dans un compartiment donné, vous définissez des stratégies qui contrôlent l'accès et définissent des privilèges pour les ressources.
- 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 cloud virtuels de la même région, entre un VCN et un réseau en dehors de la région, tel qu'un VCN dans une autre région Oracle Cloud Infrastructure, un réseau sur site ou un réseau dans un autre fournisseur cloud.
- Pool d'instances
Un pool d'instances est un groupe d'instances d'une région créées à partir de la même configuration d'instance et gérées en tant que groupe.
- Réseau sur site
Ce réseau est le réseau local utilisé par votre organisation. C'est l'un des rayons de la topologie.
- Liste de sécurité
Pour chaque sous-réseau, vous pouvez créer des règles de sécurité qui indiquent la source, la destination et le type de trafic qui doivent être autorisés à entrer et à sortir du sous-réseau.
- Zone de sécurité
Les zones de sécurité garantissent les meilleures pratiques de sécurité d'Oracle dès le départ en appliquant des stratégies telles que le cryptage des données et la prévention de l'accès public aux réseaux pour l'ensemble d'un compartiment. Une zone de sécurité est associée à un compartiment du même nom et inclut des stratégies de zone de sécurité ou une "recette" qui s'applique au compartiment et à ses sous-compartiments. Vous ne pouvez pas ajouter ou déplacer un compartiment standard vers un compartiment de zone de sécurité.
- 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 cloud virtuels de la même région, entre un VCN et un réseau en dehors de la région, tel qu'un VCN dans une autre région Oracle Cloud Infrastructure, un réseau sur site ou un réseau dans un autre fournisseur cloud.
- Passerelle de service
La passerelle de service fournit un accès à partir d'un VCN à d'autres services, tels qu'Oracle Cloud Infrastructure Object Storage. Le trafic entre le VCN et le service Oracle passe par la structure du réseau Oracle et ne traverse pas Internet.
- Tenancy
Une location est une partition sécurisée et isolée configurée par Oracle dans Oracle Cloud lors de votre inscription à Oracle Cloud Infrastructure. Vous pouvez créer, organiser et administrer vos ressources dans Oracle Cloud au sein de votre location. Une location est synonyme d'entreprise ou d'organisation. En général, une entreprise dispose d'une seule location et reflète sa structure organisationnelle au sein de cette location. Une location unique est généralement associée à un seul abonnement, et un seul abonnement n'a généralement qu'une seule location.
- LoggingLogging est un service hautement évolutif et entièrement géré qui permet d'accéder aux types de journal suivants à partir des ressources du cloud :
- Journaux d'audit : journaux liés aux événements émis par le service Audit.
- Journaux de service : journaux émis par des services individuels tels qu'API Gateway, Events, Functions, Load Balancing, Object Storage et les journaux de flux VCN.
- Journaux personnalisés : journaux contenant des informations de diagnostic issues d'applications personnalisées, d'autres fournisseurs cloud ou d'un environnement sur site.
- Monitoring
Le service Oracle Cloud Infrastructure Monitoring surveille activement et passivement vos ressources cloud à l'aide de mesures pour surveiller les ressources et les alarmes afin de vous informer lorsque ces mesures répondent aux critères des déclencheurs spécifiés par les alarmes.
- Règle
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 d'un groupe et d'un 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 donné ou dans la location.
- Oracle Cloud Infrastructure Vault
Oracle Cloud Infrastructure Vault permet de gérer de manière centralisée les clés de cryptage qui protègent vos données et les informations d'identification de clé secrète utilisées pour sécuriser l'accès à vos ressources dans le cloud. Vous pouvez utiliser le service Vault pour créer et gérer des coffres, des clés et des clés secrètes.
OCI Vault offre également un riche ensemble d'API Rest pour gérer les coffres et les clés.
- Workflow
Le service de workflow Oracle Cloud Infrastructure est un moteur de workflow sans serveur doté d'un concepteur graphique de flux pour les développeurs et les architectes. Il accélère la création et l'exécution de l'orchestration des services OCI, tels qu'OCI Functions, AI/ML, pour exécuter la logique d'entreprise, les tâches informatiques et les travaux de données.
- Réseau cloud virtuel (VCN) 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 le contrôle sur l'environnement réseau. Un réseau cloud virtuel peut comporter plusieurs blocs CIDR qui ne se chevauchent pas et que vous pouvez modifier après l'avoir créé. Vous pouvez segmenter un réseau cloud virtuel en plusieurs sous-réseaux ciblant une région ou un domaine de disponibilité. Chaque sous-réseau est composé d'une plage contiguë d'adresses qui ne chevauchent pas celles des autres sous-réseaux du réseau cloud virtuel. Vous pouvez modifier la taille d'un sous-réseau après sa création. Un sous-réseau peut être public ou privé.
- API Gateway
Oracle Cloud Infrastructure API Gateway vous permet de publier des API avec des adresses privées accessibles à partir de votre réseau. Vous pouvez les rendre visibles sur le réseau Internet public si nécessaire. Les adresses prennent en charge la validation d'API, la transformation des demandes et des réponses, CORS, l'authentification et l'autorisation, ainsi que la limitation des demandes.
- Autonomous Database
Oracle Autonomous Database est un environnement de base de données entièrement géré et préconfiguré que vous pouvez utiliser pour le traitement des transactions et les charges de travail d'entreposage de données. Vous n'avez pas à configurer ni à gérer le matériel, ni à installer de logiciel. Oracle Cloud Infrastructure gère la création, la sauvegarde, l'application de patches, la mise à niveau et le réglage de la base de données.
- Bastion
L'hôte de bastion est une instance de calcul qui sert de point d'entrée sécurisé et contrôlé de la topologie en dehors du cloud. L'hôte de 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 point d'entrée unique connu que vous pouvez surveiller et auditer régulièrement. Vous pouvez donc éviter d'exposer les composants les plus sensibles de la topologie sans compromettre l'accès à ces composants.
- Compute
Avec Oracle Cloud Infrastructure Compute, vous pouvez provisionner et 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 y mettre fin lorsque vous n'en avez plus besoin.
- DNS
Le service DNS (Domain Name System) Oracle Cloud Infrastructure est un réseau DNS (Domain Name System) anycast mondial hautement évolutif qui offre des performances, une résilience et une évolutivité DNS améliorées afin que les utilisateurs finaux se connectent rapidement aux applications Internet, où qu'ils se trouvent.
- Flux Kafka
Kafka Streams est une bibliothèque client permettant de créer des applications et des microservices, dans laquelle les données d'entrée et de sortie sont stockées dans des clusters Kafka. Il combine la simplicité d'écriture et de déploiement d'applications Java et Scala standard côté client avec les avantages de la technologie de cluster côté serveur de Kafka.
- Object Storage
Oracle Cloud Infrastructure Object Storage fournit un accès rapide à de grandes quantités de données, structurées ou non, de tout type de contenu, y compris des sauvegardes de base de données, des données analytiques et du contenu enrichi tel que des images et des vidéos. Vous pouvez stocker les données, puis les extraire directement à partir d'Internet ou de la plate-forme cloud, et ce, en toute sécurité. Vous pouvez redimensionner le stockage sans dégradation des performances ni de la fiabilité des services. Utilisez le stockage standard pour le stockage "à chaud" auquel vous devez accéder rapidement, immédiatement et fréquemment. Utilisez le stockage d'archive pour le stockage "à froid" que vous conservez pendant de longues périodes et auquel vous accédez rarement.
- Oracle Management Agent
Oracle Management Agent est un service qui permet une communication interactive à faible latence et la collecte de données entre Oracle Cloud Infrastructure et des instances gérées sur site. Les agents de gestion collectent des données à partir de sources que vous souhaitez surveiller. Management Agent Service, un service Oracle Cloud, gère le cycle de vie de l'agent de gestion ainsi que les modules d'extension pour les services.
- Agent Oracle Cloud
L'agent Oracle Cloud est un processus léger qui gère le cycle de vie des modules d'extension exécutés sur les instances de calcul sur OCI. Les modules d'extension JMS collectent des métadonnées Java à partir de votre environnement déployé sur l'instance gérée dans OCI. Le module d'extension JMS exfiltre ces métadonnées Java vers le service JMS dans OCI.
- Kiev en tant que service (KaaS)
KaaS est un service de plate-forme de données entièrement géré utilisé principalement par les services de plan de contrôle sur OCI. KaaS fournit des API NoSQL de haut niveau pour une intégration facile, des analyses sérialisables, des flux de modifications en continu et d'autres fonctionnalités. KaaS est un service construit sur Kiev. Kiev est un "magasin clé-valeur NoSQL" qui prend également en charge les mini-transactions pour plus de commodité. Pour éviter les bugs de simultanéité dans les applications, les mini-transactions de Kiev disposent d'un isolement fort qui offre des garanties plus fortes que les niveaux d'isolement plus faibles qui sont couramment utilisés dans Oracle et MySQL. Kiev dispose d'un contrat de niveau de service de disponibilité de 99,9 %.
Recommandations
- 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 le VCN. Utilisez des blocs CIDR qui se trouvent dans l'espace d'adresse IP privée 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) 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 du flux de trafic et des exigences 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é.
Utiliser des sous-réseaux régionaux.
- Sécurité
Utilisez Oracle Cloud Guard pour surveiller et gérer la sécurité de vos ressources dans Oracle Cloud Infrastructure de manière proactive. Utilisez des zones de sécurité pour une sécurité maximale.
- Cloud Guard
Cloner et personnaliser les recettes par défaut fournies par Oracle afin de créer des recettes de détecteur et de répondeur personnalisées. Ces recettes vous permettent de spécifier le type de violation de sécurité qui génère un avertissement et les actions autorisées à y être exécutées. Par exemple, vous pouvez détecter les buckets Object Storage dont la visibilité est définie sur Public.
Appliquez Cloud Guard au niveau de la location pour couvrir la portée la plus large et réduire la charge administrative liée à la maintenance de plusieurs configurations.
Vous pouvez également utiliser la fonction Liste gérée pour appliquer certaines configurations aux détecteurs.
- Security Zones
Pour les ressources nécessitant une sécurité maximale, Oracle vous recommande d'utiliser des zones de sécurité. Une zone de sécurité est un compartiment associé à une recette de stratégies de sécurité définie par Oracle qui repose sur les meilleures pratiques. Par exemple, les ressources d'une zone de sécurité ne doivent pas être accessibles à partir du réseau Internet public et doivent être cryptées à l'aide de clés gérées par le client. Lorsque vous créez et mettez à jour des ressources dans une zone de sécurité, Oracle Cloud Infrastructure valide les opérations par rapport aux stratégies de la recette de zone de sécurité et refuse les opérations qui enfreignent l'une des stratégies.
- Groupes de sécurité réseau
Vous pouvez utiliser des groupes de sécurité réseau pour définir un ensemble de règles entrantes et sortantes qui s'appliquent à des cartes d'interface réseau virtuelles spécifiques. Nous vous recommandons d'utiliser des groupes de sécurité réseau plutôt que des listes de sécurité, car ces derniers vous permettent de séparer l'architecture de sous-réseau du VCN des exigences de sécurité de votre application.
- Bande passante d'équilibreur de charge
Lors de la création de l'équilibreur de charge, vous pouvez sélectionner une forme prédéfinie qui fournit une bande passante fixe ou indiquer une forme personnalisée (flexible) dans laquelle vous définissez une plage de bande passante et laisser le service redimensionner automatiquement la bande passante en fonction des modèles de trafic. Dans l'une ou l'autre approche, vous pouvez modifier la forme à tout moment après avoir créé l'équilibreur de charge.
Points à prendre en compte
Tenez compte des points suivants lors du déploiement de cette architecture de référence.
- PerformancesTenez compte des éléments suivants lors de l'implémentation de l'architecture de référence pour détecter et gérer les installations Java et les applications java dans les instances gérées sur site.
- JMS utilise l'agent pour exfiltrer les métadonnées Java (le trafic réseau et une configuration soigneuse du pare-feu sont pris en compte).
- L'agent requiert la dernière version de JRE 8 pour s'exécuter sur l'instance gérée.
- L'agent requiert 512 Mo de portion de mémoire libre sur l'instance gérée.
- L'agent sera en concurrence avec l'application pour l'UC sur l'instance gérée.
Les métadonnées exfiltrées sont disponibles sur l'objet de journal. JMS traite les métadonnées pour générer des informations clés. Ces informations et mesures sont stockées dans la base de données Oracle Autonomous Transaction Processing appartenant au service. Vous pouvez utiliser l'API pour interroger le service afin d'obtenir des informations historiques sur Java déployé dans votre environnement. JMS n'est pas un système en temps réel. La latence peut fournir des informations actuelles et historiques en raison du chargement du service par de nombreuses autres requêtes client.
- Sécurité
Utilisez des stratégies pour restreindre l'accès aux ressources Oracle Cloud Infrastructure (OCI) de votre entreprise et la façon dont elles peuvent y accéder. Métadonnées Java exfiltrées à partir de votre environnement dans un objet de journal appartenant à votre entreprise. JMS traite ces métadonnées et les informations clés qui vous sont présentées. Les informations sont stockées dans la base de données Oracle Autonomous Transaction Processing. Les rapports générés sont stockés dans votre instance OCI Object Storage.
Le cryptage est activé par défaut pour OCI Object Storage et ne peut pas être désactivé.
- Disponibilité
JMS a été désigné comme service de catégorie 10 avec l'objectif de niveau de service publié 3'9s (99.9).
- Coût
JMS est un service gratuit. Les fonctionnalités de base de la surveillance et de l'interrogation d'informations sur Java dans votre environnement sont accessibles à tous. Les fonctionnalités avancées qui impliquent la gestion de Java dans votre environnement ne sont disponibles que pour les abonnés Java SE exécutant des instances gérées sur site. La version complète de JMS est également disponible lorsque vous exécutez l'intégralité de votre charge globale sur OCI.
Si vous disposez d'instances gérées sur site et que vous utilisez un minimum de charges globales Java, vous pouvez trouver acceptable de travailler JMS dans les limites du niveau gratuit OCI (en évitant le coût mensuel minimal de calcul, de stockage et de sortie réseau).
En savoir plus
Accédez à Configuration de Java Management Service pour surveiller l'utilisation de Java sur un hôte Oracle Linux afin de configurer et d'activer la surveillance de l'utilisation de Java sur vos machines Oracle Linux.
- Estimateur de coût Oracle Cloud
- Kit SDK (Oracle Cloud Infrastructure Software Development Kit) pour JMS (GitHub)
- Structure d'adoption du cloud Oracle Cloud Infrastructure
- Autonomous Database
- Oracle Cloud Infrastructure Identity and Access Management
- Java Management Service
- Agent Oracle Cloud
- Management Agent
- Objectifs de niveau de service pour les services Oracle PaaS et IaaS Public Cloud
- Compte Niveau gratuit Oracle Cloud