Como faço para desativar o endpoint padrão do API Gateway para APIs REST ou HTTP?

3 minuto de leitura
0

Quero permitir que os clientes invoquem minhas APIs apenas com o nome de domínio personalizado.

Breve descrição

As APIs REST e as APIs HTTP do Amazon API Gateway usam um endpoint de API padrão no seguinte formato: https://API_ID.execute-api.REGION.amazonaws.com. Se você usa um nome de domínio personalizado para suas APIs REST ou APIs HTTP do API Gateway, pode desativar o endpoint padrão. Isso permite que todo o tráfego seja direcionado para suas APIs por meio do nome de domínio personalizado.

Resolução

Para desativar o endpoint padrão, use o console do API Gateway, a AWS Command Line Interface (AWS CLI) ou o AWS CloudFormation. Depois de desativar o endpoint padrão, você deverá iniciar uma implantação para que a atualização entre em vigor.

Observação: se você receber erros ao executar comandos da AWS CLI, certifique-se de utilizar a versão mais recente da AWS CLI.

Console do API Gateway

API REST

  1. Abra o console do API Gateway.
  2. No painel de navegação, escolha APIs e depois escolha sua API REST.
  3. No painel de navegação, selecione Configurações.
  4. Para o Default Endpoint (Endpoint padrão), escolha Disabled (Desativado) e, em seguida, escolha Save Changes (Salvar alterações).
  5. No painel de navegação, escolha Resources (Recursos), Actuibs (Ações) e depois Deploy API (Implantar API).

API HTTP

  1. Abra o console do API Gateway.
  2. No painel de navegação, escolha APIs e depois escolha sua API HTTP.
  3. No painel de navegação, escolha API: API_NAME(API_ID).
  4. Escolha Edit (Editar).
  5. Para o Default Endpoint (Endpoint padrão), escolha Disabled (Desativado) e, em seguida, escolha Save (Salvar).

AWS CLI

API REST
Execute o comando da AWS CLI update-rest-api:

aws apigateway update-rest-api --rest-api-id abcdef123 --patch-operations op=replace,path=/disableExecuteApiEndpoint,value='True'

Para implantar a API atualizada, execute o comando create-deployment da AWS CLI:

aws apigateway create-deployment --rest-api-id abcdef123 --stage-name dev

Observação: substitua api-id abcdef123 and stage_name dev pelo ID da API REST e o respectivo estágio.

API HTTP

Execute o comando da AWS CLI update-api:

aws apigatewayv2 update-api --api-id abcdef123 --disable-execute-api-endpoint

Para implantar a API atualizada, execute o comando create-deployment da AWS CLI:

aws apigatewayv2 create-deployment --api-id abcdef123 --stage-name dev

Observação: Substitua api_id abcdef123 and stage_name dev pelo ID da API HTTP e o respectivo estágio.

Modelo do CloudFormation

Para desativar o endpoint padrão de um modelo do CloudFormation, defina o parâmetro DisableExecuteApiEndpoint como True. Atualize o modelo do CloudFormation para uma API REST ou uma API HTTP.

Importante: se você invocar a API com o URL do endpoint padrão, a desativação do endpoint padrão resultará em um erro. Você recebe um erro HTTP 403 Proibido para APIs REST ou um erro HTTP 404 Não encontrado para APIs HTTP.

Informações relacionadas

Invocando uma API REST no Amazon API Gateway

Como soluciono erros HTTP 403 do API Gateway?

AWS OFICIAL
AWS OFICIALAtualizada há 10 meses