Esta página descreve como configurar as APIs Cloud Endpoints para usar .endpoints.PROJECT_ID.cloud.goog como nome de domínio. As etapas de configuração nesta página são aplicáveis às APIs que usam a OpenAPI em execução no Compute Engine, Kubernetes Engine ou Kubernetes.
O nome de domínio .endpoints.PROJECT_ID.cloud.goog não é compatível com APIs em execução no App Engine. Para APIs no Google App Engine, recomendamos que você use PROJECT_ID.appspot.com como o nome do serviço do Endpoints. Quando você implanta a API no App Engine, uma entrada DNS com um nome no formato PROJECT_ID.appspot.com é criada automaticamente.
O domínio .cloud.goog é gerenciado pelo Google e compartilhado pelos clientes do Google Cloud. Como os projetos Google Cloud têm a garantia de ter um ID de projeto globalmente exclusivo,
um nome de domínio no formato .endpoints.PROJECT_ID.cloud.goog é exclusivo e
pode ser usado como o nome de domínio da sua API. A configuração do
nome de domínio .endpoints.PROJECT_ID.cloud.goog é opcional. Se preferir, é possível registrar seu próprio nome de domínio.
Pré-requisitos
Como ponto de partida, presumimos que você já criou sua API do Cloud Endpoints e a implantou no Compute Engine, no Google Kubernetes Engine ou no Kubernetes. Se precisar de uma API para testes, use um dos tutoriais que orientam sobre a configuração e implantação de uma API de amostra.
Como configurar DNS
O procedimento a seguir descreve como configurar o DNS para APIs Cloud Endpoints
que usam .endpoints.[PROJECT_ID].cloud.goog como o nome do serviço do Endpoints
em que [PROJECT_ID] representa o ID do projeto
Google Cloud. Por conveniência, o procedimento se refere ao seu
arquivo de configuração da OpenAPI como openapi.yaml.
Para configurar o DNS:
Abra openapi.yaml e adicione o campo x-google-endpoints ao arquivo, conforme mostrado no snippet a seguir:
Normalmente, você configura o campo host e o campo x-google-endpoints.name para que sejam os mesmos. Quando você implanta a especificação da OpenAPI, o texto especificado no campo host é usado como nome do serviço do Endpoints.
Substitua [API_NAME] pelo nome de sua API (por exemplo, bookstore ou my-cool-api).
Substitua [PROJECT_ID] pelo ID do projeto Google Cloud .
Substitua [IP_ADDRESS] por um endereço IPv4.
Por exemplo, se você implanta seu serviço da API Endpoints em uma instância de máquina virtual do Compute Engine, é possível usar o IP externo dessa máquina virtual. Como alternativa, se você executa seu código em um grupo de instâncias de máquina virtual (ou pods do GKE) por trás de um balanceador de carga, é possível usar o endereço IP do balanceador de carga.
Implante a nova especificação OpenAPI no Service Management usando o comando:
gcloud endpoints services deploy openapi.yaml
Por exemplo, se o seguinte for especificado em um arquivo openapi.yaml:
Quando você implanta o openapi.yaml usando o comando gcloud anterior, o Service Management cria um registro A de DNS, my-cool-api.endpoints.my-project-id.cloud.goog, que resolve para o endereço IP de destino, 192.0.2.1. Talvez seja necessário esperar alguns minutos até que a nova configuração de DNS se propague.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Informações incorretas ou exemplo de código","incorrectInformationOrSampleCode","thumb-down"],["Não contém as informações/amostras de que eu preciso","missingTheInformationSamplesINeed","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-08-18 UTC."],[[["\u003cp\u003eCloud Endpoints APIs can use \u003ccode\u003e.endpoints.\u003c/code\u003e\u003cvar translate=no\u003ePROJECT_ID\u003c/var\u003e\u003ccode\u003e.cloud.goog\u003c/code\u003e as the domain name, which is managed by Google and ensures uniqueness due to the globally unique project ID.\u003c/p\u003e\n"],["\u003cp\u003eAlternatively, users can register their own custom domain names for their APIs, requiring them to manage their own DNS configuration.\u003c/p\u003e\n"],["\u003cp\u003eTo configure DNS with \u003ccode\u003e.endpoints.\u003c/code\u003e\u003cvar translate=no\u003ePROJECT_ID\u003c/var\u003e\u003ccode\u003e.cloud.goog\u003c/code\u003e, users must add the \u003ccode\u003ex-google-endpoints\u003c/code\u003e field in their \u003ccode\u003eopenapi.yaml\u003c/code\u003e file, specifying the API name and target IP address.\u003c/p\u003e\n"],["\u003cp\u003eWhen deploying the updated \u003ccode\u003eopenapi.yaml\u003c/code\u003e file, Service Management creates a DNS A-record that resolves the API's domain name to the specified IP address.\u003c/p\u003e\n"],["\u003cp\u003eThe use of \u003ccode\u003e.endpoints.\u003c/code\u003e\u003cvar translate=no\u003ePROJECT_ID\u003c/var\u003e\u003ccode\u003e.cloud.goog\u003c/code\u003e domain is not supported for APIs running on App Engine; instead, \u003cvar translate=no\u003ePROJECT_ID\u003c/var\u003e\u003ccode\u003e.appspot.com\u003c/code\u003e is recommended.\u003c/p\u003e\n"]]],[],null,["# Configuring DNS on the cloud.goog domain\n\nOpenAPI \\| [gRPC](/endpoints/docs/grpc/cloud-goog-dns-configure \"View this page for the Cloud Endpoints gRPC docs\")\n\n\u003cbr /\u003e\n\nAfter your API is deployed, users of your API need to access it through a domain name\nrather than an IP address. You can either:\n\n- Configure `.endpoints.`\u003cvar translate=\"no\"\u003ePROJECT_ID\u003c/var\u003e`.cloud.goog` as the domain name (where \u003cvar translate=\"no\"\u003ePROJECT_ID\u003c/var\u003e is your Google Cloud project ID).\n- Or register your own domain name, such as `example.com`, which entails:\n - Configuring DNS name servers (or using [Cloud DNS](/dns/docs)).\n - Updating registry addresses.\n - Creating and maintaining DNS records.\n\n If you already have a DNS infrastructure, or you want to register your own\n domain name, see [Serving an API from your domain name](/endpoints/docs/grpc/serving-apis-from-domains) for more information.\n\nThis page describes how to configure Cloud Endpoints APIs to use\n`.endpoints.`\u003cvar translate=\"no\"\u003ePROJECT_ID\u003c/var\u003e`.cloud.goog` as the domain\nname. The configuration steps on this page are applicable for APIs using\nOpenAPI running on Compute Engine, Google Kubernetes Engine, or Kubernetes.\n\nThe `.endpoints.`\u003cvar translate=\"no\"\u003ePROJECT_ID\u003c/var\u003e`.cloud.goog` domain name isn't\nsupported for APIs running on App Engine. For APIs on App Engine, we\nrecommend that you use \u003cvar translate=\"no\"\u003ePROJECT_ID\u003c/var\u003e`.appspot.com` as the\nEndpoints service name. When you deploy the API to App Engine, a DNS entry with a\nname in the format \u003cvar translate=\"no\"\u003ePROJECT_ID\u003c/var\u003e`.appspot.com` is created automatically.\n\nThe `.cloud.goog` domain is managed by Google and shared by Google Cloud\ncustomers. Because Google Cloud projects are guaranteed to have a globally unique project ID,\na domain name in the format `.endpoints.`\u003cvar translate=\"no\"\u003ePROJECT_ID\u003c/var\u003e`.cloud.goog` is unique and\ncan be used as the domain name for your API. Configuring the\n`.endpoints.`\u003cvar translate=\"no\"\u003ePROJECT_ID\u003c/var\u003e`.cloud.goog` domain name is optional. If you prefer, you\ncan register your own domain name.\n\nPrerequisites\n-------------\n\nAs a starting point, this page assumes that you have already created your\nCloud Endpoints API and deployed it to Compute Engine, Google Kubernetes Engine, or\nKubernetes. If you need an API for testing, you can use one of the\n[tutorials](/endpoints/docs/openapi/tutorials) that walk you through\nconfiguring and deploying a sample API.\n\nConfiguring DNS\n---------------\n\nThe following procedure describes how to configure DNS for Cloud Endpoints\nAPIs that use `.endpoints.[PROJECT_ID].cloud.goog` as the Endpoints\nservice name where `[PROJECT_ID]` represents your Google Cloud\nproject ID. For convenience, the procedure refers to your\nOpenAPI configuration file as `openapi.yaml`.\n\nTo configure DNS:\n\n1. Open `openapi.yaml`, and add the `x-google-endpoints` field to the file as shown in the following snippet: \n\n ```transact-sql\n swagger: \"2.0\"\n host: \"[API_NAME].endpoints.[PROJECT_ID].cloud.goog\"\n x-google-endpoints:\n - name: \"[API_NAME].endpoints.[PROJECT_ID].cloud.goog\"\n target: \"[IP_ADDRESS]\"\n ```\n\n Typically, you configure the `host` field and the\n `x-google-endpoints.name` field to be the same. When you deploy your\n OpenAPI specification, the text specified in the `host` field is used\n as the name of your Endpoints service.\n2. Replace `[API_NAME]` with the name of your API (for example, `bookstore` or `my-cool-api`).\n3. Replace `[PROJECT_ID]` with your Google Cloud project ID.\n4. Replace `[IP_ADDRESS]` with an IPv4 address.\n\n For example, if you deploy your Endpoints API service to a\n Compute Engine virtual machine instance, you can use the external IP of that\n virtual machine. Alternatively, if you run your code on a group of virtual\n machine instances (or GKE pods) behind a load balancer,\n you can use the IP address of the load balancer.\n5. Deploy your new OpenAPI specification to Service Management using the following command: \n\n ```text\n gcloud endpoints services deploy openapi.yaml\n ```\n\nFor example, if the following is specified in an `openapi.yaml` file: \n\n```text\n swagger: \"2.0\"\n host: \"my-cool-api.endpoints.my-project-id.cloud.goog\"\n x-google-endpoints:\n - name: \"my-cool-api.endpoints.my-project-id.cloud.goog\"\n target: \"192.0.2.1\"\n```\n\n\u003cbr /\u003e\n\nWhen you deploy the `openapi.yaml` using the previous `gcloud` command,\nService Management creates a DNS A-record, `my-cool-api.endpoints.my-project-id.cloud.goog`, which resolves to the target IP address, `192.0.2.1`. You might\nneed to wait a few minutes for the new DNS configuration to propagate.\n\nWhat's next\n-----------\n\n- [Enabling SSL for Endpoints](/endpoints/docs/openapi/enabling-ssl)\n- [Configuring IP addresses](/compute/docs/configure-ip-addresses)\n- [Naming your API service](/endpoints/docs/openapi/naming-your-api-service)\n- [Serving an API from your domain name](/endpoints/docs/openapi/serving-apis-from-domains)"]]