Configurar domínios personalizados para o Cloud Workstations

Para acessar as estações de trabalho, especifique um domínio personalizado confiável em vez de usar o domínio cloudworkstations.dev.

Arquitetura

Para usar o Cloud Workstations com um nome de host personalizado, configure um cluster particular e configure o endpoint do Private Service Connect (PSC) para entrada HTTP no cluster particular. Também é necessário criar um balanceador de carga de aplicativo com back-end do PSC que tenha como destino o endpoint do PSC criado para o cluster particular. Esse balanceador de carga de aplicativo pode ser externo ou interno e gerencia o certificado SSL do seu domínio personalizado.

O diagrama a seguir ilustra um cluster com um domínio personalizado:

Figura 1. Cluster com domínio personalizado

Antes de começar

Para configurar um domínio personalizado do Cloud Workstations, siga estas etapas:

  1. Crie um cluster particular e especifique um domínio personalizado confiável usando os comandos da CLI gcloud ou da API REST.

  2. Crie um balanceador de carga de aplicativo com um back-end do Private Service Connect (PSC) no mesmo projeto usado para o projeto do cluster de estação de trabalho. Observe o seguinte:

    1. Se você quiser que as estações de trabalho sejam particulares (inacessíveis pela Internet pública), crie um balanceador de carga interno. Para isso, crie uma zona de DNS particular e adicione um registro que mapeie o domínio para o endereço IP interno usado pelo balanceador de carga. Para mais informações sobre como criar um balanceador de carga interno, consulte Balanceadores de carga de aplicativo internos.

    2. O anexo de serviço que você precisa referenciar no balanceador de carga pode ser acessado no recurso de cluster de estação de trabalho depois que você criar o cluster.

    3. Consiga um certificado e especifique-o no balanceador de carga como um certificado curinga para seu domínio, por exemplo, *.us-west1-cluster1.example.com. Consulte Certificados e balanceadores de carga do Google Cloud para saber os tipos de certificados compatíveis com o balanceador de carga selecionado.

    4. Também é possível criar o balanceador de carga em um projeto diferente, desde que você o adicione à lista PrivateClusterConfig.allowedProjects.

    5. Se você tiver vários clusters de estação de trabalho na sua organização, use um único balanceador de carga com serviços de back-end, certificados e regras de roteamento separados.

  3. Configure um Sistema de Nomes de Domínio (DNS). Como esse é um domínio que você gerencia, configure um DNS para ele mapeando todos os subdomínios do domínio fornecido para o balanceador de carga. Por exemplo, crie uma zona de DNS para us-west1-cluster1.example.com e adicione uma entrada que mapeie *.us-west1-cluster1.example.com para o endereço IP externo usado pelo balanceador de carga.

  4. Para acessar as estações de trabalho usando o domínio personalizado, use o cluster que você criou para criar uma configuração de estação de trabalho e, em seguida, criar uma estação de trabalho usando essa configuração.

  5. Inicie a estação de trabalho e verifique o URL. Quando você especifica um domínio personalizado, o URL da estação de trabalho usa o seguinte formato:

    https://PORT-WORKSTATION_NAME.DOMAIN
    

    As seguintes partes do URL dependem da sua configuração:

    • PORT: o número da porta, que é 80 por padrão.
    • WORKSTATION_NAME: o nome da estação de trabalho.
    • DOMAIN: o nome de domínio específico do cluster

Criar um cluster particular

Crie um cluster de estação de trabalho particular com um endpoint particular:

gcloud

  1. Antes de começar, verifique se você inicializou a CLI gcloud executando gcloud init e se especificou um projeto padrão. Os exemplos a seguir pressupõem que você definiu o projeto padrão.

  2. Para criar um cluster de estação de trabalho particular, execute o seguinte comando:

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

    Substitua:

    • WORKSTATION_CLUSTER: o nome do cluster de estação de trabalho a ser criado.
    • REGION: o nome da região do cluster.
    • DOMAIN: o nome de domínio usado pelo Cloud Workstations para entrada HTTP. Use um subdomínio exclusivo para esse cluster, por exemplo, us-west1-cluster1.example.com.
    • NETWORK: o nome da rede VPC. Se omitida, a rede VPC padrão será usada.
    • SUBNETWORK: o nome da sub-rede na rede VPC. Se a rede e a sub-rede forem omitidas, a rede VPC padrão e a sub-rede padrão na REGION especificada vão ser usadas.

Para mais informações sobre esse comando da CLI gcloud, consulte a documentação de referência 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

