Déploiement de charges de travail isolées sur plusieurs emplacements et zones

Ce tutoriel peut entraîner des coûts. Utilisez l'Estimateur de coûts pour générer une estimation du coût en fonction de votre utilisation projetée.

Ce tutoriel vous guide pas à pas pour configurer des charges de travail à haute disponibilité et isolées en mettant à disposition des IBM Cloud® Virtual Private Clouds (VPC). Vous allez créer des instances de serveur virtuel (VSIs) dans plusieurs zones d'une région afin d'assurer la haute disponibilité de l'application. Vous allez créer des VSI supplémentaires dans une deuxième région et configurer un équilibreur de charge global (GLB) pour offrir une haute disponibilité entre les régions et réduire la latence du réseau pour les utilisateurs dans différentes zones géographiques.

Vous devez fournir un service IBM Cloud Internet Services (CIS) en tant que GLB à partir du catalogue et un service IBM Cloud Secrets Manager du catalogue pour gérer le certificat TLS (Transport Layer Security) pour toutes les demandes HTTPS entrantes.

Objectifs

  • Comprendre le concept d'isolement des charges de travail à l'aide des objets d'infrastructure disponibles pour les clouds privés virtuels.
  • Utiliser un équilibreur de charge entre les zones d'une région pour répartir le trafic entre des serveurs virtuels.
  • Utiliser un équilibreur de charge global entre les régions pour mettre en place la haute disponibilité, augmenter la résilience et réduire les temps d'attente.

d'architecture du

  1. L'administrateur (DevOps) met à disposition des instances VSI dans des sous-réseaux situés dans deux zones différentes d'un VPC de la région 1 et reproduit cette action dans un VPC créé dans la région 2.
  2. L'administrateur crée un équilibreur de charge avec un pool dorsal de serveurs dans différentes zones de la région 1 et un programme d'écoute frontal. Il reproduit cette action dans la région 2.
  3. L'administrateur met à disposition une instance IBM Cloud Internet Services avec un domaine personnalisé associé et crée un équilibreur de charge global pointant sur les équilibreurs de charge créés dans deux VPC différents.
  4. L'administrateur active le chiffrement HTTPS en ajoutant le certificat SSL du domaine au service Secrets Manager.
  5. L'utilisateur effectue une demande HTTP/HTTPS et l'équilibreur de charge global gère la demande.
  6. La demande est acheminée vers les équilibreurs de charge au niveau global et local. La demande est ensuite satisfaite par l'instance de serveur disponible.

Avant de commencer

  • Vérifiez les autorisations d'utilisateur. Assurez-vous que votre compte d'utilisateur dispose des droits suffisants pour créer et gérer des ressources VPC. Consultez la liste des autorisations requises pour VPC.
  • Une clé SSH est nécessaire pour la connexion aux serveurs virtuels. Si vous n'avez pas de clé SSH, reportez-vous aux instructions afin d'en créer une pour VPC.

Créez des clouds privés virtuels, des sous-réseaux et des instances de serveur virtuel

Dans cette section, vous allez créer votre propre VPC dans la région 1 avec des sous-réseaux créés dans deux zones différentes de la région 1, suivie de la mise à disposition des VSI.

Créer un cloud privé virtuel

  1. Accédez à la page Nuages privés virtuels et cliquez sur Créer.
  2. Dans la section Emplacement, sélectionnez une Zone géographique et une Région, par exemple Europe et London.
  3. Saisissez vpc-region1 comme nom de votre VPC, sélectionnez un groupe de ressources et ajoutez éventuellement des balises pour organiser vos ressources.
  4. Désélectionnez Autoriser SSH et Autoriser la commande ping à partir du Groupe de sécurité par défaut. L'accès SSH sera ultérieurement ajouté à un groupe de sécurité de maintenance. Le groupe de sécurité de maintenance est ajouté à une instance pour autoriser l'accès SSH à partir d'un serveur bastion. Un accès par commande Ping n'est pas requis pour ce tutoriel.
  5. Laissez l'option Activer l'accès aux ressources classiques désélectionnée et l'option Créer un préfixe par défaut pour chaque zone sélectionnée.
  6. Sous Sous-réseaux, modifiez le nom du sous-réseau Zone 1. Cliquez sur l'icône de crayon.
    • Entrez vpc-region1-zone1-subnet comme nom unique de votre sous-réseau.
    • Utilisez le même groupe de ressources que le groupe de ressources VPC.
    • Conservez les valeurs par défaut pour les autres options.
    • Cliquez sur Sauvegarder.
  7. Sous Sous-réseaux, modifiez le nom du sous-réseau Zone 2. Cliquez sur l'icône de crayon.
    • Entrez vpc-region1-zone2-subnet comme nom unique de votre sous-réseau.
    • Utilisez le même groupe de ressources que le groupe de ressources VPC.
    • Conservez les valeurs par défaut pour les autres options.
    • Cliquez sur Sauvegarder.
  8. Sous Sous-réseaux, supprimez le sous-réseau dans Zone 3. Cliquez sur l'icône moins.
  9. Cliquez sur Créer une instance de serveur virtuel pour mettre l'instance à disposition.

