Accede a los servicios publicados a través de extremos

En este documento, se explica cómo acceder a los servicios en otra red de VPC mediante los extremos de Private Service Connect. Puedes conectarte a tus propios servicios o a los que proporcionan otros productores de servicios, incluido Google.

Para obtener más información sobre los servicios, consulta Publica servicios administrados.

Antes de comenzar

  • Lee Acerca de la conexión a servicios mediante extremos, incluidas las limitaciones.
  • Debes habilitar la API de Compute Engine en tu proyecto.
  • Debes habilitar la API de Service Directory en tu proyecto.
  • Debes habilitar la API de Cloud DNS en tu proyecto.
  • Identifica o crea una subred regular para asignar una dirección IP al extremo.
    • La subred debe estar en la misma región que el servicio al que deseas conectarte.
    • Puedes usar una dirección IPv4 de una subred solo IPv4 o de una subred de pila doble.
    • Puedes usar una dirección IPv6 de una subred solo para IPv6 (vista previa) o de pila doble si la subred tiene un rango de direcciones IPv6 interno.
    • La versión de IP de la dirección IP afecta a qué servicios publicados se puede conectar el extremo. Para obtener más información, consulta Traducción de versiones de IP.
  • Las reglas de firewall de salida deben permitir el tráfico a la dirección IP interna del extremo. La regla de firewall implícita de permiso de salida permite la salida a cualquier dirección IP de destino. Si creaste reglas de firewall de denegación de salida en tu red de VPC o si creaste políticas de firewall jerárquicas que modifican el comportamiento de salida permitido implícito, el acceso al extremo podría verse afectado. Crea una política o regla de firewall de permiso de salida específicas para permitir el tráfico al destino de la dirección IP interna del extremo del servicio.
  • Debes tener el URI del adjunto del servicio para el servicio. Por ejemplo, projects/SERVICE_PROJECT/regions/REGION/serviceAttachments/SERVICE_NAME

Roles requeridos

Para obtener los permisos que necesitas para acceder a los servicios publicados a través de extremos, pídele a tu administrador que te otorgue los siguientes roles de IAM:

Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

Estos roles predefinidos contienen los permisos necesarios para acceder a los servicios publicados a través de extremos. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:

Permisos necesarios

