Mapeamento de domínios personalizados

Pode usar um domínio personalizado em vez do endereço predefinido que o App Engine fornece para a sua app.

Para usar um domínio personalizado, mapeie o domínio para a sua app e, em seguida, atualize os registos de DNS. Pode mapear um domínio simples, como example.com, ou um subdomínio, como subdomain.example.com. Também pode usar carateres universais para mapear subdomínios.

Por predefinição, quando mapeia um domínio para a sua app, o App Engine emite um certificado gerido para SSL para ligações HTTPS. Para mais informações sobre a utilização de SSL com o seu domínio personalizado, incluindo como utilizar os seus próprios certificados SSL, consulte o artigo Proteger os seus domínios personalizados com SSL.

A utilização de domínios personalizados pode adicionar uma latência percetível às respostas que o App Engine envia aos utilizadores da sua app em algumas regiões. As regiões são as seguintes:

  • us-west2
  • us-east4
  • northamerica-northeast1
  • southamerica-east1
  • europe-west2
  • europe-west3
  • asia-south1
  • asia-northeast1
  • austrália-sudeste1

Os domínios personalizados do App Engine usam um conjunto de endereços IP partilhados para todas as aplicações. Se quiser usar um endereço IP que só seja mapeado para o seu domínio, deve configurar um equilibrador de carga com o App Engine. Isto pode mitigar um problema de ocultação de domínio em que um pedido à aplicação A no certificado SNI pode ser encaminhado para a aplicação B no cabeçalho HTTP Host.

Antes de começar

  • Se não tiver um domínio, compre um. Pode usar qualquer registador de nomes de domínio. Se usar o Google Domains, o domínio é validado automaticamente para o App Engine e não tem de passar pelo processo de validação de domínio.

  • Para adicionar ou editar um mapeamento de domínio personalizado, a sua conta tem de ter a função de administrador do App Engine (roles/appengine.appAdmin) ou uma função personalizada que contenha a autorização appengine.applications.get.

  • Se usar o Cloud Load Balancing e os NEGs sem servidor para encaminhar tráfego para a sua app do App Engine, recomendamos que mapeie o seu domínio personalizado para o balanceador de carga em vez de diretamente para a sua app e use certificados SSL criados para o balanceador de carga. Isto elimina a necessidade de gerir certificados SSL separados para cada app sem servidor. Além disso, com o Cloud Load Balancing, pode definir políticas SSL que controlam as funcionalidades de SSL que o seu balanceador de carga negoceia com os clientes. Para mais informações, consulte as seguintes páginas:

    Tenha em atenção a seguinte limitação:

    • Recomendamos que use controlos de entrada para que a sua app apenas receba pedidos enviados a partir do equilibrador de carga (e da VPC, se a usar). Caso contrário, os utilizadores podem usar o URL do App Engine da sua app para contornar o balanceador de carga, as políticas de segurança do Cloud Armor, os certificados SSL e as chaves privadas que são transmitidas através do balanceador de carga.

Mapear um domínio personalizado para a sua app

  1. Na Google Cloud consola, aceda ao separador Definições da aplicação da página Definições do App Engine.

    Aceda à página Definições da aplicação

    Se não precisar de modificar o Referer da API Google Accounts predefinido, avance para o passo seguinte.

    Se precisar de ativar a autenticação do Google Workspace para o seu domínio personalizado, clique em Editar para modificar o Referer da API Google Accounts. No menu pendente Autenticação Google, selecione Domínio do Google Workspace e, de seguida, adicione o seu domínio, como example.com, no campo vazio.

  2. Na Google Cloud consola, aceda ao separador Domínios personalizados da página Definições do App Engine.

    Aceda à página Domínios personalizados

  3. Clique em Adicionar um domínio personalizado.

  4. Se já estiver validado, o domínio aparece na secção Selecione o domínio que quer usar. Selecione o domínio no menu pendente e clique em Continuar.

    Se ainda não validou o seu domínio, faça o seguinte:

    1. Selecione Validar um novo domínio no menu pendente.
    2. Introduza o nome do domínio simples (como "example.com") e clique em Validar.

      Mesmo que queira mapear apenas um subdomínio, como "www.subdomain.example.com", introduza o nome do domínio simples para validar a propriedade.

      Tenha em atenção que os nomes de domínios têm de ter menos de 64 bytes.

    3. Introduza as informações na janela apresentada da Search Console. Para obter ajuda na utilização da Search Console, consulte a Ajuda da Search Console

    4. Depois de concluir os passos na Search Console, regresse à página Adicionar um novo domínio personalizado na Google Cloud consola.

  5. Na secção Encaminhe o seu domínio para [ID do projeto], especifique o domínio e os subdomínios que quer mapear.

    Recomendamos o mapeamento do domínio simples e do subdomínio www. Pode adicionar mais subdomínios se precisar deles.

    Quando tiver adicionado todos os mapeamentos desejados, clique em Guardar mapeamentos.

  6. Clique em Continuar para ver os registos de DNS do seu domínio.

    Pode obter estes registos em qualquer altura no separador Domínios personalizados da página Definições do App Engine.

  7. Inicie sessão no Website da entidade de registo do seu domínio e atualize os registos de DNS com os registos apresentados no passo anterior.

Atualizar os registos de DNS na entidade de registo de domínios