Création d'un groupe de sécurité pour autoriser le trafic entrant dans votre application

Activez les règles entrantes pour les ports HTTP (80) et HTTPS (443) vers l'application en définissant des règles dans un groupe de sécurité. Au cours des étapes ultérieures, vous ajoutez des VSI au groupe de sécurité.

  1. Accédez à la page Groupes de sécurité et cliquez sur Créer.

  2. Entrez vpc-region1-sg pour le nom, sélectionnez le même Groupe de ressources que le groupe de ressources VPC.

  3. Sélectionnez le cloud privé virtuel vpc-region1 précédemment créé.

  4. Ajoutez les mêmes règles entrantes que celles du tableau ci-dessous, puis cliquez sur Créer un groupe de sécurité.

    Règles entrantes
    Protocole Type source Source Valeur
    TCP Tout 0.0.0.0/0 Ports 80-80
    TCP Tout 0.0.0.0/0 Ports 443-443

Mettez à disposition des instances de serveur virtuel.

  1. Accédez à la page Sous-réseaux.
  2. Vérifiez que le statut de tous les sous-réseaux est Disponible.
  3. Cliquer sur vpc-region1-zone1-subnet suivi de Attached resources, puis sous Attached instances cliquer sur Create.
    1. Entrez vpc-region1-zone1-vsi comme nom unique de votre serveur virtuel.
    2. Vérifiez ou définissez les zones Virtual private cloud, Resource group, Location et Zone.
  4. Sous la section Image et profil, cliquez sur Modifier l'image.
  5. Dans la zone Rechercher des éléments, entrez Ubuntu et sélectionnez une version de l'image, puis cliquez sur Enregistrer.
  6. Sous la section Profil, cliquez sur Modifier le profil.
  7. Sélectionnez Calculer avec 2 vCPUs et 4 GB RAM comme profil et cliquez sur Sauvegarder.
  8. Définissez les clés SSH sur la clé SSH que vous avez créée précédemment.
  9. Sous Pièces jointes réseau avec interface réseau virtuelle, cliquez sur l'icône en forme de crayon sur la ligne correspondant à l'interface eth0.
    • Cliquez sur Suivant.
    • Cochez vpc-region1-sg et décochez le groupe de sécurité VPC par défaut.
    • Cliquez quelques fois sur Suivant, puis sur Sauvegarder.
  10. Cliquez sur Créer un serveur virtuel.
  11. Répétez les étapes ci-dessus pour mettre à disposition un serveur virtuel vpc-region1-zone2-vsi dans le sous-réseau vpc-region1-zone2-subnet.

Créer des ressources dans un autre emplacement

Répétez les étapes ci-dessus à partir de l'étape 1 pour mettre à disposition un nouveau VPC avec des sous-réseaux et des instances de serveur virtuel dans une autre région, par exemple, Francfort. Suivez les mêmes conventions de dénomination que ci-dessus en remplaçant region2 par region1.

Installez et configurez le serveur Web sur les instances de serveur virtuel

Suivez les étapes indiquées dans Accès sécurisé aux instances distantes à l'aide d'un hôte bastion pour la maintenance sécurisée des serveurs. Utilisez un hôte bastion qui agit en tant que serveur jump et un groupe de sécurité de maintenance pour les VSI précédemment mis à disposition. Un hôte bastion dans chaque VPC est requis.