Substitua:

  • DOMAIN: o nome de domínio usado pelo Cloud Workstations para entrada HTTP. Precisa ser um subdomínio exclusivo para esse cluster, por exemplo, us-west1-cluster1.example.com.
  • NETWORK: o nome da rede VPC. Se omitida, a rede VPC padrão será usada.
  • SUBNETWORK: o nome da sub-rede na rede VPC. Se a rede e a sub-rede forem omitidas, a rede VPC padrão e a sub-rede padrão na REGION especificada serão usadas.
  • PROJECT_NAME: o nome do projeto.
  • REGION: o nome da região do cluster.
  • WORKSTATION_CLUSTER: o nome do cluster de estação de trabalho a ser criado.

Para mais informações sobre esse método de API, consulte a documentação de referência 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"
}

Substitua:

  • PROJECT_NAME: o nome do projeto.
  • REGION: o nome da região do cluster.
  • WORKSTATION_CLUSTER: o nome do cluster de estação de trabalho a ser criado.
  • DOMAIN: o nome de domínio usado pelo Cloud Workstations para entrada HTTP. Ele precisa ser um subdomínio exclusivo para esse cluster, por exemplo, us-west1-cluster1.example.com.
  • NETWORK: o nome da rede VPC. Se omitida, a rede VPC padrão será usada.
  • SUBNETWORK: o nome da sub-rede na rede VPC. Se a rede e a sub-rede forem omitidas, a rede VPC padrão e a sub-rede padrão na REGION especificada serão usadas.

Para mais informações sobre esse método de API, consulte a documentação de referência workstationClusters.create.

Criar um balanceador de carga de aplicativo com back-end do PSC

Siga estas etapas da CLI gcloud e da API REST para criar um balanceador de carga de aplicativo com um back-end do PSC:

  1. Criar um NEG para se conectar a um serviço publicado
  2. Adicionar um back-end a um balanceador de carga de aplicativo externo global
  3. Crie um mapa de URL para rotear solicitações recebidas para o serviço de back-end
  4. Criar um proxy HTTPS de destino
  5. Criar um endereço global
  6. Criar uma regra de encaminhamento
  7. Opcional: configurar um balanceador de carga de aplicativo regional ou interno

Criar um NEG para se conectar a um serviço publicado

Ao criar um NEG que aponta para um serviço publicado, você precisa do URI de anexo do serviço para o serviço. O anexo de serviço tem este formato: projects/SERVICE_PROJECT/regions/REGION/serviceAttachments/SERVICE_NAME. Encontre o URI no recurso do cluster de estação de trabalho.

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

Substitua:

  • NEG_NAME: um nome para o grupo de endpoints da rede.
  • TARGET_SERVICE: o URI do anexo de serviço.
  • REGION: a região em que o grupo de endpoints da rede será criado. A região precisa ser igual à do serviço de destino.
  • NETWORK: a rede VPC em que o grupo de endpoints da rede será criado. Se omitida, a rede padrão será usada.
  • SUBNET: a sub-rede em que o grupo de endpoints da rede será criado. A sub-rede precisa estar na mesma região do serviço de destino. Uma sub-rede precisa ser informada se você fornecer a rede. Se a rede e a sub-rede forem omitidas, a rede padrão e a sub-rede padrão na REGION especificada vão ser usadas.

Para mais informações sobre esse comando da CLI gcloud, consulte a documentação de referência 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"
}

Substitua:

  • PROJECT_NAME: o nome do projeto.
  • REGION: a região em que o grupo de endpoints da rede será criado. A região precisa ser igual à do serviço de destino.
  • TARGET_SERVICE: o URI do anexo de serviço.
  • NEG_NAME: um nome para o grupo de endpoints da rede.
  • NETWORK: a rede VPC em que o grupo de endpoints da rede será criado. Se omitida, a rede padrão será usada.
  • SUBNET: a sub-rede em que o grupo de endpoints da rede será criado. A sub-rede precisa estar na mesma região do serviço de destino. Uma sub-rede precisa ser informada se você fornecer a rede. Se a rede e a sub-rede forem omitidas, a rede padrão e a sub-rede padrão na REGION especificada vão ser usadas.

Adicionar um back-end a um balanceador de carga de aplicativo externo global

gcloud

  1. Crie um serviço de back-end para o serviço de destino:

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

    Substitua BACKEND_SERVICE_NAME pelo nome do serviço de back-end.

  2. Adicione o NEG do Private Service Connect que aponta para o serviço de destino.

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

    Substitua:

    • BACKEND_SERVICE_NAME: o nome do serviço de back-end.
    • NEG_NAME: o nome do grupo de endpoints da rede.
    • NEG_REGION: o nome do grupo de endpoints da rede.

