Déployer une solution de récupération après sinistre pour une passerelle d'API Oracle Cloud Infrastructure

Le service Passerelle d'API pour Oracle Cloud Infrastructure API Gateway est disponible dans une région OCI régie par des contrats de niveau de service. Cette architecture de référence détaille l'architecture sous-jacente à la mise en oeuvre d'une solution de reprise après sinistre inter-région gérée par le client pour le service de passerelle d'API OCI.

Cette solution de récupération après sinistre prend en charge :
  • Topologies " actives-passives ", dans lesquelles une seule passerelle traite la charge entière même si les deux passerelles sont censées être en cours d'exécution. Une passerelle active n'est pas déterminée par son état (Active/Deleted/Updating) mais par la passerelle vers laquelle le trafic est dirigé et est activée pour exécuter toutes les fonctions.
  • Réplication gérée par le client des catégories de passerelle d'API OCI; par exemple les déploiements d'API, les plans d'utilisation et les abonnés à l'API.
Si les passerelles d'API OCI principales et secondaires utilisent les mêmes catégories d'API et fournisseurs d'autorisation, après la permutation, vous pouvez accéder aux API de la même manière dans toutes les régions.

Étapes préliminaires

Avant de commencer à configurer la configuration de la récupération après sinistre pour les intégrations, vous devez :
  • Provisionnez une deuxième passerelle d'API OCI dans une autre région OCI.
  • Obtenez un nom DNS/hôte personnalisé (dans un domaine de votre choix) et un certificat SSL associé.

Architecture

Cette architecture de référence pour le service Passerelle d'API OCI se compose de deux passerelles d'API OCI dans deux régions en nuage différentes, accessibles à l'aide d'un seul point d'extrémité personnalisé (URL). Pour mettre en oeuvre un seul point d'extrémité personnalisé, vous pouvez utiliser une zone du système de noms de domaine (DNS) OCI pour résoudre le nom du point d'extrémité personnalisé.

Vous pouvez utiliser ces URL personnalisées comme point d'entrée pour les passerelles d'API OCI; par exemple, api.mycompany.com. Pour plus d'informations sur la configuration des points d'extrémité personnalisés, voir "Gestion des zones de service DNS", à laquelle vous pouvez accéder à partir de "Explorer plus", ci-dessous.

Les deux passerelles d'API OCI de l'architecture sont désignées comme principales et secondaires, et les deux passerelles s'exécutent simultanément; cependant, une seule des passerelles reçoit le trafic. Initialement, la passerelle principale reçoit le flux de trafic. Si la région principale devient indisponible, l'enregistrement DNS peut être mis à jour pour acheminer le trafic vers la région secondaire.

Le diagramme suivant illustre cette architecture de référence pour une passerelle publique (modèle de zone d'atterrissage pour le service de passerelle d'API OCI) :


Description de apigw-oci-customer-managed-dr-topology.png :
Description of the illustration apigw-oci-customer-managed-dr-topology.png

apigw-oci-customer-managed-dr-topology-oracle.zip