Lorsque vous avez correctement créé l'accès SSH sur le serveur mis à disposition dans le sous-réseau de la zone 1 de la région 1,

  1. A l'invite, exécutez les commandes suivantes pour installer Nginx en tant que serveur Web.
    sudo apt-get update
    sudo apt-get install nginx
    
  2. Vérifiez l'état du service Nginx à l'aide de la commande suivante :
    sudo systemctl status nginx
    
    La sortie devrait montrer que le service Nginx est actif et en cours d'exécution.
  3. Vérifiez éventuellement que Nginx fonctionne comme prévu. curl localhost. La page d'accueil Nginx par défaut devrait s'afficher.
  4. Pour mettre à jour la page html avec les détails de la région et de la zone, exécutez la commande ci-dessous.
    nano /var/www/html/index.nginx-debian.html
    
    Ajoutez la région et la zone à la h1 balise entre guillemets Welcome to nginx! pour lire Welcome to nginx! server running in **zone 1 of region 1** et sauvegarder les modifications.
  5. Vérifiez les modifications en exécutant une commande curl localhost.
  6. Répétez les étapes ci-dessus pour installer et configurer le serveur web sur les VSI dans les sous-réseaux de toutes les zones et n'oubliez pas de mettre à jour le html pour inclure les informations de la région et de la zone respectives.

Répartition du trafic entre les zones à l'aide des équilibreurs de charge

Dans cette section, vous allez créer deux équilibreurs de charge. Un dans chaque région pour répartir le trafic entre plusieurs instances de serveur sous des sous-réseaux respectifs au sein de différentes zones.

Créez un groupe de sécurité pour autoriser le trafic entrant et sortant via les équilibreurs de charge

Pour permettre le trafic vers l'application, vous devez activer les règles entrantes et sortantes pour les ports HTTP (80) et HTTPS (443). Dans les étapes suivantes, lors de la création des équilibreurs de charge, vous les ajouterez au groupe de sécurité définissant ces règles.

  1. Accédez à la page Groupes de sécurité et cliquez sur Créer.

  2. Sélectionnez le cloud privé virtuel vpc-region1 précédemment créé.

  3. Entrez vpc-lb-sg pour le nom, sélectionnez le même Groupe de ressources que le groupe de ressources VPC.

  4. Ajoutez les mêmes règles entrantes que celles trouvées dans le tableau ci-dessous.

    Règles entrantes
    Protocole Type source Source Valeur
    TCP Tout 0.0.0.0/0 Ports 80-80
    TCP Tout 0.0.0.0/0 Ports 443-443
  5. Ajoutez les mêmes règles sortantes que celles qui se trouvent dans le tableau ci-dessous, puis cliquez sur Créer un groupe de sécurité.

    Règles sortantes
    Protocole Type source Source Valeur
    TCP Tout 0.0.0.0/0 Ports 80-80
    TCP Tout 0.0.0.0/0 Ports 443-443
  6. Répétez les étapes ci-dessus dans la région 2.

Configuration des équilibreurs de charge

  1. Accédez à la page Equilibreurs de charge et cliquez sur Créer.
  2. Sélectionnez Application Load Balancer (ALB) comme type d'équilibreur de charge.
  3. Dans la section Emplacement, sélectionnez les mêmes zones Géographie et Région que celles que vous avez utilisées pour le cloud privé virtuel vpc-region1 créé précédemment.
  4. Entrez vpc-lb-region1 pour le nom, sélectionnez le même Groupe de ressources que le groupe de ressources VPC.
  5. Sélectionnez le cloud privé virtuel vpc-region1 précédemment créé.
  6. Sélectionnez les sous-réseaux vpc-region1-zone1-subnet et vpc-region1-zone2-subnet.
  7. Cliquez sur Créer un pool pour créer un pool dorsal de disques virtuels qui agit en tant que pairs égaux pour partager le trafic acheminé vers le pool. Définissez les paramètres avec les valeurs ci-dessous et cliquez sur Créer lorsque vous avez terminé.
    • Nom: region1-pool
    • Protocole: HTTP
    • Rétention de session: None
    • Protocole proxy: Disabled
    • Méthode: Round robin
    • Chemin de diagnostic d'intégrité: /
    • Protocole de santé: HTTP
    • Port de santé : Laissez vide
    • Intervalle (sec): 15
    • dépassement du délai d'attente (s): 5
    • Nombre maximal de nouvelles tentatives: 2
    • Cliquez sur Créer.
  8. Cliquez sur Connecter un serveur pour ajouter des instances de serveur au pool.
    • Dans la liste déroulante Sous-réseaux, sélectionnez vpc-region1-zone1-subnet et vpc-region1-zone2-subnet.
    • Sélectionnez les instances que vous avez créées et définissez 80 comme port.
    • Cliquez sur Connecter pour terminer la création d'un pool de back-end.
  9. Cliquez sur Créer programme d'écoute pour créer un nouveau programme d'écoute frontal ; Un programme d'écoute est un processus qui vérifie les demandes de connexion.
    • Pool de backend: region1-pool
    • Protocole: HTTP
    • Protocole de proxy : non vérifié
    • Port : 80
    • Nombre maximal de connexions: laissez la zone vide et cliquez sur Créer.
  10. Sous Groupes de sécurité, cochez vpc-lb-sg et décochez le groupe de sécurité par défaut.
  11. Cliquez sur Créer un équilibreur de charge pour provisionner l'équilibreur de charge.
  12. Répétez les étapes ci-dessus dans la région 2, en nommant cette fois l'équilibreur de charge vpc-lb-region2 et le pool de back-end region2-pool.

