Configurer et déployer des environnements

Cette page s'applique à Apigee et à Apigee hybrid.

Consultez la documentation d'Apigee Edge.

Un environnement est un contexte d'exécution pour les proxys d'API et les flux partagés que vous souhaitez déployer. Avant de pouvoir y accéder pour les tests, vous devez déployer vos proxys d'API et vos flux partagés sur un ou plusieurs environnements. Pour plus d'informations sur les environnements, consultez À propos des environnements et des groupes d'environnements.

Configurez et déployez des environnements comme décrit dans les sections suivantes. Voir aussi Gérer les dossiers et les fichiers dans un espace de travail Apigee.

Configurer un environnement

Avant de déployer un environnement, vous devez le configurer pour identifier les proxys d'API et les flux partagés à déployer, et configurer les hooks de flux partagés ou les serveurs cibles, si nécessaire.

Pour configurer un environnement, créez l'environnement et modifiez la configuration définie dans le tableau suivant.

Configuration Description
Masques de débogage (debugmasks.json) Définissez des configurations de masque pour masquer des données spécifiques dans les sessions de trace et de débogage.
Déploiements (deployments.json) Définissez les proxys d'API et les flux partagés dans votre déploiement.
Hooks de flux (flowhooks.json) Associez des flux partagés à des hooks de flux afin qu'ils s'exécutent au même endroit pour tous les proxys d'API déployés dans l'environnement.
Serveurs cibles (targetservers.json) Dissociez vos points de terminaison concrets de vos points de terminaison cibles pour assurer l'équilibrage de charge et le basculement sur plusieurs instances de serveur backend.
Key stores (keystores.json) Assurez la compatibilité TLS avec vos points de terminaison cibles et vos serveurs cibles.

De plus, si vous utilisez des stratégies nécessitant des ressources, vous pouvez gérer les ressources au niveau de l'environnement, si nécessaire.

Créer un environnement

Pour créer un environnement dans Apigee dans Cloud Code, procédez comme suit :

  1. Effectuez l'une des actions suivantes :

    • Placez le curseur sur le dossier environments dans la section Apigee, puis cliquez sur Icône Créer.

      + s'affiche lorsque vous placez le curseur sur le dossier des environnements.

    • Cliquez sur Afficher > Palette de commandes pour ouvrir la palette de commandes, puis sélectionnez Cloud Code : Créer un environnement Apigee.

    L'assistant de création d'environnement s'ouvre.

  2. Saisissez un nom pour l'environnement et appuyez sur Entrée.

L'environnement est ajouté au dossier environments dans la section Apigee, comme illustré dans la figure suivante.

Dossier d'environnements avec les fichiers deployments.json, flowhooks.json et targetservers.json

Configurez l'environnement, comme décrit dans les sections suivantes.

Configurer des masques de débogage (debugmask.json)

Apigee vous permet de définir des configurations de masque pour masquer des données spécifiques dans les sessions Trace et de débogage. Lorsque les données sont masquées, elles sont remplacées par des astérisques dans le résultat de la trace. Exemple :

<description>**********</description>

Pour en savoir plus, consultez la section Masquer des données sensibles.

Pour configurer les masques de débogage, mettez à jour le fichier debugmask.json en modifiant le fichier directement.

Voici un exemple de structure de base d'une configuration de masque au format JSON. Pour en savoir plus sur les champs de configuration de masque présentés dans l'exemple, consultez la section DebugMask.

{
  "namespaces": {
    "myco": "https://example.com"
  },
  "requestXPaths": [
    "/myco:Greeting/myco:User"
  ],
  "responseXPaths": [
    "/myco:Greeting/myco:User"
  ],
  "faultXPaths": [
    "/myco:Greeting/myco:User"
  ],
  "requestJSONPaths": [
    "$.store.book[].author"
  ],
  "responseJSONPaths": [
    "$.store.book[].author"
  ],
  "faultJSONPaths": [
    "$.store.book[*].author"
  ],
  "variables": [
    "request.header.user-agent",
    "request.formparam.password"
  ]
}

Configurer les déploiements (deployments.json)

Configurez les proxys d'API et les flux partagés que vous souhaitez inclure dans le déploiement.

Pour configurer les déploiements, mettez à jour le fichier deployments.json à l'aide de l'assistant de configuration (décrit ci-dessous) ou en modifiant le fichier directement.

