Configura dominios personalizados para Cloud Workstations

Para acceder a tus estaciones de trabajo, puedes especificar un dominio personalizado de confianza en lugar de usar el dominio cloudworkstations.dev.

Arquitectura

Para usar Cloud Workstations con un nombre de host personalizado, configura un clúster privado y configura el extremo de Private Service Connect (PSC) para la entrada de HTTP de tu clúster privado. También debes crear un balanceador de cargas de aplicaciones con un backend de PSC que se dirija al extremo de PSC creado para tu clúster privado. Este balanceador de cargas de aplicaciones puede ser externo o interno, y administra el certificado SSL para tu dominio personalizado.

En el siguiente diagrama, se ilustra un clúster con un dominio personalizado:

Figura 1: Clúster con dominio personalizado

Antes de comenzar

Para configurar un dominio personalizado de Cloud Workstations, sigue estos pasos:

  1. Crea un clúster privado y especifica un dominio personalizado de confianza con los comandos de la CLI de gcloud o la API de REST.

  2. Crea un balanceador de cargas de aplicaciones con un backend de Private Service Connect (PSC) en el mismo proyecto que usaste para el proyecto del clúster de estaciones de trabajo. Ten en cuenta lo siguiente:

    1. Si quieres que tus estaciones de trabajo sean privadas (inaccesibles a través de la Internet pública), asegúrate de crear un balanceador de cargas interno. Para ello, crea una zona del DNS privada y agrega un registro que asigne el dominio a la dirección IP interna que usa el balanceador de cargas. Para obtener más información sobre cómo crear un balanceador de cargas interno, consulta Balanceadores de cargas de aplicaciones internos.

    2. El adjunto de servicio al que debes hacer referencia en el balanceador de cargas se puede obtener en el recurso del clúster de la estación de trabajo después de crear el clúster.

    3. Asegúrate de obtener un certificado y especificarlo en el balanceador de cargas como un certificado comodín para tu dominio, por ejemplo, *.us-west1-cluster1.example.com. Consulta Certificados y balanceadores de cargas de Google Cloud para conocer los tipos de certificados que se admiten en el balanceador de cargas que seleccionaste.

    4. También puedes crear el balanceador de cargas en un proyecto diferente, siempre que lo agregues a la lista PrivateClusterConfig.allowedProjects.

    5. Si tienes varios clústeres de estaciones de trabajo en tu organización, puedes usar un solo balanceador de cargas con servicios de backend, certificados y reglas de enrutamiento independientes.

  3. Configura un sistema de nombres de dominio (DNS). Como este es un dominio que administras, configura un DNS para este dominio asignando todos los subdominios del dominio proporcionado al balanceador de cargas. Por ejemplo, crea una zona del DNS para us-west1-cluster1.example.com y agrega una entrada que asigne *.us-west1-cluster1.example.com a la dirección IP externa que usa tu balanceador de cargas.

  4. Para acceder a las estaciones de trabajo con el dominio personalizado, usa el clúster que creaste para crear una configuración de estación de trabajo y, luego, crea una estación de trabajo con esa configuración de estación de trabajo.

  5. Inicia tu estación de trabajo y verifica la URL. Cuando especificas un dominio personalizado, la URL de la estación de trabajo usa el siguiente formato:

    https://PORT-WORKSTATION_NAME.DOMAIN
    

    Las siguientes partes de la URL dependen de tu configuración:

    • PORT: Es el número de puerto, que es el puerto 80 de forma predeterminada.
    • WORKSTATION_NAME: Es el nombre de tu estación de trabajo.
    • DOMAIN: el nombre de dominio específico de tu clúster

Crea un clúster privado

Crea un clúster de estación de trabajo privado con un extremo privado:

gcloud

  1. Antes de comenzar, asegúrate de haber inicializado la CLI de gcloud ejecutando gcloud init y de haber especificado un proyecto predeterminado. En los ejemplos que se muestran a continuación, se supone que configuraste tu proyecto predeterminado.

  2. Para crear un clúster de estaciones de trabajo privado, ejecuta el siguiente comando:

    gcloud workstations clusters create WORKSTATION_CLUSTER \
      --region=REGION \
      --domain=DOMAIN \
      --network=NETWORK \
      --subnetwork=SUBNETWORK \
      --enable-private-endpoint
    

    Reemplaza lo siguiente:

    • WORKSTATION_CLUSTER: Es el nombre del clúster de estación de trabajo que se creará.
    • REGION: es el nombre de la región del clúster.
    • DOMAIN: Es el nombre de dominio que usa Cloud Workstations para la entrada de HTTP. Usa un subdominio único para este clúster, por ejemplo, us-west1-cluster1.example.com.
    • NETWORK es el nombre de la red de VPC. Si se omite, se usa la red de VPC predeterminada.
    • SUBNETWORK: Es el nombre de la subred en la red de VPC. Si se omiten la red y la subred, se usa la red de VPC predeterminada, y se usa la subred predeterminada en el REGION especificado.

Para obtener más información sobre este comando de la CLI de gcloud, consulta la documentación de referencia de gcloud workstations clusters create.

curl

curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json"  -d '{"domain_config": {"domain": "DOMAIN"}, "private_cluster_config": {"enable_private_endpoint":true}, "network": "NETWORK", "subnetwork": "SUBNETWORK"}'  https://workstations.googleapis.com/v1/projects/PROJECT_NAME/locations/REGION/workstationClusters?workstation_cluster_id=WORKSTATION_CLUSTER

Reemplaza lo siguiente:

  • DOMAIN: Es el nombre de dominio que usa Cloud Workstations para la entrada de HTTP. Debe ser un subdominio único para este clúster, por ejemplo, us-west1-cluster1.example.com.
  • NETWORK: Es el nombre de la red de VPC. Si se omite, se usa la red de VPC predeterminada.
  • SUBNETWORK: Es el nombre de la subred en la red de VPC. Si se omiten la red y la subred, se usa la red de VPC predeterminada, y se usa la subred predeterminada en el REGION especificado.
  • PROJECT_NAME: el nombre del proyecto.
  • REGION: es el nombre de la región del clúster.
  • WORKSTATION_CLUSTER: Es el nombre del clúster de estación de trabajo que se creará.

Para obtener más información sobre este método de la API, consulta la documentación de referencia de workstationClusters.create.

REST

POST https://workstations.googleapis.com/v1/projects/PROJECT_NAME/locations/REGION/workstationClusters?workstationClusterId=WORKSTATION_CLUSTER
{
  "domainConfig": {
    "domain": "DOMAIN"
  },
  "privateClusterConfig": {
    "enablePrivateEndpoint": true
  },
  "network": "NETWORK",
  "subnetwork": "SUBNETWORK"
}

Reemplaza lo siguiente:

  • PROJECT_NAME: el nombre del proyecto.
  • REGION: es el nombre de la región del clúster.
  • WORKSTATION_CLUSTER: Es el nombre del clúster de estación de trabajo que se creará.
  • DOMAIN: Es el nombre de dominio que usa Cloud Workstations para la entrada de HTTP. Este debe ser un subdominio único para este clúster, por ejemplo, us-west1-cluster1.example.com.
  • NETWORK: Es el nombre de la red de VPC. Si se omite, se usa la red de VPC predeterminada.
  • SUBNETWORK: Es el nombre de la subred en la red de VPC. Si se omiten la red y la subred, se usa la red de VPC predeterminada, y se usa la subred predeterminada en el REGION especificado.

Para obtener más información sobre este método de la API, consulta la documentación de referencia de workstationClusters.create.

Crea un balanceador de cargas de aplicaciones con un backend de PSC

Sigue estos pasos de la CLI de gcloud y la API de REST para crear un balanceador de cargas de aplicaciones con un backend de PSC:

  1. Crea un NEG para conectarte a un servicio publicado
  2. Agrega un backend a un balanceador de cargas de aplicaciones externo global
  3. Crea un mapa de URLs para enrutar las solicitudes entrantes al servicio de backend
  4. Crea un proxy HTTPS de destino
  5. Crea una dirección global
  6. Crea una regla de reenvío.
  7. Opcional: Configura un balanceador de cargas de aplicaciones regional o interno

Crea un NEG para conectarte a un servicio publicado