Depois de mapear o seu serviço para um domínio personalizado no App Engine, tem de atualizar os registos de DNS na sua entidade de registo de domínios. Para sua conveniência, o App Engine gera e apresenta os registos DNS que tem de introduzir.

  1. Obtenha as informações do registo DNS para os mapeamentos de domínio:

    Na Google Cloud consola, aceda ao separador Domínios personalizados da página Definições do App Engine. A página apresenta uma lista dos registos de DNS de todos os domínios que mapeou para a sua app.

  2. Inicie sessão na sua conta na entidade de registo de domínio e abra a página de configuração de DNS.

  3. Localize a secção de registos de anfitrião da página de configuração do seu domínio e adicione cada um dos registos de DNS que obteve quando mapeou o seu domínio para a sua app.

    Introduza as seguintes informações nos campos do registo:

    • Tipo de registo: introduza o tipo de registo apresentado no registo DNS criado pela Google para si (A, AAAA ou CNAME).
    • Nome do registo:
      • Nos registos A ou AAAA, introduza @
      • Nos registos CNAME, introduza um nome de domínio de terceiro nível. Por exemplo, introduza www para mapear o subdomínio www.example.com.
    • TTL: especifique um TTL consoante as suas necessidades.
    • Dados: introduza os dados do registo (rrdata) apresentados no registo de DNS criado pela Google para si.
      • Nos registos A ou AAAA, os dados do registo são um endereço IP
      • Nos registos CNAME, os dados do registo são um nome de domínio
  4. Guarde as alterações na página de configuração de DNS da conta do seu domínio. Na maioria dos casos, estas alterações demoram apenas alguns minutos a entrar em vigor, mas, em alguns casos, podem demorar até várias horas, consoante o registador e o tempo de vida (TTL) de quaisquer registos DNS anteriores do seu domínio. Pode usar uma ferramenta dig, como esta versão online, para confirmar que os registos DNS foram atualizados com êxito.dig

  5. Teste o sucesso navegando para o seu serviço no novo URL, por exemplo, https://www.example.com. Tenha em atenção que a emissão do certificado SSL automático pode demorar vários minutos.

Delegar a propriedade a outros Google Cloud utilizadores ou contas de serviço

Se precisar de delegar a propriedade do seu domínio noutros utilizadores ou contas de serviço, pode adicionar autorizações através da página da Search Console:

  1. Abra a página de validação da Search Console.

  2. Em Propriedades, clique no domínio para o qual quer adicionar um utilizador ou uma conta de serviço.

  3. No final da lista Proprietários validados, clique em Adicionar proprietário e, de seguida, introduza um endereço de email da Conta Google ou um ID da conta de serviço.

    Para ver uma lista das suas contas de serviço, abra a página Contas de serviço na Google Cloud consola:

    Aceda à página Contas de serviço

Usar subdomínios

Se configurar um mapeamento de subdomínio com caráter universal para o seu domínio personalizado, a sua aplicação publica pedidos para qualquer subdomínio correspondente.

  • Se o utilizador navegar num domínio que corresponda a um nome de versão da aplicação ou a um nome do serviço, a aplicação publica essa versão.
  • Se o utilizador procurar um domínio que corresponda a um nome de serviço, a aplicação fornece esse serviço.
  • Existe um limite de 20 certificados SSL geridos por semana para cada domínio base. Se atingir o limite, o App Engine continua a tentar emitir certificados geridos até que todos os pedidos sejam cumpridos.

Mapeamentos de carateres universais

Pode usar carateres universais para mapear subdomínios em qualquer nível, começando por subdomínios de terceiro nível. Por exemplo, se o seu domínio for example.com e introduzir texto no campo de endereço Web:

  • A introdução de *.example.com mapeia todos os subdomínios de example.com para a sua app.
  • A introdução de *.private.example.com mapeia todos os subdomínios de private.example.com para a sua app.
  • A introdução de *.nichol.sharks.nhl.example.com mapeia todos os subdomínios de nichol.sharks.nhl.example.com para a sua app.
  • A introdução de *.excogitate.system.example.com mapeia todos os subdomínios de excogitate.system.example.com para a sua app.

Pode usar mapeamentos de carateres universais com serviços no App Engine através do ficheiro dispatch.yaml para definir o encaminhamento de pedidos para serviços específicos.

Se usar o Google Workspace com outros subdomínios no seu domínio, como sites e mail, essas associações têm uma prioridade mais elevada e são correspondidas primeiro, antes de ocorrer qualquer associação de caráter universal. Além disso, se tiver outras apps do App Engine mapeadas para outros subdomínios, esses mapeamentos também têm uma prioridade superior a qualquer mapeamento de caráter universal.

Alguns fornecedores de DNS podem não funcionar com o mapeamento de subdomínios com carateres universais. Em particular, um fornecedor de DNS tem de permitir carateres universais em CNAME entradas de anfitriões.

As regras de encaminhamento com carateres universais aplicam-se a URLs que contêm componentes para serviços, versões e instâncias, seguindo as regras de encaminhamento de serviços para o App Engine.

Eliminar domínios personalizados da sua app

Para eliminar um mapeamento de domínio personalizado da sua app, a sua conta tem de ter a função de administrador do App Engine (roles/appengine.appAdmin) ou uma função personalizada que contenha a autorização appengine.applications.update.

Na Google Cloud consola, faça o seguinte:

  1. Aceda ao separador Domínios personalizados da página Definições do App Engine.

    Aceda à página Domínios personalizados

  2. Selecione o nome do domínio personalizado e clique em Eliminar.

Em alternativa, pode usar comandos gcloud ou a API Admin para eliminar domínios personalizados.

Resolução de problemas

Se a sua app apresentar erros de autenticação após configurar o domínio personalizado com a autenticação de domínio do G Suite, remova o mapeamento de domínio personalizado e repita os passos de Mapear um domínio personalizado para a sua app. Certifique-se de que configura a autenticação do domínio do G Suite antes de configurar o mapeamento de domínio personalizado no App Engine.

O que se segue?

Proteja os seus domínios personalizados com SSL.