Pour configurer les déploiements à l'aide de l'assistant de configuration :

  1. Placez le curseur sur le fichier deployments.json de l'environnement, puis cliquez sur Icône de l'assistant.

    L'icône des paramètres s'affiche lorsque vous placez le curseur sur le dossier deployments.json.

  2. Suivez les étapes de l'assistant de configuration pour sélectionner les déploiements et renseigner automatiquement les champs dans le fichier deployments.json.
    Le fichier deployments.json est ouvert dans l'éditeur.

  3. Modifiez la configuration si nécessaire.

  4. Sélectionnez File > Save (Fichier > Enregistrer) ou ⌘S pour enregistrer vos modifications.

L'exemple suivant configure le déploiement pour inclure le proxy d'API helloworld et les flux partagés mysharedflow et hw-sharedflow :

{
  "proxies" : [
     "helloworld"
  ],
  "sharedflows" : [
     "mysharedflow",
     "hw-sharedflow"
  ]
}

Configurer des comptes de service avec des déploiements de proxy et de flux partagé

Les proxys d'API qui dépendent d'un service Google en tant que backend peuvent nécessiter l'association d'un compte de service Google Cloud au déploiement. Consultez la page Utiliser l'authentification Google.

Lorsque vous modifiez le fichier deployments.json, vous pouvez associer le proxy d'API ou le flux partagé à un compte de service Google Cloud. Exemple :

{
  "name": "proxy-name",
  "serviceAccount": "associated-service-account"
}

L'exemple suivant montre une configuration de déploiement où les comptes de service sont associés au proxy d'API helloworld et au flux partagé mysharedflow. Toutefois, le proxy healthcheck et le flux partagé hw-sharedflow ne sont pas associés à un compte de service :

{
  "proxies": [
    {
      "name": "helloworld",
      "serviceAccount": "myserviceaccount@myorg.iam.gserviceaccount.com"
    },
    "healthcheck"
  ],
  "sharedflows": [
    {
      "name": "mysharedflow",
      "serviceAccount": "myserviceaccount@myorg.iam.gserviceaccount.com"
    },
    "hw-sharedflow"
  ]
}

Découvrez comment configurer l'émulateur Apigee pour tester les fonctionnalités d'authentification du compte de service dans votre proxy d'API.

Associer des flux partagés à l'aide de hooks de flux (flowhooks.json)

Avec un hook de flux, vous rattachez un flux partagé afin qu'il s'exécute au même endroit pour tous les proxys d'API déployés dans un environnement spécifique. Vous obtenez ainsi une séquence logique mise en œuvre et déployée séparément, qui ne fait pas partie du code de mise en œuvre d'un proxy. Plus précisément, vous pouvez associer un flux partagé aux emplacements suivants dans le flux de proxy d'API :

  • Avant l'exécution d'un point de terminaison de proxy d'API (PreProxyFlowHook)
  • Une fois le point de terminaison du proxy de l'API exécuté et juste avant l'envoi de la réponse au client (PostProxyFlowHook)
  • AVANT l'éxécution un point de terminaison cible (PreTargetFlowHook)
  • APRÈS l'exécution de la réponse cible (PostTargetFlowHook)

Pour en savoir plus sur les hooks de flux, consultez la section Associer des flux partagés à l'aide de hooks de flux.

Pour associer des flux partagés à l'aide de hooks de flux, mettez à jour le fichier flowhooks.json à l'aide de l'assistant de configuration (décrit ci-dessous) ou modifiez le fichier directement.

Pour configurer les déploiements à l'aide de l'assistant de configuration :

  1. Placez le curseur sur le fichier flowhooks.json de l'environnement, puis cliquez sur Icône de l'assistant.
  2. Suivez l'assistant de configuration pour sélectionner les flux partagés à associer à des emplacements spécifiques dans le flux de proxy de l'API et renseigner automatiquement les champs du fichier flowhooks.json.
    Le fichier flowhooks.json est ouvert dans l'éditeur.
  3. Modifiez la configuration si nécessaire.
  4. Sélectionnez File > Save (Fichier > Enregistrer) ou ⌘S pour enregistrer vos modifications.

L'exemple suivant associe mysharedflow à PreProxyFlowHook pour qu'il s'exécute avant l'exécution d'un point de terminaison de proxy d'API :

{
  "PreProxyFlowHook": {
    "continueOnError": true,
    "sharedFlow": "mysharedflow",
    "description": "Shared enforced before a proxy endpoint executes."
  }
}

Configurer les serveurs cibles (targetservers.json)