Cuando creas un NEG que apunta a un servicio publicado, necesitas el URI del adjunto de servicio para el servicio. El adjunto de servicio tiene este formato: projects/SERVICE_PROJECT/regions/REGION/serviceAttachments/SERVICE_NAME. Puedes encontrar el URI en el recurso del clúster de la estación de trabajo.

gcloud

gcloud compute network-endpoint-groups create NEG_NAME \
  --network-endpoint-type=private-service-connect \
  --psc-target-service=TARGET_SERVICE \
  --region=REGION \
  --network=NETWORK \
  --subnet=SUBNET

Reemplaza lo siguiente:

  • NEG_NAME: un nombre para el grupo de extremos de red.
  • TARGET_SERVICE: El URI del adjunto del servicio.
  • REGION: La región en la que se creará el grupo de extremos de red. La región debe ser la misma que la del servicio de destino.
  • NETWORK: la red de VPC en la que se creará el grupo de extremos de red. Si se omite, se usa la red predeterminada.
  • SUBNET: la subred en la que se creará el grupo de extremos de red. La subred debe estar en la misma región que el servicio de destino. Se proporciona una subred si proporcionas la red. Si se omiten la red y la subred, se usa la red predeterminada, y se usa la subred predeterminada en el REGION especificado.

Para obtener más información sobre este comando de la CLI de gcloud, consulta la documentación de referencia de gcloud compute network-endpoint-groups create.

REST

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_NAME/regions/REGION/networkEndpointGroups
{
  "pscTargetService": "TARGET_SERVICE",
  "networkEndpointType": "PRIVATE_SERVICE_CONNECT",
  "name": "NEG_NAME",
  "network": "https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/global/networks/NETWORK",
  "subnetwork": "https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/regions/REGION/subnetworks/SUBNET"
}

Reemplaza lo siguiente:

  • PROJECT_NAME: el nombre del proyecto.
  • REGION: La región en la que se creará el grupo de extremos de red. La región debe ser la misma que la del servicio de destino.
  • TARGET_SERVICE: El URI del adjunto del servicio.
  • NEG_NAME: un nombre para el grupo de extremos de red.
  • NETWORK: la red de VPC en la que se creará el grupo de extremos de red. Si se omite, se usa la red predeterminada.
  • SUBNET: la subred en la que se creará el grupo de extremos de red. La subred debe estar en la misma región que el servicio de destino. Se proporciona una subred si proporcionas la red. Si se omiten la red y la subred, se usa la red predeterminada, y se usa la subred predeterminada en el REGION especificado.

Agrega un backend a un balanceador de cargas de aplicaciones externo global

gcloud

  1. Crea un servicio de backend para el servicio de destino:

    gcloud compute backend-services create BACKEND_SERVICE_NAME \
    --load-balancing-scheme=EXTERNAL_MANAGED \
    --protocol=HTTPS \
    --global
    

    Reemplaza BACKEND_SERVICE_NAME por el nombre del servicio de backend.

  2. Agrega el NEG de Private Service Connect que apunta al servicio de destino.

    gcloud compute backend-services add-backend BACKEND_SERVICE_NAME \
    --network-endpoint-group=NEG_NAME \
    --network-endpoint-group-region=NEG_REGION \
    --global
    

    Reemplaza lo siguiente:

    • BACKEND_SERVICE_NAME: el nombre del servicio de backend.
    • NEG_NAME: es el nombre del grupo de extremos de red.
    • NEG_REGION: la región del grupo de extremos de red

Para obtener más información sobre este comando de la CLI de gcloud, consulta la documentación de referencia de gcloud compute backend-services create y gcloud compute backend-services add-backend.

REST

  1. Crea un servicio de backend para el servicio de destino:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_NAME/global/backendServices
    {
      "protocol": "HTTPS",
      "loadBalancingScheme": "EXTERNAL_MANAGED",
      "name": "BACKEND_SERVICE_NAME"
    }
    

    Reemplaza BACKEND_SERVICE_NAME por el nombre del servicio de backend.

  2. Agrega el NEG de Private Service Connect que apunta al servicio de destino.

    PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_NAME/global/backendServices/BACKEND_SERVICE_NAME
    {
      "backends": [
        {
          "group": "https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/regions/NEG_REGION/networkEndpointGroups/NEG_NAME "
        }
      ]
    }
    

    Reemplaza lo siguiente:

    • PROJECT_NAME: el nombre del proyecto.
    • BACKEND_SERVICE_NAME: el nombre del servicio de backend.
    • NEG_REGION: la región del grupo de extremos de red
    • NEG_NAME: es el nombre del grupo de extremos de red.

