Configuration de l'accès à une application via Cloud Internet Services (CIS)

Dans ce tutoriel, vous utilisez IBM Cloud Internet Services ( CIS ) pour accéder à une application déployée sur une zone d'atterrissage pour applications avec une architecture déployable sur des serveurs virtuels via Internet. Vous configurez l'infrastructure requise et apprenez à configurer CIS pour accéder à l'application déployée dans l'architecture déployable.

CIS fournit l'équilibreur de charge global, la mise en cache, le pare-feu d'application Web et les règles de page pour sécuriser vos applications et améliorer leur fiabilité et leurs performances.

Objectif

  • Affectez l'accès nécessaire à un opérateur pour accéder à l'environnement VPC, y compris le déploiement d'une application sur les instances de serveur virtuel situées dans le VPC de charge de travail.
  • Exposez l'application sur Internet via un équilibreur de charge VPC afin que n'importe qui puisse accéder aux applications. L'équilibreur de charge peut répartir le trafic entre plusieurs instances de serveur d'applications qui s'exécutent dans le VPC (dans les instances de serveur virtuel de charge de travail), et en réacheminant le trafic uniquement vers les instances qui fonctionnent correctement.
  • Utilisez IBM Cloud Secrets Manager pour gérer le certificat TLS (Transport Layer Security) pour toutes les requêtes HTTPS entrantes.
  • Configurez Cloud Internet Services (CIS) pour accéder à votre application. IBM Cloud Internet Services, optimisé par Cloudflare, fournit un service Internet rapide, hautement performant, fiable et sécurisé sur IBM Cloud.
  • 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.

Avant de commencer

  • Déployez une instance de la zone d'atterrissage pour les applications avec une architecture déployable sur des serveurs virtuels. Pour plus d'informations, voir Déploiement d'une architecture déployable de zone d'arrivée.
  • Assurez-vous que l'architecture déployable de votre zone d'atterrissage dispose d'un serveur virtuel (VSI) opérationnel.
  • Créez une instance de Cloud Internet Services (CIS) et configurez-la avec un nom de domaine actif. Vous pouvez utiliser le module Terraform CIS pour créer et configurer l'instance.

Affecter un accès opérateur

Etant donné que l'accès réseau à la topologie de la VPC landing zone est verrouillé, vous devez affecter un accès opérateur aux instances de serveur virtuel via le VPC de gestion.

  1. Passez en revue les options pour affecter un accès opérateur.

  2. Suivez l'une des approches suivantes :

Dans ce tutoriel, vous exposez l'une des instances de serveur virtuel dans le cloud privé virtuel de gestion en tant que "jump-box". Vous accédez au cloud privé virtuel de charge de travail et déployez votre application dans les instances de serveur virtuel de charge de travail situées dans le cloud privé virtuel de charge de travail.

Affectez un accès opérateur à chaque instance de serveur virtuel dans laquelle vous déployez votre application.