Test des équilibreurs de charge

  1. Patientez jusqu'à ce que le statut de l'équilibreur de charge passe à Actif.
  2. Ouvrez le nom d'hôte dans un navigateur Web.
  3. Actualisez la page plusieurs fois et remarquez que l'équilibreur de charge renvoie des résultats provenant de différentes zones ou instances de serveurs virtuels à chaque actualisation.
  4. Enregistrez l'adresse pour référence ultérieure.

Vous avez peut-être remarqué que les demandes ne sont pas chiffrées et prennent en charge uniquement HTTP. Dans la section suivante, vous allez configurer un certificat SSL et activer HTTPS.

Configuration de l'équilibrage de charge sur plusieurs emplacements

Votre application fonctionne maintenant dans deux régions, mais il lui manque un composant pour que les utilisateurs puissent y accéder de manière transparente à partir d'un point d'entrée unique.

Dans cette section, vous allez configurer IBM Cloud Internet Services (CIS) pour répartir la charge entre les deux régions. CIS fournit l'Équilibreur de charge global (GLB), la Mise en cache, le Pare-feu d'application Web (WAF) et la Règle de page pour sécuriser vos applications tout en garantissant la fiabilité et les performances de vos applications cloud.

Pour configurer un équilibreur de charge global, vous devez :

  • faire pointer un domaine personnalisé vers des serveurs de noms CIS,
  • extraire les adresses IP ou les noms d'hôte des équilibreurs de charge VPC,
  • configurer des diagnostics d'intégrité pour valider la disponibilité de votre application,
  • et définir des pools d'origine pointant sur les équilibreurs de charge VPC.

Ajouter un domaine personnalisé à IBM Cloud Internet Services

La première étape consiste à créer une instance de CIS et de faire pointer votre domaine personnalisé vers des serveurs de noms CIS.

  1. Si vous ne possédez pas de domaine, vous pouvez en acheter un auprès d'un bureau d'enregistrement.

  2. Accédez à IBM Cloud Internet Services dans le catalogue IBM Cloud.

  3. Sélectionnez un plan, définissez le nom du service et le groupe de ressources, puis cliquez sur Créer pour créer une instance du service.

  4. Lorsque l'instance de service est mise à disposition, cliquez sur Ajouter un domaine.

  5. Entrez votre nom de domaine et cliquez sur Suivant.

  6. La configuration de vos enregistrements DNS est une étape facultative et peut être ignorée pour ce tutoriel. Cliquez sur Suivant.

  7. Lorsque les serveurs de noms sont attribués, configurez votre registraire ou votre fournisseur de nom de domaine pour utiliser les serveurs de noms répertoriés.

  8. Á ce stade, vous pouvez cliquer sur Annuler pour revenir à la page principale, une fois que vous avez configuré votre unité d'enregistrement ou le fournisseur DNS, cela peut nécessiter jusqu'à 24 heures pour que les modifications prennent effet.

    Lorsque le statut du domaine sur la Page de présentation passe de En attente à Actif, vous pouvez utiliser ladig <your_domain_name> ns commande pour vérifier que les nouveaux serveurs de noms sont entrés en vigueur.

Configuration du diagnostic d'intégrité pour l'équilibreur de charge global

