Création d'un service de chemin privé

En tant que fournisseur de services, vous êtes responsable de la gestion de vos ID de compte de consommateur. Actuellement, le suivi ou la validation des ID de compte n'est pas pris en charge. Pour plus d'informations, voir Responsabilités relatives à la gestion des ID de compte de consommateur.

Les services Private Path pour VPC permettent aux fournisseurs de services de créer et de gérer une connectivité privée pour les services et applications hébergés sur IBM Cloud et les services et applications tiers. Vous pouvez créer un service Private Path en utilisant la console, l'interface de programmation, l'API ou Terraform.

Avant de commencer

Avant de créer un service de chemin privé, passez en revue les prérequis suivants:

Vous pouvez créer un service IBM Cloud® Private Path à l'aide de la console, du CLI, de l'API ou de Terraform.

Création d'un service de chemin privé dans la console

Pour créer un service de chemin privé avec la console IBM Cloud, procédez comme suit:

  1. Dans votre navigateur, ouvrez la console IBM Cloud et connectez-vous à votre compte.

  2. Sélectionnez l'icône Menu de navigation, puis cliquez sur Infrastructure Icône VPC > Réseau > Services de chemins privés.

  3. Cliquez sur Créer.

  4. Consultez la liste de contrôle pour obtenir des informations importantes.

  5. Dans la section Emplacement, vérifiez que les zones suivantes sont correctes. Si ce n'est pas le cas, cliquez sur l'icône Editer icône Editer pour effectuer la mise à jour.

    • Géographie: Zone générale dans laquelle vous souhaitez créer le service de chemin privé.
    • Région: La région dans laquelle vous souhaitez créer le service de chemin privé.
  6. Dans la section Détails, fournissez les informations suivantes :

    • Nom: Entrez un identificateur unique pour le service de chemin privé, tel que my-privatepath-service.
    • Groupe de ressources: sélectionnez un groupe de ressources, si nécessaire.
    • Balises: Si vous le souhaitez, ajoutez des balises appropriées pour vous aider à regrouper vos services de chemin privé.
    • Balises de gestion des accès: ajoutez éventuellement des balises de gestion des accès aux ressources pour faciliter l'organisation des relations de contrôle d'accès. key:value est le seul format pris en charge pour les étiquettes de gestion des accès. Pour plus d'informations, voir Contrôle de l'accès aux ressources à l'aide d'étiquettes.
    • Cloud privé virtuel: sélectionnez le cloud privé virtuel dans lequel vous souhaitez que le service de chemin privé soit créé.
  7. Dans la section Private Path network load balancer, sélectionnez un Private Path NLB pour le service Private Path, ou cliquez sur Create pour en créer un. Pour créer un chemin privé NLB, procédez comme suit :

    Cliquez sur Suivant pour passer à l'étape suivante ou utilisez le menu de navigation de gauche pour revenir à une section spécifique.

    1. Dans la section Définir les détails, fournissez les informations suivantes :

      • Nom: Entrez un identificateur unique pour l'équilibreur de charge de réseau du chemin privé, tel que my-privatepath-service.
      • Groupe de ressources: Sélectionnez un groupe de ressources pour l'équilibreur de charge de réseau du chemin privé.
      • Balises: Si vous le souhaitez, ajoutez les balises appropriées pour vous aider à regrouper vos équilibreurs de charge de réseau de chemin privé.
      • Balises de gestion des accès: ajoutez éventuellement des balises de gestion des accès aux ressources pour faciliter l'organisation des relations de contrôle d'accès. key:value est le seul format pris en charge pour les étiquettes de gestion des accès. Pour plus d'informations, voir Contrôler l'accès aux ressources à l'aide de balises.
      • Sous-réseau: Sélectionnez le sous-réseau dans lequel vous souhaitez créer l'équilibreur de charge de réseau du chemin privé.
    2. Facultativement, dans la section Créer un pool back-end :

      • Nom: Entrez un identificateur unique pour l'équilibreur de charge de réseau du chemin privé, tel que my-ppnlb.

      • Sélectionnez la méthode : algorithme d'équilibrage de charge. Les options suivantes s'affichent.

        • Round robin- Transmet les demandes à chaque instance à tour de rôle. Toutes les instances reçoivent approximativement un nombre égal de connexions client.
        • Round robin pondéré- Transmet les demandes à chaque instance proportionnellement au poids qui lui est attribué. Par exemple, si vous disposez des instances A, B et C et que leurs poids respectifs sont 60, 60 et 30, les instances A et B reçoivent un nombre égal de connexions client et l'instance C reçoit la moitié de ce nombre.

        Dans la section Health check:

        • Chemin du contrôle de santé- Le chemin du contrôle de santé n'est applicable que si vous sélectionnez HTTP comme protocole de contrôle de santé. Le chemin du diagnostic d'intégrité indique l'URL utilisée par l'équilibreur de charge pour envoyer des demandes de diagnostic d'intégrité HTTP aux instances du pool. Par défaut, les contrôles d'intégrité sont envoyés au chemin racine (/).
        • Protocole de santé : protocole utilisé par l'équilibreur de charge pour envoyer des messages de contrôle d'intégrité aux instances du pool.
        • Port de santé- Port sur lequel l'équilibreur de charge envoie les demandes de contrôle de santé. Par défaut, les contrôles d'intégrité sont envoyés sur le même port que celui sur lequel le trafic est envoyé à l'instance.
        • Intervalle - Intervalle exprimé en secondes entre deux tentatives de diagnostic d'intégrité consécutives Par défaut, les contrôles d'intégrité sont envoyés toutes les cinq secondes.
        • Délai d'attente- Délai maximum pendant lequel le système attend une réponse à une demande de bilan de santé. Par défaut, l'équilibreur de charge attend une réponse pendant 2 secondes.
        • Max retries- Nombre maximal de tentatives de contrôle de santé que l'équilibreur de charge effectue avant qu'une instance ne soit déclarée malsaine. Par défaut, une instance n'est plus considérée comme étant en bonne santé après deux échecs de contrôle d'intégrité.

        Bien que l'équilibreur de charge cesse d'envoyer des connexions aux instances en mauvaise santé, il continue de surveiller la santé de ces instances et reprend leur utilisation si elles sont à nouveau jugées saines (c'est-à-dire si elles passent avec succès deux tentatives consécutives de contrôle de la santé).

      Si les instances du pool ne sont pas en bonne santé et que vous pensez que votre application fonctionne correctement, vérifiez à nouveau les valeurs du protocole et du chemin de santé. Vérifiez également tout groupe de sécurité associé aux instances pour vous assurer que les règles autorisent le trafic entre l'équilibreur de charge et ces instances.

      • Cliquez sur Sauvegarder. Répétez cette étape si vous souhaitez créer un autre pool de back-end.
    3. Facultativement, dans la section Joindre des membres, précisez les informations suivantes, puis cliquez sur Joindre:

      • Pool de back-end: Sélectionnez le pool de back-end dans lequel vous souhaitez connecter des serveurs.

      • Sous-réseau: recherchez des sous-réseaux spécifiques dans le tableau et cochez la case à côté des sous-réseaux que vous souhaitez joindre. Dans la colonne Port, entrez un numéro de port pour chaque sous-réseau que vous sélectionnez.

      • Type de membre: Ajoutez des instances de serveurs virtuels, des IP réservées ou un équilibreur de charge d'application en tant que membre. Pour les instances de serveurs virtuels, attachez chaque type individuellement. Un membre IP réservé peut être lié à un serveur bare metal, à une interface primaire ou secondaire d'une instance de serveur virtuel ou à une interface de réseau virtuel.

        Si vous attachez un ALB en tant que cible membre à un pool NLB Private Path, aucun autre membre ne peut être ajouté à ce pool.

    4. Si vous le souhaitez, dans la section Ajouter des écouteurs frontaux, sélectionnez le pool dorsal auquel vous souhaitez rattacher votre écouteur frontal. Sélectionnez ensuite la valeur du port d'écoute et cliquez sur Sauvegarder. Répétez cette étape si vous souhaitez créer un autre programme d'écoute de front-end.

    5. Dans la section Révision, confirmez que les informations que vous avez fournies sont correctes. Examinez le résumé de la commande, puis cliquez sur Créer.

      La création de votre Private Path NLB prend quelques minutes. Lorsque l'équilibreur de charge est créé, son statut passe de Création à Actif dans la table.

  8. Dans la section Service endpoint, cliquez sur Create. Indiquez le nom du point d'extrémité du service auquel vous souhaitez connecter votre service Private Path. Ensuite, validez la propriété du nom de domaine FQDN et cliquez sur Ajouter. Pour plus d'informations, voir Enregistrer et vérifier la propriété des points de terminaison de service(FQDN).

  9. Sélectionnez cette option pour activer ou désactiver l'affinité zonale pour les points d'extrémité du service. Lorsque l'affinité de zone est activée, le noeud final conserve la persistance dans la zone après la création de la connexion.

  10. Dans la section Stratégies de compte:

    • La règle par défaut est définie pour réviser et trier chaque demande de connexion entrante. Vous pouvez modifier la règle par défaut pour autoriser ou refuser toutes les demandes sans révision.
    • Pour établir des stratégies de compte différentes de la stratégie par défaut, cliquez sur Créer. Indiquez l'ID du compte pour lequel vous souhaitez configurer une politique. Pour l'option Politique de compte, sélectionnez Examiner, Autoriser ou Refuser.

    Les règles de compte individuel sont prioritaires par rapport à la règle par défaut.

  11. Consultez la page de résumé, puis cliquez sur Créer pour commander votre service de voie privée.

    Une fois la mise à disposition terminée, le statut du service de chemin privé indique Stable dans la table des services de chemin privé pour VPC.

Création d'un service de chemin privé à partir de l'interface de programmation

L'exemple suivant montre comment utiliser l'interface de ligne de commande pour créer un service de chemin privé.

Avant de commencer, assurez-vous de configurer votre environnement d'interface de ligne de commande (CLI).

Pour créer un service de chemin privé à partir de l'interface de ligne de commande, procédez comme suit :

  1. Entrez la commande suivante :
ibmcloud is private-path-service-gateway-create
    [--load balancer LOAD_BALANCER]
    [--service-endpoints SERVICE_ENDPOINTS]
    [--default-access-policy | deny | permit | review]
    [--name NAME]
    [--zonal-affinity | true | false]
    [--output JSON] [-q, --quiet]

Où :

--load-balancer
Indique l'ID ou le nom de l'équilibreur de charge pour ce service Private Path.
--service-endpoints
Indique les noms de domaine pleinement qualifiés pour ce service de chemin privé. Toutes les majuscules seront converties en minuscules.
--default-access-policy
Indique la politique à utiliser pour les liaisons provenant de comptes sans politique de compte explicite. L'un des suivants: deny, permit, review. (par défaut: deny).
--name
Indique le nom de ce service de chemin privé.
--zonal-affinity
indique si ce service de chemin privé a une affinité zonale. L'un d'entre eux : false, true.
--output
Spécifiez le format de sortie, seul JSON est pris en charge. Un parmi : JSON.
-q, --quiet
Supprimer la sortie prolixe.

Exemples de commande

  • Créez un service de chemin privé basé sur des règles avec une règle d'autorisation et une affinité de zone: ibmcloud is private-path-service-gateway-create --load-balancer my-cli-nlb --service-endpoints cli.domain.com --default-access-policy permit --name cli-ppsg-1 --zonal-affinity true

  • Créez un service de chemin privé basé sur des règles avec une règle de refus et une affinité de zone: ibmcloud is private-path-service-gateway-create --load-balancer r006-d-439744e1-81d7-43fb-95d5-2356774240bb --service-endpoints clidemo.domain.com --default-access-policy deny --name cli-ppsg-2 --zonal-affinity true

Création d'un service de chemin privé avec l'API

Pour créer un service de chemin privé à l'aide de l'API, procédez comme suit :

  1. Configurez votre environnement d'API.

  2. Stockez les valeurs suivantes dans les variables destinées à être utilisées dans la commande d'API :

    • loadBalancerId-D'abord, obtenez votre équilibreur de charge, puis remplissez la variable:

      export loadBalancerId=<your_loadbalancer_id>
      
  3. Lorsque toutes les variables sont initiées, pour créer un service de chemin privé :

    curl -X POST -sH "Authorization:${iam_token}" \
    "$vpc_api_endpoint/v1/private_path_service_gateways?version=$api_version&generation=2" \
    -d {
      "default_access_policy": "review",
      "load_balancer": {
        "id": "$loadBalancerId"
      },
      "name": "my-ppsg",
      "service_endpoints": ["example.com"],
      "zonal_affinity": false
    }'
    

Création d'un service de chemin privé avec Terraform

L'exemple suivant prévoit un réseau Private Path avec Terraform :

resource "ibm_is_private_path_service_gateway" "ppsg" {
    default_access_policy = "deny"
    load_balancer = ibm_is_lb.ppnlb.id
    service_endpoints = ["my-service.example.com"]
    zonal_affinity = false
    name = "my-example-ppsg"
}

Pour obtenir de la documentation sur les ressources Terraform, consultez le Registre Terraform.

Enregistrement et vérification de la propriété des points de terminaison des services (FQDN)

Lors de la création d'un service de voie privée, vous devez prouver que vous êtes propriétaire des points de terminaison du service (DNS FQDN) que vous fournissez. Cela permet d'éviter les détournements de DNS et les conflits de FQDN. La propriété est vérifiée en créant un enregistrement TXT pour chaque FQDN (point final du service) avec un contenu spécifique. Créez les enregistrements TXT dans un DNS public. Le DNS public n'est consulté que lors de la création du service Private Path. Après la création d'un service de chemin privé, seul un DNS privé est utilisé dans le chemin de données (jamais un DNS public).

L'enregistrement TXT requis doit commencer par un préfixe ibm-domain-verification=. La validation est réussie si le préfixe est suivi d'une valeur qui correspond au hachage SHA-256 de l'ID du compte associé à l'utilisateur qui crée le service de chemin privé. Un exemple d'enregistrement TXT à ajouter : ibm-domain-verification=252cfc164d3600a79007f25312a6a924288cfc6dbcaeec838ca9048cde664acb

Les détails concernant l'ajout d'un enregistrement TXT à votre FQDN varient en fonction du service DNS public que vous utilisez. Il est recommandé de consulter votre fournisseur de services DNS pour plus de détails.

Si plusieurs points de terminaison sont spécifiés pour un service de chemin privé, la validation de la propriété doit être réussie pour chacun d'entre eux.

Voici une liste de domaines de premier niveau que vous pouvez utiliser pour contourner la validation de la propriété du nom de domaine :

  • .intranet
  • .internal
  • .private
  • .corp
  • .home
  • .lan

Les domaines avec caractères génériques (*) sont pris en charge. Par exemple, un service de chemin privé avec "service_endpoints": ["*.service.com"] inclut tous ses sous-domaines, tels que api1.service.com et api2.service.com.

La validation de la propriété DNS est réussie lorsque le domaine de remplacement contient l'enregistrement TXT valide. Dans cet exemple, pour passer la validation, vous pouvez ajouter l'enregistrement TXT valide à service.com.

Etapes suivantes

  1. Vérification de la connectivité à votre service de chemin privé
  2. Publier votre service de chemin privé
  3. Communiquer les informations de connexion aux consommateurs
  4. Passer en revue les demandes de connexion et Créer des règles de compte