Como posso desabilitar o endpoint padrão do API Gateway para APIs REST ou HTTP?
Data da última atualização: 26/08/2022
Quero permitir que os clientes invoquem minhas APIs usando apenas o nome de domínio personalizado. Como posso desabilitar o URL de endpoint da API execute-api padrão para APIs REST ou HTTP do Amazon API Gateway?
Breve descrição
As APIs REST e as APIs HTTP do API Gateway usam um endpoint de API padrão no seguinte formato: “https://{api_id}.execute-api.{region}.amazonaws.com”. Se você usar um nome de domínio personalizado para as APIs REST ou HTTP do API Gateway, poderá desabilitar o endpoint padrão. Isso permite que todo o tráfego seja roteado para suas APIs por meio do nome de domínio personalizado.
Resolução
Siga estas etapas para desabilitar o endpoint padrão usando o console do API Gateway, a AWS Command Line Interface (AWS CLI) ou o AWS CloudFormation.
Observação:
- Se você receber erros ao executar comandos da AWS CLI, verifique se está usando a versão mais recente da AWS CLI.
- Depois de habilitar ou desabilitar o endpoint padrão, é necessária uma implantação para que a atualização entre em vigor.
Console do API Gateway
API REST
- Abra o console do API Gateway.
- No painel de navegação, escolha APIs e, em seguida, escolha sua API REST.
- No painel de navegação, selecione Settings (Configurações).
- Para Default Endpoint (Endpoint padrão), escolha Disabled (Desabilitado) e, em seguida, selecione Save Changes (Salvar alterações).
- No painel de navegação, escolha Resources (Recursos), Actions (Ações) e, em seguida, escolha Deploy API (Implantar API).
API HTTP
- Abra o console do API Gateway.
- No painel de navegação, escolha APIs e, em seguida, escolha sua API HTTP.
- No painel de navegação, selecione Settings (Configurações).
- Para Default Endpoint (Endpoint padrão), escolha Disabled (Desabilitado) e, em seguida, selecione Save Changes (Salvar alterações).
- No painel de navegação, escolha Resources (Recursos), Actions (Ações) e, em seguida, escolha Deploy API (Implantar API).
AWS CLI
API REST
Execute o comando update-rest-api da AWS CLI novamente, semelhante ao seguinte:
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, semelhante ao seguinte
aws apigateway create-deployment --rest-api-id abcdef123 --stage-name dev
Observação: substitua api_id abcdef123 e stage_name dev pelo ID da API REST e o respectivo estágio.
API HTTP
Execute o comando update-api da AWS CLI novamente, semelhante ao seguinte:aws apigatewayv2 update-api --api-id abcdef123 --disable-execute-api-endpoint
Para implantar a API atualizada, execute o comando create-deployment da AWS CLI, semelhante ao seguinte
aws apigatewayv2 create-deployment --api-id abcdef123 --stage-name dev
Observação: substitua api_id abcdef123 e 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, você pode definir o parâmetro DisableExecuteApiEndpoint como True. Atualize o modelo do CloudFormation para API REST ou API HTTP.
Importante: desabilitar o endpoint padrão resulta em erros HTTP 403 Proibido se a API for chamada usando o URL do endpoint padrão.
Informações relacionadas
Este artigo ajudou?
Precisa de ajuda com faturamento ou suporte técnico?