Gateway de API no Gerenciamento de API do Azure
APLICA-SE A: Todas as camadas de gerenciamento de API
Este artigo fornece informações sobre as funções e os recursos do componente de gateway de Gerenciamento de API e compara os gateways que você pode implantar.
Informações relacionadas:
Para obter uma visão geral dos cenários, componentes e conceitos do Gerenciamento de API, consulte O que é o Gerenciamento de API do Azure?
Para obter mais informações sobre as camadas de serviço e os recursos do Gerenciamento de API, consulte:
- Camadas de gerenciamento de API
- Comparação baseada em recursos das camadas de Gerenciamento de API do Azure.
Papel do portal
O gateway de Gerenciamento de API (também chamado de plano de dados ou tempo de execução) é o componente de serviço responsável por fazer proxy de solicitações de API, aplicar políticas e coletar telemetria.
Especificamente, o gateway:
- Atua como uma fachada para serviços de back-end, aceitando chamadas de API e roteando-as para back-ends apropriados
- Verifica chaves de API e outras credenciais, como tokens JWT e certificados apresentados com solicitações
- Impõe cotas de uso e limites de taxa
- Opcionalmente, transforma solicitações e respostas conforme especificado em declarações de política
- Se configurado, armazena em cache as respostas para melhorar a latência de resposta e minimizar a carga nos serviços de back-end
- Emite logs, métricas e rastreamentos para monitoramento, emissão de relatórios e solução de problemas
Nota
Todas as solicitações para o gateway de Gerenciamento de API, incluindo aquelas rejeitadas por configurações de política, contam para limites de taxa, cotas e limites de faturamento configurados, se aplicados na camada de serviço.
Gerenciado e auto-hospedado
O Gerenciamento de API oferece gateways gerenciados e auto-hospedados:
Gerenciado - O gateway gerenciado é o componente de gateway padrão implantado no Azure para cada instância de Gerenciamento de API em cada camada de serviço. Um gateway gerenciado autônomo também pode ser associado a um espaço de trabalho em uma instância de Gerenciamento de API. Com o gateway gerenciado, todo o tráfego de API flui pelo Azure, independentemente de onde os back-ends que implementam as APIs estão hospedados.
Nota
Devido às diferenças na arquitetura de serviço subjacente, os gateways fornecidos nas diferentes camadas de serviço de Gerenciamento de API têm algumas diferenças em recursos. Para obter detalhes, consulte a seção Comparação de recursos: gateways gerenciados versus auto-hospedados.
Auto-hospedado - O gateway auto-hospedado é uma versão opcional em contêiner do gateway gerenciado padrão que está disponível em camadas de serviço selecionadas. É útil para cenários híbridos e multicloud em que há um requisito para executar os gateways fora do Azure nos mesmos ambientes onde os back-ends de API estão hospedados. O gateway auto-hospedado permite que os clientes com infraestrutura de TI híbrida gerenciem APIs hospedadas no local e em nuvens a partir de um único serviço de Gerenciamento de API no Azure.
O gateway auto-hospedado é empacotado como um contêiner do Docker baseado em Linux e geralmente é implantado no Kubernetes, incluindo o Serviço Kubernetes do Azure e o Kubernetes habilitado para Azure Arc.
Cada gateway auto-hospedado é associado a um recurso de Gateway em uma instância de Gerenciamento de API baseada em nuvem da qual recebe atualizações de configuração e comunica status.
Comparação de recursos: gateways gerenciados versus auto-hospedados
As tabelas a seguir comparam os recursos disponíveis nos seguintes gateways de Gerenciamento de API:
- Clássico - o gateway gerenciado disponível nas camadas de serviço Developer, Basic, Standard e Premium (anteriormente agrupadas como camadas dedicadas )
- V2 - o gateway gerenciado disponível nas camadas Basic v2 e Standard v2
- Consumo - o gateway gerenciado disponível na camada Consumo
- Auto-hospedado - o gateway auto-hospedado opcional disponível em camadas de serviço selecionadas
- Espaço de trabalho - o gateway gerenciado disponível em um espaço de trabalho em camadas de serviço selecionadas
Nota
- Alguns recursos de gateways gerenciados e auto-hospedados são suportados apenas em determinadas camadas de serviço ou com determinados ambientes de implantação para gateways auto-hospedados.
- Para os recursos suportados atuais do gateway auto-hospedado, certifique-se de ter atualizado para a versão principal mais recente da imagem de contêiner do gateway auto-hospedado.
- Consulte também as limitações do gateway auto-hospedado.
Infraestrutura
Suporte de funcionalidades | Clássico | V2 | Consumo | Autoalojado | Área de trabalho |
---|---|---|---|---|---|
Domínios personalizados | ✔️ | ✔️ | ✔️ | ✔️ | ❌ |
Cache integrado | ✔️ | ✔️ | ❌ | ❌ | ✔️ |
Cache externo compatível com Redis | ✔️ | ✔️ | ✔️ | ✔️ | ❌ |
Injeção de rede virtual | Desenvolvedor, Premium | ❌ | ❌ | ✔️1,2 | ✔️ |
Pontos finais privados de entrada | Desenvolvedor, Básico, Padrão, Premium | ❌ | ❌ | ❌ | ❌ |
Integração de rede virtual de saída | ❌ | Standard V2 | ❌ | ❌ | ✔️ |
Zonas de disponibilidade | Premium | ✔️3º | ❌ | ✔️1º | ✔️3º |
Implantação em várias regiões | Premium | ❌ | ❌ | ✔️1º | ❌ |
Certificados raiz da autoridade de certificação para validação de certificados | ✔️ | ✔️ | ❌ | ✔️4º | ❌ |
Certificados de domínio gerenciado | Desenvolvedor, Básico, Padrão, Premium | ❌ | ✔️ | ❌ | ❌ |
Configurações de TLS | ✔️ | ✔️ | ✔️ | ✔️ | ❌ |
HTTP/2 (cliente para gateway) | ✔️5º | ✔️5º | ❌ | ✔️ | ❌ |
HTTP/2 (Gateway para back-end) | ❌ | ❌ | ❌ | ✔️ | ❌ |
Deteção de ameaças de API com o Defender for APIs | ✔️ | ✔️ | ❌ | ❌ | ❌ |
1 Depende de como o gateway é implantado, mas é responsabilidade do cliente.
2 A conectividade com o ponto de extremidade de configuração v2 do gateway auto-hospedado requer a resolução DNS do nome do host do ponto de extremidade.
3 Duas zonas são ativadas por padrão, não configuráveis.
4 certificados raiz de CA para gateway auto-hospedado são gerenciados separadamente por gateway
5 O protocolo do cliente precisa ser habilitado.
APIs de back-end
Suporte de funcionalidades | Clássico | V2 | Consumo | Autoalojado | Área de trabalho |
---|---|---|---|---|---|
Especificação de OpenAPI | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Especificação WSDL | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Especificação WADL | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Aplicação Lógica | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Serviço de Aplicações | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Aplicação de Funções | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Aplicativo de contêiner | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Service Fabric | Desenvolvedor, Premium | ❌ | ❌ | ❌ | ❌ |
Passagem GraphQL | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Grafo SintéticoQL | ✔️ | ✔️ | ✔️1º | ✔️1º | ❌ |
WebSocket de passagem | ✔️ | ✔️ | ❌ | ✔️ | ❌ |
gRPC de passagem | ❌ | ❌ | ❌ | ✔️ | ❌ |
OData | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Azure OpenAI | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Disjuntor em back-end | ✔️ | ✔️ | ❌ | ✔️ | ✔️ |
Pool de back-end com balanceamento de carga | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
1 As subscrições Synthetic GraphQL (pré-visualização) não são suportadas.
Políticas
Os gateways gerenciados e auto-hospedados oferecem suporte a todas as políticas disponíveis em definições de política, com as seguintes exceções.
Suporte de funcionalidades | Clássico | V2 | Consumo | Auto-hospedado1 | Área de trabalho |
---|---|---|---|---|---|
Integração Dapr | ❌ | ❌ | ❌ | ✔️ | ❌ |
Resolvedores GraphQL e validação GraphQL | ✔️ | ✔️ | ✔️ | ❌ | ❌ |
Obter contexto de autorização | ✔️ | ✔️ | ✔️ | ❌ | ❌ |
Contingente e limite de taxa | ✔️ | ✔️2º | ✔️3º | ✔️4º | ✔️ |
1 As políticas configuradas que não são suportadas pelo gateway auto-hospedado são ignoradas durante a execução da política.
2 A política de cota por chave não está disponível nas camadas v2.
3 As políticas de limite de taxa por chave, cota por chave e limite de token do Azure OpenAI não estão disponíveis na camada de Consumo.
4 As contagens de limite de taxa em um gateway auto-hospedado podem ser configuradas para sincronizar localmente (entre instâncias de gateway entre nós de cluster), por exemplo, por meio da implantação de gráfico de leme para Kubernetes ou usando os modelos de implantação do portal do Azure. No entanto, as contagens de limite de taxa não são sincronizadas com outros recursos de gateway configurados na instância de Gerenciamento de API, incluindo o gateway gerenciado na nuvem. Mais informações
Monitorização
Para obter detalhes sobre as opções de monitoramento, consulte Observabilidade no Gerenciamento de API do Azure.
Suporte de funcionalidades | Clássico | V2 | Consumo | Autoalojado | Área de trabalho |
---|---|---|---|---|---|
Análise de API | ✔️ | ✔️1º | ❌ | ❌ | ❌ |
Application Insights | ✔️ | ✔️ | ✔️ | ✔️2º | ✔️ |
Registo através de Hubs de Eventos | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Métricas no Azure Monitor | ✔️ | ✔️ | ✔️ | ✔️ | ❌ |
Coletor OpenTelemetry | ❌ | ❌ | ❌ | ✔️ | ❌ |
Solicitar logs no Azure Monitor e no Log Analytics | ✔️ | ✔️ | ❌ | ❌3 | ❌ |
Métricas e logs locais | ❌ | ❌ | ❌ | ✔️ | ❌ |
Rastreamento de solicitações | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
1 As camadas v2 suportam análises baseadas no Azure Monitor.
2 O Gateway usa o buffer de memória interno do Azure Application Insight e não fornece garantias de entrega.
3 Atualmente, o gateway auto-hospedado não envia logs de recursos (logs de diagnóstico) para o Azure Monitor. Opcionalmente , envie métricas para o Azure Monitor ou configure e persista logs localmente onde o gateway auto-hospedado é implantado.
Autenticação e autorização
Os gateways gerenciados e auto-hospedados suportam todas as opções de autenticação e autorização de API disponíveis, com as seguintes exceções.
Suporte de funcionalidades | Clássico | V2 | Consumo | Autoalojado | Área de trabalho |
---|---|---|---|---|---|
Gestor de credenciais | ✔️ | ✔️ | ✔️ | ❌ | ❌ |
Taxa de transferência e dimensionamento do gateway
Importante
A taxa de transferência é afetada pelo número e taxa de conexões de cliente simultâneas, pelo tipo e número de políticas configuradas, tamanhos de carga útil, desempenho da API de back-end e outros fatores. A taxa de transferência do gateway auto-hospedado também depende da capacidade de computação (CPU e memória) do host onde ele é executado. Execute testes de carga de gateway usando condições de produção antecipadas para determinar com precisão a taxa de transferência esperada.
Gateway gerenciado
Para obter a taxa de transferência máxima estimada do gateway nas camadas de serviço do Gerenciamento de API, consulte Preços do Gerenciamento de API.
Importante
Os valores de taxa de transferência são apresentados apenas para informações e não devem ser usados para o planejamento de capacidade e orçamento. Consulte Preços do Gerenciamento de API para obter detalhes.
Níveis clássicos
- Dimensione a capacidade do gateway adicionando e removendo unidades de escala ou atualize a camada de serviço. (O dimensionamento não está disponível na camada de desenvolvedor.)
- Nas camadas Basic, Standard e Premium, configure opcionalmente o dimensionamento automático do Azure Monitor.
- Na camada Premium, opcionalmente, adicione e distribua a capacidade do gateway em várias regiões.
Níveis V2
- Dimensione a capacidade do gateway adicionando e removendo unidades de escala ou atualize a camada de serviço.
Nível de consumo
- As instâncias da Gestão de API no escalão Consumo dimensionam automaticamente com base no tráfego.
Gateway autoalojado
- Em ambientes como o Kubernetes, adicione várias réplicas de gateway para lidar com o uso esperado.
- Opcionalmente, configure o dimensionamento automático para atender às demandas de tráfego.
Gateway de espaço de trabalho
Dimensione a capacidade adicionando e removendo unidades de escala no gateway do espaço de trabalho.
Conteúdos relacionados
Lear mais sobre:
- Gerenciamento de API em um mundo híbrido e multicloud
- Métrica de capacidade para decisões de dimensionamento
- Recursos de observabilidade no gerenciamento de API
- Recursos de gateway GenAI no Gerenciamento de API