Concevoir une solution de récupération après sinistre multicloud avec Oracle Database Service for Azure

Les entreprises déploient de plus en plus leurs solutions sur plusieurs clouds et ont besoin de fonctionnalités de haute disponibilité et de récupération après sinistre pour assurer la continuité de leurs activités. Oracle Data Guard est largement utilisé pour assurer la haute disponibilité, la protection des données et la récupération après sinistre de la base de données Enterprise.

Cette solution de récupération après sinistre multicloud split-stack utilise Microsoft Azure et Oracle Cloud Infrastructure (OCI) comme exemple. Ce concept s'applique à l'architecture split-stack sur tous les clouds.

Cette solution multicloud utilise Oracle Database Service for Microsoft Azure (OracleDB for Azure) pour déployer la base de données. OracleDB pour Azure permet aux clients de provisionner, d'accéder et d'exploiter facilement des services Oracle Database de niveau entreprise dans OCI avec une expérience familière de type Azure.

Dans cette solution, nous montrons une architecture de récupération après sinistre inter-régionale du service Exadata Database. Cette solution s'applique également à Oracle Base Database Service déployé avec OracleDB pour Azure.

Architecture

La topologie de récupération après sinistre multicloud dans les régions utilise Oracle Exadata Database Service on Dedicated Infrastructure (Oracle Exadata Database Service) dans les régions de production et de récupération après sinistre OCI, déployées séparément avec OracleDB for Azure et une application personnalisée déployée dans les régions de production et de récupération après sinistre d'Azure.

Nous utilisons les régions d'interconnexion OCI Azure comme un exemple : OCI-Frankfurt et Azure-Germany West Central pour la production, et OCI-Amsterdam et Azure-West Europe pour la récupération après sinistre. Le trafic de réplication de récupération après sinistre se déplace sur les réseaux privés OCI et Azure correspondants.

Cette solution utilise Data Guard pour répliquer les bases de données Oracle Exadata Database Service de la région de production (Active) vers la région de récupération après sinistre (Standby). La base de données de secours active offre une protection contre les pannes non planifiées et réduit les temps d'arrêt pour les activités de maintenance planifiées, telles que l'application de patches et les mises à niveau de base de données. Côté Azure, la machine virtuelle Azure dans la région de production est répliquée dans la région de récupération après sinistre Azure à l'aide du service de récupération de site Azure.

Pour déployer OracleDB pour Azure dans une configuration de récupération après sinistre inter-région, procédez comme suit :

  1. Configurez OracleDB pour Azure en demandant un lien multicloud à l'adresse suivante : Demander un lien multicloud Oracle Database Service pour Microsoft Azure.

    Remarque :

    Lorsque vous êtes inscrit à OracleDB pour Azure, le service configure une connexion privée à vos ressources de base de données dans le cadre du processus de liaison de compte. Vous êtes invité à fournir un nom d'organisation reconnu ou une adresse électronique.
  2. Ajoutez un emplacement Azure secondaire (récupération après sinistre) dans le portail OracleDB for Azure.
  3. Déployez OracleDB pour Azure et établissez la liaison réseau dans les régions de production et de récupération après sinistre.
  4. Activez et configurez Oracle Data Guard manuellement sur les noeuds de base de données.
  5. Mettez à jour les fichiers tnsnames.ora sur les serveurs d'applications pour ajouter des hôtes de production et de récupération après sinistre aux chaînes de connexion.
  6. Configurez la récupération de site Azure (ASR) de Microsoft pour la réplication de machine virtuelle d'application.
  7. Gérez les services de base de données à partir du portail OracleDB pour Azure.

Le diagramme suivant illustre cette architecture de référence.



oci-azure-multicloud-dr-oracle.zip

L'architecture se compose des éléments suivants :

Composants Oracle Cloud Infrastructure

  • 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).

  • 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 un contrôle total 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é.

  • Dynamic routing gateway (DRG)

    L'DRG est un routeur virtuel qui fournit un chemin pour le trafic 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.

  • Appairage à distance

    L'appairage à distance permet aux ressources des réseaux cloud virtuels de communiquer à l'aide d'adresses IP privées sans que le trafic ne soit routage sur Internet ou via votre réseau sur site. L'appairage à distance élimine le besoin d'une passerelle Internet et d'adresses IP publiques pour les instances qui doivent communiquer avec un autre VCN dans une autre région.

  • Oracle Database Service for Microsoft Azure

    Oracle Database Service for Microsoft Azure (OracleDB pour Azure) est un service Oracle Cloud Infrastructure (OCI) avec vos ressources de base de données résidant dans OCI. Votre compte OCI est lié à votre compte Azure via le lien réseau Oracle Database Service for Microsoft Azure, qui est une connexion de tunnel gérée par Oracle. OracleDB pour Azure connecte les composants de vos locataires Azure et OCI.

    OracleDB pour Azure vous permet d'intégrer facilement Oracle Cloud Infrastructure Database à votre environnement cloud Azure. OracleDB pour Azure utilise une approche basée sur les services et constitue une alternative à la création manuelle de déploiements interclouds complexes pour vos piles d'applications.

  • Exadata Database Service

    Oracle Exadata Database Service vous permet de tirer parti de la puissance d'Exadata dans le cloud. Vous pouvez provisionner des systèmes X8M et X9M flexibles qui vous permettent d'ajouter des serveurs de stockage et des serveurs de calcul de base de données aux systèmes en fonction de l'évolution de vos besoins. Les systèmes X8M et X9M offrent des fonctions de réseau RoCE (RDMA over Converged Ethernet) pour assurer une bande passante élevée et une faible latence, des modules de mémoire persistante (PMEM) et le logiciel Exadata intelligent. Vous pouvez provisionner les systèmes X8M et X9M à l'aide d'une forme équivalente à un système X8 et X9M en quart de rack, puis ajouter des serveurs de base de données et de stockage à tout moment après le provisionnement.

    Oracle Exadata Database Service on Dedicated Infrastructure fournit Oracle Exadata Database Machine en tant que service dans un centre de données Oracle Cloud Infrastructure (OCI). L'instance Oracle Exadata Database Service on Dedicated Infrastructure est un cluster de machines virtuelles qui réside dans les racks Exadata d'une région OCI.

    Oracle Exadata Database Service on Cloud@Customer fournit Oracle Exadata Database Service qui est hébergé dans votre centre de données.

  • Data Guard

    Oracle Data Guard fournit un ensemble complet de services permettant de créer, de tenir à jour, de gérer et de surveiller des bases de données de secours afin que les bases de données Oracle de production restent disponibles sans interruption. Oracle Data Guard gère ces bases de données de secours en tant que copies de la base de données de production. Ensuite, si la base de données de production devient indisponible en raison d'une panne planifiée ou non planifiée, Oracle Data Guard peut basculer n'importe quelle base de données de secours vers le rôle de production, ce qui réduit le temps d'arrêt associé à la panne.