Le contrôle de santé vous aide à avoir un meilleur aperçu de la disponibilité des pools de manière à pouvoir rediriger le trafic vers les pools qui sont sains. Ces contrôles envoient régulièrement des requêtes HTTP/HTTPS et surveillent les réponses.

  1. Dans le tableau de bord IBM Cloud Internet Services , accédez à Fiabilité > Équilibreurs de charge globaux.

  2. Sélectionnez Diagnostics d'intégrité et cliquez sur Créer.

  3. Définir le nom sur nginx.

  4. Sélectionnez HTTP pour Type de moniteur.

  5. Régler le port sur 80.

  6. Définir le chemin d'accès à /.

  7. Cliquez sur Créer.

    Lorsque vous créez vos propres applications, vous pouvez définir un point de terminaison dédié à la santé, tel que /health, qui vous permettra de signaler l'état de l'application.

Définition des pools d'origine

Un pool est un groupe de VSI d'origine ou d'équilibreurs de charge vers lesquels le trafic est acheminé de manière intelligente lorsqu'il est attaché à un équilibreur de charge global. Avec des équilibreurs de charge VPC dans deux régions, vous pouvez définir des pools basés sur l'emplacement et configurer CIS de façon à rediriger les utilisateurs vers l'équilibreur de charge VPC le plus proche en fonction de l'emplacement géographique des demandes des utilisateurs.

Pool d'origine de l'équilibreur de charge VPC

  1. Sélectionnez Pools d'origine et cliquez sur Créer.
  2. Entrez un nom pour le pool : region-1-pool.
  3. Définissez Nom d'origine sur region-1.
  4. Définissez Adresse d'origine sur le nom d'hôte de l'équilibreur de charge VPC de la région1. Voir la page de présentation de l'équilibreur de charge VPC.
  5. Sélectionnez un bilan de santé existant et sélectionnez le bilan de santé créé précédemment.
  6. Sélectionnez une région de bilan de santé proche de la région d'implantation 1.
  7. Cliquez sur Sauvegarder.
  8. Répétez les étapes ci-dessus pour la région 2.

Création de l'équilibreur de charge global

Une fois les pools d'origine définis, vous pouvez effectuer la configuration de l'équilibreur de charge.

  1. Sélectionnez Equilibreurs de charge et cliquez sur Créer.

  2. Conservez les valeurs par défaut de Activer: On et Proxy: Off.

  3. Entrez le nom de l'équilibreur de charge global, lb, ce nom sera les caractères initiaux du sous-domaine pour accéder à l'application.http://lb``<your_domain_name>).

  4. Cliquez sur Ajouter une route.

  5. Sélectionnez la Région: Default.

  6. Sélectionnez les pools d'origine que vous venez de créer, à savoir region-1-pool et region-2-pool.

  7. Cliquez sur Ajouter.

  8. Développez la section Routes géographiques pour répartir le trafic en fonction de la région d'origine.

    Vous pouvez ajouter d'autres routes si vous le souhaitez en fonction des zones géographiques et du trafic direct vers le pool le plus proche. Cliquez sur Add route, sélectionnez une région d'équilibreur de charge global, par exemple l'Europe de l'Ouest, et sélectionnez le pool souhaité, par exemple region-2-pool puis cliquez sur Add. Si une demande ne correspond à aucune des routes définies, elle sera redirigée vers les pools d'origine par défaut. Les utilisateurs de la région de l'équilibreur de charge global que vous avez définie seront dirigés vers les équilibreurs de charge/VSI les plus proches.

  9. Cliquez sur Créer.

Sécurisation avec HTTPS

Le chiffrement HTTPS exige que les certificats signés soient accessibles à la fois depuis l'équilibreur de charge global CIS et les équilibreurs de charge VPC. Le IBM Cloud Secrets Manager sera utilisé pour commander ou importer puis gérer le certificat de votre domaine. L'autorisation de service IAM (Identity and Access Management) est alors configurée pour autoriser l'accès en lecture au certificat à partir du service souhaité.

