Utiliser des mappages d'URL

Ce guide vous explique comment configurer des mappages d'URL Google Cloud. Avant de suivre ce guide, familiarisez-vous avec les concepts de mappage d'URL.

Les mappages d'URL sont utilisés avec les produits Google Cloud suivants :

L'équilibrage de charge HTTP(S) interne et Traffic Director sont compatibles avec des cas d'utilisation avancés de gestion du trafic. Pour en savoir plus, consultez les pages suivantes :

Configurer des mappages d'URL

Vous pouvez ajouter des services de backend et des buckets backend à un mappage d'URL.

Les buckets backends sont compatibles avec les équilibreurs de charge HTTP(S) externes uniquement.

Ajouter un mappage d'URL

Console

Pour ajouter un mappage d'URL avec Cloud Console , procédez comme suit :

  1. Accédez à la page "Équilibrage de charge"

    Accéder à la page "Équilibrage de charge"

  2. Cliquez sur le Nom d'un équilibreur de charge.
  3. Sur l'écran Détails de l'équilibreur de charge, cliquez sur Modifier pour l'équilibreur de charge sélectionné.
  4. Sélectionnez Règles d'hôte et de chemin d'accès.
  5. Cliquez sur Ajouter une règle d'hôte et de chemin d'accès.
  6. Renseignez le champ Hôte, le champ Chemins d'accès ou les deux, puis sélectionnez un service de backend ou un compartiment backend.
  7. Cherchez la coche bleue à gauche des règles d'hôte et de chemin d'accès, puis cliquez sur le bouton Mettre à jour.

gcloud

Pour ajouter un mappage d'URL à l'aide de l'outil de ligne de commande gcloud, utilisez la commande url-maps create :

gcloud compute url-maps create URL_MAP \
    (--default-backend-bucket=DEFAULT_BACKEND_BUCKET | --default-service=DEFAULT_SERVICE) \
   [--description DESCRIPTION] \
   [--global | --region=REGION]

Pour les équilibreurs de charge HTTP(S) internes, assurez-vous d'inclure l'option --region lorsque vous créez le mappage d'URL.

Un mappage d'URL nouvellement créé ne correspond qu'à un seul chemin d'accès, celui par défaut (/*). Cette mise en correspondance de chemin d'accès par défaut est créée automatiquement. Tout le trafic qui ne correspond pas à une règle d'hôte ou de mise en correspondance de chemin d'accès créée manuellement est envoyé au service de backend de mappage d'URL par défaut.

Ajouter une mise en correspondance de chemin d'accès

Une mise en correspondance de chemin d'accès effectue le mappage des chemins ou des préfixes de chemins d'accès des requêtes HTTP(S), (par exemple, /video) vers des services de backend. Tout le trafic correspondant au chemin d'accès spécifié est traité par des règles de chemin d'accès dans la mise en correspondance de chemin. Si un chemin correspond à une règle de chemin d'accès, la requête est transmise aux backends associés à cette règle de chemin d'accès. Si une requête correspond aux règles de la mise en correspondance de chemin d'accès no path, la requête est transférée vers le backend par défaut de la mise en correspondance.

Console

Pour créer une mise en correspondance de chemin d'accès à l'aide de Cloud Console, procédez comme suit :

  1. Si vous n'êtes pas déjà sur l'écran Règles d'hôte et de chemin d'accès, accédez à la page "Équilibrage de charge".

    Accédez à la page Équilibrage de charge.

  2. Cliquez sur le Nom d'un équilibreur de charge.
  3. Sur l'écran Détails de l'équilibreur de charge, cliquez sur Modifier pour l'équilibreur de charge sélectionné.
  4. Dans l'écran Règles d'hôte et de chemin d'accès, cliquez sur Ajouter une règle d'hôte et de chemin d'accès ou cliquez sur un champ Chemins d'accès existant.
  5. Entrez le chemin d'accès de la configuration, par exemple, /video.
  6. Cherchez la coche bleue à gauche des règles d'hôte et de chemin d'accès, puis cliquez sur le bouton Mettre à jour.