Composants Microsoft Azure
  • Réseau virtuel (VNet)

    Azure Virtual Network (VNet) est le bloc de construction fondamental de votre réseau privé dans Azure. VNet permet à de nombreux types de ressources Azure, telles que les machines virtuelles Azure, de communiquer en toute sécurité les unes avec les autres, Internet et les réseaux sur site.

  • VNet Appairage sur le réseau de base Azure

    L'appairage de réseau virtuel vous permet de connecter de manière transparente deux réseaux virtuels ou plus dans Azure. Les réseaux virtuels apparaissent comme un réseau à des fins de connectivité. Le trafic entre les machines virtuelles dans les réseaux virtuels appairés utilise l'infrastructure dorsale Microsoft. Comme le trafic entre des machines virtuelles sur le même réseau, le trafic est acheminé via le réseau privé d'Microsoft uniquement. L'appairage de réseau virtuel global est utilisé pour connecter des réseaux virtuels dans les régions Azure.

  • Récupération du site

    Azure Site Recovery réplique une machine virtuelle Azure vers une autre région Azure directement à partir du portail Azure. Vous pouvez réduire les problèmes de récupération en séquençant l'ordre des applications à plusieurs niveaux exécutées sur plusieurs machines virtuelles et en maintenant les applications disponibles pendant un sinistre.

Recommandations

Utilisez les recommandations suivantes comme point de départ. Vos besoins peuvent différer de l'architecture décrite ici.
  • Récupération après sinistre
    • Le test de récupération après sinistre est une pratique standard des opérations informatiques de l'entreprise. Il est recommandé de permuter la production et la récupération après sinistre tous les trois à six mois pour garantir le meilleur basculement et le rétablissement.
    • Le basculement des bases de données et des applications doit se produire en même temps, dans OCI et Azure, respectivement vers les régions de récupération après sinistre.
    • Utilisez la chaîne de connexion TNS recommandée et suivez les meilleures pratiques d'Oracle Maximum Availability Architecture pour garantir une disponibilité continue de vos applications.
      ALIAS = (DESCRIPTION = (CONNECT_TIMEOUT=90) (RETRY_COUNT=20)(RETRY_DELAY=3)
              (TRANSPORT_CONNECT_TIMEOUT=3)
                    (ADDRESS_LIST = (LOAD_BALANCE=on)
                          ( ADDRESS = (PROTOCOL = TCP)(HOST=primary-scan)(PORT=1521)))
                    (ADDRESS_LIST = (LOAD_BALANCE=on)
                          ( ADDRESS = (PROTOCOL = TCP)(HOST=secondary-scan)(PORT=1521)))
                    (CONNECT_DATA=(SERVICE_NAME = gold-cloud)))

    La chaîne de connexion TNS inclut les hôtes principal et de secours. Des valeurs spécifiques peuvent être réglées, mais les valeurs de cet exemple sont des points de départ raisonnables.

  • Utilisez Oracle Data Guard Fast-Start Failover pour automatiser le basculement de base de données et réduire le temps de récupération sans effectuer d'étape manuelle.
  • Créez des services de base de données personnalisés basés sur les rôles pour votre application en utilisant le rôle principal pour le site principal et le rôle de secours pour le site secondaire lorsqu'ils sont utilisés pour des charges de travail en lecture seule. Les services de base de données démarrent et s'arrêtent automatiquement sur un site en fonction de leur rôle.

Remarques

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

  • Objectif de point de récupération (RPO) et objectif de délai de récupération (RTO)

    Choisissez le mode de protection des données Oracle Data Guard approprié en fonction des besoins de votre entreprise. Choisissez Performances maximales ou Disponibilité maximale pour définir la priorité des performances de la base de données de production ou Protection maximale pour définir la priorité de la protection des données.

  • Connectivité réseau

    Etablissez une connectivité réseau sur site à plusieurs régions OCI et Azure.

  • Latence faible

    Placez la machine virtuelle d'application Azure dans la zone de disponibilité qui présente la latence la plus faible avec les noeuds Oracle Database créés par OracleDB pour Azure.

  • Aucune perte de données

    L'instance Oracle Data Guard Far Sync peut être utilisée pour éviter toute perte de données sans affecter les performances des applications si la latence réseau entre les régions est trop élevée.

Remerciements

  • Authors: Thomas Van Buggenhout, Ejaz Akram, Wei Han, Sinan Petrus Toma
  • Contributor: Julien Silverston