Esta página mostra como exibir uma API a partir de um domínio personalizado que você tem, por exemplo, example.com
.
Uma alternativa para o uso do seu próprio nome de domínio é usar um gerenciado pelo Google. Para saber mais informações, consulte Como usar um domínio gerenciado pelo Google.
Antes de começar
- Consiga um nome de domínio no registrador de nomes de domínio se já não tiver um para usar com a API.
- Verifique a propriedade do domínio.
- Nomeie o host da API com seu nome de domínio.
- Se você estiver usando SSL com seu domínio, tenha e faça o upload do seu certificado SSL.
- Implemente a API e o Extensible Service Proxy (ESP).
Configurar o projeto da API para usar seu nome de domínio
Siga as instruções da guia apropriada.
Compute Engine
A maneira recomendada para disponibilizar uma API a partir de instâncias do Compute Engine é usar um balanceador de carga em um grupo de instâncias. É preciso reservar um endereço IP externo para o nome de domínio e usá-lo para o balanceador de carga.
Para disponibilizar uma API a partir de um nome de domínio:
- Reserve pelo menos um endereço IP externo estático no seu projeto:
- Atribua o nome que quiser ao endereço IP reservado.
- Em Tipo, clique em Global.
- Em Anexado a, clique em Nenhum. O endereço IP será anexado posteriormente a um balanceador de carga
- Acesse sua conta do provedor de domínio e edite as configurações do domínio. Crie um registro A que contenha o nome da API (por exemplo,
myapi.example.com
) com o endereço IP externo no respectivo campo de dados - Crie um grupo de instâncias que inclua as instâncias que executam sua API e
Extensible Service Proxy (ESP, na sigla em inglês):
- Atribua o nome desejado ao grupo e adicione uma descrição.
- Na lista de Zonas, clique na zona usada pela sua instância da API.
- Na lista de Definição de instância, clique em Selecionar instâncias existentes.
- No campo Instâncias da VM, adicione a instância da VM que está executando a API.
- Clique em Criar.
- Crie e configure um balanceador de carga HTTP(S):
Acessar a página "Criar um novo balanceador de carga HTTP(S)"
- Clique em Definir um serviço de back-end > Criar ou selecionar um serviço de back-end.
- Atribua o nome e a descrição que quiser para essa configuração de serviços de back-end.
- No campo Protocolo, selecione o protocolo que quer acessar por meio do balanceador de carga, HTTP ou HTTPS.
- Na lista de Grupos de instâncias, selecione seu grupo de instâncias.
- No campo Números de portas, insira
8080
. - Clique em Verificação de integridade para configurar as verificações de integridade:
- Digite um nome para a configuração da verificação de integridade.
- Atribua a porta
8080
. - Para aceitar os valores padrão restantes, clique em Salvar.
- Por enquanto, aceite os padrões para o restante da configuração. Você poderá fazer as alterações necessárias posteriormente, como adicionar portas.
- Não é necessário definir nada em Regras de host e de caminho, você pode encaminhar tudo para sua API de back-end usando os filtros padrão Todos sem correspondência. Isso significa que todo o tráfego para o balanceador de carga será direcionado para a API na porta
8080
(a porta padrão), conforme definido nas etapas anteriores. - Clique em Configuração de front-end.
- No campo Protocolo, selecione o protocolo que quer acessar por meio do balanceador de carga, HTTP ou HTTPS.
- Na lista IP, clique no endereço IP externo que você criou anteriormente.
- Para o protocolo HTTPS, é necessário usar SSL. Na lista Certificado, clique no certificado desejado.
- Opcionalmente, se você quiser oferecer suporte a outro protocolo, clique em Adicionar IP e porta de front-end, especifique o protocolo, o mesmo endereço IP externo e uma porta diferente.
- Para criar o balanceador de carga totalmente configurado, clique em Criar. Se o botão Criar não estiver ativado, verifique os componentes que acabou de configurar: uma marca de seleção será exibida ao lado de cada componente da configuração. A falta da marca de seleção significa que você não concluiu a configuração.
- Depois que as alterações se propagarem no DNS, as solicitações serão enviadas para a API por meio do balanceador de carga.
GKE
Para exibir uma API em um domínio para o Google Kubernetes Engine (GKE), exponha o ESP como um serviço usando o endereço IP externo retornado para as configurações de DNS do domínio. O GKE faz o balanceamento de carga automaticamente para você.
Para expor a API como um serviço:
- Configure um serviço do Kubernetes para os back-ends da API, caso ainda não tenha um. Crie um arquivo de configuração de serviço,
service.yaml
, de conteúdo semelhante a este:apiVersion: v1 kind: Service metadata: name: echo spec: ports: - port: 80 targetPort: 8081 protocol: TCP selector: app: echo-app type: LoadBalancer
- Altere o rótulo
selector
para corresponder aos rótulos de back-end. Neste exemplo,app: echo-app
. - Certifique-se de que
targetPort
corresponde à porta usada pelo ESP, configurada nos back-ends da API. O ESP usa a porta8081
por padrão. - Implante o serviço do Kubernetes:
kubectl apply -f service.yaml
- Veja o endereço IP externo atribuído ao serviço exposto:
A saída mostra um endereçokubectl get services
EXTERNAL-IP
semelhante ao seguinte:
NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE hello-node 10.X.XXX.202 10X.XXX.XX.123 8080/TCP 1m
- Altere o IP externo gerado de temporário para estático.
- Selecione seu endereço IP externo na lista.
- Na lista Tipo, clique em Estático.
- Acesse sua conta do provedor de domínio e edite as configurações do domínio. Crie um registro A que contenha o nome da API (por exemplo,
myapi.example.com
) com o endereço IP externo no respectivo campo de dados.