Esta página se aplica a Apigee, pero no a Apigee Hybrid.
Consulta la documentación de Apigee Edge.
En este documento, se explica cómo llamar a proxies de API desde clientes que se ejecutan en tu red interna. Estos pasos son útiles para probar tu configuración si Apigee se aprovisionó para usar el enrutamiento de red interno. Puedes seguir los pasos de este documento si Apigee se aprovisionó con cualquiera de estas configuraciones de enrutamiento de red:
Opción de aprovisionamiento | Opción de trabajo en red | Pasos de aprovisionamiento |
---|---|---|
Suscripción paga | Con intercambio de tráfico entre VPC | Enrutamiento interno (VPC) Enrutamiento interno (PSC) |
Pay-as-you-go | Con intercambio de tráfico entre VPC | Enrutamiento interno (VPC) Enrutamiento interno (PSC) |
Evaluación | Con intercambio de tráfico entre VPC | Configura el enrutamiento (interno) |
Evaluación | Sin intercambio de tráfico de VPC | Enrutamiento interno (PSC) |
Consulta también Opciones de red.
Antes de comenzar
Realiza los siguientes pasos de configuración preliminar:
- Si aún no lo hiciste, inicializa el SDK de Cloud, como se describe en Inicializa la gcloud CLI, o asegúrate de que el proyecto de Google Cloud que creaste en la sección Requisitos previos sea el proyecto predeterminado para
gcloud
. -
Define las siguientes variables de entorno local:
export PROJECT_ID=YOUR_PROJECT_ID
export AUTH="Authorization: Bearer $(gcloud auth print-access-token)"
export SUBNET=NETWORK_NAME
export INSTANCE_NAME=INSTANCE_NAME
export PROJECT_NUMBER=$(gcloud projects describe $PROJECT_ID --format="value(projectNumber)")
Aquí:
PROJECT_ID
es el ID del proyecto de Cloud que creaste como parte de los requisitos previos.AUTH
define el encabezadoAuthentication
con un token del portador. Usarás este encabezado cuando llames a las API de Apigee. Ten en cuenta que el token vence después de un período y, cuando lo hace, puedes volver a generarlo con el mismo comando. Para obtener más información, consulta la página de referencia del comando print-access-token.SUBNET
es la subred especificada durante el aprovisionamiento. Por ejemplo:default
.INSTANCE_NAME
: El nombre de tu instancia nueva. Por ejemplo,my-runtime-instance
El nombre debe comenzar con una letra en minúscula, puede tener hasta 32 caracteres y solo puede incluir letras en minúscula, números y guiones. No puede comenzar ni terminar con un guion y debe tener al menos dos caracteres.PROJECT_NUMBER
es el ID del proyecto de Cloud que creaste como parte de los requisitos previos. En este ejemplo, se emite un comandogcloud
para obtener el número del proyecto.
- Obtén el valor de la propiedad
location
de tu instancia de Apigee. Este valor es la región donde se encuentra la instancia, comous-west1
:curl -H "$AUTH" https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/instances
- Elige una zona dentro de la región de la instancia y coloca el nombre de la zona en una variable.
La zona debe estar dentro de la instancia. Por ejemplo:
export VM_ZONE="us-west1-b"
Si necesitas ayuda para identificar una zona dentro de la región de la instancia, puedes usar este comando
gcloud
para mostrar un nombre de zona para la región del entorno de ejecución configurado. Por ejemplo:VM_ZONE=$(gcloud compute zones list | grep "us-west1" | head -n 1 | awk '{print $1}')
Crea una VM y llama al proxy de API
A continuación, crea una VM nueva dentro de tu red de VPC mediante el comando gcloud beta compute. La VM actúa como un puente que te permite enviar solicitudes a la IP del balanceador de cargas interno. Después de configurar la VM, puedes llamar a un proxy de API implementado:
-
En el siguiente ejemplo, se crea una VM nueva con algunas opciones comunes y se usan las variables de entorno que definiste antes como entradas.
gcloud beta compute --project=$PROJECT_ID \ instances create $INSTANCE_NAME \ --zone=$VM_ZONE \ --machine-type=e2-micro \ --subnet=$SUBNET \ --network-tier=PREMIUM \ --no-restart-on-failure \ --maintenance-policy=TERMINATE \ --preemptible \ --service-account=$PROJECT_NUMBER-compute@developer.gserviceaccount.com \ --scopes=https://www.googleapis.com/auth/cloud-platform \ --tags=http-server,https-server \ --image=debian-12-bookworm-v20240701 \ --image-project=debian-cloud \ --boot-disk-size=10GB \ --boot-disk-type=pd-standard \ --boot-disk-device-name=$INSTANCE_NAME \ --no-shielded-secure-boot \ --shielded-vtpm \ --shielded-integrity-monitoring \ --reservation-affinity=any
-
Abre una conexión segura en la VM nueva que acabas de crear.
gcloud compute ssh $INSTANCE_NAME --zone=$VM_ZONE --project=$PROJECT_ID
- En la shell de la VM, instala la utilidad
jq
. Se usa en pasos posteriores:sudo apt-get update -y
sudo apt-get install -y jq
- En la shell de VM, crea las siguientes variables de entorno para facilitar copiar y pegar la solicitud del proxy de API:
export AUTH="Authorization: Bearer $(gcloud auth print-access-token)"
export PROJECT_ID=YOUR_PROJECT_ID
export ENV_GROUP_HOSTNAME=$(curl -H "$AUTH" https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/envgroups -s | jq -r '.environmentGroups[0].hostnames[0]')
- Asegúrate de que las variables estén configuradas de forma correcta:
echo $AUTH
echo $PROJECT_ID
echo $ENV_GROUP_HOSTNAME
- Llama a un proxy de API Selecciona una de las siguientes opciones que corresponda a la forma en que configuraste el enrutamiento durante el aprovisionamiento de Apigee.
Opciones para las instalaciones que usan intercambio de tráfico entre VPC
- (Opción 1 de TLS) Si configuraste un balanceador de cargas interno (ILB) en tu proyecto, como se explica en Enrutamiento interno (VPC), llama al proxy mediante la IP de ILB.
Esta opción usa certificados de AC que están bajo tu control y que se crearon cuando se creó el
balanceador de cargas interno:
- Obtén la IP del ILB en tu proyecto, como se explica en Configura el balanceo de cargas de HTTP(S) interno con backends de grupos de instancias de VM.
- Llama a un proxy de API:
curl -H "Host: $ENV_GROUP_HOSTNAME" \ https://INTERNAL_LOAD_BALANCER_IP/PROXY_BASEPATH
- (Opción 2 de TLS) Usa el nombre de dominio completamente calificado predeterminado que se resuelve en el balanceador de cargas interno del proyecto de Apigee. Con esta opción, TLS se emplea con certificados autofirmados de Apigee creados de forma interna. No tienes control sobre estos certificados.
- Obtén la IP del balanceador de cargas interno en el proyecto de Apigee:
export INTERNAL_LOAD_BALANCER_IP=$(curl -H "$AUTH" https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/instances -s | jq -r '.instances[0].host')
- Extrae el certificado de la AC que se creó durante la creación de la organización con el siguiente comando:
curl -H "$AUTH" https://apigee.googleapis.com/v1/organizations/$PROJECT_ID | jq -r .caCertificate | base64 -d > cacert.crt
- Envía la solicitud a un proxy de API implementado, en el que
example.$PROJECT_ID.apigee.internal
es el nombre de dominio interno, predeterminado y completamente calificado que se resuelve en el balanceador de cargas interno.curl -is -H "Host: $ENV_GROUP_HOSTNAME" \ https://example.$PROJECT_ID.apigee.internal/PROXY_BASEPATH \ --cacert cacert.crt \ --resolve example.$PROJECT_ID.apigee.internal:443:$INTERNAL_LOAD_BALANCER_IP
- Obtén la IP del balanceador de cargas interno en el proyecto de Apigee:
- (Opción sin TLS) Si no necesitas TLS, puedes usar la marca
-k
en el comandocurl
para inhabilitar TLS y, posiblemente, evitar problemas de SSL:- Obtén la IP del balanceador de cargas interno en el proyecto de Apigee:
export INTERNAL_LOAD_BALANCER_IP=$(curl -H "$AUTH" https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/instances -s | jq -r '.instances[0].host')
- Llama a un proxy de API:
curl -i -k \ -H "Host: $ENV_GROUP_HOSTNAME" \ https://$INTERNAL_LOAD_BALANCER_IP/PROXY_BASEPATH
- Obtén la IP del balanceador de cargas interno en el proyecto de Apigee:
- (Opción de extremo de servicio) Si aprovisionaste una organización pagada o de evaluación con PSC y elegiste la opción de enrutamiento de extremo de servicio, haz lo siguiente:
- Obtén la IP del extremo de servicio. Si necesitas buscar la IP del extremo, consulta Enumera extremos.
- Llama a un proxy de API:
curl -i -k \ -H "Host: $ENV_GROUP_HOSTNAME" \ https://SERVICE_ENDPOINT_IP/PROXY_BASEPATH
Por ejemplo:
curl -H "Host: $ENV_GROUP_HOSTNAME" https://10.138.0.2/helloworld -k
Opciones para las instalaciones que no usan intercambio de tráfico entre VPC
- (Opción de extremo de servicio) Si aprovisionaste una organización pagada o de evaluación con PSC y elegiste la opción de enrutamiento de extremo de servicio, haz lo siguiente:
- Obtén la IP del extremo de servicio. Si necesitas buscar la IP del extremo, consulta Enumera extremos.
- Llama a un proxy de API:
curl -i -k \ -H "Host: $ENV_GROUP_HOSTNAME" \ https://SERVICE_ENDPOINT_IP/PROXY_BASEPATH
Por ejemplo:
curl -H "Host: $ENV_GROUP_HOSTNAME" https://10.138.0.2/helloworld -k
Si encuentras errores durante esta parte del proceso, asegúrate de que todas las variables de entorno que creaste y usaste en los comandos tengan valores válidos. Consulta también Solución de problemas.
Próximo paso
Prueba crear un proxy que puedas implementar o haz un recorrido de los instructivos de Apigee que te proporcionarán las características de Apigee, como protección contra los aumentos repentinos de tráfico u obtener una vista detallada del flujo de solicitud y respuesta.
(Avanzado) Si planeas convertir esto en una configuración de producción, puedes configurar un perímetro de seguridad alrededor de tu clúster nuevo y servicios de Cloud relacionados. Esto es posible con los Controles del servicio de VPC.
- (Opción 1 de TLS) Si configuraste un balanceador de cargas interno (ILB) en tu proyecto, como se explica en Enrutamiento interno (VPC), llama al proxy mediante la IP de ILB.
Esta opción usa certificados de AC que están bajo tu control y que se crearon cuando se creó el
balanceador de cargas interno: