Cette page s'applique à Apigee, mais pas à Apigee hybrid.
Consultez la documentation d'Apigee Edge.
Résumé des étapes
Ce document explique comment installer et configurer une organisation d'évaluation Apigee (ou org eval) à partir de la ligne de commande. Les organisations d'évaluation expirent au bout de 60 jours et peuvent présenter d'autres limites. Consultez également la section Comparaison des organisations d'évaluation et payantes.
Les étapes de provisionnement sont les suivantes :
- Étape 1 : Définissez des variables d'environnement : configurez
gcloud
définissez des variables d'environnement. Google Cloud CLI gère l'authentification, la configuration locale, le workflow du développeur et les interactions avec les API Google Cloud. - Étape 2 : Activez les API : Apigee nécessite l'activation de plusieurs API Google Cloud.
- Étape 4 : Configurez la mise en réseau des services : la mise en réseau des services automatise la configuration de la connectivité privée (à l'aide de l'appairage de réseaux VPC) entre votre réseau et Apigee.
- Étape 5 : Créez une organisation : une organisation Apigee (parfois appelée "org") est le conteneur de niveau supérieur dans Apigee. Elle comprend tous vos environnements et groupes d'environnement, vos utilisateurs, vos proxy d'API et les ressources associées.
- Étape 8 : Configurez le routage : autorisez l'accès externe ou seulement l'accès interne à votre API.
- Étape 6 : Appelez l'exemple de proxy d'API : testez le provisionnement en déployant et en appelant un proxy d'API.
Étape 1 : Définissez des variables d'environnement
Configurez gcloud
et définissez les variables d'environnement à utiliser dans les étapes suivantes :
- Assurez-vous de respecter les exigences répertoriées dans la section Prérequis.
- Vous devez auparavant avoir installé gcloud CLI. Si vous devez l'installer, consultez la section Installer gcloud CLI.
- Initialisez gcloud CLI comme décrit dans la section Initialiser gcloud CLI ou, si la CLI est déjà initialisée, assurez-vous que le projet Google Cloud que vous avez créé dans la section Prérequis est le projet par défaut pour gcloud.
- Définissez les variables d'environnement suivantes :
AUTH="Authorization: Bearer $(gcloud auth print-access-token)"
PROJECT_ID="YOUR_PROJECT_ID"
RUNTIME_LOCATION="YOUR_RUNTIME_LOCATION"
ANALYTICS_REGION="YOUR_ANALYTICS_REGION"
Où :
- AUTH définit l'en-tête
Authentication
avec un jeton de support. Vous utiliserez cet en-tête lors de l'appel des API Apigee. Notez que le jeton expire après un certain temps. Si c'est le cas, il vous suffit de le générer à nouveau en exécutant la même commande. Pour en savoir plus, consultez la page de référence sur la commande print-access-token. - PROJECT_ID est l'ID du projet Cloud que vous avez créé dans la section Prérequis.
RUNTIME_LOCATION est l'emplacement physique où se trouve l'instance Apigee. Pour obtenir la liste des emplacements d'exécution disponibles, voir Emplacements Apigee.
-
ANALYTICS_REGION est l'emplacement physique dans lequel vous stockerez les données d'analyse Apigee. Pour obtenir la liste des régions Apigee API Analytics disponibles, consultez la page Emplacements Apigee.
RUNTIME_LOCATION et ANALYTICS_REGION peuvent se trouver dans la même région, mais pas nécessairement. Toutefois, si elles sont identiques, cela peut améliorer les performances.
- AUTH définit l'en-tête
- (Facultatif) Vérifiez votre travail en répercutant les valeurs que vous venez de définir. Notez que lorsque vous souhaitez utiliser une variable dans vos commandes, faites précéder le nom de la variable d'un signe dollar ($).
echo $AUTH
echo $PROJECT_ID
echo $RUNTIME_LOCATION
echo $ANALYTICS_REGION
Les réponses à vos commandes
echo
doivent se présenter comme suit :Authorization: Bearer ya29.a123456678940B63hPSAMPLEsampleKKYVsample0f3pWDWZDuH2-hENkNa TvgZ1PD977TMvv6edBQPJezdHw040880Ol_LoD5ZDkt-i-knizia_KhA9L20sSvztL81-SAMPLE42ELPMASk2_ 1CxN my-cloud-project us-west1 us-west1
Étape 2 : Activez les API
-
Apigee requiert l'activation de plusieurs API Google Cloud. Activez-les en exécutant la commande
services enable
:gcloud services enable apigee.googleapis.com \ servicenetworking.googleapis.com compute.googleapis.com \ cloudkms.googleapis.com --project=$PROJECT_ID
(Facultatif) Pour vérifier votre travail, utilisez la commande
services list
pour afficher toutes les API activées :gcloud services list
La réponse affiche tous les services activés, y compris les API que vous venez d'activer (Apigee, Service Networking, Cloud KMS et Compute Engine).
Étape 3 : Configurez la mise en réseau des services
- Créez les variables d'environnement suivantes :
RANGE_NAME=YOUR_RANGE_NAME
NETWORK_NAME=YOUR_NETWORK_NAME
Où :
RANGE_NAME
est le nom de la plage d'adresses IP que vous créez. Vous pouvez donner le nom que vous voulez à la plage. Par exemple :google-svcs
.NETWORK_NAME
est le nom de la ressource réseau dans laquelle les adresses doivent être réservées. Google crée un réseau par défaut (nommédefault
) pour chaque nouveau projet afin que vous puissiez l'utiliser. Toutefois, Google ne recommande d'utiliser le réseau par défaut que pour effectuer des tests.
- Créez une plage d'adresses IP avec une longueur CIDR de /22 :
gcloud compute addresses create $RANGE_NAME \ --global \ --prefix-length=22 \ --description="Peering range for Apigee services" \ --network=$NETWORK_NAME \ --purpose=VPC_PEERING \ --addresses=OPTIONAL_ADDRESSES \ --project=$PROJECT_ID
Où
--addresses
vous permet de spécifier (facultatif) une ou plusieurs adresses IP pour la longueur de préfixe de/22
. Par exemple, pour allouer le bloc CIDR192.168.0.0/22
, spécifiez192.168.0.0
pour l'adresse et22
pour la longueur du préfixe. Consultez également la section Créer une allocation d'adresses IP.Si vous ne fournissez pas de paramètre
--addresses
, gcloud sélectionne automatiquement une plage d'adresses disponible.En cas de réussite,
gcloud
renvoie la réponse suivante :Created [https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/global/addresses/google-svcs].
Une fois que vous avez créé une plage d'adresses IP, les adresses sont associées au projet jusqu'à leur publication.
- Créez une deuxième plage d'adresses IP avec une longueur CIDR de /28. Cette plage est utilisée par Apigee à des fins de dépannage et ne peut pas être personnalisée ni modifiée.
gcloud compute addresses create google-managed-services-support-1 \ --global \ --prefix-length=28 \ --description="Peering range for supporting Apigee services" \ --network=$NETWORK_NAME \ --purpose=VPC_PEERING \ --addresses=OPTIONAL_ADDRESSES \ --project=$PROJECT_ID
Où
--addresses
vous permet de spécifier éventuellement une ou plusieurs adresses IP pour la longueur du préfixe/28
. Par exemple, pour allouer le bloc CIDR192.168.0.0/28
, spécifiez192.168.0.0
pour l'adresse et28
pour la longueur du préfixe. Consultez également la section Créer une allocation d'adresses IP.Si vous ne fournissez pas de paramètre
--addresses
, gcloud sélectionne automatiquement une plage d'adresses disponible. - Connectez vos services au réseau à l'aide de la commande suivante :
gcloud services vpc-peerings connect \ --service=servicenetworking.googleapis.com \ --network=$NETWORK_NAME \ --ranges=$RANGE_NAME,google-managed-services-support-1 \ --project=$PROJECT_ID
Cette opération peut prendre plusieurs minutes. En cas de réussite,
gcloud
renvoie la réponse suivante :Operation "operations/OPERATION_ID" finished successfully.
Où OPERATION_ID est l'UUID de l'opération de longue durée (LRO).
Apigee crée une connexion entre votre réseau et les services de Google. Apigee, en particulier, connecte votre projet à l'API Service Networking via l'appairage de VPC. Apigee associe également des adresses IP à votre projet.
Étape 4 : Créez une organisation
Une organisation est le conteneur de niveau supérieur dans Apigee. Elle contient tous les proxys d'API et les ressources associées. Pour en savoir plus, consultez la page Comprendre les organisations.
- Créez une organisation d'évaluation à l'aide de la commande gcloud apigee organizations :
gcloud alpha apigee organizations provision \ --runtime-location=$RUNTIME_LOCATION \ --analytics-region=$ANALYTICS_REGION \ --authorized-network=$NETWORK_NAME \ --project=$PROJECT_ID
Où
--authorized-network
est le nom de votre réseau d'appairage personnalisé. Exemple :default
. -
Lorsque vous exécutez la commande
provision
, Google démarre une opération de longue durée pour créer l'organisation d'évaluation. Cette opération peut prendre jusqu'à 40 minutes. Pendant ce temps,gcloud
affiche le message suivant :Provisioning organization...
Une fois l'organisation d'évaluation et l'instance d'exécution associée créées,
gcloud
envoie la réponse suivante :Provisioning organization...done.
-
Si vous exécutez la commande suivante :
gcloud alpha apigee operations list --organization=$PROJECT_ID
Vous devriez voir que tous les UUID sont à l'état
FINISHED
. Exemple :UUID ORGANIZATION STATE 00bab06f-c60c-41a5-4242-7SAMPLE7f my-org FINISHED 429790a7-3151-4642-4343-7SAMPLE7f my-org FINISHED d00a92a9-9b83-4642-4343-7SAMPLE7f my-org FINISHED f48a00ff-7daa-4c4a-4444-7SAMPLE7f my-org FINISHED
Étape 5 : Configurez le routage
Décidez si vous souhaitez autoriser l'accès externe ou uniquement l'accès interne :
Type d'accès | Description du processus de configuration et de déploiement |
---|---|
Interne |
N'autorisez que l'accès interne à vos proxys API. Vous devez créer une VM à l'intérieur du réseau et vous y connecter. À partir de la nouvelle VM, vous pouvez envoyer une requête à un proxy d'API Apigee. |
Externe |
Autorisez l'accès externe à vos proxys API. Utilisez Private Service Connect (PSC) pour activer la connexion privée entre un producteur de services (Apigee) et un client du service (le projet VPC appairé et/ou un ou plusieurs autres projets Cloud que vous contrôlez). Avec cette méthode, les requêtes transitent par un équilibreur de charge externe global vers un seul point de rattachement, appelé rattachement de service. Cette configuration vous permet d'envoyer des requêtes de proxy d'API Apigee à partir de n'importe quelle machine compatible avec le réseau. |
Chacune de ces approches de routage est présentée sous la forme d'un onglet dans les instructions ci-dessous.
Routage interne
Si vous utilisez la ligne de commande pour configurer un proxy d'API pour un accès interne uniquement, aucune tâche n'est à effectuer pour cette étape. Vous pouvez passer à l'Étape 6 : Appelez l'exemple de proxy d'API, où vous enverrez une requête à votre proxy d'API.
Routage externe
Cette section explique comment configurer le routage externe à l'aide de Private Service Connect (PSC) pour permettre la communication entre Apigee et les VPC que vous contrôlez. Vous devez effectuer cette opération avant de pouvoir envoyer une requête à partir d'un client externe vers votre instance d'exécution Apigee.
Les étapes de configuration externe sont les suivantes :
Étape 5a : Créez un groupe de points de terminaison du réseau (NEG)
Étape 5b : Configurez l'équilibreur de charge
Toutes ces étapes sont décrites plus en détail dans les sections suivantes.
Étape 5a : Créez un groupe de points de terminaison du réseau (NEG)
- Obtenez le rattachement de service pour votre instance Apigee :
curl -i -X GET -H "$AUTH" \ "https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/instances"
Dans l'exemple de résultat suivant, la valeur
serviceAttachment
est indiquée en gras :{ "instances": [ { "name": "eval-instance", "location": "us-west1", "host": "10.72.100.2", "port": "443", "createdAt": "1657832463500", "lastModifiedAt": "1657833920670", "state": "ACTIVE", "peeringCidrRange": "SLASH_22", "runtimeVersion": "1-8-0-apigee-18", "ipRange": "10.74.100.0/28,10.74.100.16/28", "consumerAcceptList": [ "apigee-eval-test" ], "serviceAttachment": "projects/s8da1b0111eb33765-tp/regions/us-west1/serviceAttachments/apigee-us-west1-icza" } ] }
Créez un groupe de points de terminaison du réseau (NEG) Private Service Connect qui pointe vers le rattachement de service que vous avez obtenu à partir du corps de réponse de l'instance à l'étape précédente.
gcloud compute network-endpoint-groups create NEG_NAME \ --network-endpoint-type=private-service-connect \ --psc-target-service=TARGET_SERVICE \ --region=$RUNTIME_LOCATION \ --network=$NETWORK_NAME \ --subnet=SUBNET_NAME \ --project=$PROJECT_ID
Remplacez les éléments suivants :
- NEG_NAME : nom du groupe de points de terminaison du réseau.
- TARGET_SERVICE : rattachement de service auquel vous souhaitez vous connecter. Par exemple :
projects/bfac7497a40c32a12p-tp/regions/us-west1/serviceAttachments/apigee-us-west1-crw7
- SUBNET_NAME : nom du sous-réseau utilisé pour la connectivité privée au producteur. La taille du sous-réseau peut être faible : le NEG PSC n'a besoin que d'une adresse IP du sous-réseau. Pour Apigee, un seul NEG PSC est nécessaire par région. Le sous-réseau peut être partagé et utilisé par des VM ou d'autres entités. Si aucun sous-réseau n'est spécifié, les points de terminaison du réseau peuvent appartenir à n'importe quel sous-réseau de la région dans laquelle le groupe de points de terminaison du réseau est créé.
Étape 5b : Configurez l'équilibreur de charge
Configurez un équilibreur de charge HTTP(S) externe global (schéma d'équilibrage de charge défini sur EXTERNAL_MANAGED
).
Bien que le NEG Private Service Connect soit régional, tous les autres composants d'équilibrage de charge de cette configuration sont globaux.
- Réservez une adresse IPv4 externe globale pour l'équilibreur de charge.
gcloud compute addresses create ADDRESS_NAME \ --ip-version=IPV4 --global --project=$PROJECT_ID
Remplacez ADDRESS_NAME par le nom de la ressource d'adresse IP
Exécutez la commande suivante pour afficher l'adresse IP réservée :
gcloud compute addresses describe ADDRESS_NAME \ --format="get(address)" --global --project=$PROJECT_ID
- Créez un service de backend pour le NEG.
gcloud compute backend-services create BACKEND_SERVICE_NAME \ --load-balancing-scheme=EXTERNAL_MANAGED \ --protocol=HTTPS \ --global --project=$PROJECT_ID
- Ajoutez le service de backend au NEG.
gcloud compute backend-services add-backend BACKEND_SERVICE_NAME \ --network-endpoint-group=NEG_NAME \ --network-endpoint-group-region=$RUNTIME_LOCATION \ --global --project=$PROJECT_ID
Remplacez les éléments suivants :
- BACKEND_SERVICE_NAME : nom du service de backend.
- NEG_NAME : nom du groupe de points de terminaison du réseau.
Créez un mappage d'URL pour l'équilibreur de charge.
Un mappage d'URL doit faire référence à un service de backend par défaut. Définissez le service de backend que vous venez de créer comme service par défaut.
gcloud compute url-maps create URL_MAP_NAME \ --default-service=DEFAULT_BACKEND_SERVICE_NAME \ --global --project=$PROJECT_ID
Remplacez les éléments suivants :
- URL_MAP_NAME : nom du mappage d'URL.
- DEFAULT_BACKEND_SERVICE_NAME : nom du service de backend par défaut de l'équilibreur de charge. La valeur par défaut est utilisée lorsqu'aucune règle d'hôte ne correspond au nom d'hôte demandé.
Créez un certificat SSL pour le proxy cible HTTPS.
Pour créer un équilibreur de charge HTTPS, vous devez disposer d'une ressource de certificat SSL à utiliser dans le proxy cible HTTPS. Vous pouvez créer une ressource de certificat SSL à l'aide d'un certificat SSL géré par Google ou d'un certificat SSL autogéré.
Utilisez cette commande pour créer une ressource de certificat SSL géré par Google :
gcloud compute ssl-certificates create CERTIFICATE \ --domains DOMAIN --project=$PROJECT_ID
Remplacez les éléments suivants :
- CERTIFICATE : nom du certificat.
- DOMAIN : nom de domaine que vous utiliserez pour l'équilibreur de charge externe.
Pour créer un certificat SSL autogéré, vous avez besoin d'un fichier de clé privée locale et d'un fichier de certificat local. Si vous devez créer ces fichiers, consultez la section Utiliser des certificats SSL autogérés.
gcloud compute ssl-certificates create CERTIFICATE \ --certificate LB_CERT \ --private-key LB_PRIVATE_KEY --project=$PROJECT_ID
Remplacez les éléments suivants :
- CERTIFICATE : nom du certificat.
- LB_CERT : chemin d'accès au fichier de certificat au format PEM de votre certificat autogéré.
- LB_PRIVATE_KEY : chemin d'accès au fichier de clé privée au format PEM pour votre certificat autogéré.
-
Le provisionnement du certificat peut prendre jusqu'à une heure. Pour vérifier l'état du provisionnement, exécutez la commande suivante :
gcloud compute ssl-certificates describe CERTIFICATE \ --global \ --format="get(name,managed.status, managed.Status)"
- Ajoutez le domaine au groupe d'environnements Apigee qui a été créé pour vous. Le nom du groupe d'environnements est
eval-group
:curl "https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/envgroups/eval-group" \ -H "$AUTH" \ -X PATCH \ -H "Content-Type:application/json" \ -d '{ "hostnames":["'"DOMAIN"'"] }'
- Vérifiez l'état de l'opération du groupe d'environnements :
curl -H "$AUTH" \ "https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/envgroups/eval-group/attachments"
-
Utilisez la ressource de certificat SSL pour créer un proxy HTTPS cible.
gcloud compute target-https-proxies create PROXY_NAME \ --url-map=URL_MAP_NAME \ --ssl-certificates=CERTIFICATE --project=$PROJECT_ID
Remplacez les éléments suivants :
- PROXY_NAME : nom du proxy HTTPS cible.
- URL_MAP_NAME : nom du mappage d'URL.
- CERTIFICATE : nom de la ressource de certificat.
- Créez la règle de transfert.
gcloud compute forwarding-rules create FWD_RULE \ --load-balancing-scheme=EXTERNAL_MANAGED \ --network-tier=PREMIUM \ --address=ADDRESS_NAME \ --target-https-proxy=PROXY_NAME \ --ports=443 \ --global --project=$PROJECT_ID
Remplacez les éléments suivants :
- FWD_RULE : nom de la règle de transfert.
- ADDRESS_NAME : ressource d'adresse IP que vous avez réservée pour la règle de transfert.
- PROXY_NAME : nom du proxy HTTPS cible.
Remplacez BACKEND_SERVICE_NAME par le nom du service de backend.
Le provisionnement d'Apigee est terminé.
Étape 6 : Appelez l'exemple de proxy d'API
Un proxy d'API appelé hello-world
a été créé et déployé pour vous pendant le provisionnement. Au cours de cette étape, vous allez tester la nouvelle organisation d'évaluation en appelant le proxy.
Appeler le proxy avec un routage interne
Si vous avez choisi l'option de routage interne à l'étape 5, suivez les étapes décrites dans la section Appeler un proxy d'API avec un accès interne uniquement.
Appeler le proxy avec un routage externe
Si vous avez choisi l'option de routage externe à l'étape 5, suivez les étapes décrites dans cette section.
- Configurez une entrée DNS pour votre domaine. Pour ce faire, vous deux options s'offrent à vous :
- Au niveau de votre bureau d'enregistrement, créez un enregistrement A pointant vers votre domaine. Par exemple, si votre domaine est
sales.example.com
et que l'adresse IP est 10.23.0.2, faites pointer l'enregistrement poursales.example.com
vers l'adresse10.23.0.2
.Exécutez la commande suivante pour afficher l'adresse IP réservée :
gcloud compute addresses describe ADDRESS_NAME \ --format="get(address)" --global --project=$PROJECT_ID
- Utilisez Cloud DNS pour mapper une URL à une adresse IP.
- Au niveau de votre bureau d'enregistrement, créez un enregistrement A pointant vers votre domaine. Par exemple, si votre domaine est
- Vérifiez que le proxy
hello-world
est déployé :curl -i -H "$AUTH" \ "https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/environments/eval/apis/hello-world/revisions/1/deployments"
- Appelez le proxy d'API à l'aide de la commande suivante :
Envoyez une requête au proxy d'API à partir de n'importe quel ordinateur connecté au réseau en exécutant la commande suivante :
curl -i -H "Host: DOMAIN" \ https://DOMAIN/hello-world
Où DOMAIN est le domaine que vous avez saisi dans le certificat et ajouté au groupe d'environnements, comme indiqué à l'Étape 5 : Configurez le routage. Si nécessaire, vous pouvez utiliser cette API pour obtenir la valeur
DOMAIN
du groupe d'environnements :curl -i -H "$AUTH" \ "https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/envgroups"
En cas de réussite, l'exemple de proxy d'API renvoie la réponse suivante :
Hello, Guest!
Conseils de dépannage
Si vous obtenez une erreur de handshake, vérifiez l'état du certificat SSL. Pour en savoir plus sur le dépannage des certificats autogérés et gérés par Google, consultez la section Résoudre les problèmes liés aux certificats SSL.
Assurez-vous que votre domaine enregistré possède un enregistrement A qui pointe vers l'adresse IP de l'adresse IPv4 externe globale créée à l'étape 5. Exécutez la commande suivante pour afficher l'adresse IP réservée :
gcloud compute addresses describe ADDRESS_NAME \ --format="get(address)" --global --project=$PROJECT_ID
Si vous ne parvenez pas à résoudre la configuration du domaine, essayez d'appeler le proxy avec cette commande :
curl -H Host:DOMAIN --resolve \ DOMAIN:443:EXTERNAL_IP_ADDRESS \ https://DOMAIN:443/hello-world -k
Étape suivante : Pour en savoir plus sur la création et le déploiement de proxys d'API, consultez la section Présentation de la création de votre premier proxy d'API.