Déployez votre application dans l'instance de serveur virtuel de charge de travail

  1. Accédez à l'instance de serveur virtuel de charge de travail (par exemple, <your_prefix>-workload-server-001) via le VPC de gestion.

    1. Accédez à la liste de contrôle d'accès du VPC de charge de travail et créez une règle entrante et sortante pour activer la communication SSH (port 22) pour le VPC de gestion.
    2. De même, créez une règle entrante et sortante pour activer SSH dans la liste de contrôle d'accès du VPC de gestion pour le VPC de charge de travail.
    3. Copiez la clé SSH (utilisée pour la connexion à l'instance de serveur virtuel de gestion) depuis votre système vers le serveur de gestion.
    4. Connectez-vous au serveur de gestion et exécutez SSH sur l'instance de serveur virtuel de charge de travail à l'aide de son adresse IP réservée et de la clé SSH que vous avez copiée précédemment.
    5. Vérifiez que vous êtes connecté à l'instance de serveur virtuel de charge de travail.
  2. Déployez l'application.

    Pour plus d'informations sur le déploiement de l'application, voir Installation et configuration d'un serveur Web sur les instances de serveur virtuel dans la section Déploiement de charges de travail isolées sur plusieurs emplacements et zones. Ce tutoriel fait référence à nginx, mais vous déployez un serveur Apache sur l'instance de serveur virtuel de charge de travail sur le port 80.

    1. Exécutez les commandes suivantes pour installer le Apache serveur :

      apt-get update
      
      apt-get install apache2 --yes
      
    2. Exécutez la commande suivante pour vérifier l'installation :

      curl http://localhost:80
      
  3. Répétez ces étapes pour déployer l'application sur d'autres instances de serveur virtuel de charge de travail.

Créer des certificats dans Secrets Manager

  1. IBM Cloud Secrets Manager est utilisé pour commander ou importer, puis gérer, le certificat pour votre domaine. Suivez les étapes décrites dans Sécuriser avec HTTPS pour créer et autoriser une Secrets Manager instance.

  2. Ajoutez l'autorité de certification et le fournisseur DNS:

    1. Ouvrez le service Secrets Manager et sélectionnez Public Certificates sous les moteurs de secrets.
    2. Configurez votre autorité de certification avec le moteur d'autorité de certification Let's Encrypt.
    3. Sous Fournisseur DNS, sélectionnez votre instance CIS.
  3. Commandez un certificat public dans Secrets Manager, comme expliqué dans Alternative 1: Proxy, flux de trafic via CIS.

Connecter l'équilibreur de charge VPC public

Maintenant que votre application est déployée sur les instances de serveur virtuel de charge de travail, configurez l'équilibreur de charge pour autoriser l'accès à l'application sur l'Internet public.

  1. Créez un Application Load Balancer for VPCpublic.

    1. Suivez ce tutoriel pour connecter un équilibreur de charge VPC public.
    • Pour le programme d'écoute de front-end, utilisez le protocole de programme d'écoute HTTPS, le port 443 et connectez l'instance Secrets Manager et les certificats publics que vous avez créés à l'étape précédente.
    • Suivez les étapes de la rubrique Mise à jour de la sécurité pour autoriser le trafic externe pour le port 80 et le port 443.
  2. Vérifiez l'accès.

    1. Extrayez le nom d'hôte de votre équilibreur de charge.
      1. Accédez à Infrastructure VPC > Equilibreurs de charge
      2. Sélectionnez votre équilibreur de charge
    2. Copiez la valeur de Hostname
    3. Collez https://<hostname> dans un navigateur et vérifiez si votre application répond.

Configurer un enregistrement DNS dans l'instance CIS

Créez un enregistrement DNS CNAME pour permettre aux clients de rechercher votre domaine (par exemple, example.com) et de résoudre xxx-REGION.lb.appdomain.cloud.

  1. Dans CIS, ouvrez la page Fiabilité et choisissez DNS.

  2. Faites défiler jusqu'à Enregistrements DNS et créez un enregistrement.

    • Type : CNAME
    • Nom: vpc-lb
    • TTL: Automatique
    • Nom de domaine d'alias: Nom d'hôte de l'équilibreur de charge VPC.
    • Ajouter un enregistrement DNS CNAME pour vpc-lb
  3. Répétez ces étapes pour ajouter un enregistrement DNS pour l'autre région.

Accédez à l'application via HTTPS à travers CIS

Pour vérifier que l'application est disponible sur Internet, accédez à https://vpc-lb.<your_domain> (par exemple, https://vpc-lb.example.com) dans un navigateur.

Création de l'équilibreur de charge global

Dans cette section, vous configurez CIS pour répartir la charge entre les régions. Vous configurez l'équilibreur de charge global dans l'instance CIS pour utiliser les nouveaux enregistrements CNAME.

Avant de créer l'équilibreur de charge global, vous devez configurer un diagnostic d'intégrité pour valider la disponibilité de votre application et définir des pools d'origine qui pointent vers les équilibreurs de charge VPC.

Configurer le diagnostic d'intégrité

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 vérifications envoient périodiquement HTTPS des requêtes et surveillent les réponses.

  1. Dans le CIS tableau de bord, 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 vpc-lb.
  4. Sélectionnez HTTPS pour Type de moniteur.
  5. Laissez le paramètre Port défini sur la valeur par défaut.
  6. Définir le chemin d'accès à /.
  7. Cliquez sur Créer.

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 connecté à un équilibreur de charge global. Vous pouvez définir des pools basés sur l'emplacement et configurer CIS pour rediriger les utilisateurs vers le répartiteur de charge VPC le plus proche en fonction de l'emplacement géographique des demandes des utilisateurs.

  1. Sélectionnez Pools d'origine et cliquez sur Créer.
  2. Entrez un nom pour le pool : vpc-lb.
  3. Définissez Nom d'origine sur vpc-lb.
  4. Définissez Adresse d'origine sur les nouveaux enregistrements CNAME que vous avez spécifiés précédemment.
  5. Sélectionnez Vérification de santé existante et sélectionnez la vérification de santé que vous venez de créer.
  6. Sélectionnez une région de diagnostic d'intégrité proche de votre emplacement.
  7. Cliquez sur Sauvegarder.
  8. Répétez ces étapes pour les autres régions.

Patientez quelques secondes jusqu'à ce que l'état de santé de votre pool d'origines affiche healthy.

Configurer l'équilibreur de charge global

Maintenant que les pools d'origine sont définis, vous pouvez terminer la configuration du répartiteur de charge.

  1. Sélectionnez Equilibreurs de charge et cliquez sur Créer.
  2. Conservez les valeurs par défaut pour Enable (On) et Proxy (Off).
  3. Indiquez le nom de l'équilibreur de charge global sous la forme vpc-lb-glb. Ce nom forme les caractères initiaux dans le sous-domaine pour accéder à votre application (par exemple, https://vpc-lb-glb.<your_domain>).
  4. Définissez TTL, Traffic Steering, Session affinity sur les paramètres qui fonctionnent pour votre application.
  5. Cliquez sur Ajouter une route.
  6. Sélectionnez la Région: Default.
  7. Sélectionnez le pool d'origine que vous venez de créer.
  8. Cliquez sur Ajouter.
  9. Cliquez sur Créer.
  10. Accédez à https://vpc-lb-glb.<your_domain> (par exemple, example.com) dans un navigateur pour vérifier que l'équilibreur de charge global est disponible.

Extension du tutoriel

Vous avez accédé à votre charge de travail déployée dans la zone d'arrivée via CIS.

Vous pouvez configurer d'autres fonctions telles que WAF, DDoS dans CIS pour le rendre plus sécurisé. Pour plus d'informations, consultez les rubriques suivantes :