Création et autorisation d'une instance Secrets Manager

  1. Si vous disposez d'une instance Secrets Manager existante, vous pouvez l'utiliser pour ce tutoriel ou en créer une nouvelle si nécessaire en suivant les étapes décrites dans Création d'une instance de service Secrets Manager.

  2. Créez une autorisation permettant à l'instance de service de l'équilibreur de charge VPC d'accéder à l'instance Secrets Managerqui contient le certificat SSL.

    • Accédez à Identity and Access Authorizations.
    • Cliquez sur Créer et sélectionnez Services d'infrastructure VPC comme service source.
    • Sélectionnez Ressources spécifiques, Type de ressource, puis Equilibreur de charge pour VPC.
    • Secrets Manager comme service cible.
    • Affectez le rôle d'accès au service Editeur.
    • L'instance de service cible peut être Toutes les ressources, ou votre instance Secrets Manager spécifique si vous le souhaitez. Permet de sélectionner l'option Toutes les ressources pour le moment.
    • Cliquez sur Autoriser.
  3. Toujours dans la page Gérer les autorisations, créez une autorisation qui donne à Secrets Manager l'accès à CIS:

    • Cliquez sur Créer et choisissez Secrets Manager comme service source.
    • Choisissez Toutes les ressources ou seulement la Secrets Manager créée précédemment.
    • Services Internet comme service cible.
    • Choisissez Toutes les ressources ou seulement le CIS créé précédemment.
    • Affectez le rôle d'accès au service Responsable.
    • Cliquez sur Autoriser.

    Si votre instance CIS prend en charge plusieurs domaines, vous pouvez également affecter un rôle Lecteur à l'instance CIS et Gestionnaire au domaine spécifique que vous utilisez pour votre solution. Voir la rubrique Octroi de l'accès au service à des domaines spécifiques.

IBM CIS prend en charge le proxy pour les équilibreurs de charge globaux. Lorsqu'un équilibreur de charge est proxy, cela signifie que son trafic s'exécute directement via CIS. Les équilibreurs de charge prennent en charge à la fois les modes de proxy DNS uniquement et proxy HTTP. Vous pouvez également évaluer laquelle des deux options ci-dessous correspond le mieux à votre cas d'utilisation avant de poursuivre, car le comportement de routage de trafic diffère de la manière suivante :

  • Alternative 1: Le trafic qui est traité par un proxy passe par CIS.
  • Alternative 2 : Le trafic qui n'est pas traité par un proxy (mode DNS seul) passe du client vers l'origine. En mode DNS uniquement, aucune des fonctions de sécurité, de performance et de fiabilité du CIS n'est appliquée.

Flux de circulation
Flux de circulation

Pour plus d'informations, consultez la rubrique Proxying DNS records and global load balancers .

Alternative 1: Proxy, flux de circulation via CIS

Cette première alternative crée un certificat wildcard pour le domaine personnalisé, puis le proxie dans le IBM Cloud Internet ServicesCIS), ce qui vous permet de bénéficier des meilleures capacités de sécurité, de protection et de performance du secteur. Remplacez example.com par votre nom de domaine personnalisé dans les étapes ci-dessous.

Actuellement, la commande de certificats est effectuée à l'aide de Let's Encrypt. Vous pouvez suivre la rubrique Autorités de certification prises en charge pour les mises à jour. L'utilisation de Let's Encrypt requiert un compte ACME. Suivez les étapes décrites dans la rubrique Connexion des autorités de certification tierces pour créer ou enregistrer votre compte. En outre, vous devez ajouter un fournisseur DNS en suivant les étapes de la rubrique Connexion de fournisseurs DNS. Pour ce tutoriel, vous devez ajouter CIS en tant que fournisseur DNS.