Ces architectures comportent les composants suivants :
  • Location

    Une location est une partition sécurisée et isolée qu'Oracle configure 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'une société ou d'une organisation. Habituellement, une société aura une seule location et reflétera sa structure organisationnelle au sein de cette location. Une seule location 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 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 (à travers les pays ou même les continents).

  • Compartiment

    Les compartiments sont des partitions logiques inter-régionales dans une location Oracle Cloud Infrastructure. Utilisez des compartiments pour organiser, contrôler l'accès et définir des quotas d'utilisation pour vos ressources Oracle Cloud. Dans un compartiment donné, vous définissez des politiques qui contrôlent l'accès et définissent des privilèges pour les ressources.

  • Domaine de disponibilité

    Les domaines de disponibilité sont des centres de données indépendants et autonomes dans une région. Les ressources physiques de chaque domaine de disponibilité sont isolées des ressources des autres domaines de disponibilité, ce qui garantit la tolérance aux pannes. Les domaines de disponibilité ne partagent pas les éléments d'infrastructure (alimentation ou refroidissement, par exemple) ni le réseau de domaines de disponibilité interne. Ainsi, une défaillance d'un domaine de disponibilité ne doit pas avoir d'incidence sur les autres domaines de disponibilité de la région.

  • Réseau en nuage virtuel (VCN) et sous-réseau

    Un réseau VCN est un réseau défini par logiciel personnalisable que vous configurez dans une région Oracle Cloud Infrastructure. Comme les réseaux de centre de données traditionnels, les réseaux en nuage virtuels vous permettent de contrôler votre environnement de réseau. Un VCN peut disposer de plusieurs blocs CIDR sans chevauchement que vous pouvez modifier après avoir créé le VCN. Vous pouvez segmenter un VCN en sous-réseaux, dont la portée peut concerner une région ou un domaine de disponibilité. Un sous-réseau est constitué d'un intervalle contigu d'adresses qui ne chevauchent pas les autres sous-réseaux dans le réseau en nuage 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é.

  • Table 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 au moyen de passerelles.

  • Liste 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 à entrer et à sortir du sous-réseau.

  • Service Oracle Cloud Infrastructure DNS

    Les zones DNS publiques contiennent les enregistrements DNS faisant autorité qui résident sur les serveurs de noms d'OCI. Vous pouvez créer des zones publiques avec des noms de domaine accessibles publiquement sur Internet. Pour plus d'informations, voir "Aperçu du DNS", auquel vous pouvez accéder à partir de "En savoir plus", ci-dessous..

  • Passerelle Internet

    La passerelle Internet permet le trafic entre les sous-réseaux publics d'un VCN et le réseau Internet public.

  • Service de pare-feu d'application Web pour Oracle Cloud Infrastructure Web Application Firewall (WAF)

    Les pare-feu d'application Web protègent les applications contre le trafic Internet malveillant et indésirable grâce à un service de pare-feu d'application Web mondial conforme aux normes PCI en nuage. En combinant des renseignements sur les menaces et une application uniforme des règles sur l'équilibreur de charge de réseau flexible d'OCI, Oracle Cloud Infrastructure Web Application Firewall renforce les défenses et protège les serveurs d'applications et les applications internes tournés vers Internet. (Ce composant est facultatif)

  • Équilibreur de charge flexible

    Un équilibreur de charge améliore l'utilisation des ressources en dirigeant les demandes entre les services d'application qui fonctionnent en parallèle. À mesure que la demande augmente, il est possible d'augmenter le nombre de services d'application et l'équilibreur de charge les utilise pour équilibrer le traitement des demandes. (Ce composant est facultatif)

  • Service d'hôte bastion

    Oracle Cloud Infrastructure Bastion fournit un accès sécurisé restreint et limité dans le temps aux ressources qui n'ont pas de points d'extrémité publics et qui nécessitent des contrôles d'accès stricts aux ressources, tels que des serveurs sans système d'exploitation et des machines virtuelles, Oracle MySQL Database Service, Autonomous Transaction Processing (ATP), Oracle Cloud Infrastructure Kubernetes Engine (OKE) et toute autre ressource permettant l'accès au protocole SSH (Secure Shell). Avec le service Hôte bastion OCI, vous pouvez activer l'accès aux hôtes privés sans déployer et tenir à jour un hôte de saut. En outre, vous bénéficiez d'une meilleure sécurité grâce à des autorisations basées sur l'identité et à une session SSH centralisée, auditée et limitée dans le temps. Le service d'hôte bastion pour OCI élimine le besoin d'une adresse IP publique pour l'accès bastion, éliminant ainsi les tracas et la surface d'attaque potentielle lors de la fourniture d'un accès distant.

  • Passerelle d'API

    Le service Passerelle d'API pour Oracle Cloud Infrastructure API Gateway vous permet de publier des API avec des points d'extrémité privés accessibles à partir de votre réseau et que vous pouvez exposer au réseau Internet public si nécessaire. Les points d'extrémité prennent en charge la validation, la transformation des demandes et des réponses, la CORS, l'authentification et l'autorisation, ainsi que la limitation des demandes pour les API.

  • Analyse

    Oracle Analytics Cloud est un service en nuage public évolutif et sécurisé qui offre aux analystes d'affaires des capacités d'analyse libre-service modernes et optimisées par l'intelligence artificielle pour la préparation et la visualisation de données, la production de rapports d'entreprise, l'analyse augmentée et le traitement et la génération du langage naturel. Avec Oracle Analytics Cloud, vous bénéficiez également de fonctionnalités de gestion du service flexibles qui incluent une configuration rapide, une mise à l'échelle et des correctifs faciles, ainsi qu'une gestion du cycle de vie automatisée.

  • Service de gestion des identités et des accès (GIA)

    Le service Oracle Cloud Infrastructure Identity and Access Management (IAM) est le plan de contrôle d'accès pour Oracle Cloud Infrastructure (OCI) et Oracle Cloud Applications. L'API IAM et l'interface utilisateur vous permettent de gérer les domaines d'identité et les ressources au sein du domaine d'identité. Chaque domaine d'identité OCI IAM représente une solution autonome de gestion des identités et des accès ou une population d'utilisateurs différente.

  • Domaine d'identité (IDom)

    Le service IAM utilise des domaines d'identité (IDom) pour fournir des fonctions de gestion des identités et des accès telles que l'authentification unique (SSO) et la gestion du cycle de vie des identités pour Oracle Cloud, ainsi que pour les applications Oracle et non Oracle, que SaaS, hébergées dans le nuage ou sur place.

  • Politique

    Une politique 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 permet d'écrire une politique qui donne à un groupe un type d'accès spécifique dans un compartiment spécifique ou à la location.

  • Audit

    Le service Oracle Cloud Infrastructure Audit enregistre automatiquement les appels à tous les points d'extrémité d'API (interface de programmation d'application publique) d'Oracle Cloud Infrastructure pris en charge en tant qu'événements de journal. Tous les services OCI prennent en charge la journalisation par Oracle Cloud Infrastructure Audit.

  • Journalisation
    Le service de journalisation est un service hautement évolutif entièrement géré qui permet d'accéder aux types de journal suivants à partir de vos ressources en nuage :
    • journaux du service de vérification : Journaux liés aux événements émis par le service Vérification.
    • Journaux de service : Journaux émis par des services individuels tels que passerelle d'API, événements, fonctions, équilibreur de charge, stockage d'objets et les journaux de flux de VCN.
    • Journaux personnalisés : Journaux contenant des informations de diagnostic provenant d'applications personnalisées, d'autres fournisseurs de services infonuagiques ou d'un environnement sur place.
  • Service de journalisation

    Logging Analytics est un service en nuage basé sur l'apprentissage automatique qui surveille, regroupe, indexe et analyse toutes les données de journal des environnements sur place et multinuagiques. Permettre aux utilisateurs de rechercher, d'explorer et de mettre en corrélation ces données afin de résoudre les problèmes plus rapidement et d'obtenir des renseignements pour prendre de meilleures décisions opérationnelles.

Recommandations

Utilisez les recommandations suivantes comme point de départ lors du déploiement d'une solution de récupération après sinistre pour une passerelle d'API OCI. Vos exigences peuvent différer de l'architecture décrite ici.
  • 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 qui se trouvent 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 place ou un autre fournisseur de services infonuagiques) 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, ce qui peut servir de limite de sécurité.

    Utiliser des sous-réseaux régionaux.

  • Connectivité (passerelle d'API privée)

    Lorsque vous déployez des ressources vers OCI, vous pouvez commencer par une petite taille, avec une seule connexion à votre réseau sur place. Cette connexion unique peut se faire au moyen d'OCI FastConnect ou d'un RPV IPSec. Pour planifier la redondance, tenez compte de tous les composants (appareils matériels, installations, circuits et alimentation) entre votre réseau sur place et OCI. Pensez également à la diversité pour vous assurer que les installations ne sont pas partagées entre les chemins.

Points à considérer

Lors du déploiement d'une solution de récupération après sinistre pour une passerelle d'API OCI, tenez compte de ces facteurs.

  • Utiliser une zone de gestion DNS OCI

    Configurez des enregistrements DNS pour vos passerelles d'API OCI. Vous pouvez utiliser une zone DNS OCI pour gérer les enregistrements DNS et fournir une résolution de nom d'hôte pour vos passerelles d'API OCI.

    Après avoir acquis un domaine (ou un sous-domaine) pour vos passerelles d'API, ajoutez une zone DNS OCI au moyen de la console OCI ou de l'API. Pour plus de détails sur la création d'une zone DNS OCI et l'ajout d'un enregistrement, voir "Gestion des zones de service DNS,", à laquelle vous pouvez accéder à partir de "Explorer plus", ci-dessous.
    • Dans la zone, ajoutez le nom d'hôte personnalisé du service de passerelle d'API OCI en tant qu'enregistrement CNAME.
    • Après avoir publié les modifications de zone, mettez à jour votre domaine pour utiliser les serveurs de noms DNS OCI.
  • Sécurité

    Utilisez les politiques du service Gestion des identités et des accès pour OCI (IAM) pour contrôler qui peut accéder à vos ressources en nuage et quelles opérations peuvent être effectuées. Les services en nuage OCI utilisent des politiques IAM, telles que l'autorisation au service Passerelle d'API OCI d'appeler des fonctions. Le service de passerelle d'API OCI peut également contrôler l'accès à l'aide de l'authentification et de l'autorisation OAuth. IAM permet l'authentification et l'autorisation qui peuvent être fédérées au moyen du service IAM. Par conséquent, le service de passerelle d'API OCI a le pouvoir de s'authentifier auprès d'un large éventail de services et de configurations d'authentification.

  • Rendement et coût

    Le service Passerelle d'API OCI prend en charge la mise en mémoire cache des réponses en s'intégrant à un serveur de mémoire cache externe (comme un serveur Redis ou KeyDB), ce qui permet d'éviter une charge inutile sur les services dorsaux. Lorsque les réponses sont mises en cache, si des demandes similaires sont reçues, elles peuvent être exécutées en extrayant les données d'un cache de réponses plutôt qu'en envoyant la demande au service dorsal. Cela réduit la charge sur les services dorsaux et contribue ainsi à améliorer les performances et à réduire les coûts. Le service de passerelle d'API OCI met également en mémoire cache les jetons d'autorisation (en fonction du temps nécessaire pour quitter la durée de vie), réduisant ainsi la charge sur le fournisseur d'identités et améliorant la performance.

  • Disponibilité

    Envisagez d'utiliser une option haute disponibilité basée sur vos besoins de déploiement et votre région. Les options comprennent la répartition des ressources entre plusieurs domaines de disponibilité d'une région et la répartition des ressources entre les domaines d'erreur d'un domaine de disponibilité.

  • Surveillance et alertes

    Configurez la surveillance et les alertes sur les mesures du service de passerelle d'API.

Déployez

Vous pouvez déployer cette architecture de référence sur Oracle Cloud Infrastructure en effectuant les étapes suivantes :

Le code Terraform oci_apigateway_api est disponible sur GitHub. Voir "Explorer plus", ci-dessous, pour un lien.

  1. Se connecter à la console Oracle Cloud Infrastructure avec vos données d'identification Oracle Cloud
  2. Configurez l'infrastructure de réseau du site secondaire requise comme indiqué dans le diagramme d'architecture; cela inclut les composants suivants : VCN, sous-réseau, passerelle DRG/Internet (passerelle d'API privée/publique), liste de sécurité, table de routage, passerelle de service, FastConnect/VPN et CPE, zone publique DNS
  3. Créez une passerelle d'API OCI. Voir les instructions "Création d'une passerelle d'API" pour préparer et créer une instance de passerelle d'API OCI. Vous pouvez accéder à ce document à partir de "Explorer plus", ci-dessous.
  4. Restreignez les réseaux qui ont accès à votre passerelle d'API en configurant la liste de sécurité, la table de routage et les groupes de sécurité de réseau, si nécessaire.
  5. Automatiser la synchronisation du déploiement. Cette étape garantit que les piles pour les déploiements d'API, les plans d'utilisation d'API et les abonnements d'API sont synchronisés régulièrement entre l'instance principale et l'instance de secours à l'aide de l'intégration et du développement en continu.

    Note :

    Chaque configuration et modification s'ajoutant aux déploiements d'API, aux plans d'utilisation d'API et aux abonnements d'API de gestion des ressources d'API OCI peut être enregistrée et gérée en tant que pile Terraform. La pile peut ensuite être chargée sur le côté secondaire ou appliquée à un autre site à l'aide d'OCI DevOps.
  6. Exécutez les tâches de basculement.
    • Passez à l'environnement de récupération après sinistre.
    • Passez de votre instance principale à l'instance de secours en cas d'interruption en mettant à jour l'enregistrement DNS au niveau de votre fournisseur DNS ou dans la zone DNS OCI pour acheminer le trafic vers le site secondaire au moyen de la passerelle d'API. Vous pouvez le faire manuellement à partir de la console OCI ou à l'aide de l'API REST OCI. Après le processus de basculement, la passerelle d'API du site de secours/secondaire devient votre passerelle d'API principale et la passerelle d'API précédemment désignée comme passerelle principale devient la nouvelle passerelle d'API de secours.

Remerciements

  • Auteur : Peter Obert
  • Contributeur : Robert Wunderlich