Un registro de dirección DNS, conocido como registro A, se usa para asignar un nombre DNS a una dirección IP. Cuando creas la regla de reenvío de un balanceador de carga interno, puedes designar una etiqueta de servicio para que Google Cloud se cree un nombre de DNS interno de Compute Engine único para el balanceador de carga. Este nombre de DNS interno se compone del ID de tu proyecto, el nombre de la regla de reenvío y una etiqueta de servicio que especifiques.
Especificaciones
Esta función es compatible con las reglas de reenvío de los siguientes balanceadores de carga:
Consulta Formato de registro DNS para obtener información sobre el formato del nombre DNS que Google Cloud crea para tu balanceador de carga. Como el nombre de DNS contiene el nombre de la regla de reenvío, cada nombre de DNS es único, aunque uses la misma etiqueta de servicio para varias reglas de reenvío.
A menos que se configure un servidor de nombres alternativo, las VMs cliente de cualquier región del mismo proyecto y red de VPC pueden realizar búsquedas de DNS para el nombre de DNS interno del balanceador de carga. Para acceder al balanceador de carga, las VMs cliente deben estar ubicadas en la misma región. Si habilitas el acceso global, un cliente de cualquier región podrá acceder al balanceador de carga.
Solo puedes especificar una etiqueta de servicio cuando creas una regla de reenvío. No puedes añadir una etiqueta de servicio a una regla de reenvío que ya tengas. Sin embargo, puedes sustituir una regla de reenvío por otra que tenga una etiqueta de servicio. La sustitución puede usar la misma dirección IP interna que la original si primero elimina la regla de reenvío original.
Los nombres de DNS internos creados a partir de etiquetas de servicio tienen las siguientes restricciones:
- No se crean registros inversos (PTR) correspondientes.
- Cada regla de reenvío solo puede tener una etiqueta de servicio.
- Aparte de la etiqueta del servicio y el nombre de la regla de reenvío, no puedes cambiar ninguna otra parte del nombre DNS interno. Esto incluye su formato y su nombre de dominio (
.internal
).
Si necesitas nombres de DNS más flexibles para tu balanceador de carga interno, puedes crear registros personalizados en una zona privada gestionada de Cloud DNS.
Formato de registro DNS
Cuando añades una etiqueta de servicio a una regla de reenvío,se Google Cloud crea un registro A de DNS interno de Compute Engine con uno de estos formatos:
En el caso de los balanceadores de carga de red de paso a través internos:
SERVICE_LABEL.FORWARDING_RULE_NAME.il4.REGION.lb.PROJECT_ID.internal
En el caso de los balanceadores de carga de aplicaciones internos regionales y los balanceadores de carga de red con proxy internos regionales:
SERVICE_LABEL.FORWARDING_RULE_NAME.il7.REGION.lb.PROJECT_ID.internal
SERVICE_LABEL es la etiqueta de servicio de la regla de reenvío que especifiques. Debe seguir este formato:
- Puedes usar hasta 63 letras minúsculas (de
a
az
), números (de0
a9
) o guiones (-
). - La etiqueta de servicio debe empezar por una letra minúscula.
- La etiqueta de servicio debe terminar en una letra minúscula o un número.
FORWARDING_RULE_NAME es el nombre de la regla de reenvío que vas a crear.
REGION es la región del balanceador de carga.
PROJECT_ID es el ID del proyecto.
Los IDs de proyecto que tienen el formato organization:project-id
se convierten en project-id.organization
. Por ejemplo, si el ID de tu proyecto es example.com:example-marketing-prod
, Google Cloud usa example-marketing-prod.example.com
.
Crear una regla de reenvío con una etiqueta de servicio
En este procedimiento se muestra cómo crear una regla de reenvío con una etiqueta de servicio.
Este procedimiento se centra únicamente en cómo crear una regla de reenvío con una etiqueta de servicio. Se omiten las propiedades de la configuración de backend del balanceador de carga y otras propiedades de su configuración de frontend. Si no tienes experiencia con los balanceadores de carga de red con paso a través internos, los balanceadores de carga de aplicaciones internos regionales o los balanceadores de carga de red con proxy internos regionales, consulta estas páginas para ver ejemplos completos:
- Configurar un balanceador de carga de red de paso a través interno
- Configurar un balanceador de carga de aplicación interno regional
Configurar un balanceador de carga de red de proxy interno regional
Consola
En la Google Cloud consola, ve a la página Balanceo de carga.
- Haga clic en Crear balanceador de carga.
- Sigue los pasos del asistente para crear un balanceador de carga de red con paso a través interno o un balanceador de carga de aplicaciones interno regional y haz clic en Configurar.
- Especifica un nombre para el balanceador de carga.
- Haz clic en Continuar.
- Completa la configuración de backend.
Haz clic en Configuración de frontend. Completa la configuración del frontend y especifica una etiqueta de servicio en la parte inferior de esa sección.
- Haz clic en Hecho y, a continuación, en Revisar y finalizar.
gcloud
Para crear una regla de reenvío con una etiqueta de servicio para un balanceador de carga de red de paso a través interno, sigue estos pasos:
gcloud compute forwarding-rules create FORWARDING_RULE_NAME \ --load-balancing-scheme=INTERNAL \ --region=REGION \ --backend-service-region=REGION \ --backend-service=BACKEND_SERVICE_NAME \ --network=NETWORK \ --subnet=SUBNET \ --address=INTERNAL_IP \ --ip-protocol=PROTOCOL \ --ports=PORTS \ --service-label=SERVICE_LABEL
Para crear una regla de reenvío con una etiqueta de servicio para un balanceador de carga de red de proxy interno regional, sigue estos pasos:
gcloud compute forwarding-rules create FORWARDING_RULE_NAME \ --load-balancing-scheme=INTERNAL_MANAGED \ --region=REGION \ --target-tcp-proxy-region=REGION \ --target-tcp-proxy=TARGET_PROXY_NAME \ --network=NETWORK \ --subnet=SUBNET \ --address=INTERNAL_IP \ --ip-protocol=TCP \ --ports=PORT \ --service-label=SERVICE_LABEL
Para crear una regla de reenvío con una etiqueta de servicio para un balanceador de carga de aplicación interno regional con HTTPS, sigue estos pasos:
gcloud compute forwarding-rules create FORWARDING_RULE_NAME \ --load-balancing-scheme=INTERNAL_MANAGED \ --region=REGION \ --target-https-proxy-region=REGION \ --target-https-proxy=TARGET_PROXY_NAME \ --network=NETWORK \ --subnet=SUBNET \ --address=INTERNAL_IP \ --ip-protocol=TCP \ --ports=PORT \ --service-label=SERVICE_LABEL
Para crear una regla de reenvío con una etiqueta de servicio para un balanceador de carga de aplicaciones interno regional con HTTP, sigue estos pasos:
gcloud compute forwarding-rules create FORWARDING_RULE_NAME \ --load-balancing-scheme=INTERNAL_MANAGED \ --region=REGION \ --target-http-proxy-region=REGION \ --target-http-proxy=TARGET_PROXY_NAME \ --network=NETWORK \ --subnet=SUBNET \ --address=INTERNAL_IP \ --ip-protocol=TCP \ --ports=PORT \ --service-label=SERVICE_LABEL
Sustituye los marcadores de posición por los valores adecuados:
- FORWARDING_RULE_NAME es el nombre de la regla de reenvío del balanceador de carga.
- REGION es la región del balanceador de carga.
- BACKEND_SERVICE_NAME es el nombre del servicio de backend del balanceador de carga.
- TARGET_PROXY_NAME es el nombre del proxy de destino.
- NETWORK es el nombre de la red de VPC en la que se crea el balanceador de carga.
- SUBNET es el nombre de una subred de la red de VPC. La subred debe estar en la misma región que el servicio de backend o el proxy de destino del balanceador de carga.
- INTERNAL_IP es una dirección IP interna del intervalo de IP principal de la subred elegida. Puedes omitir la marca
--address
para que Google Cloud elija una dirección IP disponible. - En el caso de los balanceadores de carga de red de paso a través internos, PROTOCOL es
TCP
oUDP
, según el protocolo del servicio de backend del balanceador de carga. En el caso de los balanceadores de carga de aplicaciones internos regionales y los balanceadores de carga de red con proxy internos regionales, el protocolo debe serTCP
. - En el caso de los balanceadores de carga de red de paso a través internos, PORTS es una matriz de hasta cinco puertos por número o la palabra
ALL
. En el caso de los balanceadores de carga de aplicaciones internos regionales y los balanceadores de carga de red con proxy internos regionales, puedes hacer referencia a un solo puerto del intervalo 1-65535. Consulta las especificaciones de los puertos en los conceptos de reglas de reenvío para obtener más información. - SERVICE_LABEL es la etiqueta de servicio que has elegido. Debe seguir las convenciones de nomenclatura.
api
En los siguientes ejemplos se crean reglas de reenvío con el método
forwardingRules.insert
.
Para crear una regla de reenvío con una etiqueta de servicio para un balanceador de carga de red de paso a través interno, sigue estos pasos:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/forwardingRules { "name": "FORWARDING_RULE_NAME", "loadBalancingScheme": "INTERNAL", "backendService": "https://www.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/backendServices/BACKEND_SERVICE_NAME", "network": "https://www.googleapis.com/compute/v1/projects/PROJECT/global/networks/NETWORK", "subnetwork": "https://www.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/subnetworks/SUBNET", "IPAddress": "INTERNAL_IP", "IPProtocol": "PROTOCOL", "ports": PORTS, "serviceLabel": "SERVICE_LABEL" }
Para crear una regla de reenvío con una etiqueta de servicio para un balanceador de carga de red de proxy interno regional, sigue estos pasos:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/forwardingRules { "name": "FORWARDING_RULE_NAME", "loadBalancingScheme": "INTERNAL_MANAGED", "target": "https://www.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/targetTcpProxies/TARGET_PROXY_NAME", "network": "https://www.googleapis.com/compute/v1/projects/PROJECT/global/networks/NETWORK", "subnetwork": "https://www.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/subnetworks/SUBNET", "IPAddress": "INTERNAL_IP", "IPProtocol": "TCP", "ports": PORT, "serviceLabel": "SERVICE_LABEL" }
Para crear una regla de reenvío con una etiqueta de servicio para un balanceador de carga de aplicación interno regional con HTTPS, sigue estos pasos:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/forwardingRules { "name": "FORWARDING_RULE_NAME", "loadBalancingScheme": "INTERNAL_MANAGED", "target": "https://www.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/targetHttpsProxies/TARGET_PROXY_NAME", "network": "https://www.googleapis.com/compute/v1/projects/PROJECT/global/networks/NETWORK", "subnetwork": "https://www.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/subnetworks/SUBNET", "IPAddress": "INTERNAL_IP", "IPProtocol": "TCP", "ports": PORT, "serviceLabel": "SERVICE_LABEL" }
Para crear una regla de reenvío con una etiqueta de servicio para un balanceador de carga de aplicaciones interno regional con HTTP, sigue estos pasos:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/forwardingRules { "name": "FORWARDING_RULE_NAME", "loadBalancingScheme": "INTERNAL_MANAGED", "target": "https://www.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/targetHttpProxies/TARGET_PROXY_NAME", "network": "https://www.googleapis.com/compute/v1/projects/PROJECT/global/networks/NETWORK", "subnetwork": "https://www.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/subnetworks/SUBNET", "IPAddress": "INTERNAL_IP", "IPProtocol": "TCP", "ports": PORT, "serviceLabel": "SERVICE_LABEL" }
Sustituye los marcadores de posición por los valores adecuados:
- FORWARDING_RULE_NAME es el nombre de la regla de reenvío del balanceador de carga.
- REGION es la región del balanceador de carga.
- BACKEND_SERVICE_NAME es el nombre del servicio de backend del balanceador de carga de red de paso a través interno.
- TARGET_PROXY_NAME es el nombre del proxy de destino.
- NETWORK es el nombre de la red de VPC en la que se crea el balanceador de carga.
- SUBNET es el nombre de una subred de la red de VPC. La subred debe estar en la misma región que el servicio de backend o el proxy de destino del balanceador de carga.
- INTERNAL_IP es una dirección IP interna del intervalo de IP principal de la subred elegida. Puedes omitir la tecla
IPAddress
para que Google Cloud elija una dirección IP disponible. - En el caso de los balanceadores de carga de red de paso a través internos, PROTOCOL es
TCP
oUDP
, según el protocolo del servicio de backend del balanceador de carga. En el caso de los balanceadores de carga de aplicaciones internos regionales y los balanceadores de carga de red con proxy internos regionales, el protocolo debe serTCP
. - En el caso de los balanceadores de carga de red de paso a través internos, PORTS es una matriz de hasta cinco puertos por número o la palabra
ALL
. En el caso de los balanceadores de carga de aplicaciones internos regionales y los balanceadores de carga de red con proxy internos regionales, puedes hacer referencia a un solo puerto del intervalo 1-65535. Consulta las especificaciones de los puertos en los conceptos de reglas de reenvío para obtener más información. - SERVICE_LABEL es la etiqueta de servicio que has elegido. Debe seguir las convenciones de nomenclatura.
Ver etiquetas de servicio
Consola
Puedes ver el nombre de DNS interno de Compute Engine (creado a partir de la etiqueta de servicio) de cada regla de reenvío interna de un balanceador de carga interno:
En la Google Cloud consola, ve a la página Balanceo de carga.
Haga clic en el nombre del balanceador de carga interno para ver su página de detalles.
Las reglas de reenvío internas asignadas al balanceador de carga se indican en la sección Frontend (Backend). La columna Nombre de DNS muestra el nombre de DNS interno de Compute Engine asignado a cada regla de reenvío. La etiqueta de servicio es la primera parte de ese nombre (antes del primer punto). Si no se muestra ningún nombre, significa que la regla de reenvío no tiene ninguna etiqueta de servicio definida.
gcloud
Lista las reglas de reenvío de tu proyecto que usan los balanceadores de carga de red con paso a través internos o los balanceadores de carga de aplicaciones internos regionales. Busca el que necesites y anota su nombre y región para el siguiente paso.
gcloud compute forwarding-rules list \ --filter="loadBalancingScheme=SCHEME"
El valor de SCHEME depende de las reglas de reenvío que necesites listar:
- En el caso de los balanceadores de carga de red de paso a través internos, usa
INTERNAL
. - En el caso de los balanceadores de carga de aplicaciones internos regionales y los balanceadores de carga de red con proxy internos regionales, usa
INTERNAL_MANAGED
.
- En el caso de los balanceadores de carga de red de paso a través internos, usa
Describe la regla de reenvío, sustituyendo FORWARDING_RULE_NAME por su nombre y REGION por su región:
gcloud compute forwarding-rules describe FORWARDING_RULE_NAME \ --region=REGION \ --format="get(serviceLabel)"
api
Consulta la regla de reenvío y la etiqueta de servicio con el
forwardingRules.get
método.
La respuesta a la solicitud de la API incluye la etiqueta del servicio (serviceLabel
) y el nombre DNS interno de Compute Engine (serviceName
).
GET https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/forwardingRules/FORWARDING_RULE_NAME
Respuesta del balanceador de carga de red de paso a través interno:
{ ... "serviceLabel": "SERVICE_LABEL", "serviceName": "SERVICE_LABEL.FORWARDING_RULE_NAME.il4.REGION.lb.PROJECT.internal", ... }
Respuesta del balanceador de carga de red de proxy interno regional y del balanceador de carga de aplicaciones interno regional:
{ ... "serviceLabel": "SERVICE_LABEL", "serviceName": "SERVICE_LABEL.FORWARDING_RULE_NAME.il7.REGION.lb.PROJECT.internal", ... }
Ejemplo
En el siguiente procedimiento se muestra cómo sustituir una regla de reenvío por una que tenga una etiqueta de servicio. Este procedimiento funciona con todos los balanceadores de carga admitidos.
Si aún no has creado una regla de reenvío para tu balanceador de carga interno, salta este ejemplo y consulta el artículo Crear una regla de reenvío con una etiqueta de servicio.
Describe la regla de reenvío del balanceador de carga, indicando la dirección IP interna de la regla de reenvío:
gcloud compute forwarding-rules describe FORWARDING_RULE_NAME \ --region=REGION \ --format="get(IPAddress)"
Elimina la regla de reenvío:
gcloud compute forwarding-rules delete FORWARDING_RULE_NAME \ --region=REGION
Crea una regla de reenvío de sustitución con el mismo nombre y la misma dirección IP interna con una etiqueta de servicio. Consulta las instrucciones para crear una regla de reenvío con una etiqueta de servicio.
Siguientes pasos
- Para obtener información sobre cómo configurar el registro y la monitorización de los balanceadores de carga de red de paso a través internos, consulta el artículo Registro y monitorización de balanceadores de carga de red de paso a través internos.
- Para obtener información sobre cómo solucionar problemas con tu balanceador de carga de red de paso a través interno, consulta el artículo Solucionar problemas con balanceadores de carga de red de paso a través internos.