Initialement, HTTPS est configuré à partir de l'utilisateur vers Secrets Manager uniquement.

  1. Commandez un certificat sur Secrets Manager
    • Ouvrez le service Secrets Manager et sélectionnez Secrets à gauche.
    • Cliquez sur Ajouter.
    • Si vous utilisez une nouvelle instance Secrets Manager, vous devrez la configurer avant de commander votre certificat. Suivez les étapes décrites dans Préparation de la commande de certificats publics.
    • Cliquez sur Public certificate, puis sur Next.
    • Remplissez le formulaire :
      • Nom - entrez un nom que vous pouvez mémoriser facilement.
      • Description - entrez une description de votre choix.
      • Cliquez sur Suivant.
      • Sous Autorité de certification , sélectionnez votre moteur d'autorité de certification Let's Encrypt configuré.
      • Sous Algorithme de clé, choisissez votre algorithme préféré.
      • Certificats de bundle - laisser désactivé
      • Rotation automatique des certificats - - laisser désactivé
      • Sous Fournisseur DNS, sélectionnez votre instance de fournisseur DNS configurée
      • Cliquez sur Sélectionner des domaines, cochez Sélectionner avec le caractère générique et laissez le domaine lui-même désélectionné, puis cliquez sur Terminé.
    • Cliquez sur Suivant.
    • Passez en revue vos sélections et cliquez sur Ajouter.
    • Vous n'avez pas besoin d'attendre la fin de l'activation pour exécuter l'étape suivante, mais vous devez attendre la fin de l'activation avant de vérifier que l'opération a abouti.
  2. Configurez HTTPS dans les navigateurs Web du client vers le noeud final CIS. Dans CIS, configurez la sécurité TLS :
    • Ouvrez le panneau Sécurité et choisissez TLS.
    • Dans la zone Mode, choisissez Client à périphérie. Les connexions HTTPS seront ainsi terminées sur l'équilibreur de charge global et les connexions HTTP prendront le relais vers l'équilibreur de charge VPC.
  3. Dans CIS, configurez l'équilibreur de charge global de telle sorte qu'il utilise TLS :
    • Ouvrez le panneau Fiabilité et choisissez Équilibreurs de charge globaux.
    • Localisez l'équilibreur de charge global créé précédemment et activez le Proxy.
  4. Dans un navigateur, ouvrez https://lb.example.com pour vérifier que vous avez réussi.

Configurez ensuite HTTPS depuis CIS vers l'équilibreur de charge VPC.

Ajoutez un programme d'écoute HTTPS aux équilibreurs de charge VPC :

  1. Accédez à VPC puis à Équilibreurs de charge et cliquez sur vpc-lb-region1.

  2. Choisissez Programmes d'écoute frontaux.

  3. Cliquez sur Créer un programme d'écoute.

  4. Sélectionnez Pool de back-end par défaut: region1-pool ou region2-pool.

  5. Sélectionnez HTTPS et entrez la valeur 443 pour le port.

  6. Sélectionnez l'instance Secrets Manager que vous avez créée précédemment. La liste déroulante Certificat SSL doit afficher le nom du certificat que vous avez commandé à l'aide de votre instance Secrets Manager plus tôt à partir de Let's Encrypt. Cliquez sur Créer.

    Si la liste déroulante des certificats SSL ne contient pas example.com, vous avez peut-être manqué l'étape d'autorisation ci-dessus qui donne à l'équilibreur de charge du VPC l'accès au service Secrets Manager Vérifiez que le service Secrets Manager dispose d'un certificat pour example.com

  7. Répétez les étapes ci-dessus pour l'équilibreur de charge vpc-lb-region2.

Le certificat générique créé permettra d'accéder à un nom de domaine tel que vpc-lb-region1 .example.com. Ouvrez l'onglet Présentation de l'équilibreur de charge VPC vpc-lb-region1. Vous pouvez constater que le nom d'hôte est xxxxxxx-REGION.lb.appdomain.cloud. Par conséquent, le certificat générique ne fonctionnera pas. Corrigez ce problème en créant un alias et puis mettez à jour la configuration.

  1. Un enregistrement DNS CNAME peut être créé pour permettre aux clients de rechercher vpc-lb-region1 .example.com et de résoudre xxxxxxx-REGION.lb.appdomain.cloud

    • Dans le panneau CIS, ouvrez le panneau Fiabilité et choisissez DNS.
    • Faites défiler vers le bas jusqu'aux enregistrements DNS et créez un enregistrement Type : Type: CNAME, Name: vpc-lb-region1, TTL : Automatique et Nom de domaine d'alias : Nom d'hôte de l'équilibreur de charge VPC.
    • Ajoutez un enregistrement DNS CNAME pour vpc-lb-region2.
  2. Maintenant, réglez l'équilibreur de charge global afin qu'il utilise les nouveaux enregistrements CNAME.

    • Ouvrez le panneau Fiabilité et choisissez Équilibreurs de charge globaux.
    • Find and edit the Piscines d'origine to change the Origines Adresse d'origine to vpc-lb-region1.example.com.
    • Répéter les étapes ci-dessus pour vpc-lb-region2.example.com
  3. Activez la sécurité de bout en bout.

    • Ouvrez le panneau Sécurité et choisissez TLS.
    • Dans la zone Mode, choisissez Signé par autorité de certification de bout en bout. Cela utilisera des connexions HTTPS à l'équilibreur de charge global et des connexions HTTPS à l'équilibreur de charge du VPC.