Para mais informações sobre esse comando da CLI gcloud, consulte a documentação de referência de gcloud compute backend-services create e gcloud compute backend-services add-backend.

REST

  1. Crie um serviço de back-end para o serviço de destino:

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

    Substitua BACKEND_SERVICE_NAME pelo nome do serviço de back-end.

  2. Adicione o NEG do Private Service Connect que aponta para o serviço 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 "
        }
      ]
    }
    

    Substitua:

    • PROJECT_NAME: o nome do projeto.
    • BACKEND_SERVICE_NAME: o nome do serviço de back-end.
    • NEG_REGION: o nome do grupo de endpoints da rede.
    • NEG_NAME: o nome do grupo de endpoints da rede.

Crie um mapa de URL para encaminhar solicitações recebidas para o serviço de back-end.

gcloud

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

Substitua:

  • URL_MAP_NAME: o nome do mapa de URL a ser criado.
  • BACKEND_SERVICE_NAME: o nome do serviço de back-end a ser usado para solicitações quando esse mapa de URL não tiver mapeamentos.

Para mais informações sobre esse comando da CLI gcloud, consulte a documentação de referência 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 "
}

Substitua:

  • PROJECT_NAME: o nome do projeto.
  • URL_MAP_NAME: o nome do mapa de URL a ser criado.
  • BACKEND_SERVICE_NAME: o nome do serviço de back-end a ser usado para solicitações quando esse mapa de URL não tiver mapeamentos.

Crie um proxy HTTPS de destino

Crie um proxy HTTPS de destino para encaminhar as solicitações ao mapa de URL. O proxy é a parte do balanceador de carga que armazena o certificado SSL para balanceamento de carga HTTPS. Portanto, nesta etapa, também é possível carregar o certificado:

gcloud

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

Substitua:

  • TARGET_HTTPS_PROXY_NAME: o nome do proxy HTTPS de destino a ser criado.
  • SSL_CERTIFICATE_NAME: o certificado SSL associado ao balanceador de carga.
  • URL_MAP_NAME: o recurso de mapa de URL.

Para mais informações sobre esse comando da CLI gcloud, consulte a documentação de referência 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"
}

Substitua:

  • PROJECT_NAME: o nome do projeto.
  • SSL_CERTIFICATE_NAME: o certificado SSL associado ao balanceador de carga.
  • URL_MAP_NAME: o recurso de mapa de URL.
  • TARGET_HTTPS_PROXY_NAME: o nome do proxy HTTPS de destino a ser criado.

Criar um endereço global

Reserve um endereço IP estático para ser usado pelo balanceador de carga:

gcloud

gcloud compute addresses create LB_IP_ADDRESS_NAME \
  --global

Substitua:

  • LB_IP_ADDRESS_NAME: o nome do endereço IP externo ou interno estático reservado do balanceador de carga.

Para mais informações sobre esse comando da CLI gcloud, consulte a documentação de referência de gcloud compute addresses create.

REST

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

Substitua:

  • PROJECT_NAME: o nome do projeto.
  • LB_IP_ADDRESS_NAME: o nome do endereço IP externo ou interno estático reservado do balanceador de carga.

Criar uma regra de encaminhamento

Crie uma regra de encaminhamento para encaminhar as solicitações recebidas para o 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

Substitua:

  • HTTPS_FORWARDING_RULE_NAME: o nome da regra de encaminhamento a ser criada.
  • LB_IP_ADDRESS_NAME: o nome do endereço IP externo ou interno estático reservado do balanceador de carga.
  • TARGET_HTTPS_PROXY_NAME: o proxy HTTPS de destino que recebe o tráfego.

Para mais informações sobre esse comando da CLI gcloud, consulte a documentação de referência 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"
}

Substitua:

  • PROJECT_NAME: o nome do projeto.
  • LB_IP_ADDRESS_NAME: o nome do endereço IP externo ou interno estático reservado do balanceador de carga.
  • TARGET_HTTPS_PROXY_NAME: o proxy HTTPS de destino que recebe o tráfego.
  • HTTPS_FORWARDING_RULE_NAME: o nome da regra de encaminhamento a ser criada.

Configurar um balanceador de carga de aplicativo regional ou interno

