Como configurar o DNS no domínio cloud.goog

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. É possível:

  • configurar .endpoints.PROJECT_ID.cloud.goog como nome de domínio, em que PROJECT_ID é o código do projeto do Google Cloud Platform (GCP); ou
  • registrar seu próprio nome de domínio (por exemplo, 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 APIs do Cloud Endpoints para usar .endpoints.PROJECT_ID.cloud.goog como o nome do 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, Google 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 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 de DNS é criada automaticamente com um nome no formato PROJECT_ID.appspot.com.

O domínio .cloud.goog é gerenciado pelo Google e compartilhado por clientes do GCP. Como os projetos do GCP sempre têm um código do projeto globalmente exclusivo, um nome de domínio no formato .endpoints.PROJECT_ID.cloud.goog é único e pode ser usado como o nome de domínio para a 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 o DNS

No procedimento a seguir, descrevemos como configurar o DNS para APIs do Cloud Endpoints que usam .endpoints.[PROJECT_ID].cloud.goog como o nome do serviço do Endpoints, em que [PROJECT_ID] representa o código do projeto do Google Cloud Platform (GCP). Por conveniência, o procedimento refere-se ao seu arquivo de configuração da OpenAPI como openapi.yaml.

Para configurar o DNS:

  1. Abra o arquivo openapi.yaml e adicione o campo x-google-endpoints a ele, como mostrado no seguinte snippet:
        swagger: "2.0"
        host: "[API_NAME].endpoints.[PROJECT_ID].cloud.goog"
        x-google-endpoints:
        - name: "[API_NAME].endpoints.[PROJECT_ID].cloud.goog"
          target: "[IP_ADDRESS]"
    

    Normalmente, você configura os campos host e x-google-endpoints.name para serem iguais. Quando você implanta a especificação OpenAPI, o texto inserido no campo host é usado como o nome do serviço do Endpoints.

  2. Substitua [API_NAME] pelo nome da sua API (por exemplo, bookstore ou my-cool-api).
  3. Substitua [PROJECT_ID] pelo código do projeto do GCP.
  4. 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.

  5. Implante a nova especificação OpenAPI no Service Management usando o comando:
    gcloud endpoints services deploy openapi.yaml
    

Por exemplo, se no arquivo openapi.yaml estiver especificado o seguinte:

    swagger: "2.0"
    host: "my-cool-api.endpoints.my-project-id.cloud.goog"
    x-google-endpoints:
    - name: "my-cool-api.endpoints.my-project-id.cloud.goog"
      target: "192.0.2.1"

Quando você implantar o arquivo openapi.yaml usando o comando gcloud anterior, um registro A do DNS, my-cool-api.endpoints.my-project- id.cloud.goog, será criado no Service Management e resolvido como 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

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Cloud Endpoints com OpenAPI
Precisa de ajuda? Acesse nossa página de suporte.