En esta página, se describe cómo crear, actualizar y asociar extremos de salida con zonas de reenvío y políticas del servidor DNS para habilitar el reenvío directo de consultas de DNS con direcciones IP privadas desde tu red de VPC. Con este enfoque, obtienes un control más detallado sobre el tráfico saliente. Para obtener más información sobre los extremos de salida, consulta Descripción general de los extremos de salida.
Antes de comenzar
-
En la consola de Google Cloud , en la página del selector de proyectos, selecciona o crea un proyecto de Google Cloud .
Roles necesarios para seleccionar o crear un proyecto
- Selecciona un proyecto: Para seleccionar un proyecto, no se requiere un rol de IAM específico. Puedes seleccionar cualquier proyecto en el que se te haya otorgado un rol.
-
Crea un proyecto: Para crear un proyecto, necesitas el rol de Creador de proyectos
(
roles/resourcemanager.projectCreator), que contiene el permisoresourcemanager.projects.create. Obtén más información para otorgar roles.
-
Verifica que la facturación esté habilitada para tu proyecto de Google Cloud .
-
Habilita las APIs de Cloud DNS, Compute Engine y Network Services si alguna aún no está habilitada.
Roles necesarios para habilitar las APIs
Para habilitar las APIs, necesitas el permiso
serviceusage.services.enable. Si creaste el proyecto, es probable que ya tengas este permiso a través del rol de propietario (roles/owner). De lo contrario, puedes obtener este permiso a través del rol de administrador de Service Usage (roles/serviceusage.serviceUsageAdmin). Obtén más información para otorgar roles.
Asegúrate de tener una red de VPC con conectividad a tus servidores de nombres de DNS locales o externos. En cada región en la que planees implementar un extremo de salida, tu red de VPC debe tener una subred normal y una de solo proxy en la región de destino. Para obtener más información, consulta Crea y administra redes de VPC.
También asegúrate de que tu red local tenga una ruta de retorno para el rango de direcciones IP de la subred de solo proxy regional y configura reglas de firewall locales para permitir consultas de DNS entrantes (puerto UDP y TCP 53) desde el rango de direcciones IP de la subred de solo proxy regional.
Crea un extremo de salida
Para crear un extremo de salida, haz lo siguiente:
Console
En la consola de Google Cloud , ve a la página Cloud DNS.
Ve a la pestaña Extremos salientes y haz clic en Crear extremo saliente.
En el campo Nombre, ingresa un nombre único para el extremo.
En el campo Descripción, ingresa una descripción para el extremo (opcional).
En Región, selecciona la región de destino.
En la lista Red, selecciona tu red de VPC.
En Subred, selecciona la subred normal en la región seleccionada.
En Dirección IP del extremo, ingresa una cadena de dirección IPv4 válida del rango de subred seleccionado.
En Subred de solo proxy, la consola detecta automáticamente la subred de solo proxy regional en la red de VPC y la región seleccionadas para la salida de consultas salientes. Si no se detecta una subred de solo proxy, haz clic en Reservar subred para crear una antes de continuar.
Haz clic en Crear.
gcloud
Ejecuta el comando gcloud beta dns outbound-endpoints create:
gcloud beta dns outbound-endpoints create ENDPOINT_NAME \
--project=PROJECT_ID \
--network=VPC_NETWORK \
--subnetwork=REGULAR_SUBNET \
--location=REGION \
--endpoint-ip=IP_ADDRESS \
--description=DESCRIPTION
Reemplaza lo siguiente:
ENDPOINT_NAME: nombre del extremo de salidaPROJECT_ID: Es el ID del proyecto.VPC_NETWORK: Es la red de VPC asociada con el extremo de salida, por ejemplo,projects/PROJECT_ID/global/networks/NETWORK_NAMEo soloNETWORK_NAME.REGULAR_SUBNET: Es la subred normal desde la que se asigna la dirección IP de escucha interna del extremo, por ejemplo,projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAMEo soloSUBNET_NAME.REGION: Es la región en la que se implementa el extremo.IP_ADDRESS: Una dirección IPv4 interna disponible del rango de direcciones IP principal de la subred normalDESCRIPTION: Es una descripción opcional para el extremo.
API
Ejecuta el método outboundEndpoints.create:
POST https://dns.googleapis.com/dns/v1beta2/projects/PROJECT_ID/locations/REGION/outboundEndpoints?outboundEndpointId=ENDPOINT_NAME
{
"network": "projects/PROJECT_ID/global/networks/VPC_NETWORK",
"subnetwork": "projects/PROJECT_ID/regions/REGION/subnetworks/REGULAR_SUBNET",
"endpointIp": "IP_ADDRESS",
"description": "DESCRIPTION"
}
Reemplaza lo siguiente:
PROJECT_ID: Es el ID del proyecto.REGION: región en la que se implementa el extremoENDPOINT_NAME: nombre del extremo de salidaVPC_NETWORK: Es la red de VPC asociada con el extremo de salida.REGULAR_SUBNET: la subred normal desde la que se asigna la dirección IP de escucha interna del extremoIP_ADDRESS: Es una dirección IPv4 interna disponible del rango de IP principal de la subred normal.DESCRIPTION: Una descripción opcional del extremo
Actualiza un extremo saliente
Para actualizar un endpoint saliente, sigue estos pasos:
Console
En la consola de Google Cloud , ve a la página Cloud DNS.
Ve a la pestaña Extremos salientes y haz clic en el nombre del extremo saliente que deseas actualizar.
Haz clic en Editar, actualiza el campo Descripción y haz clic en Guardar.
gcloud
Ejecuta el comando gcloud beta dns outbound-endpoints update:
gcloud beta dns outbound-endpoints update ENDPOINT_NAME \
--project=PROJECT_ID \
--location=REGION \
--description=UPDATED_DESCRIPTION
Reemplaza lo siguiente:
ENDPOINT_NAME: Nombre del extremo saliente que se actualizaráPROJECT_ID: Es el ID del proyecto.REGION: Es la región en la que se implementa el extremo.UPDATED_DESCRIPTION: Es una descripción actualizada opcional del extremo.
API
Ejecuta el método outboundEndpoints.patch:
PATCH https://dns.googleapis.com/dns/v1beta2/projects/PROJECT_ID/locations/REGION/outboundEndpoints/ENDPOINT_NAME?updateMask=description
{
"description": "UPDATED_DESCRIPTION"
}
Reemplaza lo siguiente:
PROJECT_ID: Es el ID del proyecto.REGION: Es la región en la que se implementa el extremo.ENDPOINT_NAME: Es el nombre del extremo de salida que se actualizará.UPDATED_DESCRIPTION: Descripción actualizada del extremo saliente
Asocia extremos a una zona de reenvío
Console
En la consola de Google Cloud , ve a la página Cloud DNS.
Ve a la pestaña Zonas y haz clic en Crear zona, o bien selecciona una zona de reenvío existente y haz clic en Editar.
Configura los parámetros de la zona:
- En Tipo de zona, selecciona Privada.
- En Nombre de la zona, ingresa un identificador único para la zona.
- En Nombre de DNS, ingresa el sufijo de dominio que deseas reenviar. Por
ejemplo,
corp.example.com. - En Descripción, ingresa una descripción (opcional).
- En Opciones, selecciona Reenviar consultas a otro servidor.
- En Redes, selecciona las redes de VPC autorizadas para resolver consultas en esta zona.
En Servidores DNS de destino, ingresa las direcciones IPv4 de destino o los FQDN de tus servidores de nombres externos o locales.
En Ruta de reenvío, selecciona Extremos de salida.
En Endpoints salientes, selecciona uno o más endpoints para controlar el reenvío de consultas:
- Selección mínima: Selecciona al menos un extremo de salida (obligatorio cuando se eligen extremos de salida como ruta de reenvío).
- Restricción de una sola VPC: Todos los extremos seleccionados deben pertenecer a la misma red de VPC.
- Práctica recomendada de alta disponibilidad (HA): Para la recuperación ante desastres en varias regiones y la conmutación por error automática, configura y selecciona al menos dos extremos en diferentes regiones dentro de esa red de VPC.
Haz clic en Crear (o Guardar para una zona existente).
gcloud
Asocia extremos con una zona de reenvío usando el comando gcloud beta dns managed-zones update:
gcloud beta dns managed-zones update ZONE_NAME \
--project=PROJECT_ID \
--outbound-endpoints=projects/PROJECT_ID/locations/REGION_1/outboundEndpoints/ENDPOINT_NAME_1,projects/PROJECT_ID/locations/REGION_2/outboundEndpoints/ENDPOINT_NAME_2
Reemplaza lo siguiente:
ZONE_NAME: Nombre de la zona de reenvío que se actualizaráPROJECT_ID: Es el ID del proyecto.REGION_1yREGION_2: regiones en las que se implementan los extremosENDPOINT_NAME_1: Es el nombre del primer extremo que se asociará con la zona de reenvío.ENDPOINT_NAME_2: Es el nombre del segundo extremo que se asociará con la zona de reenvío.
API
Ejecuta el método managedZones.patch:
PATCH https://dns.googleapis.com/dns/v1beta2/projects/PROJECT_ID/managedZones/ZONE_NAME
{
"name": "ZONE_NAME",
"dnsName": "DNS_NAME",
"description": "DESCRIPTION",
"visibility": "private",
"forwardingConfig": {
"outboundEndpoints": [
{
"name": "projects/PROJECT_ID/locations/REGION_1/outboundEndpoints/ENDPOINT_NAME_1"
},
{
"name": "projects/PROJECT_ID/locations/REGION_2/outboundEndpoints/ENDPOINT_NAME_2"
}
]
}
}
Reemplaza lo siguiente:
PROJECT_ID: Es el ID del proyecto.ZONE_NAME: Es el nombre de la zona de reenvío que se actualizará.DNS_NAME: Nombre de DNS para la zona de reenvíoDESCRIPTION: (opcional) es la descripción actualizada de la zona de reenvío.REGION_1yREGION_2: Regiones en las que se implementan los extremos (todos los extremos salientes que se enumeran enforwardingConfigdeben pertenecer a la misma red de VPC)ENDPOINT_NAME_1: Es el nombre del primer extremo que se asociará con la zona de reenvío.ENDPOINT_NAME_2: Es el nombre del segundo extremo que se asociará con la zona de reenvío.
Asocia extremos con una política del servidor DNS
Console
En la consola de Google Cloud , ve a la página Cloud DNS.
Ve a la pestaña Políticas del servidor DNS y haz clic en Crear política (o selecciona una política del servidor DNS existente y haz clic en Editar).
Configura lo siguiente:
- En Nombre de la política, ingresa un nombre único para la política del servidor.
- En Descripción, ingresa una descripción (opcional).
- En Inbound query forwarding, especifica si los clientes externos consultarán las cargas de trabajo de la VPC con extremos de entrada.
- En DNS64, habilita o inhabilita la síntesis de IPv6 según sea necesario.
- En Registros, habilita o inhabilita el registro de DNS según sea necesario.
- En Redes de VPC, selecciona las redes de VPC a las que se aplica la política del servidor.
En Servidores DNS alternativos, ingresa las direcciones IPv4 de destino de tus servidores de nombres externos o locales.
En Ruta de reenvío, selecciona Extremos salientes.
En Extremos de salida, selecciona uno o más extremos para enrutar todas las consultas de VPC no privadas:
- Selección mínima: Selecciona al menos un extremo de salida.
- Restricción de una sola VPC: Todos los extremos seleccionados deben pertenecer a la misma red de VPC.
- Práctica recomendada de alta disponibilidad (HA): Para la recuperación ante desastres en varias regiones y la conmutación por error automática, configura y selecciona al menos dos extremos en diferentes regiones dentro de esa red de VPC.
Haz clic en Crear (o Guardar para una política existente).
gcloud
Asocia extremos a una política del servidor DNS con el comando gcloud beta dns policies update:
gcloud beta dns policies update POLICY_NAME \
--project=PROJECT_ID \
--outbound-endpoints=projects/PROJECT_ID/locations/REGION_1/outboundEndpoints/ENDPOINT_NAME_1,projects/PROJECT_ID/locations/REGION_2/outboundEndpoints/ENDPOINT_NAME_2
Reemplaza lo siguiente:
POLICY_NAME: Es el nombre de la política del servidor DNS que se actualizará.PROJECT_ID: Es el ID del proyecto.REGION_1yREGION_2: Regiones en las que se implementan los extremosENDPOINT_NAME_1: Es el nombre del primer extremo que se asociará con la política del servidor DNS.ENDPOINT_NAME_2: Es el nombre del segundo extremo que se asociará con la política del servidor DNS.
API
Ejecuta el método policies.patch:
PATCH https://dns.googleapis.com/dns/v1beta2/projects/PROJECT_ID/policies/POLICY_NAME
{
"alternativeNameServerConfig": {
"outboundEndpoints": [
{"name": "projects/PROJECT_ID/locations/REGION_1/outboundEndpoints/ENDPOINT_NAME_1"},
{"name": "projects/PROJECT_ID/locations/REGION_2/outboundEndpoints/ENDPOINT_NAME_2"}
]
}
}
Reemplaza lo siguiente:
PROJECT_ID: Es el ID del proyecto.POLICY_NAME: el nombre de la política del servidor DNS que se actualizaráREGION_1yREGION_2: regiones en las que se implementan los extremosENDPOINT_NAME_1: Es el nombre del primer extremo que se asociará con la política del servidor DNS.ENDPOINT_NAME_2: Es el nombre del segundo extremo que se asociará con la política del servidor DNS.
Cómo ver los extremos de salida
Para enumerar o describir los extremos salientes en una región, sigue estos pasos:
Console
En la consola de Google Cloud , ve a la página Cloud DNS.
Ve a la pestaña Extremos salientes para ver todos los extremos salientes de tu proyecto, sus regiones, redes, subredes, direcciones IP y estado.
gcloud
Para enumerar todos los extremos de salida de una región, ejecuta el
comando gcloud beta dns outbound-endpoints list:
gcloud beta dns outbound-endpoints list \
--project=PROJECT_ID \
--location=REGION
Reemplaza lo siguiente:
PROJECT_ID: Es el ID del proyecto.REGION: Es la región en la que se implementa el extremo.
Para ver los detalles de un extremo de salida específico, ejecuta el comando gcloud beta dns outbound-endpoints describe:
gcloud beta dns outbound-endpoints describe ENDPOINT_NAME \
--project=PROJECT_ID \
--location=REGION
Reemplaza lo siguiente:
ENDPOINT_NAME: nombre del extremo de salidaPROJECT_ID: Es el ID del proyecto.REGION: Es la región en la que se implementa el extremo.
API
Para enumerar todos los extremos salientes de una región, envía una solicitud GET:
GET https://dns.googleapis.com/dns/v1beta2/projects/PROJECT_ID/locations/REGION/outboundEndpoints
Reemplaza lo siguiente:
PROJECT_ID: Es el ID del proyecto.REGION: región en la que se implementa el extremo
Para ver los detalles de un extremo de salida específico, envía una solicitud GET:
GET https://dns.googleapis.com/dns/v1beta2/projects/PROJECT_ID/locations/REGION/outboundEndpoints/ENDPOINT_NAME
Reemplaza lo siguiente:
PROJECT_ID: Es el ID del proyecto.REGION: región en la que se implementa el extremoENDPOINT_NAME: nombre del extremo de salida
Borra un extremo saliente
Antes de borrar un extremo de salida, debes desvincularlo de cualquier zona de reenvío o política del servidor DNS que haga referencia a él. Para obtener más información, consulta Administra los recursos de red asociados con los extremos de salida.
Después de desasociar el extremo de salida de todas las zonas de reenvío y las políticas del servidor DNS, sigue estos pasos para borrar el extremo:
Console
En la consola de Google Cloud , ve a la página Cloud DNS.
Ve a la pestaña Extremos de salida.
Selecciona el extremo de salida que deseas borrar y haz clic en Borrar.
gcloud
Ejecuta el comando gcloud beta dns outbound-endpoints delete:
gcloud beta dns outbound-endpoints delete ENDPOINT_NAME \
--project=PROJECT_ID \
--location=REGION
Reemplaza lo siguiente:
ENDPOINT_NAME: Nombre del extremo saliente que se borraráPROJECT_ID: Es el ID del proyecto.REGION: Es la región en la que se implementa el extremo.
API
Usa el método outboundEndpoints.delete:
DELETE https://dns.googleapis.com/dns/v1beta2/projects/PROJECT_ID/locations/REGION/outboundEndpoints/ENDPOINT_NAME
Reemplaza lo siguiente:
PROJECT_ID: Es el ID del proyecto.REGION: región en la que se implementa el extremoENDPOINT_NAME: Nombre del extremo saliente que se borrará
Solucionar problemas
Para encontrar métodos que te permitan diagnosticar y resolver errores relacionados con los extremos de salida, consulta Solución de problemas.
¿Qué sigue?
- Obtén más información sobre los extremos de salida.