Isoler les environnements de développement à plusieurs niveaux et interrégionaux à l'aide de compartiments

Tirez parti des compartiments pour créer un modèle pour les environnements de développement et de test multiniveau et interrégionaux sécurisés que vous pouvez utiliser pour créer des solutions d'entreprise sur Oracle Cloud Infrastructure.

Pour implémenter des projets stratégiques, les entreprises gèrent généralement des environnements distincts à des fins de développement et de test avant de lancer le projet dans un environnement de production. Un environnement vous permet de définir et de gérer les services Oracle Cloud PaaS et Oracle Cloud Infrastructure en tant qu'entité unique. Il est important de disposer des ressources, de la structure et de la conception appropriées dans les environnements pour les gérer efficacement.

Les compartiments sont une fonctionnalité puissante d'Oracle Cloud Infrastructure (OCI) pour l'isolement de la sécurité et le contrôle d'accès. Grâce à l'application des stratégies, ils fournissent le niveau d'accès approprié en fonction des paramètres définis par l'organisation pour la gestion des ressources et l'administration déléguée.

Architecture

Cette architecture de référence explique comment utiliser les compartiments pour concevoir et configurer différents environnements sur Oracle Cloud Infrastructure, et comment provisionner des ressources pour prendre en charge le développement logiciel et le cycle de vie des versions. L'architecture utilise une application Web à plusieurs niveaux comme point de référence lors de l'allocation des ressources entre différentes organisations au sein d'une entreprise pour illustrer l'implémentation.

Le diagramme suivant illustre cette architecture.



oci-dev-env-architecture-oracle.zip

Cette architecture comporte les composants suivants :

  • Location

    Une location est une partition sécurisée et isolée qu'Oracle configure dans Oracle Cloud lorsque vous êtes inscrit à 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. Généralement, une entreprise dispose d'une location unique et reflète sa structure organisationnelle dans cette location. Une location unique est généralement associée à un seul abonnement et un seul abonnement ne comporte généralement qu'une seule location.

  • 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 (dans des pays voire des continents).

  • Compartiment

    Les compartiments sont des partitions logiques inter-région au sein d'une location Oracle Cloud Infrastructure. Utilisez des compartiments pour organiser les 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 réalisables.

  • Règle

    Une stratégie Oracle Cloud Infrastructure Identity and Access Management spécifie 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 fournit à un groupe un type d'accès spécifique dans un compartiment spécifique ou dans la location.

  • Programme d'équilibrage de charge

    Le service Oracle Cloud Infrastructure Load Balancing fournit une répartition de trafic automatisée à partir d'un seul point d'entrée vers plusieurs serveurs du back-end.

  • Compute

    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 en matière de CPU, de mémoire, de bande passante réseau et de stockage. Une fois qu'une instance de calcul a été créée, 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.

  • Autonomous Transaction Processing

    Oracle Autonomous Transaction Processing est un service de base de données à pilotage, sécurité et réparation automatiques, 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.

Recommandations

Utilisez les recommandations suivantes comme point de départ. Vos besoins peuvent varier.

  • 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 aux sous-réseaux du VCN. Utilisez des blocs CIDR situés dans l'espace d'adresses IP privées standard.

    Sélectionnez des 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 souhaitez 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 de vos exigences en matière 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, ce qui peut servir de limite de sécurité.

    Utilisez des sous-réseaux régionaux.

  • Compartiment

    Par défaut, toute location Oracle Cloud dispose d'un compartiment racine par défaut nommé d'après la location elle-même. L'administrateur de location (administrateur de compartiment racine par défaut) est tout utilisateur membre du groupe Administrateurs par défaut.

    Pour cette architecture, nous créons deux compartiments de niveau supérieur, HR et Sales, pour deux organisations différentes dans le compartiment racine. Deux groupes gèrent ces compartiments : HR-Admins et Sales-Admins. Dans le compartiment de niveau supérieur RH, nous créons les sous-compartiments HR-Prod, HR-Dev, HR-Staging et HR-Test. Ces compartiments sont gérés par les groupes HR-Prod-Admins, HR-Dev-Admins, HR-Staging-Admins et HR-Test-Admins, respectivement. Dans le compartiment de niveau supérieur Sales, nous créons les sous-compartiments Sales-Prod, Sales-Dev, Sales-Staging et Sales-Test. Ces compartiments sont gérés par les groupes Sales-Prod-Admins, Sales-Dev-Admins, Sales-Staging-Admins et Sales-Test-Admins, respectivement.

  • Règle

    Le contrôle d'accès au compartiment est régi par des stratégies. Les stratégies sont constituées d'instructions qui associent un sujet (toujours un groupe d'utilisateurs) à des actions sur des ressources sélectionnées (ou une famille de ressources) dans une location ou un compartiment. Vous pouvez qualifier davantage l'instruction de stratégie en ajoutant des conditions qui affinent davantage le contrôle d'accès.

    Dans cette implémentation, nous déléguons l'administration des ressources Oracle Cloud Infrastructure Compute via des stratégies et des compartiments pour les services et sous-compartiments de niveau supérieur. L'objectif est de faire en sorte que chaque compartiment fonctionne de manière indépendante et totalement isolée les uns des autres.

Points à prendre en compte

Tenez compte des points suivants lors du déploiement de cette architecture de référence.

  • Evolutivité

    Oracle Cloud Infrastructure prend en charge une hiérarchie de compartiments allant jusqu'à six niveaux. L'administrateur d'un compartiment dispose de pleins pouvoirs sur ses compartiments imbriqués. Dans cette implémentation, nous utilisons trois niveaux.

    Les ressources Oracle Cloud Infrastructure, telles qu'Oracle Cloud Infrastructure Compute, Load Balancing Service et Autonomous Transaction Processing, sont provisionnées dans chacun des compartiments entre les régions et entre les environnements. Dans cet exemple, les ressources sont allouées à une application Web simple en tant que point de référence pour le cycle de vie d'un développement et d'une version de logiciel.

    Oracle Cloud Infrastructure Compute offre la fonctionnalité de redimensionnement automatique, qui vous permet de fournir des performances cohérentes à vos utilisateurs finals lors des périodes de demande élevée et de réduire les coûts lors des périodes de demande faible. Vous pouvez également utiliser la fonctionnalité de redimensionnement automatique pour Oracle Autonomous Transaction Processing. Lorsque le redimensionnement automatique est activé, si votre application, la base de données utilise automatiquement davantage de ressources d'UC et d'E/S, si nécessaire, sans intervention manuelle. L'équilibreur de charge prend en charge la modification dynamique de la bande passante d'une forme.

  • Disponibilité

    En règle générale, vous déployez une application dans la région où elle est le plus fortement utilisée car l'utilisation de ressources proches est plus rapide que l'utilisation de ressources distantes. Les domaines de disponibilité d'une même région se connectent entre eux à l'aide d'un réseau à bande passante élevée et à faible latence. Ce réseau fournit une connectivité haute disponibilité à Internet et à un équipement sur site afin que vous puissiez créer des systèmes répliqués dans plusieurs domaines de disponibilité à des fins de haute disponibilité et de récupération après sinistre.

    Oracle Autonomous Transaction Processing élimine les temps d'inactivité du site en conservant une copie distante en temps réel d'une base de données de production et en passant automatiquement de la base de données principale à la copie distante à l'aide d'Oracle Data Guard.

  • Facilité de gestion
    Etant donné que les compartiments séparent la gestion des ressources, vous pouvez partager les ressources entre les compartiments. Par exemple, pour partager une instance de calcul entre HR-Dev et Sales-Dev, vous disposez de deux options :
    • Créez une image personnalisée du groupe HR-Dev-Admins, exportez l'image vers Oracle Cloud Infrastructure Object Storage et rendez-la disponible pour le groupe Sales-Dev-Admins.
    • Vous pouvez également exporter le volume d'initialisation de l'instance dans HR-Dev vers le compartiment Sales-Dev.

    En tant qu'administrateur, prévoyez à l'avance comment partitionner les plages CIDR disponibles dans différents domaines de l'organisation. Assurez-vous que les réseaux cloud virtuels ne présentent pas de chevauchement de plages CIDR. Cette planification empêche l'appairage par inadvertance entre deux réseaux cloud virtuels dans différents compartiments.

    Enfin, gérez l'architecture en automatisant l'infrastructure et l'allocation des ressources à l'aide de Terraform.

  • Sécurité

    Configurez des listes de sécurité, qui agissent en tant que pare-feu virtuels, afin que les ressources de différents compartiments puissent communiquer. Par exemple, une instance de base de données du compartiment HR peut se connecter à une instance de base de données du compartiment Sales tant que les listes de sécurité applicables sont configurées correctement.

    Affichez une adresse privée pour la base de données Oracle Autonomous Transaction Processing en l'attachant à un sous-réseau privé.

    Lorsque vous concevez les sous-réseaux, tenez compte du flux de trafic et des exigences de sécurité. Associez toutes les ressources d'un niveau ou d'un rôle spécifique au même sous-réseau, ce qui peut servir de limite de sécurité. Ajoutez des tables de routage et des passerelles (routeurs virtuels) au VCN pour gérer le trafic, en fonction du type d'accès dont vous avez besoin. Par exemple, vous pouvez avoir besoin de vous connecter via le réseau Internet public, un Internet privé, un réseau sur site, un autre service Oracle ou un réseau VCN différent dans la location.

    Envisagez d'utiliser le pare-feu d'applications Web (WAF) d'Oracle Cloud Infrastructure Compute pour protéger l'application contre le trafic malveillant à partir du réseau Internet public. Cette architecture repose sur des stratégies qui limitent l'accès aux ressources Oracle Cloud Infrastructure Compute au sein d'un compartiment spécifique.

Déployez

Le code Terraform permettant de créer des environnements de compartiment à plusieurs niveaux pour le développement de solutions d'entreprise est disponible dans GitHub.

  1. Accédez à GitHub.
  2. Clonez ou téléchargez le référentiel sur votre ordinateur local.
  3. Suivez les instructions du document README.

Journal des modifications

Ce journal répertorie les modifications importantes :