Crea un mapa de URLs para enrutar las solicitudes entrantes al servicio de backend

gcloud

gcloud compute url-maps create URL_MAP_NAME \
  --default-service=BACKEND_SERVICE_NAME \
  --global

Reemplaza lo siguiente:

  • URL_MAP_NAME: Es el nombre del mapa de URLs que se creará.
  • BACKEND_SERVICE_NAME: Es el nombre del servicio de backend que se usará para las solicitudes cuando este mapa de URLs no tenga asignaciones.

Para obtener más información sobre este comando de la CLI de gcloud, consulta la documentación de referencia de gcloud compute url-maps create.

REST

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_NAME/global/urlMaps
{
  "name": "URL_MAP_NAME",
  "defaultService": "https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/global/backendServices/BACKEND_SERVICE_NAME "
}

Reemplaza lo siguiente:

  • PROJECT_NAME: el nombre del proyecto.
  • URL_MAP_NAME: Es el nombre del mapa de URLs que se creará.
  • BACKEND_SERVICE_NAME: Es el nombre del servicio de backend que se usará para las solicitudes cuando este mapa de URLs no tenga asignaciones.

Crea un proxy HTTPS de destino

Crea un proxy HTTPS de destino para enrutar las solicitudes a tu mapa de URL. El proxy es la parte del balanceador de cargas que contiene el certificado SSL para el balanceo de cargas HTTPS, por lo que también debes cargar el certificado en este paso:

gcloud

gcloud compute target-https-proxies create TARGET_HTTPS_PROXY_NAME \
  --ssl-certificates=SSL_CERTIFICATE_NAME \
  --url-map=URL_MAP_NAME \
  --global

Reemplaza lo siguiente:

  • TARGET_HTTPS_PROXY_NAME: Es el nombre del proxy HTTPS de destino que se creará.
  • SSL_CERTIFICATE_NAME: el certificado SSL asociado con el balanceador de cargas.
  • URL_MAP_NAME: Es el recurso del mapa de URLs.

Para obtener más información sobre este comando de la CLI de gcloud, consulta la documentación de referencia de gcloud compute target-https-proxies create.

REST

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_NAME/global/targetHttpsProxies
{
  "sslCertificates": [
    "https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/global/sslCertificates/SSL_CERTIFICATE_NAME"
  ],
  "urlMap": "https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/global/urlMaps/URL_MAP_NAME",
  "name": "TARGET_HTTPS_PROXY_NAME"
}

Reemplaza lo siguiente:

  • PROJECT_NAME: el nombre del proyecto.
  • SSL_CERTIFICATE_NAME: Es el certificado SSL asociado con el balanceador de cargas.
  • URL_MAP_NAME: Es el recurso del mapa de URLs.
  • TARGET_HTTPS_PROXY_NAME: Es el nombre del proxy HTTPS de destino que se creará.

Crear una dirección global

Reserva una dirección IP estática para que la use tu balanceador de cargas:

gcloud

gcloud compute addresses create LB_IP_ADDRESS_NAME \
  --global

Reemplaza lo siguiente:

  • LB_IP_ADDRESS_NAME: el nombre de la dirección IP externa o interna estática reservada del balanceador de cargas.

Para obtener más información sobre este comando de la CLI de gcloud, consulta la documentación de referencia de gcloud compute addresses create.

REST

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_NAME/global/addresses
{
  "name": "LB_IP_ADDRESS_NAME"
}

Reemplaza lo siguiente:

  • PROJECT_NAME: el nombre del proyecto.
  • LB_IP_ADDRESS_NAME: el nombre de la dirección IP externa o interna estática reservada del balanceador de cargas.

Crear una regla de reenvío

Crea una regla de reenvío para enrutar las solicitudes entrantes al proxy:

gcloud