Se requieren los siguientes permisos para acceder a los servicios publicados a través de extremos:

  • Para crear, ver y borrar extremos en tu proyecto, haz lo siguiente:
    • compute.networks.use en tu proyecto
    • compute.subnetworks.use en tu proyecto
    • compute.addresses.createInternal en tu proyecto
    • compute.addresses.deleteInternal en tu proyecto
    • compute.addresses.get en tu proyecto
    • compute.addresses.list en tu proyecto
    • compute.addresses.use en tu proyecto
    • compute.forwardingRules.create en tu proyecto
    • compute.forwardingRules.delete en tu proyecto
    • compute.forwardingRules.get en tu proyecto
    • compute.forwardingRules.list en tu proyecto
    • compute.forwardingRules.pscCreate en tu proyecto
    • compute.forwardingRules.pscDelete en tu proyecto
    • compute.regionOperations.get en tu proyecto
    • servicedirectory.namespaces.create en tu proyecto
    • servicedirectory.namespaces.delete en tu proyecto
    • servicedirectory.services.create en tu proyecto
    • servicedirectory.services.delete en tu proyecto
  • Para crear, ver y borrar extremos en un proyecto de servicio adjunto a una red de VPC compartida, haz lo siguiente:
    • compute.addresses.createInternal en el proyecto de servicio
    • compute.addresses.deleteInternal en el proyecto de servicio
    • compute.addresses.get en el proyecto de servicio
    • compute.addresses.list en el proyecto de servicio
    • compute.addresses.use en el proyecto de servicio
    • compute.forwardingRules.create en el proyecto de servicio
    • compute.forwardingRules.delete en el proyecto de servicio
    • compute.forwardingRules.get en el proyecto de servicio
    • compute.forwardingRules.list en el proyecto de servicio
    • compute.forwardingRules.pscCreate en el proyecto de servicio
    • compute.forwardingRules.pscDelete en el proyecto de servicio
    • compute.regionOperations.get en el proyecto de servicio
    • servicedirectory.namespaces.create en el proyecto de servicio
    • servicedirectory.namespaces.delete en el proyecto de servicio
    • servicedirectory.services.create en el proyecto de servicio
    • servicedirectory.services.delete en el proyecto de servicio
    • compute.networks.use en el proyecto host
    • compute.subnetworks.use en el proyecto host
  • Para configurar de forma manual o automática las entradas de DNS para un extremo en tu proyecto, sigue estos pasos:
    • dns.managedZones.create en tu proyecto
    • dns.managedZones.delete en tu proyecto
    • dns.networks.bindPrivateDNSZone en tu proyecto
    • servicedirectory.namespaces.associatePrivateZone en tu proyecto
  • Para configurar automáticamente o de forma manual las entradas de DNS para un extremo en una red de VPC compartida, haz lo siguiente:
    • dns.managedZones.create en el proyecto de servicio
    • dns.managedZones.delete en el proyecto de servicio
    • dns.networks.bindPrivateDNSZone en el proyecto de servicio
    • servicedirectory.namespaces.associatePrivateZone en el proyecto de servicio
  • Para acceder a la página de Private Service Connect en la consola, sigue estos pasos:
      Trusted Cloud
    • compute.forwardingRules.list en tu proyecto
    • compute.globalForwardingRules.list en tu proyecto
    • compute.networkEndpointGroups.list en tu proyecto
    • compute.regionNetworkEndpointGroups.list en tu proyecto
    • compute.urlMaps.list en tu proyecto
    • compute.backendService.list en tu proyecto
    • compute.regionBackendService.list en tu proyecto
    • compute.backendBucket.list en tu proyecto
    • compute.targetHttpProxy.list en tu proyecto
    • compute.targetHttpsProxy.list en tu proyecto
    • compute.regionTargetTcpProxy.list en tu proyecto
    • compute.targetTcpProxy.list en tu proyecto
    • compute.targetSslProxy.list en tu proyecto
    • compute.sslCertificate.list en tu proyecto
    • compute.sslPolicy.list en tu proyecto
    • compute.regionHealthCheck.list en tu proyecto
    • compute.healthCheck.list en tu proyecto
    • compute.httpHealthCheck.list en tu proyecto
    • compute.httpsHealthCheck.list en tu proyecto

También puedes obtener estos permisos con roles personalizados o con otros roles predefinidos.

Crear un extremo

Un extremo se conecta a servicios en otra red de VPC mediante una regla de reenvío de Private Service Connect. Cada regla de reenvío se tiene en cuenta para la cuota por proyecto de las reglas de reenvío de Private Service Connect para acceder a los servicios en otra red de VPC.

Cuando creas un extremo, se registra de forma automática con el Directorio de servicios mediante el espacio de nombres que elijas o el predeterminado, goog-psc-default.

Si deseas que el extremo esté disponible en más de una región, activa el acceso global.

Solo puedes actualizar el campo de acceso global de los extremos para los servicios publicados. Si deseas actualizar otros campos, borra el extremo y, luego, crea uno nuevo.

Console

  1. En la Trusted Cloud consola, ve a la página Private Service Connect.

    Ir a Private Service Connect

  2. Haz clic en la pestaña Extremos conectados.

  3. Haz clic en Conectar extremo.

  4. En Destino, selecciona Servicio publicado.

  5. En Servicio de destino, ingresa el URI del adjunto de servicio al que deseas conectarte.

    El URI del adjunto de servicio tiene el siguiente formato: projects/SERVICE_PROJECT/regions/REGION/serviceAttachments/SERVICE_NAME

  6. En Nombre del extremo, ingresa un nombre para usar en el extremo.

  7. Selecciona una red para el extremo.

  8. Selecciona una subred para el extremo.

  9. Selecciona una dirección IP para el extremo. Si necesitas una dirección IP nueva, puedes crear una:

    1. Haz clic en el menú desplegable Dirección IP y selecciona Crear dirección IP.
    2. Ingresa un nombre y una descripción opcional para la dirección IP.
    3. Selecciona una versión de IP.
    4. Si creas una dirección IPv4, selecciona Asignar de forma automática o Permitirme elegir.

      Si seleccionaste Permitirme elegir, ingresa la dirección IP personalizada que deseas usar.

    5. Haz clic en Reservar.

  10. Para que el extremo esté disponible desde cualquier región, selecciona Habilitar el acceso global.

  11. Selecciona un espacio de nombres de la lista desplegable o crea un espacio de nombres nuevo.

    La región se propaga en función de la subred seleccionada.

  12. Haz clic en Agregar extremo.

gcloud

  1. Reserva una dirección IP interna para asignarla al extremo.

    gcloud compute addresses create ADDRESS_NAME \
        --region=REGION \
        --subnet=SUBNET \
        --ip-version=IP_VERSION
    

    Reemplaza lo siguiente:

    • ADDRESS_NAME: nombre que se asignará a la dirección IP reservada.

    • REGION: Es la región de la dirección IP del extremo. Debe ser la misma región que contiene el adjunto del servicio del productor de servicios.

    • SUBNET: Es el nombre de la subred para la dirección IP del extremo.

    • IP_VERSION: La versión de IP de la dirección IP, que puede ser IPV4 o IPV6. IPV4 es la configuración predeterminada. Para especificar IPV6, la dirección IP debe estar conectada a una subred con un rango de direcciones IPv6 internas.

  2. Busca la dirección IP reservada.

    gcloud compute addresses list --filter="name=ADDRESS_NAME"
    
  3. Crea una regla de reenvío para conectar el extremo al adjunto de servicio del productor de servicios. De forma predeterminada, los extremos solo están disponibles en su propia región. Para que un extremo esté disponible desde cualquier región, usa la marca --allow-psc-global-access.

    • Crea un extremo al que solo se pueda acceder desde su propia región.

      gcloud compute forwarding-rules create ENDPOINT_NAME \
          --region=REGION \
          --network=NETWORK_NAME \
          --address=ADDRESS_NAME \
          --target-service-attachment=SERVICE_ATTACHMENT \
          [ --service-directory-registration=projects/PROJECT_ID/locations/REGION/namespaces/NAMESPACE ]
      
    • Crea un extremo al que se pueda acceder desde cualquier región.

      gcloud compute forwarding-rules create ENDPOINT_NAME \
          --region=REGION \
          --network=NETWORK_NAME \
          --address=ADDRESS_NAME \
          --target-service-attachment=SERVICE_ATTACHMENT \
          --allow-psc-global-access \
          [ --service-directory-registration=projects/PROJECT_ID/locations/REGION/namespaces/NAMESPACE ]
      

    Reemplaza lo siguiente:

    • ENDPOINT_NAME: nombre que se asignará al extremo.

    • REGION: Es la región para el extremo. Debe ser la misma región que contiene el adjunto del servicio del productor de servicios.

    • NETWORK_NAME: nombre de la red de VPC para el extremo.

    • ADDRESS_NAME: Es el nombre de la dirección reservada.

    • SERVICE_ATTACHMENT: Es el URI del adjunto del servicio del productor de servicios. Por ejemplo: projects/SERVICE_PROJECT/regions/REGION/serviceAttachments/SERVICE_NAME

    • PROJECT_ID: el ID de tu proyecto

    • NAMESPACE: El espacio de nombres del Directorio de servicios que deseas usar. Si especificas un espacio de nombres que no existe, se crea el espacio de nombres.

      Si omites la marca --service-directory-registration, se usa el espacio de nombres predeterminado de goog-psc-default.

API

  1. Reserva una dirección IP interna para asignarla al extremo.

    POST https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/regions/REGION/addresses
    
    {
      "name": "ADDRESS_NAME",
      "addressType": "INTERNAL",
      "subnetwork": "SUBNET_URI",
      "ipVersion": "IP_VERSION"
    }
    

    Reemplaza lo siguiente:

    • PROJECT_ID: el ID de tu proyecto

    • REGION: Es la región para el extremo. Debe ser la misma región que contiene el adjunto del servicio del productor de servicios.

    • ADDRESS_NAME: nombre que se asignará a la dirección IP reservada.

    • SUBNET_URI: la subred de la dirección IP. Usa el método subnetworks.list o gcloud compute networks subnets list --uri para encontrar las URL de tus redes.

    • IP_VERSION: La versión de IP de la dirección IP, que puede ser IPV4 o IPV6. IPV4 es la configuración predeterminada. Para especificar IPV6, la dirección IP debe estar conectada a una subred con un rango de direcciones IPv6 internas.

  2. Crea una regla de reenvío para conectar el extremo al adjunto de servicio del productor de servicios. De forma predeterminada, los extremos solo están disponibles en su propia región. Para hacer que un extremo esté disponible desde cualquier región, establece allowPscGlobalAccess en true.

    • Crea un extremo al que solo se pueda acceder desde su propia región.

      POST https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/regions/REGION/forwardingRules
      {
        "name": "ENDPOINT_NAME",
        "IPAddress": "ADDRESS_URI",
        "target": "SERVICE_ATTACHMENT",
        "network": "NETWORK_URI",
        "serviceDirectoryRegistrations": [
            {
                "namespace": "NAMESPACE"
            }
        ]
      }
      
    • Crea un extremo al que se pueda acceder desde cualquier región.

      POST https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/regions/REGION/forwardingRules
      {
        "name": "ENDPOINT_NAME",
        "IPAddress": "ADDRESS_URI",
        "target": "SERVICE_ATTACHMENT",
        "network": "NETWORK_URI",
        "allowPscGlobalAccess": true,
        "serviceDirectoryRegistrations": [
            {
                "namespace": "NAMESPACE"
            }
        ]
      }
      

    Reemplaza lo siguiente:

    • PROJECT_ID: el ID de tu proyecto

    • REGION: Es la región para el extremo.

    • ENDPOINT_NAME: nombre que se asignará al extremo.

    • ADDRESS_URI: URI de la dirección reservada en la red asociada. Usa el método addresses.list o gcloud compute addresses list --uri para encontrar la URL de la dirección reservada.

    • SERVICE_ATTACHMENT: Es el URI del adjunto del servicio del productor de servicios. Por ejemplo: projects/SERVICE_PROJECT/regions/REGION/serviceAttachments/SERVICE_NAME

    • NETWORK_URI: red de VPC para el extremo. Usa el método network.list o gcloud compute networks list --uri para encontrar el URI de tu red.

    • NAMESPACE: es el espacio de nombres para el extremo. Especificar un espacio de nombres que no existe, crea el espacio de nombres. Si omites el campo namespace, se asigna el espacio de nombres predeterminado de goog-psc-default.

Crea un extremo con una dirección IP desde una red de VPC compartida

Los administradores de proyectos de servicio pueden crear extremos en proyectos de servicio de VPC compartida que usan direcciones IP de las redes de VPC compartidas conectadas. La creación de extremos de este tipo no está disponible en la consola de Trusted Cloud . Debes usar Google Cloud CLI o enviar una solicitud a la API. Para obtener más información, consulta VPC compartida.

En este ejemplo, se muestra cómo crear un extremo con una dirección IP de una red de VPC compartida a la que se puede acceder desde una sola región. Si quieres habilitar el acceso global o elegir un espacio de nombres para el Directorio de servicios, consulta Crea un extremo.

gcloud

  1. Para reservar una dirección IP interna a fin de asignarla al extremo, realiza una de las siguientes acciones:

    La dirección IP debe estar en la misma región que el adjunto de servicio del productor de servicios.

  2. Para crear el extremo en el proyecto de servicio, realiza una de las siguientes acciones.

    • Si tienes permiso para usar todas las subredes del proyecto host, usa el siguiente comando:

      gcloud compute forwarding-rules create ENDPOINT_NAME \
          --region=REGION \
          --network=projects/HOST_PROJECT/global/networks/HOST_NETWORK \
          --address=projects/ADDRESS_PROJECT/regions/REGION/addresses/ADDRESS_NAME \
          --target-service-attachment=SERVICE_ATTACHMENT
      

      Reemplaza lo siguiente:

      • ENDPOINT_NAME: Nombre que se asignará al extremo.
      • REGION: Es la región para el extremo. Debe ser la misma región que contiene el adjunto del servicio del productor de servicios.
      • HOST_PROJECT: el ID del proyecto de la red de VPC compartida.
      • HOST_NETWORK: Es el nombre de la red de VPC compartida que contiene la dirección IP del extremo.
      • ADDRESS_PROJECT: el ID del proyecto en el que reservaste la dirección IP. Puede ser el proyecto de servicio o el proyecto host.
      • ADDRESS_NAME: Es el nombre de la dirección IP reservada.
      • SERVICE_ATTACHMENT: Es el URI del adjunto del servicio del productor de servicios. Por ejemplo: projects/SERVICE_PROJECT/regions/REGION/serviceAttachments/SERVICE_NAME
    • Si solo tienes permiso para usar algunas subredes en el proyecto host, especifica una subred compartida con el siguiente comando:

      gcloud compute forwarding-rules create ENDPOINT_NAME \
          --region=REGION \
          --subnet=projects/HOST_PROJECT/regions/REGION/subnetworks/HOST_SUBNET \
          --address=projects/ADDRESS_PROJECT/regions/REGION/addresses/ADDRESS_NAME \
          --target-service-attachment=SERVICE_ATTACHMENT
      

      Reemplaza HOST_SUBNET por el nombre de la subred que contiene la dirección IP del extremo.

API

  1. Para reservar una dirección IP interna a fin de asignarla al extremo, realiza una de las siguientes acciones:

    La dirección IP debe estar en la misma región que el adjunto de servicio del productor del servicio.

  2. Para crear el extremo en el proyecto de servicio, realiza una de las siguientes acciones.

    • Si tienes permiso para usar todas las subredes del proyecto host, realiza la siguiente solicitud:

      POST https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/forwardingRules
      {
        "name": "ENDPOINT_NAME",
        "IPAddress": "projects/ADDRESS_PROJECT/regions/REGION/addresses/ADDRESS_NAME",
        "target": "SERVICE_ATTACHMENT",
        "network": "projects/HOST_PROJECT/global/networks/HOST_NETWORK"
      }
      

      Reemplaza lo siguiente:

      • PROJECT: el ID del proyecto de servicio.
      • REGION: Es la región para el extremo. Debe ser la misma región que contiene el adjunto del servicio del productor de servicios.
      • ENDPOINT_NAME: Nombre que se asignará al extremo.
      • ADDRESS_PROJECT: Es el ID del proyecto en el que reservaste la dirección IP. Puede ser el proyecto de servicio o el proyecto host.
      • ADDRESS_NAME: Es el nombre de la dirección IP reservada.
      • SERVICE_ATTACHMENT: Es el URI del adjunto del servicio del productor de servicios. Por ejemplo: projects/SERVICE_PROJECT/regions/REGION/serviceAttachments/SERVICE_NAME
      • HOST_PROJECT: el ID del proyecto de la red de VPC compartida.
      • HOST_NETWORK: Es el nombre de la red de VPC compartida que contiene la dirección IP del extremo.
    • Si solo tienes permiso para usar algunas subredes en el proyecto host, especifica una subred compartida con la siguiente solicitud:

      POST https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/forwardingRules
      {
        "name": "ENDPOINT_NAME",
        "IPAddress": "projects/ADDRESS_PROJECT/regions/REGION/addresses/ADDRESS_NAME",
        "target": "SERVICE_ATTACHMENT",
        "subnetwork": "projects/HOST_PROJECT/regions/REGION/subnetworks/HOST_SUBNET"
      }
      

      Reemplaza HOST_SUBNET por el nombre de la subred que contiene la dirección IP del extremo.

Enumerar extremos

Puedes enumerar todos los extremos configurados.

Console

  1. En la Trusted Cloud consola, ve a la página Private Service Connect.

    Ir a Private Service Connect

  2. Haz clic en la pestaña Extremos conectados.

    Se muestran los extremos.

gcloud

gcloud compute forwarding-rules list \
    --filter 'target~serviceAttachments'

El resultado es similar al siguiente:

NAME  REGION  IP_ADDRESS  IP_PROTOCOL  TARGET
RULE          IP          TCP          REGION/serviceAttachments/SERVICE_NAME

API

Esta llamada a la API muestra todas las reglas de reenvío, no solo los extremos que se usan para acceder a los servicios.

GET https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/regions/REGION/forwardingRules

Reemplaza lo siguiente:

  • PROJECT_ID: proyecto que contiene el extremo.
  • REGION: Es la región para el extremo.

Ver detalles del extremo

Puedes ver todos los detalles de configuración de un extremo, incluido su estado de conexión.

Console

  1. En la Trusted Cloud consola, ve a la página Private Service Connect.

    Ir a Private Service Connect

  2. Haz clic en la pestaña Extremos conectados.

  3. Haz clic en el servicio que deseas ver.

gcloud

gcloud compute forwarding-rules describe \
    ENDPOINT_NAME --region=REGION

Reemplaza lo siguiente:

  • ENDPOINT_NAME: El nombre del extremo.
  • REGION: Es la región para el extremo.

API

GET https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/regions/REGION/forwardingRules/ENDPOINT_NAME

Reemplaza lo siguiente:

  • PROJECT_ID: proyecto que contiene el extremo.
  • REGION: Es la región para el extremo.
  • ENDPOINT_NAME: El nombre del extremo.

Etiqueta un extremo

Puedes administrar etiquetas para los extremos. Para obtener instrucciones detalladas, consulta Etiqueta recursos.

Borra un extremo †

Puedes borrar un extremo.

Sin embargo, las siguientes configuraciones del Directorio de servicios no se borran cuando borras el extremo:

  • Espacio de nombres del Directorio de servicios
  • Zona del DNS del Directorio de servicios

Otros servicios pueden usar el espacio de nombres del Directorio de servicios y la zona del DNS del Directorio de servicios. Verifica que el espacio de nombres esté vacío antes de borrar el espacio de nombres del Directorio de servicios o borrar la zona del DNS del Directorio de servicios.

Console

  1. En la Trusted Cloud consola, ve a la página Private Service Connect.

    Ir a Private Service Connect

  2. Haz clic en la pestaña Extremos conectados.

  3. Selecciona el extremo que deseas borrar y, luego, haz clic en Borrar.

gcloud

gcloud compute forwarding-rules delete ENDPOINT_NAME \
    --region=REGION

Reemplaza lo siguiente:

  • ENDPOINT_NAME: El nombre del extremo.
  • REGION: Es la región para el extremo.

API

DELETE https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/regions/REGION/forwardingRules/ENDPOINT_NAME

Reemplaza lo siguiente:

  • PROJECT_ID: proyecto que contiene el extremo.
  • REGION: Es la región para el extremo.
  • ENDPOINT_NAME: El nombre del extremo.

Accede a los extremos desde redes híbridas

Los clientes en las redes conectadas a Trusted Cloud con adjuntos de VLAN para los túneles de Cloud Interconnect o Cloud VPN pueden llegar a los extremos de Private Service Connect.

  • El adjunto de VLAN o el túnel de Cloud VPN deben finalizar en la misma red de VPC (o red de VPC compartida) que el extremo. Los clientes en redes de VPC de intercambio de tráfico no pueden alcanzar extremos.

  • El tráfico del cliente desde los adjuntos de VLAN o los túneles de Cloud VPN puede llegar a los extremos en otra región si se configura el acceso global.

  • Dataplane v1 y Dataplane v2 son compatibles con los adjuntos de VLAN. Para obtener más información sobre las versiones de Dataplane, consulta Dataplane v2.

Si deseas acceder al extremo mediante su nombre de DNS, debes configurar los sistemas en la otra red para que puedan realizar consultas a tus zonas del DNS privado.

Si implementaste las zonas del DNS privado con Cloud DNS, completa los siguientes pasos:

  • Crea una política de servidor de entrada en la red de VPC a la que se conecta la otra red.

  • Identifica los puntos de entrada de reenvío entrantes en la región en la que se encuentra el adjunto de VLAN o el túnel de Cloud VPN, en la red de VPC a la que tu otra red se conecta.

  • Configura sistemas y servidores de nombres de DNS en la otra red para reenviar los Nombres de DNS para los extremos a un punto de entrada de reenvío entrante en la misma región que el adjunto de VLAN o el túnel de Cloud VPN que se conecta a la red de VPC.

Visualiza las zonas DNS del Directorio de servicios

Si se cumplen los requisitos para la configuración de DNS automática, se crea una zona DNS con un nombre en el formato NAMESPACE--REGION.

Console

  1. En la consola de Trusted Cloud , ve a la página Zonas de Cloud DNS.

    Ir a Zonas de Cloud DNS

  2. Busca una zona privada con el nombre NAMESPACE--REGION.

gcloud

  • Ejecuta el siguiente comando para mostrar todas las zonas del DNS privadas:

    gcloud dns managed-zones list \
        --filter="visibility=private"
    
  • Ejecuta el siguiente comando para obtener detalles de una zona con el nombre NAMESPACE--REGION.

    gcloud dns managed-zones describe NAMESPACE--REGION
    

Si la zona no está presente, consulta los detalles del extremo y verifica si la configuración del extremo incluye un valor para el espacio de nombres.

Otras formas de configurar el DNS

Si no se cumplen los requisitos para la configuración automática del DNS, puedes crear entradas del DNS de otras maneras:

Configura una zona del DNS del Directorio de servicios

Si un extremo se registra con el Directorio de servicios, pero el servicio publicado con el que se conecta no tiene configurado un nombre de dominio, no se realizan cambios de DNS.

Si deseas replicar la configuración automática de DNS, puedes configurar de forma manual una zona DNS del Directorio de servicios respaldada por el espacio de nombres del Directorio de servicios. Después de crear la zona, se crean automáticamente entradas de DNS para el extremo.

Crea una zona DNS del directorio del servicio con la siguiente configuración:

  • Nombre de la zona: Especifica NAMESPACE--REGION, en la que NAMESPACE es el espacio de nombres en el que está registrado el extremo y REGION es la región en la que se crea el extremo.

  • Nombre de DNS: Es el dominio DNS que el productor de servicios usa para sus servicios publicados. Consulta esta información con el productor de servicios.

    El nombre del DNS puede tener el formato REGION.p.DOMAIN. Por ejemplo, si el dominio público del productor de servicios es example.com y su servicio publicado está en us-west1, recomendamos que habiliten la disponibilidad de su servicio mediante los nombres de dominio us-west1.p.example.com. Incluye un punto final, por ejemplo, us-west1.p.example.com..

  • Espacio de nombres del Directorio de servicios: El espacio de nombres que configuraste para este extremo.

Consulta los detalles del extremo para encontrar el espacio de nombres y la región del Directorio de servicios.

Mediante esta configuración, si configuraste una zona del DNS del Directorio de servicios con el nombre DNS us-west1.p.example.com y creas un extremo llamado analytics, se crea automáticamente un registro DNS para analytics.us-west1.p.example.com.

Registra un extremo con el Directorio de servicios

Los extremos nuevos se registran de forma automática con el Directorio de servicios. Sin embargo, si se creó un extremo antes de que se habilitara el registro automático con el Directorio de servicios, es posible que falte esta configuración.

Puedes borrar el extremo y crear uno nuevo, que se registra con el Directorio de servicios de forma automática.

También puedes seguir estos pasos para registrar un extremo existente con un espacio de nombres del Directorio de servicios.

  1. Crea un espacio de nombres del Directorio de servicios para el extremo, NAMESPACE.

  2. Crea un servicio del Directorio de servicios para el extremo, SERVICE_NAME.

    En el servicio, usa el mismo nombre que el de la regla de reenvío que se usa para el extremo, ENDPOINT_NAME.

  3. Crea un extremo de Directorio de servicios con el nombre default y usa la dirección IP y el puerto (443) del extremo.

Después de registrar el extremo en el Directorio de servicios, sigue las instrucciones para configurar una zona DNS del Directorio de servicios.

Configura DNS de forma manual

Si impediste la configuración automática de DNS o si no está habilitada en tu configuración, puedes usar Cloud DNS para crear registros DNS de forma manual.

Si deseas obtener más información, consulta las siguientes páginas:

  • Control de acceso: El rol de administrador de DNS (roles/dns.admin) proporciona los permisos necesarios para crear zonas y registros DNS.

  • Crea una zona privada.

    • Cuando configuras una zona privada, debes proporcionar un nombre de DNS. Usa el dominio DNS que el productor de servicios usa para sus servicios publicados. Consulta esta información con el productor de servicios.

      Puede tener este formato: REGION.p.DOMAIN. Por ejemplo, si el dominio público del productor de servicios es example.com y su servicio publicado está en us-west1, recomendamos que habiliten la disponibilidad de su servicio mediante los nombres de dominio us-west1.p.example.com.

  • Agrega un registro,