Dans un navigateur, ouvrez https://lb.example.com pour vérifier le succès de l'opération

Alternative 2 : mode DNS uniquement, le trafic circule directement du client vers les équilibreurs de charge du VPC.

Dans cette alternative, vous allez commander un certificat SSL pour lb.example.com dans Let's Encrypt via Secrets Manager et vous allez et configurer l'équilibreur de charge global.

Actuellement, il n'est pas possible de commander directement un certificat pour un équilibreur de charge global CIS, mais il est possible d'en commander un pour un enregistrement CNAME. Nous allons donc créer un CNAME pour commander le certificat.

  1. Ouvrez le service CIS que vous avez créé précédemment. Vous le trouverez dans la liste Liste de ressources

  2. Accédez à Equilibreurs de charge globaux sous Fiabilité et cliquez sur DNS.

  3. Faites défiler vers le bas jusqu'à la section Enregistrements DNS et créez un enregistrement :

    • Type: CNAME
    • Nom: lb
    • TTL : default (Automatic)
    • Nom de domaine d'alias: zzz.example.com
    • Cliquez sur Ajouter un enregistrement
  4. Commandez un certificat sur Secrets Manager

    • Ouvrez le service Secrets Manager et sélectionnez Secrets à gauche.
    • Cliquez sur Ajouter, puis sur Certificat public. Cliquez sur Suivant.
    • Remplissez le formulaire :
      • Nom - lb-alias.
      • Description - entrez une description de votre choix.
      • Cliquez sur Suivant.
      • Sous Autorité de certification , sélectionnez votre moteur d'autorité de certification Let's Encrypt configuré.
      • Sous Algorithme de clé, sélectionnez RSA4096
      • Certificats de bundle - laisser désactivé
      • Rotation automatique des certificats - - laisser désactivé
      • Sous Fournisseur DNS, sélectionnez votre instance de fournisseur DNS configurée
      • Cliquez sur Sélectionner des domaines
      • Développez le domaine listé pour voir la liste des sous-domaines et cochez la case à côté de lb.example.com et cliquez sur Terminé.
    • Cliquez sur Suivant.
    • Passez en revue vos sélections et cliquez sur Ajouter.

Créez un programme d'écoute HTTPS :

  1. Accédez à la page Equilibreurs de charge VPC.

  2. Sélectionnez vpc-lb-region1

  3. Sous Programmes d'écoute frontaux, cliquez sur Créer.

    • Protocole : HTTPS
    • Port : 443
    • Pool de back-end : POOL dans la même région
    • Choisissez la région en cours comme région SSL
    • Choisissez le nom de commande du certificat SSL que vous venez de créer pour lb.example.com
  4. Cliquez sur Sauvegarder pour configurer un écouteur HTTPS

Répétez les étapes ci-dessus dans l'équilibreur de charge de la région 2.

Dans un navigateur, ouvrez lb.example.com pour vérifier le succès de l'opération

Test de reprise en ligne

Vous devez maintenant avoir constaté que la plupart du temps, vous accédez aux serveurs dans la région 1, car leur pondération est supérieure à celle des serveurs de la région 2. Introduisons un échec du contrôle de santé dans le pool d'origine de la région 1,

  1. Accédez à la liste des instances de serveur virtuel.

  2. Cliquez sur Trois points (...) en regard du (s) serveur (s) en cours d'exécution dans Zone 1 de Région 1 et cliquez sur Arrêter.

  3. Répétez les mêmes étapes pour le ou les serveurs en cours d'exécution dans la zone 2 de la région 1.

  4. Revenez à l'équilibreur de charge global (GLB) sous le service CIS et patientez jusqu'à ce que l'état de santé passe à Critique.

  5. Désormais, lorsque vous actualisez l'URL de votre domaine, vous devez toujours utiliser les serveurs de la region 2.

    N'oubliez pas de démarrer les serveurs des zones 1 et 2 de la région 1.

Suppression de ressources

  • Supprimez l'équilibreur de charge global, les pools d'origine et les diagnostics d'intégrité dans le service CIS.
  • Retirez les certificats du service Secrets Manager.
  • Supprimez les équilibreurs de charge, les instances VSI, les sous-réseaux et les VPC.
  • Sous liste de ressources, supprimez les services utilisés dans ce tutoriel.