En este documento se describe cómo instalar y configurar Apigee desde la línea de comandos
con el emparejamiento de VPC. Estos pasos se aplican a los modelos de precios de suscripción y de pago por uso de las organizaciones de pago con o sin la residencia de datos habilitada.
Resumen de los pasos
Los pasos de aprovisionamiento son los siguientes:
Paso 1: Define las variables del entorno:
Configura gcloud y define las variables del entorno.
La CLI de Google Cloud gestiona la autenticación, la configuración local, el flujo de trabajo de desarrollo y las interacciones con las APIs de Google Cloud.
Paso 4: Configura Service Networking: Service Networking automatiza la configuración de la conectividad privada (mediante el emparejamiento entre redes de VPC) entre tu red y Apigee.
Paso 5: Crea una organización: una organización de Apigee (a veces denominada "org") es el contenedor de nivel superior de Apigee. Incluye todos tus entornos y grupos de entornos, usuarios, proxies de API y recursos relacionados.
Paso 6: Crea una instancia de entorno de ejecución: una instancia o un entorno de ejecución es el lugar donde se almacenan tu proyecto y los servicios relacionados. Proporciona el endpoint visible para los usuarios de tus servicios.
Paso 7: Crea un entorno: un proxy de API debe desplegarse en un entorno y añadirse a un grupo de entornos para que se pueda acceder a las APIs que expone a través de la red.
Configura gcloud y define las variables de entorno que se usarán en pasos posteriores:
Asegúrate de que has completado los requisitos de configuración que se indican en la sección
Antes de empezar.
Debes tener instalado el SDK de Google Cloud. Si necesitas instalarlo, consulta el artículo sobre
instalar el SDK de Google Cloud.
Inicializa el SDK de Cloud, tal como se describe en Inicializar la CLI de gcloud, o asegúrate de que el proyecto de Google Cloud que has creado en Requisitos sea el proyecto predeterminado de gcloud.
Define las siguientes variables de entorno en el terminal de comandos.
Selecciona la pestaña que corresponda al tipo de organización que necesites:
Sin residencia de datos o con
Residencia de datos:
AUTH define el encabezado Authentication con un token de portador.
Usarás este encabezado al llamar a las APIs de Apigee. Ten en cuenta que el token caduca al cabo de un periodo y, cuando lo haga, 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.
PROJECT_ID es el ID del proyecto de Cloud que has creado en los requisitos previos.
PROJECT_NUMBER es el número del proyecto de Cloud que has creado en la sección Requisitos.
RUNTIME_LOCATION es la ubicación física en la que se encuentra la instancia de Apigee que crearás más adelante. Para ver una lista de las ubicaciones de tiempo de ejecución disponibles, consulta Ubicaciones de Apigee.
ANALYTICS_REGION es la ubicación física en la que se almacenarán los datos de analíticas de Apigee. Para ver una lista de las regiones disponibles de Apigee API Analytics, consulta Ubicaciones de Apigee.
Tanto RUNTIME_LOCATION como ANALYTICS_REGION
pueden ser la misma región, pero no es obligatorio.
BILLING_TYPE es el tipo de facturación de la organización que crees. Los valores válidos son estos:
AUTH define el encabezado Authentication con un token de portador.
Usarás este encabezado al llamar a las APIs de Apigee. Ten en cuenta que el token caduca al cabo de un periodo y, cuando lo haga, 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.
PROJECT_ID es el ID del proyecto de Cloud que has creado en los requisitos previos.
PROJECT_NUMBER es el número del proyecto de Cloud que has creado en la sección Requisitos.
RUNTIME_LOCATION es la ubicación física en la que se encuentra la instancia de Apigee que crearás más adelante. Para ver una lista de las ubicaciones de tiempo de ejecución disponibles, consulta Ubicaciones de Apigee.
La ubicación del tiempo de ejecución debe estar dentro de la ubicación del plano de control.
CONTROL_PLANE_LOCATION es la ubicación física en la que se almacenarán los datos del plano de control de Apigee.
Para ver una lista de las ubicaciones del plano de control disponibles, consulta Ubicaciones de Apigee.
CONSUMER_DATA_REGION es una subregión de la región del plano de control. Debes especificar tanto CONTROL_PLANE_LOCATION como CONSUMER_DATA_REGION.
Para ver una lista de las regiones de datos de consumidores disponibles, consulta Ubicaciones de Apigee.
BILLING_TYPE es el tipo de facturación de la organización que crees. Los valores válidos son estos:
(Opcional) Comprueba tu trabajo repitiendo los valores que acabas de definir. Ten en cuenta que, si quieres usar una variable en tus comandos, debes escribir el nombre de la variable precedido del signo de dólar ($).
Las respuestas a tus comandos de echo deberían tener un aspecto similar al siguiente:
YOUR_TOKEN
my-cloud-project
1234567890
us-west1
us
us-west1
SUBSCRIPTION
Paso 2: Habilita las API
Permisos que se necesitan para completar esta tarea
Puedes asignar al aprovisionador de Apigee un rol predefinido que incluya los permisos necesarios para completar esta tarea o asignar permisos más específicos para proporcionar los privilegios mínimos necesarios. Consulta las secciones sobre
roles predefinidos y
permisos para habilitar APIs.
Apigee requiere que habilites varias APIs de Google Cloud. Para habilitarlos, ejecuta el siguiente comando services enable:
Comprueba que el agente se haya creado correctamente. En la respuesta se debe mostrar el nombre del agente con el siguiente formato:
service-PROJECT_NUMBER@gcp-sa-apigee.iam.gserviceaccount.com.
por ejemplo:
Service identity created: service-1234567890@gcp-sa-apigee.iam.gserviceaccount.com
Paso 4: Configura las redes de servicios
En este paso, asignas un par de intervalos de direcciones IP (un intervalo CIDR /22 y otro /28) a Apigee y realizas el emparejamiento de VPC entre tu red y la de Apigee. Cada instancia de Apigee requiere un intervalo CIDR de /22 y /28 que no se solape. Al plano de ejecución de Apigee se le asignan direcciones IP de este intervalo CIDR. Por lo tanto, es importante que el intervalo se reserve para Apigee y que no lo utilicen otras aplicaciones de tu red de VPC. Para obtener más información y conocer las consideraciones importantes, consulta Información sobre los intervalos de emparejamiento.
Ten en cuenta que estás creando un intervalo de IP de red suficiente para una instancia de Apigee. Si tienes previsto crear más instancias de Apigee, debes repetir este paso con cada una de ellas. Los intervalos no se pueden compartir entre instancias. Consulta también Ampliar Apigee a varias regiones.
Permisos necesarios para
esta tarea
Puedes asignar al aprovisionador de Apigee un rol predefinido que incluya los permisos necesarios para completar esta tarea o asignar permisos más específicos para proporcionar los privilegios mínimos necesarios. Consulta los
roles predefinidos y los
permisos de redes de servicios.
RANGE_NAME es el nombre del intervalo de direcciones IP que vas a crear.
Puedes asignar el nombre que quieras al intervalo. Por ejemplo: google-svcs
NETWORK_NAME es el nombre del recurso de red en el que se deben reservar las direcciones.
Google crea una red predeterminada (llamada default) para cada proyecto nuevo, por lo que puedes usarla. Sin embargo, Google no recomienda usar la red predeterminada para otra cosa que no sean pruebas.
Crea un intervalo de IP de red con una longitud CIDR de /22:
Donde --addresses te permite especificar de forma opcional un intervalo de direcciones. Por ejemplo, para asignar el bloque CIDR
192.168.0.0/22, especifica 192.168.0.0 para
la dirección y 22 para la longitud del prefijo. Consulta también
Crear una asignación de IP.
Si no proporcionas el parámetro --addresses, gcloud seleccionará un intervalo de direcciones disponible.
Si la solicitud se realiza correctamente, gcloud responde con lo siguiente:
Created [https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/global/addresses/google-svcs].
Una vez que creas un intervalo de direcciones IP, estas se asocian al proyecto hasta que las liberas.
Comprueba que el intervalo de IP de la red se haya creado con una longitud CIDR de /22:
Crea un intervalo de IP de red con una longitud CIDR de /28. Este intervalo es obligatorio y Apigee lo usa para solucionar problemas. No se puede personalizar ni cambiar.
Donde --addresses te permite especificar de forma opcional un intervalo de direcciones. Por ejemplo, para asignar el bloque CIDR
192.168.0.0/28, especifica 192.168.0.0 para
la dirección y 28 para la longitud del prefijo. Consulta también
Crear una asignación de IP.
Si no proporcionas el parámetro --addresses, gcloud seleccionará un intervalo de direcciones disponible.
Comprueba que el intervalo de IP de la red se haya creado con una longitud CIDR de /28:
Esta operación puede tardar varios minutos en completarse. Si la solicitud se completa correctamente, gcloud
responde con lo siguiente, donde OPERATION_ID es el UUID de la operación de larga duración.
Apigee crea una conexión entre tu red y los servicios de Google. En concreto, Apigee conecta tu proyecto a la API Service Networking mediante el emparejamiento de VPC. Apigee
también asocia direcciones IP a tu proyecto.
Al cabo de unos minutos, comprueba si el peering de VPC se ha realizado correctamente:
gcloud services vpc-peerings list \
--network=$NETWORK_NAME \
--service=servicenetworking.googleapis.com \
--project=$PROJECT_ID
Paso 5: Crea una organización
Permisos que se necesitan para completar esta tarea
Puedes asignar al aprovisionador de Apigee un rol predefinido que incluya los permisos necesarios para completar esta tarea o asignar permisos más específicos para proporcionar los privilegios mínimos necesarios. Consulta los siguientes artículos:
Antes de crear una organización, debes crear un conjunto de claves y una clave de cifrado de la base de datos de tiempo de ejecución (consulta el paso 1) y, si usas la
residencia de datos, conjuntos de claves y claves de cifrado del plano de control (consulta el paso 2). Estas claves de
Cloud KMS cifran los datos que se almacenan y replican en las ubicaciones del tiempo de ejecución y del plano de control. Apigee usa estas entidades para cifrar datos de aplicaciones, como KVMs, caché y secretos de clientes, que se almacenan en la base de datos. Para obtener más información, consulta el artículo
Acerca de las claves de cifrado de Apigee.
Crea un conjunto de claves y una clave de encriptado de la base de datos de tiempo de ejecución.
Define una variable de entorno para la ubicación del anillo y la clave de cifrado de tu base de datos de tiempo de ejecución. De esta forma, se mantiene la coherencia al crearlos y te resulta más fácil seguir la documentación.
El valor es la ubicación física donde se almacenan el conjunto de claves y la clave de cifrado de la base de datos de tiempo de ejecución.
Una sola región
Configuraciones de una sola región: en las que solo tienes una instancia en una región. Elige entre las ubicaciones regionales de KMS admitidas.
Por ejemplo:
RUNTIMEDBKEY_LOCATION="us-west1"
El valor puede ser el mismo que el de $RUNTIME_LOCATION (también una región), pero no es obligatorio. Sin embargo, puede que el rendimiento mejore si son iguales.
Si tienes una configuración multirregional en EE. UU., te recomendamos que uses us para tu ubicación, si es posible. Si no, usa nam4.
Define variables de entorno para los conjuntos de claves y los nombres de las claves de la base de datos.
El nombre del conjunto de claves debe ser único en tu organización. Si creas una segunda región o una posterior, el nombre no puede ser el mismo que el de otros conjuntos de claves.
(Opcional) Comprueba tu trabajo repitiendo los valores que acabas de definir. Recuerda que, si quieres usar una variable en tus comandos, debes escribir el nombre de la variable precedido de un signo de dólar ($).
La ubicación de la clave de cifrado de la base de datos de tiempo de ejecución de Apigee admite todas las ubicaciones de Cloud KMS que admiten Cloud HSM y Cloud EKM.
Este comando vincula la clave al agente de servicio de Apigee.
Si esta solicitud se completa correctamente, gcloud responde con algo similar a lo siguiente:
Updated IAM policy for key [runtime].
bindings:
- members:
- serviceAccount:service-1234567890@gcp-sa-apigee.iam.gserviceaccount.com
role: roles/cloudkms.cryptoKeyEncrypterDecrypter
etag: BwWqgEuCuwk=
version: 1
Si aparece un error como el siguiente:
INVALID_ARGUMENT: Role roles/cloudkms.cryptokms.cryptoKeyEncrypterDecrypter is not supported for this resource.
Asegúrate de haber usado el número del proyecto y no su nombre en la dirección de correo de la cuenta de servicio.
Si usas la
residencia de datos, crea un conjunto de claves y una clave de encriptado del plano de control. Si no usa la residencia de datos, vaya al paso 3.
Sigue estos pasos para crear un conjunto de claves y una clave de cifrado del plano de control.
Define una variable de entorno para la ubicación del anillo y la clave de cifrado de la base de datos del plano de control:
CONTROL_PLANE_LOCATION es la ubicación física en la que se almacenarán los datos del plano de control de Apigee.
Para ver una lista de las ubicaciones del plano de control disponibles, consulta Ubicaciones de Apigee.
CONSUMER_DATA_REGION es una subregión de la región del plano de control. Debes especificar tanto CONTROL_PLANE_LOCATION como CONSUMER_DATA_REGION.
Para ver una lista de las regiones de datos de consumidores disponibles, consulta Ubicaciones de Apigee.
Define variables de entorno para los conjuntos de claves y los nombres de claves de la base de datos del plano de control.
El nombre del conjunto de claves debe ser único en tu organización.
CONTROL_PLANE_KEY_RING_NAME es el nombre del conjunto de claves que usarás para identificar tu conjunto de claves de cifrado del plano de control.
CONTROL_PLANE_KEY_NAME es el nombre de la clave que usarás para identificar tu clave de cifrado del plano de control.
CONSUMER_DATA_KEY_RING_NAME es el nombre del conjunto de claves que usarás para identificar tu conjunto de claves de cifrado de la región de datos de consumidor.
CONSUMER_DATA_KEY_NAME es el nombre de la clave que usarás para identificar tu clave de encriptado de la región de datos de consumidor.
Este comando vincula la clave al agente de servicio de Apigee. Si esta solicitud se completa correctamente, gcloud responde con un mensaje similar al siguiente:
runtimeDatabaseEncryptionKeyName: el ID de la clave de cifrado de la aplicación que has creado en el paso anterior. Recuerda que el ID tiene una estructura
similar a la de una ruta de archivo. Por ejemplo: projects/my-project/locations/us-west1/keyRings/my-key-ring/cryptoKeys/my-key
-d define la carga útil de datos de la solicitud. Esta carga útil debe incluir lo siguiente:
name: identifica tu nueva organización. Debe ser el mismo nombre que el ID de tu proyecto.
runtimeType: asigna el valor CLOUD.
billingType: especifica el tipo de facturación de la organización creada.
controlPlaneEncryptionKeyName: es el ID de la clave del plano de control.
apiConsumerDataLocation: también debes especificar una subregión para que la usen los recursos internos. Consulta
Regiones de residencia de datos para ver los valores admitidos.
apiConsumerDataEncryptionKeyName: es el ID de la clave de la región de tus datos de consumidor.
runtimeDatabaseEncryptionKeyName: el ID de la clave de cifrado de la aplicación que has creado en el paso anterior. Recuerda que el ID tiene la estructura de una ruta de archivo. Por ejemplo: projects/my-project/locations/us-west1/keyRings/my-key-ring/cryptoKeys/my-key
Después de ejecutar este comando, Apigee inicia una operación de larga duración,
que puede tardar unos minutos en completarse.
Si se produce un error, comprueba que has usado comillas alrededor de los valores de las variables en la carga útil de datos. Asegúrate de que la variable $PROJECT_ID esté entre comillas dobles, simples y dobles, como se muestra en el siguiente ejemplo:
"'"$PROJECT_ID"'"
Si usa cadenas simples (no variables de entorno) para los valores de las solicitudes, puede
incluirlas entre comillas dobles en la cadena de carga útil
entre comillas simples, como se muestra en el siguiente ejemplo:
'{ "name":"my-gcp-project", ... }'
Espera unos minutos.
Para comprobar el estado de tu solicitud de creación, puedes enviar una solicitud GET a la API List organizations de Apigee, como se muestra en el siguiente ejemplo:
Si ves esta respuesta, significa que la creación de la organización aún no se ha completado:
{
"error": {
"code": 403,
"message": "Permission denied on resource \"organizations/apigee-docs-m\" (or it may not exist)",
"status": "PERMISSION_DENIED"
}
}
Si Apigee ha creado una organización correctamente, recibirás una respuesta similar a la siguiente:
Paso 6: Crea una instancia de entorno de ejecución
Permisos que se necesitan para completar esta tarea
Puedes asignar al aprovisionador de Apigee un rol predefinido que incluya los permisos necesarios para completar esta tarea o asignar permisos más específicos para proporcionar los privilegios mínimos necesarios. Consulta
Roles predefinidos y
Permisos de instancias de tiempo de ejecución.
Una instancia de tiempo de ejecución es el lugar donde se almacenan tu proyecto de Apigee y los servicios relacionados. Proporciona el endpoint visible para los usuarios de tus servicios. Para crear una instancia de tiempo de ejecución:
Comprueba que Apigee haya terminado de crear tu organización. Has enviado una solicitud para crear una organización en Crear una organización de Apigee, pero debes asegurarte de que se haya completado antes de continuar.
Si la organización existe (y tienes los permisos adecuados para verla), Apigee
responde con información detallada sobre ella. Si Apigee responde con un error, espera un par de minutos y vuelve a enviar la solicitud.
Al igual que en la tarea anterior, en la que creaste una clave de cifrado para la base de datos, ahora debes crear una clave de
Cloud KMS que se use para cifrar los datos del lado del servidor.
Para empezar, define las siguientes variables de entorno:
INSTANCE_NAME: nombre de la nueva instancia. Por ejemplo, my-runtime-instance. El nombre debe empezar por una letra en minúscula, tener una longitud máxima de 32 caracteres y solo puede incluir letras en minúscula, números y guiones. No puede empezar ni acabar con un guion y debe tener al menos dos caracteres.
RUNTIME_LOCATION es el lugar físico en el que se aloja tu clúster.
Los valores válidos son cualquier ubicación permitida por Compute Engine. (Consulta las regiones y zonas disponibles). En este ejemplo se usa
us-west1.
DISK_KEY_RING_NAME es el nombre del conjunto de claves de cifrado de disco.
DISK_KEY_NAME es el nombre de la clave de cifrado de disco.
consumerAcceptList (Opcional) Especifica una lista de IDs de proyectos de Google Cloud que pueden conectarse de forma privada al
adjunto de servicio de la VPC de Apigee. Una vinculación de servicio es una entidad que se usa con
Private Service Connect de Google Cloud para permitir que los productores de servicios (en este caso, Apigee) expongan servicios a los consumidores (en este caso, uno o varios proyectos de Cloud de tu propiedad).
De forma predeterminada, usamos el proyecto de Cloud que ya está asociado a tu organización de Apigee. Por ejemplo:
"consumerAcceptList": ["project1", "project2", "project3"]
Ten en cuenta que también puedes definir y cambiar la lista de proyectos aceptados en la interfaz de usuario de la instancia. Para obtener más información, consulta el artículo
Gestionar instancias.
Aunque el intervalo de IPs /22 se usa para ejecutar cargas de trabajo principales de Apigee,
Apigee usa el intervalo /28 para acceder a la instancia con fines de solución de problemas.
Consulta también
Crear instancias.
Esta solicitud puede tardar hasta 20 minutos en completarse, ya que Apigee debe crear e iniciar un nuevo clúster de Kubernetes, instalar los recursos de Apigee en ese clúster y configurar el balanceo de carga.
Para comprobar el estado de tu solicitud de creación de instancias de tiempo de ejecución, ejecuta el siguiente comando. Cuando el estado sea ACTIVO, puedes continuar con el siguiente paso.
Sin residencia de datos
curl -i -X GET -H "Authorization: Bearer $AUTH" \
"https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/instances/$INSTANCE_NAME"
Residencia de datos
curl -i -X GET -H "Authorization: Bearer $AUTH" \
"https://$CONTROL_PLANE_LOCATION-apigee.googleapis.com/v1/organizations/$PROJECT_ID/instances/$INSTANCE_NAME"
Paso 7: Crea un entorno
Permisos que se necesitan para completar esta tarea
Puedes asignar al aprovisionador de Apigee un rol predefinido que incluya los permisos necesarios para completar esta tarea o asignar permisos más específicos para proporcionar los privilegios mínimos necesarios. Consulta los siguientes artículos:
Para crear un entorno y asociarlo al tiempo de ejecución en la línea de comandos, sigue estos pasos:
Define las variables de entorno que se van a usar en esta sección. Las variables de entorno específicas que crees dependerán de si estás creando un entorno para una organización con una suscripción o con pago por uso.
Suscripción
En un entorno de suscripción, crea estas variables:
ENVIRONMENT_NAME es un nombre de cadena. Por ejemplo: test
ENVIRONMENT_TYPE es el tipo de entorno de este entorno y solo se aplica a los usuarios de Pay-as-you-go, que deben especificar uno de estos valores: BASE, INTERMEDIATE o COMPREHENSIVE. Los demás usuarios deben omitir el tipo de entorno.
ENV_GROUP_NAME es un nombre de cadena. Por ejemplo: test-group
ENV_GROUP_HOSTNAME es un nombre de host de dominio válido. Por ejemplo: foo.example.com
Crea un entorno con la API Environments. Los comandos específicos que utilices dependerán de si estás creando un entorno para una organización de suscripción o de pago por uso.
Suscripción
Para un nuevo entorno de suscripción, usa el siguiente comando:
En este paso, se configura cómo se comunican las aplicaciones cliente con Apigee. El tráfico de cliente a Apigee
también se denomina tráfico "de entrada". Las opciones de configuración de la comunicación hacia el norte son las siguientes.
Ve a la opción de configuración que quieras usar y sigue los pasos correspondientes:
Tipo de acceso
Descripción del proceso de configuración e implementación
Permite solo el acceso interno a tus proxies de API.
Debes crear una máquina virtual en la red y conectarte a ella. Desde la nueva máquina virtual, puedes enviar una solicitud a un proxy de API de Apigee.
Usa un grupo de instancias gestionado (MIG) para enviar tráfico de la API desde el servicio de backend de un balanceador de carga global a Apigee. Con esta configuración, Apigee solo puede conectarse a la VPC emparejada. Esta configuración te permite enviar solicitudes de proxy de API de Apigee desde cualquier máquina con conexión de red.
Permite solo el acceso interno a tus proxies de API desde cualquiera de tus proyectos de Google Cloud mediante Private Service Connect (PSC).
PSC permite la conexión privada entre un productor de servicios (Apigee) y un consumidor de servicios (el proyecto de VPC emparejado u otros proyectos de Cloud que controles). Con este método, las solicitudes pasan por un punto final de servicio o por un balanceador de carga interno regional hasta un único punto de vinculación, denominado vinculación de servicio.
Esta configuración permite que tus clientes internos envíen solicitudes de proxy de API de Apigee desde cualquier máquina con conexión de red.
Usa Private Service Connect (PSC) para habilitar la conexión privada entre un productor de servicios (Apigee) y un consumidor de servicios (el proyecto de VPC emparejado u otro proyecto de Cloud que controles). Con este método, las solicitudes pasan por un balanceador de carga externo global o por un balanceador de carga externo regional a un único punto de acoplamiento, denominado acoplamiento de servicio.
Esta configuración te permite enviar solicitudes de proxy de API de Apigee desde cualquier máquina con conexión de red.
Cada uno de estos métodos de enrutamiento se presenta en las instrucciones que se indican a continuación.
Rutas internas (VPC)
Para enrutar el tráfico de los clientes internos a Apigee, puedes usar la cancelación de TLS o no:
Opciones de TLS: tienes dos opciones si quieres hacer llamadas a proxies de APIs desde clientes internos con TLS habilitado:
Opción 1: Configurar un balanceador de carga interno (ILB):
Crea un grupo de instancias gestionado en tu proyecto. Para crear el MIG, sigue los pasos 8a, 8b y 8c de la pestaña Ruta externa (MIG).
Opción 2: Usar el nombre de dominio completo interno predeterminado y la IP del balanceador de carga interno de la instancia de Apigee. Este caso solo se recomienda para hacer pruebas, no para un entorno de producción. En este caso, se usan certificados autofirmados creados por Apigee con el balanceador de carga interno de Apigee, y no puedes cambiarlos. Consulta
Llamar a un proxy de API con acceso solo para uso interno.
Opción sin TLS: si no necesitas la finalización de TLS, puedes invocar el proxy de API sin validar el certificado TLS. Por ejemplo, la opción -k
de la herramienta de línea de comandos curl inhabilita la verificación de certificados, pero el protocolo TLS sigue activo durante la conexión. Ten en cuenta que no se admite el acceso al ingreso de Apigee a través de HTTP sin cifrar en el puerto 80, al igual que en Apigee Hybrid. Consulta
Llamar a un proxy de API con acceso solo para uso interno.
Enrutamiento externo (MIG)
En esta sección se describe cómo configurar el enrutamiento para permitir el acceso externo a los proxies de API mediante un grupo de instancias gestionado (MIG) para enviar tráfico de API desde el servicio backend de un balanceador de carga global a Apigee. Debes hacerlo antes de poder enviar una solicitud desde un cliente externo a tu instancia de tiempo de ejecución de Apigee.
Permisos que se necesitan para completar esta tarea
Puedes asignar al aprovisionador de Apigee un rol predefinido que incluya los permisos necesarios para completar esta tarea o conceder permisos más específicos para proporcionar los privilegios mínimos necesarios.
Consulta Roles predefinidos y Permisos de enrutamiento de acceso.
En las instrucciones de esta sección se usan variables de entorno para hacer referencia a cadenas que se usan repetidamente. Te recomendamos que los definas antes de continuar:
MIG_NAME=apigee-mig-MIG_NAME # You can choose a different name if you like
VPC_NAME=default # If you are using a shared VPC, use the shared VPC nameVPC_SUBNET=default # Private Google Access must be enabled for this subnetREGION=RUNTIME_REGION # The same region as your Apigee runtime instanceAPIGEE_ENDPOINT=APIGEE_INSTANCE_IP # See the tip below for details on getting this IP address value
Usarás estas variables varias veces durante los procesos restantes. Si quieres configurar varias regiones, crea variables con valores específicos para cada región.
Paso 8c: Crea un grupo de instancias gestionado
En este paso, creará y configurará un grupo de instancias gestionado (MIG). En un paso posterior, añade el MIG a un servicio de backend que esté asociado a un balanceador de carga mundial. Se necesita un MIG para enviar tráfico de la API desde el servicio de backend del balanceador de carga global a Apigee.
Como puedes ver en este comando, las máquinas son de tipo e2-medium. Ejecutan Debian 12 y tienen 20 GB de disco. La secuencia de comandos startup-script.sh configura el MIG para enrutar el tráfico entrante del balanceador de carga a la instancia de Apigee.
Paso 8d: Crea un certificado y una clave SSL para el balanceador de carga
Solo tienes que crear las credenciales una vez, tanto si vas a instalar el servicio en una sola región como en varias. En un paso posterior, asociará estas credenciales al proxy HTTPS de destino del balanceador de carga.
Puedes crear las credenciales con:
Tu propio certificado de una autoridad de certificación
Asigna a DOMAIN_HOSTNAME un nombre de host de dominio válido que hayas registrado. En un paso posterior, obtendrás la dirección IP del balanceador de carga y actualizarás el registro A del dominio para que apunte a esa dirección. Por ejemplo, el nombre de host de un dominio podría tener este aspecto: foo.example.com.
Usará esta comprobación del estado para asegurarse de que el servicio de backend se está ejecutando. Para
configurar comprobaciones del estado más avanzadas en un proxy específico, consulta
Realizar comprobaciones del estado.
Paso 8f: Obtener una dirección IP reservada y crear reglas de cortafuegos
Debes asignar una dirección IP al balanceador de carga y, a continuación, crear reglas que permitan que el balanceador de carga acceda al MIG. Solo tiene que seguir este paso una vez, tanto si va a instalar el servicio en una sola región como en varias.
Paso importante: Ve al sitio, al host de DNS o al ISP donde se gestionan tus registros DNS y asegúrate de que el registro DNS de tu dominio se resuelva en la dirección IP del balanceador de carga de Google Cloud. Esta dirección es el valor de IP devuelto en el último paso. Para obtener más información, consulta
Actualizar los registros A y AAAA de DNS para que apunten a la dirección IP del balanceador de carga.
Crea una regla de cortafuegos que permita que el balanceador de carga acceda al MIG mediante el siguiente comando:
gcloud compute firewall-rules create FIREWALL_RULE_NAME \
--description "Allow incoming from GLB on TCP port 443 to Apigee Proxy" \
--project $PROJECT_ID --network $VPC_NAME --allow=tcp:443 \
--source-ranges=130.211.0.0/22,35.191.0.0/16 --target-tags=gke-apigee-proxy
Ten en cuenta que los intervalos de direcciones IP 130.211.0.0/22 y 35.191.0.0/16 son los intervalos de direcciones IP de origen de Google Load Balancing. Esta regla de cortafuegos permite que Google Cloud Load Balancing haga solicitudes de comprobación del estado a la MIG.
En esta sección se explica cómo permitir solo el acceso interno a tus proxies de API desde cualquiera de tus proyectos de Google Cloud mediante Private Service Connect (PSC).
Tienes dos opciones para configurar el acceso interno con PSC:
Punto final de servicio: las solicitudes pasan por un punto final de servicio a un único punto de vinculación, llamado vinculación de servicio.
Balanceador de carga regional interno: las solicitudes pasan por un balanceador de carga HTTP(S) interno regional. Consulta también Balanceo de carga global y regional.
Selecciona la pestaña correspondiente a tu configuración y sigue los pasos:
Punto final de servicio
Permisos que se necesitan para completar esta tarea
Puedes asignar al aprovisionador de Apigee un rol predefinido que incluya los permisos necesarios para completar esta tarea o conceder permisos más específicos para proporcionar los privilegios mínimos necesarios.
Consulta Roles predefinidos y Permisos de enrutamiento de acceso.
Crear un endpoint de servicio de PSC para la vinculación de servicio
Obtén el adjunto de servicio de la instancia que has creado anteriormente:
Sin residencia de datos
curl -i -X GET -H "Authorization: Bearer $AUTH" \
"https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/instances"
Residencia de datos
curl -i -X GET -H "Authorization: Bearer $AUTH" \
"https://$CONTROL_PLANE_LOCATION-apigee.googleapis.com/v1/organizations/$PROJECT_ID/instances"
En el siguiente ejemplo de salida, el valor de serviceAttachment
se muestra en negrita:
Crea un endpoint de servicio de PSC que apunte a la vinculación de servicio que has obtenido del cuerpo de respuesta de la instancia en el paso anterior, tal como se explica en Crear un endpoint de Private Service Connect.
Permisos que se necesitan para completar esta tarea
Puedes asignar al aprovisionador de Apigee un rol predefinido que incluya los permisos necesarios para completar esta tarea o conceder permisos más específicos para proporcionar los privilegios mínimos necesarios.
Consulta Roles predefinidos y Permisos de enrutamiento de acceso.
Paso 7a: Configura las variables de entorno
En las instrucciones de esta sección se usan variables de entorno para hacer referencia a cadenas que se usan repetidamente. Asegúrate de haber definido las variables en Definir variables de entorno.
Además, define las siguientes variables de entorno:
NEG_NAME: nombre del grupo de puntos finales de red.
NETWORK_NAME: (opcional) nombre de la red en la que se crea el NEG. Si omite este parámetro, se usará la red del proyecto default.
SUBNET_NAME nombre de la subred que se usa para la conectividad privada con el productor.
El tamaño de la subred puede ser pequeño: el NEG de PSC solo necesita una IP de la subred.
En Apigee, solo se necesita un NEG de PSC por región. Las máquinas virtuales u otras entidades pueden compartir y usar la subred.
Si no se especifica ninguna subred, los endpoints de red pueden pertenecer a cualquier subred de la región en la que se cree el grupo de endpoints de red.
TARGET_SERVICE: el adjunto de servicio al que quieres conectarte. Por ejemplo: projects/bfac7497a40c32a12p-tp/regions/us-west1/serviceAttachments/apigee-us-west1-crw7
Crea un NEG de Private Service Connect que apunte a la vinculación de servicio que has obtenido del cuerpo de respuesta de la instancia en el paso anterior.
$PROJECT_ID puede ser el proyecto de Cloud que ya esté asociado a tu organización de Apigee o un proyecto de Cloud incluido en el consumerAcceptlist cuando se creó la instancia de tiempo de ejecución de Apigee.
Paso 7d: Configura el balanceador de carga interno regional
Reserva una dirección IPv4 interna para el balanceador de carga.
NEG_NAME: el nombre del grupo de endpoints de red.
BACKEND_SERVICE_NAME con el nombre del servicio de backend.
Para crear un balanceador de carga HTTPS, debes tener un recurso de certificado SSL que usar en el proxy HTTPS de destino.
Usa este comando para crear un recurso de certificado SSL autogestionado. Para crear un certificado SSL autogestionado, necesitas un archivo de clave privada local y un archivo de certificado local. Si necesitas crear estos archivos, consulta el paso 1 para usar certificados SSL autogestionados.
DEFAULT_BACKEND_SERVICE_NAME: el nombre del servicio de backend predeterminado del balanceador de carga.
El valor predeterminado se usa cuando ninguna regla de host coincide con el nombre de host solicitado.
Usa el recurso de certificado SSL para crear un proxy HTTPS de destino.
En esta sección se describe cómo configurar el enrutamiento externo mediante
Private Service Connect (PSC) para permitir la comunicación entre Apigee y las VPCs que controlas. Debes hacerlo antes de poder enviar una solicitud desde un cliente externo a tu instancia de tiempo de ejecución de Apigee.
Permisos que se necesitan para completar esta tarea
Puedes asignar al aprovisionador de Apigee un rol predefinido que incluya los permisos necesarios para completar esta tarea o conceder permisos más específicos para proporcionar los privilegios mínimos necesarios.
Consulta Roles predefinidos y Permisos de enrutamiento de acceso.
Paso 7b: Crea un NEG y configura el balanceador de carga
Puedes crear un balanceador de carga global o regional.
Crea un NEG de Private Service Connect que apunte a la vinculación de servicio que has obtenido del cuerpo de respuesta de la instancia en el paso anterior.
TARGET_SERVICE: el archivo adjunto de servicio al que quieras conectarte. Usa el valor de adjunto de servicio devuelto por el comando anterior. Por ejemplo:
projects/bfac7497a40c32a12p-tp/regions/us-west1/serviceAttachments/apigee-us-west1-crw7
NETWORK_NAME: (Opcional) Nombre de la red en la que se crea el NEG. Si omite este parámetro, se usará la red del proyecto default.
SUBNET_NAME: nombre de la subred usada para la conectividad privada con el productor.
El tamaño de la subred puede ser pequeño: el NEG de PSC solo necesita una IP de la subred.
En Apigee, solo se necesita un NEG de PSC por región. Las subredes se pueden compartir y usar en VMs u otras entidades.
Si no se especifica ninguna subred, los endpoints de red pueden pertenecer a cualquier subred de la región en la que se cree el grupo de endpoints de red.
$PROJECT_ID: el proyecto de Cloud que ya está asociado a tu organización de Apigee o un proyecto de Cloud incluido en consumerAcceptlist cuando se creó la instancia de tiempo de ejecución de Apigee.
Si aún no lo has hecho, crea una variable de entorno para almacenar el ID del proyecto, ya que se usa en la mayoría de los comandos siguientes.
Reserva una dirección IPv4 externa global para el balanceador de carga.
DEFAULT_BACKEND_SERVICE_NAME: el nombre del servicio de backend predeterminado del balanceador de carga.
El valor predeterminado se usa cuando ninguna regla de host coincide con el nombre de host solicitado.
Crea el proxy HTTPS de destino.
Para crear un balanceador de carga HTTPS, debes tener un recurso de certificado SSL que usar en el proxy HTTPS de destino. Puedes crear un recurso de certificado SSL con un certificado SSL gestionado por Google o con un certificado SSL autogestionado. Te recomendamos que uses certificados gestionados por Google, ya que Google Cloud los obtiene, gestiona y renueva automáticamente.
DOMAIN: el nombre de dominio de tu balanceador de carga.
Usa este comando para crear un recurso de certificado SSL autogestionado. Para crear un certificado SSL autogestionado, necesitas un archivo de clave privada local y un archivo de certificado local. Si necesitas crear estos archivos, consulta el paso 1 para usar certificados SSL autogestionados.
NEG_NAME: el nombre del grupo de endpoints de red.
TARGET_SERVICE: el nombre del archivo adjunto de servicio al que quieras conectarte.
Por ejemplo: projects/bfac7497a40c32a12p-tp/regions/us-west1/serviceAttachments/apigee-us-west1-crw7
DEFAULT_BACKEND_SERVICE_NAME: el nombre del servicio de backend predeterminado del balanceador de carga.
El valor predeterminado se usa cuando ninguna regla de host coincide con el nombre de host solicitado.
Crea el proxy HTTPS de destino.
Para crear un balanceador de carga HTTPS, debes tener un recurso de certificado SSL que usar en el proxy HTTPS de destino.
Usa este comando para crear un recurso de certificado SSL autogestionado. Para crear un certificado SSL autogestionado, necesitas un archivo de clave privada local y un archivo de certificado local. Si necesitas crear estos archivos, consulta el paso 1 para usar certificados SSL autogestionados.
Permisos que se necesitan para completar esta tarea
Para crear y desplegar proxies, se necesita un conjunto mínimo de permisos. Si tienes el rol de administrador de la organización de Apigee, puedes completar esta tarea. Para obtener información sobre otros roles que puedes usar, consulta
Roles de Apigee.
Descarga el
proxy de ejemplo de GitHub. El objetivo del proxy es el servicio httpbin.org, que es un servicio público de solicitud y respuesta de uso habitual.
Sube el paquete de proxy de la API al tiempo de ejecución mediante la API Apigee
apis:
Si aparece un error como este:
CONNECT_CR_SRVR_HELLO:sslv3 alert handshake failure, comprueba que el certificado SSL que has creado anteriormente se haya aprovisionado.
Usa este comando para comprobar el
estado del aprovisionamiento. Cuando se aprovisiona el certificado, su estado es ACTIVE.
Para obtener más información sobre cómo implementar proxies, incluida información adicional para solucionar problemas, consulta
Implementar un proxy de API.
[[["Es fácil de entender","easyToUnderstand","thumb-up"],["Me ofreció una solución al problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Es difícil de entender","hardToUnderstand","thumb-down"],["La información o el código de muestra no son correctos","incorrectInformationOrSampleCode","thumb-down"],["Me faltan las muestras o la información que necesito","missingTheInformationSamplesINeed","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2025-08-21 (UTC)."],[[["\u003cp\u003eThis document details the command-line installation and configuration process for Apigee (excluding Apigee hybrid) on Google Cloud, covering both Subscription and Pay-as-you-go pricing models.\u003c/p\u003e\n"],["\u003cp\u003eThe guide covers setting up necessary environment variables, enabling required APIs, creating the Apigee service identity, configuring service networking, creating an Apigee organization, and establishing a runtime instance and environment.\u003c/p\u003e\n"],["\u003cp\u003eIt includes instructions for both no data residency and data residency configurations, incorporating the use of Customer-Managed Encryption Keys (CMEK) for enhanced security and organization policies.\u003c/p\u003e\n"],["\u003cp\u003eThe configuration instructions include routing setup for client applications to connect to Apigee, covering internal (VPC peering or Private Service Connect) and external (Managed Instance Group or Private Service Connect) access options, including the use of load balancers.\u003c/p\u003e\n"],["\u003cp\u003eThe document provides the steps to deploy a sample proxy, including downloading the proxy, uploading, deploying, confirming the deployment, calling the API, checking certificate provisioning, and updating the DNS A and AAAA records.\u003c/p\u003e\n"]]],[],null,[]]