gcloud compute forwarding-rules create HTTPS_FORWARDING_RULE_NAME \
  --load-balancing-scheme=EXTERNAL_MANAGED \
  --network-tier=PREMIUM \
  --address=LB_IP_ADDRESS_NAME  \
  --target-https-proxy=TARGET_HTTPS_PROXY_NAME  \
  --global \
  --ports=443

Reemplaza lo siguiente:

  • HTTPS_FORWARDING_RULE_NAME: el nombre de la regla de reenvío que se creará.
  • LB_IP_ADDRESS_NAME: el nombre de la dirección IP externa o interna estática reservada del balanceador de cargas.
  • TARGET_HTTPS_PROXY_NAME: el proxy HTTPS de destino que recibe el tráfico.

Para obtener más información sobre este comando de la CLI de gcloud, consulta la documentación de referencia de gcloud compute forwarding-rules create.

REST

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_NAME/global/forwardingRules
{
  "loadBalancingScheme": "EXTERNAL_MANAGED",
  "networkTier": "PREMIUM",
  "IPAddress": "https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/global/addresses/LB_IP_ADDRESS_NAME",
  "target": "https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/global/targetHttpsProxies/TARGET_HTTPS_PROXY_NAME",
  "name": "HTTPS_FORWARDING_RULE_NAME",
  "portRange": "443-443"
}

Reemplaza lo siguiente:

  • PROJECT_NAME: el nombre del proyecto.
  • LB_IP_ADDRESS_NAME: el nombre de la dirección IP externa o interna estática reservada del balanceador de cargas.
  • TARGET_HTTPS_PROXY_NAME: el proxy HTTPS de destino que recibe el tráfico.
  • HTTPS_FORWARDING_RULE_NAME: el nombre de la regla de reenvío que se creará.

Configura un balanceador de cargas de aplicaciones regional o interno