Problemas conocidos

Los backends en mal estado reciben tráfico con acceso global

Solo habilita el acceso global si sabes que el balanceador de cargas del productor de servicios está configurado para el acceso global. Si creas un extremo de acceso global para un servicio publicado que no usa acceso global, es posible que el tráfico se envíe a backends en mal estado y se descarte.

Soluciona problemas

No se puede crear una zona DNS privada

Cuando creas un extremo, se crea una zona DNS del Directorio de servicios. La creación de zonas puede fallar por los siguientes motivos:

  • No habilitaste la API de Cloud DNS en tu proyecto.

  • No tienes los permisos necesarios para crear una zona DNS del Directorio de servicios.

  • Existe una zona DNS con el mismo nombre en esta red de VPC.

  • Ya existe una zona DNS para el mismo nombre de dominio en esta red de VPC.

Para crear manualmente la zona DNS del Directorio de servicios, haz lo siguiente:

  1. Verifica que la API de Cloud DNS esté habilitada en tu proyecto.

  2. Verifica que tengas los permisos necesarios para crear la zona DNS del Directorio de servicios:

    • dns.managedZones.create
    • dns.networks.bindPrivateDNSZone
    • servicedirectory.namespaces.associatePrivateZone
  3. Si hay una zona en conflicto, pero ya no es necesaria, borra la zona DNS.

  4. Crea una zona DNS de Directorio del servicio respaldada por el espacio de nombres del Directorio de servicios asociado con tu extremo.

La creación de extremos falla cuando se configura el acceso global

No todos los servicios publicados de Private Service Connect admiten extremos con acceso global. Si creas un extremo con acceso global y el servicio publicado no lo admite, verás este mensaje de error:

Private Service Connect global access is not supported for the given forwarding rule, since its producer service does not support consumer global access.

Crea el extremo sin la opción de acceso global.

La creación del extremo se realiza de manera correcta, pero no se establece la conectividad

Si creas correctamente un extremo para servicios publicados, pero no se establece la conectividad, verifica el estado de conexión del extremo. El estado de la conexión puede indicar los pasos a seguir para resolver el problema.

Errores de conexión propagados

Para obtener información sobre la solución de problemas de conexiones propagadas, consulta Soluciona problemas de errores de propagación de conexiones de Private Service Connect.

El extremo tiene problemas de rendimiento o tiempos de espera de conexión

Si tu extremo tiene problemas de rendimiento o tiempos de espera de conexión intermitentes, es posible que se deba a paquetes descartados. Para investigar los paquetes descartados, consulta las métricas que se describen en las siguientes secciones.

Paquetes descartados en el servicio publicado

La métrica private_service_connect/consumer/dropped_sent_packets_count hace un seguimiento de los paquetes de un consumidor de Private Service Connect, como un extremo a un servicio publicado, que se descartan porque el extremo superó sus conexiones máximas al servicio.

Si un extremo informa valores para esta métrica, considera las siguientes soluciones:

  • Crea extremos adicionales que se conecten al servicio publicado.
  • Reduce la cantidad de conexiones a través de este extremo.
  • Pídele al productor de servicios que aumente la capacidad de su servicio publicado, por ejemplo, agregando más instancias de máquina virtual (VM) o extremos de red.

Paquetes descartados de los servicios publicados

La métrica private_service_connect/consumer/dropped_received_packets_count hace un seguimiento de los paquetes enviados desde un servicio publicado a un consumidor de Private Service Connect, como un extremo, que se descartan porque Private Service Connect no puede encontrar una conexión coincidente para los paquetes de respuesta.

Private Service Connect solo permite las conexiones que se inician desde la red de VPC del consumidor. Cuando un consumidor inicia una conexión, se realiza un seguimiento de la conexión para que los paquetes de respuesta del servicio publicado coincidan con una conexión existente. Si Private Service Connect no puede encontrar una coincidencia para un paquete de respuesta, se descarta el paquete.

Es posible que Private Service Connect no encuentre una coincidencia para un paquete de respuesta si un servicio publicado envía paquetes de respuesta después de que se agotó el tiempo de espera de una conexión. Si ves valores para esta métrica, comunícate con el productor de servicios. Es posible que puedan configurar su servicio para evitar este problema.