Se você estiver configurando um balanceador de carga de aplicativo externo regional (por exemplo, para requisitos de residência de dados) ou um balanceador de carga de aplicativo interno, observe os requisitos a seguir. Antes de configurar os recursos do balanceador de carga regional, verifique se você criou o NEG do Private Service Connect que aponta para o cluster de estação de trabalho, conforme descrito em Criar um NEG para se conectar a um serviço publicado.

  1. Configurar uma sub-rede somente proxy: os balanceadores de carga regionais baseados no Envoy exigem uma sub-rede somente proxy na região e na rede VPC em que o balanceador de carga está localizado. Crie a sub-rede somente proxy antes de criar a regra de encaminhamento:

    gcloud

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

    Substitua:

    • PROXY_ONLY_SUBNET: um nome para a sub-rede somente proxy.
    • REGION: a região em que o cluster de estação de trabalho e o balanceador de carga estão localizados.
    • NETWORK: a rede VPC em que o cluster de estação de trabalho e o balanceador de carga estão localizados.
    • PROXY_ONLY_RANGE: um bloco CIDR não utilizado na sua rede VPC, como 10.0.0.0/24, com um tamanho mínimo de /26 (64 endereços).

    Para mais informações, consulte Sub-redes somente proxy para balanceadores de carga baseados no Envoy e a documentação de referência 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"
    }
    

    Substitua:

    • PROJECT_NAME: o nome do projeto.
    • REGION: a região em que o cluster de estação de trabalho e o balanceador de carga estão localizados.
    • PROXY_ONLY_SUBNET: um nome para a sub-rede somente proxy.
    • NETWORK: a rede VPC em que o cluster de estação de trabalho e o balanceador de carga estão localizados.
    • PROXY_ONLY_RANGE: um bloco CIDR não utilizado na sua rede VPC, como 10.0.0.0/24, com um tamanho mínimo de /26 (64 endereços).
  2. Crie recursos do balanceador de carga regional: crie o serviço de back-end, adicione o back-end de NEG do Private Service Connect, crie o mapa de URL, crie o proxy HTTPS de destino e reserve um endereço IP estático na mesma região do cluster de estação de trabalho:

    gcloud

    1. Criar um serviço de back-end regional Defina --load-balancing-scheme como EXTERNAL_MANAGED para um balanceador de carga de aplicativo externo regional ou INTERNAL_MANAGED para um balanceador de carga de aplicativo interno:

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

      Substitua:

      • BACKEND_SERVICE_NAME: um nome para o serviço de back-end.
      • SCHEME: o esquema de balanceamento de carga (EXTERNAL_MANAGED para um balanceador de carga de aplicativo externo regional ou INTERNAL_MANAGED para um balanceador de carga de aplicativo interno).
      • REGION: a região em que o cluster de estação de trabalho e o balanceador de carga estão localizados.
    2. Adicione o NEG do Private Service Connect que aponta para o cluster de estação de trabalho ao serviço de back-end:

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

      Substitua:

      • BACKEND_SERVICE_NAME: o nome do serviço de back-end.
      • NEG_NAME: o nome do grupo de endpoints da rede.
      • REGION: a região do grupo de endpoints de rede e do serviço de back-end.
    3. Crie um mapa de URL regional para encaminhar solicitações recebidas para o serviço de back-end:

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

      Substitua:

      • URL_MAP_NAME: um nome para o mapa de URL.
      • BACKEND_SERVICE_NAME: o nome do serviço de back-end.
      • REGION: a região do mapa de URL.
    4. Crie um 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
      

      Substitua:

      • TARGET_HTTPS_PROXY_NAME: um nome para o proxy HTTPS de destino.
      • SSL_CERTIFICATE_NAME: o certificado SSL regional associado ao balanceador de carga.
      • URL_MAP_NAME: o nome do mapa de URL.
      • REGION: a região do proxy HTTPS de destino e do mapa de URL.
    5. Reserve um endereço IP estático para o balanceador de carga:

      Para um balanceador de carga externo regional:

      gcloud compute addresses create LB_IP_ADDRESS_NAME \
        --region=REGION
      

      Para um balanceador de carga interno:

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

      Substitua:

      • LB_IP_ADDRESS_NAME: um nome para o endereço IP estático reservado.
      • REGION: a região do endereço IP.
      • SUBNET: para balanceadores de carga internos, a sub-rede VPC em que o endereço IP interno será reservado.

    REST

    1. Crie um serviço de back-end regional:

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

      Substitua:

      • PROJECT_NAME: o nome do projeto.
      • REGION: a região do serviço de back-end.
      • BACKEND_SERVICE_NAME: um nome para o serviço de back-end.
      • SCHEME: o esquema de balanceamento de carga (EXTERNAL_MANAGED para um balanceador de carga de aplicativo externo regional ou INTERNAL_MANAGED para um balanceador de carga de aplicativo interno).
    2. Adicione o NEG do Private Service Connect que aponta para o cluster de estação de trabalho ao serviço de back-end:

      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"
          }
        ]
      }
      

      Substitua:

      • PROJECT_NAME: o nome do projeto.
      • REGION: a região do serviço de back-end e do NEG.
      • BACKEND_SERVICE_NAME: o nome do serviço de back-end.
      • NEG_NAME: o nome do grupo de endpoints da rede.
    3. Crie um mapa de URL regional para encaminhar solicitações recebidas para o serviço de back-end:

      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"
      }
      

      Substitua:

      • PROJECT_NAME: o nome do projeto.
      • REGION: a região do mapa de URL.
      • URL_MAP_NAME: um nome para o mapa de URL.
      • BACKEND_SERVICE_NAME: o nome do serviço de back-end.
    4. Crie um 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"
      }
      

      Substitua:

      • PROJECT_NAME: o nome do projeto.
      • REGION: a região do proxy HTTPS de destino.
      • TARGET_HTTPS_PROXY_NAME: um nome para o proxy HTTPS de destino.
      • SSL_CERTIFICATE_NAME: o certificado SSL regional.
      • URL_MAP_NAME: o recurso de mapa de URL.
    5. Reserve um endereço IP estático para o balanceador de carga:

      Para um balanceador de carga externo regional:

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

      Para um balanceador de carga 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"
      }
      

      Substitua:

      • PROJECT_NAME: o nome do projeto.
      • REGION: a região do endereço IP.
      • LB_IP_ADDRESS_NAME: um nome para o endereço IP estático reservado.
      • SUBNET: para balanceadores de carga internos, a sub-rede VPC em que o endereço IP interno será reservado.
  3. Especifique a rede na regra de encaminhamento: ao criar a regra de encaminhamento, especifique a flag --network (e a flag --subnet para balanceadores de carga internos):

    gcloud

    Para um balanceador de carga 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 um balanceador de carga 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
    

    Substitua:

    • HTTPS_FORWARDING_RULE_NAME: o nome da regra de encaminhamento a ser criada.
    • NETWORK: a rede VPC em que o balanceador de carga e o cluster de estação de trabalho estão localizados.
    • SUBNET: para balanceadores de carga internos, a sub-rede VPC em que o endereço IP interno reservado está localizado.
    • LB_IP_ADDRESS_NAME: o nome do endereço IP externo ou interno estático reservado do balanceador de carga.
    • REGION: a região da regra de encaminhamento e do proxy HTTPS de destino.
    • TARGET_HTTPS_PROXY_NAME: o proxy HTTPS de destino que recebe o tráfego.

    REST

    Para um balanceador de carga 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 um balanceador de carga 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"
    }
    

    Substitua:

    • PROJECT_NAME: o nome do projeto.
    • REGION: a região da regra de encaminhamento e do proxy HTTPS de destino.
    • NETWORK: a rede VPC em que o balanceador de carga e o cluster de estação de trabalho estão localizados.
    • LB_IP_ADDRESS_NAME: o nome do endereço IP externo ou interno estático reservado do balanceador de carga.
    • TARGET_HTTPS_PROXY_NAME: o proxy HTTPS de destino que recebe o tráfego.
    • HTTPS_FORWARDING_RULE_NAME: o nome da regra de encaminhamento a ser criada.
    • SUBNET: para balanceadores de carga internos, a sub-rede VPC em que o endereço IP interno reservado está localizado.

Configurar o DNS

Configure o DNS e adicione um registro que mapeie *.DOMAIN, por exemplo, *.example.com, para o endereço IP reservado na etapa anterior:

  • Balanceador de carga de aplicativo externo: adicione um mapeamento de registro DNS *.DOMAIN ao endereço IP externo estático reservado na sua zona de DNS pública. Se você estiver usando o Cloud DNS para gerenciar o DNS do seu domínio, consulte Adicionar um registro DNS.

  • Balanceador de carga de aplicativo interno: adicione um registro DNS que mapeie *.DOMAIN para o endereço IP interno estático reservado em uma zona de DNS particular autorizada para sua rede VPC. Se você estiver usando o Cloud DNS, consulte Criar uma zona particular e Adicionar um registro DNS.

Criar a configuração da estação de trabalho e a estação de trabalho

Para acessar as estações de trabalho usando o domínio personalizado, faça o seguinte:

  1. Use o cluster com o domínio personalizado para criar uma configuração de estação de trabalho.

  2. Crie uma estação de trabalho usando a configuração da estação de trabalho com o domínio personalizado.

A seguir

Para mais informações sobre como configurar domínios personalizados e clusters particulares, consulte: