En esta página, se proporciona información para configurar un balanceador de cargas de red de transferencia externo regional de modo que se registre automáticamente en el Directorio de servicios.
Cuando creas tu balanceador de cargas, puedes registrarlo como un extremo en un espacio de nombres existente del Directorio de servicios y en un servicio de tu preferencia. Luego, las aplicaciones cliente pueden usar el Directorio de servicios (a través de HTTP o gRPC) para resolver la dirección del servicio del balanceador de cargas de red de transferencia externo regional y conectarse a él directamente.
Limitaciones
La integración del Directorio de servicios con los balanceadores de cargas de red de transferencia externos regionales tiene las siguientes limitaciones:
- El registro automático solo admite balanceadores de cargas externos de capa 4. Puedes registrar los servicios de balanceo de cargas de Google Kubernetes Engine con la integración de GKE. Puedes registrar otros balanceadores de cargas externos, balanceadores de cargas globales, y puertas de enlace y objetos Ingress de Google Kubernetes Engine llamando a la API de Service Directory.
- Solo puedes usar el registro automático en el momento de la creación de la regla de reenvío. No está disponible el registro automático con la actualización de Google Cloud CLI para una regla de reenvío ya existente.
- El Directorio de servicios no proporciona conectividad, lo que significa que, si bien almacena la dirección IP virtual del balanceador de cargas de red de transferencia externo regional, buscar el balanceador de cargas de red de transferencia externo regional en el Directorio de servicios no garantiza que puedas conectarte a la dirección IP virtual.
Antes de comenzar
Estas instrucciones requieren lo siguiente:
Ya debes tener un espacio de nombres y un servicio del Directorio de servicios. Si no lo tienes, crea un espacio de nombres y un servicio con el procedimiento que se describe en Configura el Directorio de servicios.
El espacio de nombres y el servicio del Directorio de servicios deben estar en el mismo proyecto y región que la regla de reenvío del balanceador de cargas de red de transferencia externo regional que estás creando.
Ya debes haber configurado los recursos necesarios para crear una regla de reenvío del balanceador de cargas de red de transferencia externo regional.
Para obtener información sobre cómo crear un balanceador de cargas de red de transferencia externo regional, consulta Configura un balanceador de cargas de red de transferencia externo regional.
Configura reglas de reenvío para registrar un balanceador de cargas de red de transferencia externo regional en el Directorio de servicios
Debes configurar una regla de reenvío para registrar el balanceador de cargas de red de transferencia externo regional en el Directorio de servicios. Para registrar un balanceador de cargas de red de transferencia externo regional, consulta la siguiente sección.
Registra un balanceador de cargas de red de transferencia externo regional
Para registrar un balanceador de cargas de red de transferencia externo regional, ejecuta el comando gcloud compute forwarding-rules
create y establece la marca service-directory-registration:
gcloud beta compute forwarding-rules create FORWARDING_RULE_NAME \
--region=REGION \
--load-balancing-scheme=EXTERNAL \
--address=RESERVED_IP_ADDRESS \
--ip-protocol=PROTOCOL_TYPE \
--ports=PORT_NUMBER \
--backend-service=BACKEND_SERVICE_NAME \
--backend-service-region=REGION \
--service-directory-registration=SD_SERVICE_NAME
Reemplaza lo siguiente:
FORWARDING_RULE_NAME: un nombre para la regla de reenvío que deseas crearREGION: la región en la que se creará la regla de reenvíoRESERVED_IP_ADDRESS: la dirección IP que entrega la regla de reenvíoPROTOCOL_TYPE: el protocolo IP que la regla entregaráPORT_NUMBER: una lista de puertos separados por comasBACKEND_SERVICE_NAME: el servicio de backend de destino que recibe el tráficoSD_SERVICE_NAME: el nombre completamente calificado del servicio de Directorio de servicios en el que deseas registrar el extremo. Este servicio debe estar en el mismo proyecto y región que la regla de reenvío que se crea. Por ejemplo: projects/PROJECT/locations/REGION/namespaces/NAMESPACE_NAME/services/SERVICE_NAME.
Verifica el extremo
Los extremos del Directorio de servicios que se crean cuando registras un balanceador de cargas de red de transferencia externo regional tienen las siguientes características:
- El extremo tiene el mismo nombre que el de la regla de reenvío con el número de puerto especificado (
<forwarding rule name>-<port>). Por ejemplo, si creas una regla de reenvíoRULEcon--port=8080, obtendrás un extremo llamadoRULE-8080. Para la misma regla, si especificaste dos puertos--port=8080, 8081, obtendrás dos extremos,RULE-8080yRULE-8081. Si especificas--port=ALL, el extremo del Directorio de servicios se registra con el puerto0. Si eres el propietario del balanceador de cargas de red de transferencia externo regional, debes asegurarte de que el llamador de la API sepa a qué puerto conectarse. - No puedes modificar ni borrar el extremo con la API pública de Directorio de servicios. El extremo solo se borra automáticamente cuando borras la regla de reenvío. Esto significa que no puedes borrar el servicio y el espacio de nombres en el que reside el extremo mientras exista la regla de reenvío.
- El extremo en sí no se factura, aunque los detalles de precios normales se aplican a cualquier llamada a la API del extremo.
Para confirmar que se creó el extremo, resuelve el servicio en Directorio de servicios. Deberías ver un endpoint con el mismo nombre que el de la regla de reenvío y el número de puerto especificado.
Para resolver el servicio en Directorio de servicios, ejecuta el comando gcloud service-directory
services resolve:
gcloud service-directory services resolve SD_SERVICE_NAME \
--namespace=SD_NAMESPACE_NAME \
--location=REGION
Reemplaza lo siguiente:
SD_SERVICE_NAME: Es el nombre del servicio del Directorio de servicios que se resolverá. Debe residir en el nombre del espacio de nombres del Directorio de servicios.SD_NAMESPACE_NAME: Es el nombre que le asignaste al espacio de nombres que contiene tu servicio.REGION: Es la región Google Cloud que contiene el espacio de nombres. Debe ser la misma región en la que creaste la regla de reenvío.
Limpieza
Para borrar los recursos que creaste, sigue estos pasos.
Para borrar la regla de reenvío, ejecuta el comando
gcloud compute forwarding-rules delete:gcloud compute forwarding-rules delete FORWARDING_RULE_NAME \ --region=REGION
Reemplaza lo siguiente:
FORWARDING_RULE_NAME: el nombre de la regla de reenvío que creasteREGION: la región para la regla de reenvío
Para obtener más detalles, consulta Cómo borrar una regla de reenvío.
Para confirmar que borrar la regla de reenvío borró automáticamente el extremo del Directorio de servicios, ejecuta el comando
gcloud service-directory services resolveque se describe en la sección Verifica el extremo de tu servicio del Directorio de servicios.Para borrar el espacio de nombres y el servicio del Directorio de servicios, consulta Borra recursos.
¿Qué sigue?
- Para obtener una descripción general del Directorio de servicios, consulta la Descripción general del Directorio de servicios.
- Para encontrar soluciones a problemas habituales que podrías tener cuando usas Directorio de servicios, consulta Solución de problemas.