Les serveurs cibles (TargetServers) dissocient les URL de point de terminaison concrètes des configurations de point de terminaison cible (TargetEndpoint). Au lieu de définir une URL concrète dans la configuration, vous pouvez configurer un ou plusieurs TargetServers nommés. Ensuite, faites référence à chaque TargetServer par leur nom dans une connexion HTTPConnection TargetEndpoint.

Pour plus d'informations sur les serveurs cibles, reportez-vous aux rubriques suivantes :

Pour configurer les serveurs cibles, mettez à jour le fichier targetservers.json à l'aide de l'assistant de configuration (décrit ci-dessous) ou en modifiant le fichier directement. Pour une description des champs du fichier targetservers.json, consultez la page Ressource : TargetServer.

Pour configurer les serveurs cibles à l'aide de l'assistant de configuration :

  1. Placez le curseur sur le fichier targetservers.json de l'environnement, puis cliquez sur Icône de l'assistant.
  2. Suivez les étapes de l'assistant de configuration pour configurer le serveur cible et renseigner automatiquement les champs dans le fichier targetservers.json. Le fichier targetservers.json est ouvert dans l'éditeur.
  3. Modifiez la configuration si nécessaire.
  4. Sélectionnez File > Save (Fichier > Enregistrer) ou ⌘S pour enregistrer vos modifications.

L'exemple suivant ajoute un serveur cible dans l'environnement :

[
  {
    "enabled": true,
    "description": "My first target server",
    "name": "mytargetserver",
    "host": "localhost",
    "port": 80
  }
]

L'exemple suivant configure un serveur cible avec le protocole TLS mutuel à l'aide de keystores :

[
    {
        "name": "mtlsserver",
        "host": "mytargetserver.mydomain",
        "port": 443,
        "enabled": true,
        "protocol": "HTTP",
        "tlsInfo": {
            "enabled": true,
            "clientAuthEnabled": true,
            "keyStore": "mykeystore",
            "keyAlias": "mykeyandcert",
            "trustStore": "mytruststore"
        }
    }
]

Configurer les keystores (keystores.json)

Les keystores définissent les dépôts de certificats de sécurité utilisés pour le chiffrement TLS sur les points de terminaison cibles et les serveurs cibles.

Pour en savoir plus sur la configuration de TLS, consultez la section Options de configuration de TLS.

Pour configurer les keystores, procédez comme suit :

  1. Ouvrez le fichier keystores.json pour l'environnement dans l'éditeur. Le fichier contient deux éléments principaux :
    • stores : mappage du nom du keystore et des alias ajoutés.
    • references : mappage de tous les noms de référence du keystore et du nom du keystore associé.
  2. Modifiez la configuration si nécessaire.
  3. Sélectionnez File > Save (Fichier > Enregistrer) ou ⌘S pour enregistrer vos modifications.

L'exemple suivant montre un keystore mykeystore avec deux alias, mycert-alias et mykeycert-alias :

{
    "stores": {
      "mykeystore": {
        "my-cert-alias": {
          "cert": "/Users/jdoe/testkeys/cert1.pem"
        },
        "my-keycert-alias": {
          "key": "/Users/jdoe/testkeys/key1.pem",
          "cert": "/Users/jdoe/testkeys/cert1.pem"
        }
      }
    }
  }

Déployer un environnement

Déployez vos proxys d'API et vos flux partagés configurés pour un environnement afin qu'ils soient accessibles aux tests.

Pour déployer un environnement, procédez comme suit:

  1. Dans Apigee Explorer, placez votre curseur sur le dossier de l'environnement que vous souhaitez déployer.
  2. Cliquez sur Icône de déploiement.

    L'icône de déploiement s'affiche lorsque vous placez le curseur sur le dossier d'environnement de développement.

  3. Si plusieurs conteneurs pour l'émulateur Apigee sont en cours d'exécution, sélectionnez celui dans lequel vous souhaitez déployer l'environnement.
  4. Sélectionnez le groupe de test que vous souhaitez exporter avec le déploiement, ou sélectionnez Déployer sans groupe de test.

    Invite pour exporter un groupe de test

    Vous pouvez exporter les ressources de test ultérieurement, comme décrit dans la section Exporter des ressources de test vers l'émulateur Apigee.

L'environnement est déployé et les informations suivantes sont affichées dans l'onglet Résultat :

Environment dev deployed successfully with revision 7

Les applications déployées sont affichées dans l'émulateur Apigee, comme illustré ci-dessous.

Émulateur Apigee montrant l'application helloworld déployée et les ressources de test actives

Étapes suivantes

Il est maintenant temps de tester votre API.