Depois que a API for implantada, os usuários da API precisarão acessá-la por meio de um nome de domínio e não de um endereço IP. Você pode:
- Configure
.endpoints.PROJECT_ID.cloud.goog
como o nome do domínio (em quePROJECT_ID
é o ID do projeto do Google Cloud). - Ou registre seu próprio nome de domínio, como
example.com
, o que exige:- a configuração de servidores de nome de DNS (ou o uso do Cloud DNS);
- a atualização de endereços de registro;
- a criação e manutenção de registros de DNS.
Se você já tiver uma infraestrutura de DNS ou quiser registrar seu próprio nome de domínio, consulte Como disponibilizar uma API a partir do nome do domínio para mais informações.
Esta página descreve como configurar as APIs do 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 a APIs que usam o gRPC em execução no Compute Engine, no Google Kubernetes Engine ou no Kubernetes.
O domínio .cloud.goog
é gerenciado pelo Google e compartilhado pelos clientes do Google Cloud. Como os projetos do Google Cloud têm a garantia de IDs exclusivos no mundo todo, 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 do Endpoints que usam .endpoints.PROJECT_ID.cloud.goog
como o nome do serviço do Endpoints. Por conveniência, o procedimento se refere ao arquivo de configuração do serviço gRPC como service.yaml
.
Para configurar o DNS:
- Abra
service.yaml
e adicione o campoendpoints
ao arquivo, conforme mostra o snippet de código abaixo:type: google.api.Service name: API_NAME.endpoints.PROJECT_ID.cloud.goog endpoints: - name: API_NAME.endpoints.PROJECT_ID.cloud.goog target: "IP_ADDRESS"
Em geral, os campos
name
eendpoints.name
são os mesmos. - Substitua
API_NAME
pelo nome da sua API (por exemplo,bookstore
oumy-cool-api
). - Substitua
IP_ADDRESS
por um endereço IPv4. O endereço IP é uma string e precisa ser colocado entre aspas.Por exemplo, ao implantar seu serviço da API do 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 seu arquivo de configuração do gRPC atualizado no Service Management usando o seguinte comando:
gcloud endpoints services deploy service.yaml service.pb
Por exemplo, se o código abaixo for especificado no arquivo service.yaml
:
type: google.api.Service name: my-cool-api.endpoints.my-project-id.cloud.goog endpoints: - name: my-cool-api.endpoints.my-project-id.cloud.goog target: "192.0.2.1"
Quando você implanta o arquivo service.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 é resolvido 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.
A seguir
- Configurar o Endpoints
- Como ativar o SSL para o Endpoints
- Como reservar um endereço IP externo estático
- Como disponibilizar uma API do nome de domínio