gcloud

Pour créer une mise en correspondance des chemins d'accès à l'aide de l'outil de ligne de commande gcloud, exécutez la commande gcloud compute url-maps add-path-matcher :

gcloud compute url-maps add-path-matcher URL_MAP \
   --default-service BACKEND_SERVICE \
   --path-matcher-name PATH_MATCHER \
   [--path-rules PATH=SERVICE]

Cette commande nécessite un service de backend par défaut auquel elle peut envoyer des requêtes sans correspondance. Vous pouvez aussi utiliser l'option --path-rules pour définir des mappages entre les chemins d'accès des requêtes et les services de backend. L'exemple de chemin d'accès suivant dirige les requêtes /video/ et /video/* vers le service de backend video-service :

  --path-rules "/video=video-service,/video/*=video-service"

Les commandes url-maps create et url-maps add-path-matcher comportent un paramètre --default-service. Dans la commande create, le service par défaut est celui utilisé si aucune des mises en correspondance de chemins d'accès ne correspond à l'URL entrante. Dans add-path-matcher, le service par défaut est celui utilisé si le chemin d'accès correspond à la mise en correspondance, mais qu'aucune des règles --path-rules ne correspond.

Ajouter une règle d'hôte

Console

Pour créer une règle d'hôte à l'aide de Cloud Console, procédez comme suit :

  1. Si vous n'êtes pas déjà sur l'écran Règles d'hôte et de chemin d'accès, accédez à la page "Équilibrage de charge".

    Accéder à la page Équilibrage de charge

  2. Cliquez sur le Nom d'un équilibreur de charge.
  3. Sur l'écran Détails de l'équilibreur de charge, cliquez sur Modifier pour l'équilibreur de charge sélectionné.
  4. Sur l'écran Règles d'hôte et de chemin d'accès, cliquez sur Ajouter une règle d'hôte et de chemin d'accès ou sur un champ Hôtes existant.
  5. Saisissez un nom d'hôte complet, par exemple web.example.com.
  6. Cherchez la coche bleue à gauche des règles d'hôte et de chemin d'accès, puis cliquez sur le bouton Mettre à jour.

gcloud

Pour créer une règle d'hôte à l'aide de l'outil de ligne de commande gcloud, exécutez la commande gcloud compute url-maps add-host-rule :

  gcloud compute url-maps add-host-rule URL_MAP \
      --hosts HOSTS --path-matcher-name PATH_MATCHER

L'indicateur --hosts définit un ensemble d'hôtes pour mettre en correspondance les requêtes. Par exemple, la valeur --hosts suivante met en correspondance les requêtes pour www.example.com et n'importe quel sous-domaine de google.com :

  --hosts *.google.com,www.example.com

Sélectionner un service de backend ou un bucket backend

Console

Pour sélectionner un service de backend ou un bucket backend pour un mappage d'URL, procédez comme suit :

  1. Si vous n'êtes pas déjà sur l'écran Règles d'hôte et de chemin d'accès, accédez à la page "Équilibrage de charge".

    Accéder à la page Équilibrage de charge

  2. Cliquez sur le Nom d'un équilibreur de charge.
  3. Sur l'écran Détails de l'équilibreur de charge, cliquez sur Modifier pour l'équilibreur de charge sélectionné.
  4. Sur l'écran Règles d'hôte et de chemin d'accès, dans le menu déroulant du champ Backends, sélectionnez un service de backend ou un bucket backend disponible.
  5. Cherchez la coche bleue à gauche des règles d'hôte et de chemin d'accès, puis cliquez sur le bouton Mettre à jour.

gcloud

Pour sélectionner un service de backend ou un bucket backend à l'aide de l'outil de ligne de commande gcloud, exécutez la commande url-maps set-default-service :

gcloud compute url-maps set-default-service URL_MAP_NAME
  (--default-backend-bucket=DEFAULT_BACKEND_BUCKET
    | --default-service=DEFAULT_SERVICE)[GCLOUD_WIDE_FLAG ...]

Tester un mappage d'URL

Vous pouvez ajouter des tests de configuration à un mappage d'URL pour vous assurer que votre mappage d'URL dirige les requêtes vers les services de backend ou les buckets backend comme prévu.

Lorsque vous modifiez votre mappage d'URL, les tests sont exécutés et un message d'erreur s'affiche en cas d'échec d'un test.

  Error: Invalid value for field 'urlMap.tests': ''.
  Test failure: Expect URL '' to map to service '', but actually mapped to ''.

L'ajout de tests à des mappages d'URL est facultatif.

Console

Pour exécuter des tests à partir de Cloud Console, procédez comme suit :

  1. Accédez à la page "Équilibrage de charge"

    Accéder à la page Équilibrage de charge

  2. Cliquez sur le Nom d'un équilibreur de charge.
  3. Sur l'écran Détails de l'équilibreur de charge, cliquez sur Modifier pour l'équilibreur de charge sélectionné.
  4. Cliquez sur Règles d'hôte et de chemin d'accès.
  5. Sous l'option Règles d'hôte et de chemin d'accès, cliquez sur Afficher les tests de configuration.
  6. Cliquez sur Ajouter un test de configuration. Ajoutez les URL de test et les backends suivants :
    • Test URL example.com et Backend www-service.
    • Test URL example.net et Backend www-service.
    • Test URL example.net/web et Backend www-service.
    • Test URL example.com/videos et Backend video-service.
    • Test URL example.com/videos/browse et Backend video-service.
    • Test URL example.net/static et Backend static-service.
    • Test URL example.net/static/images et Backend static-service.
  7. Cherchez la coche bleue à gauche des règles d'hôte et de chemin d'accès, puis cliquez sur le bouton Mettre à jour.

gcloud

Pour ajouter des tests à votre mappage d'URL à l'aide de l'outil de ligne de commande gcloud, exécutez la commande gcloud compute url-maps edit :

  gcloud compute url-maps edit URL_MAP

Un éditeur de texte apparaît. Pour les équilibreurs de charge HTTP(S) externes, vos tests doivent utiliser le format suivant :

    tests:
      - host: example.com
        service: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices/www-service
      - host: example.net
        service: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices/www-service
      - host: example.com
        path: /videos
        service: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices/video-service
      - host: example.com
        path: /videos/browse
        service: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices/video-service
      - host: example.net
        path: /web
        service: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices/www-service
      - host: example.net
        path: /static
        service: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices/static-service
      - host: example.net
        path: /static/images
        service: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices/static-service

Pour les équilibreurs de charge HTTP(S) internes, vos URL de service doivent pointer vers des services de backend régionaux. Exemple :

https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/[REGION]/backendServices//www-service

Notez que si vous ne spécifiez pas d'hôte dans une règle d'hôte, les URL de tous les hôtes (example.com et example.net) peuvent correspondre. Si vous disposez déjà de règles d'hôte, vous devez créer des règles qui correspondent à la fois à example.com et à example.net.

Répertorier des mappages d'URL

Console

Dans la console, vous pouvez uniquement afficher le mappage d'URL d'un équilibreur de charge à la fois.

  1. Accédez à la page "Équilibrage de charge"

    Accéder à la page Équilibrage de charge

  2. Cliquez sur le Nom d'un équilibreur de charge.
  3. Sur l'écran Détails de l'équilibreur de charge, cliquez sur Modifier pour l'équilibreur de charge sélectionné.
  4. Affichez les règles d'hôte et de chemin d'accès.

gcloud

Pour afficher une liste de mappages d'URL à l'aide de l'outil de ligne de commande gcloud, exécutez la commande url-maps list :

gcloud compute url-maps list

Obtenir des informations sur un mappage d'URL

Console

Pour obtenir des informations sur un mappage d'URL, procédez comme suit :

  1. Accédez à la page "Équilibrage de charge"

    Accéder à la page Équilibrage de charge

  2. Cliquez sur le Nom d'un équilibreur de charge.
  3. Sur l'écran Détails de l'équilibreur de charge, cliquez sur Modifier pour l'équilibreur de charge sélectionné.
  4. Affichez les règles d'hôte et de chemin d'accès.

gcloud

Pour obtenir des informations sur un seul mappage d'URL à l'aide de l'outil de ligne de commande gcloud, exécutez la commande url-maps describe.

gcloud compute url-maps describe URL_MAP

Supprimer un mappage d'URL

Vous ne pouvez supprimer un mappage d'URL qu'après avoir supprimé tous les proxys cibles qui y font référence. Pour en savoir plus, consultez la section Supprimer un proxy cible.

Console

Pour supprimer un mappage d'URL, procédez comme suit :

  1. Accédez à la page "Équilibrage de charge"

    Accéder à la page Équilibrage de charge

  2. Cliquez sur le Nom d'un équilibreur de charge.
  3. Sur l'écran Détails de l'équilibreur de charge, cliquez sur Modifier pour l'équilibreur de charge sélectionné.
  4. Dans l'écran Détails de l'équilibreur de charge, affichez les règles d'hôte et de chemin d'accès.
  5. Cliquez sur le "X" à droite d'un mappage d'URL pour le supprimer. Le mappage d'URL disparaît.
  6. Cherchez la coche bleue à gauche des règles d'hôte et de chemin d'accès, puis cliquez sur le bouton Mettre à jour.

gcloud

Pour supprimer un mappage d'URL à l'aide de l'outil de ligne de commande gcloud, utilisez la commande url-maps delete. Avant de pouvoir supprimer un mappage d'URL, tout proxy HTTP cible faisant référence au mappage d'URL doit d'abord être supprimé.

gcloud compute url-maps delete URL_MAP [--quiet]

Supprimer une mise en correspondance de chemin d'accès

Console

Pour supprimer une mise en correspondance de chemin d'accès, procédez comme suit :

  1. Accédez à la page "Équilibrage de charge"

    Accéder à la page "Équilibrage de charge"

  2. Cliquez sur le Nom d'un équilibreur de charge.
  3. Sur l'écran Détails de l'équilibreur de charge, cliquez sur Modifier pour l'équilibreur de charge sélectionné.
  4. Sélectionnez Règles d'hôte et de chemin d'accès.
  5. Dans le champ Chemins d'accès d'un mappage d'URL existant, cliquez sur le "x" dans le nom de la mise en correspondance de chemin d'accès.
  6. Cherchez la coche bleue à gauche des règles d'hôte et de chemin d'accès, puis cliquez sur le bouton Mettre à jour.

gcloud

Pour supprimer une mise en correspondance de chemins d'accès, exécutez la commande gcloud compute url-maps remove-path-matcher :

 gcloud compute url-maps remove-path-matcher URL_MAP \
     [--path-matcher-name PATH_MATCHER]

Supprimer une règle d'hôte

Console

Pour supprimer une règle d'hôte, procédez comme suit :

  1. Si vous n'êtes pas déjà sur l'écran Règles d'hôte et de chemin d'accès, accédez à la page "Équilibrage de charge".

    Accéder à la page Équilibrage de charge

  2. Cliquez sur le Nom d'un équilibreur de charge.
  3. Sur l'écran Détails de l'équilibreur de charge, cliquez sur Modifier pour l'équilibreur de charge sélectionné.
  4. Sélectionnez Règles d'hôte et de chemin d'accès.
  5. Dans le champ Hôtes d'un mappage d'URL existant, cliquez sur le "x" "dans le nom de l'hôte.
  6. Cherchez la coche bleue à gauche des règles d'hôte et de chemin d'accès, puis cliquez sur le bouton Mettre à jour.

gcloud

Pour supprimer une règle d'hôte de votre mappage d'URL, exécutez la commande gcloud compute url-maps remove-host-rule :

 gcloud compute url-maps remove-host-rule NAME --host HOST

Par exemple, pour supprimer une règle d'hôte qui contient l'hôte google.com à partir d'un mappage d'URL nommé my-map, exécutez la commande suivante :

 gcloud compute url-maps remove-host-rule my-map --host google.com

Étape suivante