Si configuras un balanceador de cargas de aplicaciones externo regional (por ejemplo, para los requisitos de residencia de datos) o un balanceador de cargas de aplicaciones interno, ten en cuenta los siguientes requisitos. Antes de configurar los recursos del balanceador de cargas regional, asegúrate de haber creado el NEG de Private Service Connect que apunta al clúster de tu estación de trabajo, como se describe en Crea un NEG para conectarte a un servicio publicado.

  1. Configura una subred de solo proxy: Los balanceadores de cargas regionales basados en Envoy requieren una subred de solo proxy en la región y la red de VPC en la que se encuentra el balanceador de cargas. Debes crear la subred de solo proxy antes de crear la regla de reenvío:

    gcloud

    gcloud compute networks subnets create PROXY_ONLY_SUBNET \
      --purpose=REGIONAL_MANAGED_PROXY \
      --role=ACTIVE \
      --region=REGION \
      --network=NETWORK \
      --range=PROXY_ONLY_RANGE
    

    Reemplaza lo siguiente:

    • PROXY_ONLY_SUBNET: Es un nombre para la subred de solo proxy.
    • REGION: la región en la que se encuentran el clúster de la estación de trabajo y el balanceador de cargas.
    • NETWORK: Es la red de VPC en la que se encuentran el clúster de estaciones de trabajo y el balanceador de cargas.
    • PROXY_ONLY_RANGE: Es un bloque CIDR sin usar dentro de tu red de VPC, como 10.0.0.0/24, con un tamaño mínimo de /26 (64 direcciones).

    Para obtener más información, consulta Subredes de solo proxy para balanceadores de cargas basados en Envoy y la documentación de referencia de gcloud compute networks subnets create.

    REST

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_NAME/regions/REGION/subnetworks
    {
      "name": "PROXY_ONLY_SUBNET",
      "network": "https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/global/networks/NETWORK",
      "ipCidrRange": "PROXY_ONLY_RANGE",
      "purpose": "REGIONAL_MANAGED_PROXY",
      "role": "ACTIVE"
    }
    

    Reemplaza lo siguiente:

    • PROJECT_NAME: el nombre del proyecto.
    • REGION: la región en la que se encuentran el clúster de la estación de trabajo y el balanceador de cargas.
    • PROXY_ONLY_SUBNET: Es un nombre para la subred de solo proxy.
    • NETWORK: Es la red de VPC en la que se encuentran el clúster de estaciones de trabajo y el balanceador de cargas.
    • PROXY_ONLY_RANGE: Es un bloque CIDR sin usar dentro de tu red de VPC, como 10.0.0.0/24, con un tamaño mínimo de /26 (64 direcciones).
  2. Crea recursos del balanceador de cargas regional: Crea el servicio de backend, agrega el backend del NEG de Private Service Connect, crea el mapa de URLs, crea el proxy HTTPS de destino y reserva una dirección IP estática en la misma región que el clúster de la estación de trabajo:

    gcloud

    1. Crea un servicio de backend regional. Establece --load-balancing-scheme en EXTERNAL_MANAGED para un balanceador de cargas de aplicaciones externo regional o INTERNAL_MANAGED para un balanceador de cargas de aplicaciones interno:

      gcloud compute backend-services create BACKEND_SERVICE_NAME \
        --load-balancing-scheme=SCHEME \
        --protocol=HTTPS \
        --region=REGION
      

      Reemplaza lo siguiente:

      • BACKEND_SERVICE_NAME: Es un nombre para el servicio de backend.
      • SCHEME: Es el esquema de balanceo de cargas (EXTERNAL_MANAGED para un balanceador de cargas de aplicaciones externo regional o INTERNAL_MANAGED para un balanceador de cargas de aplicaciones interno).
      • REGION: la región en la que se encuentran el clúster de la estación de trabajo y el balanceador de cargas.
    2. Agrega el NEG de Private Service Connect que apunta a tu clúster de estaciones de trabajo al servicio de backend:

      gcloud compute backend-services add-backend BACKEND_SERVICE_NAME \
        --network-endpoint-group=NEG_NAME \
        --network-endpoint-group-region=REGION \
        --region=REGION
      

      Reemplaza lo siguiente:

      • BACKEND_SERVICE_NAME: el nombre del servicio de backend.
      • NEG_NAME: es el nombre del grupo de extremos de red.
      • REGION: Es la región del grupo de extremos de red y del servicio de backend.
    3. Crea un mapa de URLs regional para enrutar las solicitudes entrantes al servicio de backend:

      gcloud compute url-maps create URL_MAP_NAME \
        --default-service=BACKEND_SERVICE_NAME \
        --region=REGION
      

      Reemplaza lo siguiente:

      • URL_MAP_NAME: un nombre para el mapa de URL
      • BACKEND_SERVICE_NAME: el nombre del servicio de backend.
      • REGION: la región del mapa de URL.
    4. Crea un proxy HTTPS de destino regional:

      gcloud compute target-https-proxies create TARGET_HTTPS_PROXY_NAME \
        --ssl-certificates=SSL_CERTIFICATE_NAME \
        --url-map=URL_MAP_NAME \
        --url-map-region=REGION \
        --region=REGION
      

      Reemplaza lo siguiente:

      • TARGET_HTTPS_PROXY_NAME: un nombre para el proxy HTTPS de destino.
      • SSL_CERTIFICATE_NAME: Es el certificado SSL regional asociado con el balanceador de cargas.
      • URL_MAP_NAME: el nombre del mapa de URL.
      • REGION: Es la región del proxy HTTPS de destino y el mapa de URLs.
    5. Reserva una dirección IP estática para el balanceador de cargas:

      Para un balanceador de cargas externo regional:

      gcloud compute addresses create LB_IP_ADDRESS_NAME \
        --region=REGION
      

      Para un balanceador de cargas interno:

      gcloud compute addresses create LB_IP_ADDRESS_NAME \
        --region=REGION \
        --subnet=SUBNET
      

      Reemplaza lo siguiente:

      • LB_IP_ADDRESS_NAME: Es un nombre para la dirección IP estática reservada.
      • REGION: la región de la dirección IP
      • SUBNET: En el caso de los balanceadores de cargas internos, es la subred de VPC en la que se reservará la dirección IP interna.

    REST

    1. Crea un servicio de backend regional:

      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_NAME/regions/REGION/backendServices
      {
        "name": "BACKEND_SERVICE_NAME",
        "loadBalancingScheme": "SCHEME",
        "protocol": "HTTPS"
      }
      

      Reemplaza lo siguiente:

      • PROJECT_NAME: el nombre del proyecto.
      • REGION: Es la región del servicio de backend.
      • BACKEND_SERVICE_NAME: Es un nombre para el servicio de backend.
      • SCHEME: Es el esquema de balanceo de cargas (EXTERNAL_MANAGED para un balanceador de cargas de aplicaciones externo regional o INTERNAL_MANAGED para un balanceador de cargas de aplicaciones interno).
    2. Agrega el NEG de Private Service Connect que apunta a tu clúster de estaciones de trabajo al servicio de backend:

      PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_NAME/regions/REGION/backendServices/BACKEND_SERVICE_NAME
      {
        "backends": [
          {
            "group": "https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/regions/REGION/networkEndpointGroups/NEG_NAME"
          }
        ]
      }
      

      Reemplaza lo siguiente:

      • PROJECT_NAME: el nombre del proyecto.
      • REGION: Es la región del servicio de backend y del NEG.
      • BACKEND_SERVICE_NAME: el nombre del servicio de backend.
      • NEG_NAME: es el nombre del grupo de extremos de red.
    3. Crea un mapa de URLs regional para enrutar las solicitudes entrantes al servicio de backend:

      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_NAME/regions/REGION/urlMaps
      {
        "name": "URL_MAP_NAME",
        "defaultService": "https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/regions/REGION/backendServices/BACKEND_SERVICE_NAME"
      }
      

      Reemplaza lo siguiente:

      • PROJECT_NAME: el nombre del proyecto.
      • REGION: la región del mapa de URL.
      • URL_MAP_NAME: un nombre para el mapa de URL
      • BACKEND_SERVICE_NAME: el nombre del servicio de backend.
    4. Crea un proxy HTTPS de destino regional:

      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_NAME/regions/REGION/targetHttpsProxies
      {
        "name": "TARGET_HTTPS_PROXY_NAME",
        "sslCertificates": [
          "https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/regions/REGION/sslCertificates/SSL_CERTIFICATE_NAME"
        ],
        "urlMap": "https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/regions/REGION/urlMaps/URL_MAP_NAME"
      }
      

      Reemplaza lo siguiente:

      • PROJECT_NAME: el nombre del proyecto.
      • REGION: la región del proxy HTTPS de destino.
      • TARGET_HTTPS_PROXY_NAME: un nombre para el proxy HTTPS de destino.
      • SSL_CERTIFICATE_NAME: el certificado SSL regional.
      • URL_MAP_NAME: Es el recurso del mapa de URLs.
    5. Reserva una dirección IP estática para el balanceador de cargas:

      Para un balanceador de cargas externo regional:

      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_NAME/regions/REGION/addresses
      {
        "name": "LB_IP_ADDRESS_NAME"
      }
      

      Para un balanceador de cargas interno:

      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_NAME/regions/REGION/addresses
      {
        "name": "LB_IP_ADDRESS_NAME",
        "subnetwork": "https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/regions/REGION/subnetworks/SUBNET",
        "addressType": "INTERNAL"
      }
      

      Reemplaza lo siguiente:

      • PROJECT_NAME: el nombre del proyecto.
      • REGION: la región de la dirección IP
      • LB_IP_ADDRESS_NAME: Es un nombre para la dirección IP estática reservada.
      • SUBNET: En el caso de los balanceadores de cargas internos, es la subred de VPC en la que se reservará la dirección IP interna.
  3. Especifica la red en la regla de reenvío: Cuando crees la regla de reenvío, especifica la marca --network (y la marca --subnet para los balanceadores de cargas internos):

    gcloud

    Para un balanceador de cargas externo regional:

    gcloud compute forwarding-rules create HTTPS_FORWARDING_RULE_NAME \
      --load-balancing-scheme=EXTERNAL_MANAGED \
      --network-tier=PREMIUM \
      --network=NETWORK \
      --address=LB_IP_ADDRESS_NAME \
      --ports=443 \
      --region=REGION \
      --target-https-proxy=TARGET_HTTPS_PROXY_NAME \
      --target-https-proxy-region=REGION
    

    Para un balanceador de cargas interno:

    gcloud compute forwarding-rules create HTTPS_FORWARDING_RULE_NAME \
      --load-balancing-scheme=INTERNAL_MANAGED \
      --network=NETWORK \
      --subnet=SUBNET \
      --address=LB_IP_ADDRESS_NAME \
      --ports=443 \
      --region=REGION \
      --target-https-proxy=TARGET_HTTPS_PROXY_NAME \
      --target-https-proxy-region=REGION
    

    Reemplaza lo siguiente:

    • HTTPS_FORWARDING_RULE_NAME: el nombre de la regla de reenvío que se creará.
    • NETWORK: Es la red de VPC en la que se encuentran el balanceador de cargas y el clúster de estaciones de trabajo.
    • SUBNET: En el caso de los balanceadores de cargas internos, es la subred de VPC en la que se encuentra la dirección IP interna reservada.
    • LB_IP_ADDRESS_NAME: el nombre de la dirección IP externa o interna estática reservada del balanceador de cargas.
    • REGION: Es la región de la regla de reenvío y el proxy HTTPS de destino.
    • TARGET_HTTPS_PROXY_NAME: el proxy HTTPS de destino que recibe el tráfico.

    REST

    Para un balanceador de cargas externo regional:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_NAME/regions/REGION/forwardingRules
    {
      "loadBalancingScheme": "EXTERNAL_MANAGED",
      "networkTier": "PREMIUM",
      "network": "https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/global/networks/NETWORK",
      "IPAddress": "https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/regions/REGION/addresses/LB_IP_ADDRESS_NAME",
      "target": "https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/regions/REGION/targetHttpsProxies/TARGET_HTTPS_PROXY_NAME",
      "name": "HTTPS_FORWARDING_RULE_NAME",
      "portRange": "443-443"
    }
    

    Para un balanceador de cargas interno:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_NAME/regions/REGION/forwardingRules
    {
      "loadBalancingScheme": "INTERNAL_MANAGED",
      "network": "https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/global/networks/NETWORK",
      "subnetwork": "https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/regions/REGION/subnetworks/SUBNET",
      "IPAddress": "https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/regions/REGION/addresses/LB_IP_ADDRESS_NAME",
      "target": "https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/regions/REGION/targetHttpsProxies/TARGET_HTTPS_PROXY_NAME",
      "name": "HTTPS_FORWARDING_RULE_NAME",
      "portRange": "443-443"
    }
    

    Reemplaza lo siguiente:

    • PROJECT_NAME: el nombre del proyecto.
    • REGION: Es la región de la regla de reenvío y el proxy HTTPS de destino.
    • NETWORK: Es la red de VPC en la que se encuentran el balanceador de cargas y el clúster de estaciones de trabajo.
    • LB_IP_ADDRESS_NAME: el nombre de la dirección IP interna o externa estática reservada del balanceador de cargas.
    • TARGET_HTTPS_PROXY_NAME: el proxy HTTPS de destino que recibe el tráfico.
    • HTTPS_FORWARDING_RULE_NAME: el nombre de la regla de reenvío que se creará.
    • SUBNET: para los balanceadores de cargas internos, es la subred de VPC en la que se encuentra la dirección IP interna reservada.

Configura un DNS

Configura el DNS y agrega un registro que asigne *.DOMAIN, por ejemplo, *.example.com, a la dirección IP reservada en el paso anterior:

  • Balanceador de cargas de aplicaciones externo: Agrega un registro DNS que asigne *.DOMAIN a la dirección IP externa estática reservada en tu zona del DNS pública. Si usas Cloud DNS para administrar el DNS de tu dominio, consulta Agrega un registro DNS.

  • Balanceador de cargas de aplicaciones interno: Agrega una asignación de registro DNS *.DOMAIN a la dirección IP interna estática reservada en una zona del DNS privada autorizada para tu red de VPC. Si usas Cloud DNS, consulta Crea una zona privada y Agrega un registro DNS.

Crea la configuración de la estación de trabajo y la estación de trabajo

Para acceder a las estaciones de trabajo con el dominio personalizado, haz lo siguiente:

  1. Usa el clúster con el dominio personalizado para crear una configuración de estación de trabajo.

  2. Crea una estación de trabajo con la configuración de la estación de trabajo con el dominio personalizado.

¿Qué sigue?

Para obtener más información sobre cómo configurar dominios personalizados y clústeres privados, consulta lo siguiente: