Geral

P: O que é o Amazon API Gateway?

O Amazon API Gateway é um serviço gerenciado que facilita para os desenvolvedores a publicação, a manutenção, o monitoramento e a proteção das APIs em qualquer escala. Com apenas alguns cliques no Console de Gerenciamento da AWS, você pode criar uma API que atua como uma "porta de entrada" para que aplicativos acessem dados, lógica de negócios ou funcionalidades por meio de serviços de back-end, como aplicativos executados no Amazon Elastic Compute Cloud (Amazon EC2), no Amazon Elastic Container Service (Amazon ECS) ou no AWS Elastic Beanstalk, código executado no AWS Lambda ou qualquer aplicativo web. O Amazon API Gateway processa todas as tarefas relacionadas à aceitação e ao processamento de até centenas de milhares de chamadas simultâneas de APIs, incluindo gerenciamento de tráfego, autorização e controle de acesso, monitoramento e gerenciamento de versões de APIs. O Amazon API Gateway não tem taxas mínimas ou custos antecipados. Para APIs HTTP e APIs REST, você paga apenas pelas chamadas de API recebidas e pela quantidade de dados transferida para fora. Para APIs do WebSocket, você paga apenas pelas mensagens enviadas e recebidas e pelo tempo que um usuário/dispositivo fica conectado à API do WebSocket.

P: Por que usar o Amazon API Gateway?

O Amazon API Gateway oferece aos desenvolvedores um serviço simples, flexível, totalmente gerenciado e com pagamento conforme o uso que trata de todos os aspectos da criação e da operação de APIs robustas para back-ends de aplicativos. Com o API Gateway, você pode ativar novos serviços com mais rapidez e menos investimento, o que permite a você se concentrar na criação dos serviços de negócios essenciais. O API Gateway foi criado para ajudar nos diversos aspectos da criação e do gerenciamento de APIs:

1) Medição. O API Gateway ajuda você a definir planos que medem e restringem o acesso de desenvolvedores externos às suas APIs. Você pode definir um conjunto de planos, configurar controles e limites de cotas por chave de API. O API Gateway mensura o tráfego automaticamente para as suas APIs e permite que você extraia dados de utilização para cada chave de API.

2) Segurança. O API Gateway oferece diversas ferramentas para autorizar o acesso às APIs e para controlar o acesso às operações dos serviços. O Amazon API Gateway permite usar as ferramentas de administração e segurança da AWS, como o AWS Identity and Access Management (IAM) e o Amazon Cognito, para autorizar o acesso às suas APIs. O Amazon API Gateway pode verificar chamadas de APIs assinadas em seu nome usando a mesma metodologia usada pela AWS para as suas próprias APIs. Usando autorizadores personalizados escritos como funções do AWS Lambda, o API Gateway também pode ajudá-lo a verificar tokens ao portador recebidos, removendo as preocupações com autorização do seu código de back-end.

3) Resiliência. O API Gateway ajuda você a gerenciar o tráfego com controle de utilização para que as operações de back-end comportem picos de tráfego. Além disso, o API Gateway ajuda a aumentar a performance das APIs e da latência experimentada pelos usuários finais, armazenando a saída das chamadas de API em cache para evitar a interação frequente com o back-end.

4) Monitoramento de operações. Depois da publicação e do uso de uma API, o API Gateway disponibiliza um painel de métricas para o monitoramento de chamadas aos serviços. A integração do painel do API Gateway com o Amazon CloudWatch oferece métricas de performance de back-end, abrangendo chamadas de API, dados de latência e taxas de erros. Você pode ativar métricas detalhadas para cada método nas APIs, bem como receber logs de erro, de acesso ou de depuração no CloudWatch Logs.

5) Gerenciamento do ciclo de vida. Frequentemente, após a publicação de uma API, é necessário criar e testar novas versões que aprimorem ou adicionem novas funcionalidades. O API Gateway permite operar várias versões de API e várias etapas de cada uma dessas versões simultaneamente, para que as aplicações existentes continuem chamando as versões anteriores após a publicação de novas versões de API.

6) Projetado para desenvolvedores. O API Gateway oferece agilidade na criação de APIs e na atribuição de conteúdo estático a suas respostas, reduzindo o esforço de desenvolvimento entre equipes e o tempo necessário para os aplicativos entrarem no mercado. As equipes que dependem das APIs podem iniciar o desenvolvimento enquanto você cria os processos de back-end.

7) Comunicação bidirecional em tempo real. Crie aplicativos de comunicação bidirecional em tempo real, como aplicativos de bate-papo, painéis de streaming e notificações, sem precisar executar ou gerenciar nenhum servidor. O API Gateway mantém uma conexão persistente entre usuários conectados e permite a transferência de mensagens entre eles.

P: Quais tipos de API são suportados pelo Amazon API Gateway?

O Amazon API Gateway oferece duas opções para criar APIs RESTful, APIs HTTP e APIs REST, além de uma opção para criar APIs do WebSocket.

API HTTP: as APIs HTTP foram otimizadas para criar APIs que são proxy para funções do AWS Lambda ou back-ends HTTP, e ideais para cargas de trabalho sem servidor. No momento, não oferecem funcionalidade de gerenciamento de APIs.

API REST: as APIs REST oferecem funcionalidade de proxy da API e os recursos gerenciamento de API em uma única solução. As APIs REST oferecem recursos de gerenciamento de API, como planos de uso, chaves de API e APIs de publicação e monetização.

API do WebSocket: as APIs do WebSocket mantêm uma conexão persistente entre clientes conectados para permitir a comunicação de mensagens em tempo real. Com as APIs do WebSocket no API Gateway, você pode definir integrações de back-end com funções do AWS Lambda, Amazon Kinesis ou qualquer endpoint de HTTP a ser chamado quando as mensagens são recebidas dos clientes conectados.

P: Como faço para começar a usar as APIs HTTP no API Gateway? »

Para começar a usar as APIs HTTP, você pode usar o console do Amazon API Gateway, a AWS CLI, os AWS SDKs ou o AWS CloudFormation. Para saber mais sobre como começar a usar as APIs HTTP, visite a nossa documentação.

P: Como começo a usar APIs REST no API Gateway?

Para começar a usar as APIs REST, você pode usar o console do Amazon API Gateway, a AWS CLI ou os AWS SDKs. Para saber mais sobre como começar a usar as APIs REST, visite a nossa documentação.

P: Ao criar APIs RESTful, quando devo usar APIs HTTP e quando devo usar APIs REST?

Você pode criar APIs RESTful usando APIs HTTP e APIs REST no Amazon API Gateway.

As APIs HTTP foram otimizadas para criar APIs que fazem proxy para funções do AWS Lambda ou back-ends HTTP, tornando-as ideais para cargas de trabalho sem servidor. As APIs HTTP são uma alternativa mais barata e rápida às APIs REST, mas atualmente não oferecem suporte à funcionalidade de gerenciamento de API. As APIs REST se destinam às APIs que exigem funcionalidade de proxy de API e recursos de gerenciamento de API em uma única solução.

As APIs HTTP são ideais para:

  1. Criar APIs de proxy para o AWS Lambda ou qualquer endpoint HTTP
  2. Criar APIs modernas equipadas com autorização OIDC e OAuth 2 
  3. Cargas de trabalho que provavelmente crescerão muito
  4. APIs para cargas de trabalho sensíveis à latência
 
As APIs REST são ideais para:
 
  1. Clientes que desejam pagar um preço único por um conjunto abrangente de recursos necessários para criar, gerenciar e publicar suas APIs. 

P: Quais recursos são padrão nas APIs HTTP do API Gateway?

As APIs HTTP são padrão com suporte a CORS, suporte a OIDC e OAuth2 para autenticação e autorização, e implantações automáticas nos estágios.

P: Posso importar uma definição de OpenAPI para criar uma API HTTP?

Sim, você pode importar uma definição de API usando o OpenAPI 3. Isso resultará na criação de rotas, integrações e modelos de API. Para obter mais informações sobre a importação de definições de OpenAPI, consulte nossa documentação.

P: Como posso migrar da minha API REST atual para uma API HTTP?

Para migrar da sua API REST atual para uma API HTTP no Amazon API Gateway, faça o seguinte:

  1. Verifique se todos os recursos necessários estão disponíveis em HTTP. Para ver a lista completa de recursos, visite nossa documentação
  2. Acesse sua API REST e exporte a definição de OpenAPI de sua API REST
  3. Acesse sua API HTTP e importe a definição de OpenAPI da etapa anterior
  4. Teste as funções da API conforme o esperado
  5. Atualize seus clientes com a nova URL

Embora sua API possa funcionar, você pode observar alguns recursos ausentes. Para identificar quaisquer recursos ausentes, revise os campos Info, Warning e Error da operação de importação. Para obter mais informações sobre como migrar APIs REST para APIs HTTP, consulte nossa documentação.

P: Como sei se minha API REST atual funcionará como uma API HTTP?

Primeiro, acesse sua REST e exporte a definição de OpenAPI de sua API REST. Em seguida, acesse sua API HTTP e importe a definição de OpenAPI da etapa anterior. Embora sua API possa funcionar, você pode observar alguns recursos ausentes. Para identificar quaisquer recursos ausentes, revise os campos Info, Warning e Error da operação de importação. A AWS CLI retornará informações sobre sua API nos seus campos de informações e aviso. Para saber mais, leia a nossa documentação.

P: Como começo a usar as APIs do WebSocket no Amazon API Gateway?

Para começar, você pode criar uma API do WebSocket usando o Console de Gerenciamento da AWS, o AWS ILC ou o AWS SDKs. Em seguida, você pode definir o roteamento WebSocket para indicar os serviços de back-end, como o AWS Lambda, o Amazon Kinesis ou o endpoint de HTTP a ser chamado com base no conteúdo da mensagem. Consulte a documentação para os conceitos básicos das APIs do WebSocket no API Gateway.

P: Posso criar endpoints HTTPS?

Sim, todas as APIs criadas com o Amazon API Gateway expõem apenas endpoints HTTPS. O Amazon API Gateway não oferece suporte a endpoints não criptografados (HTTP). Por padrão, o Amazon API Gateway atribui um domínio interno à API, que usa automaticamente o certificado do Amazon API Gateway. Na configuração das APIs para execução em um nome de domínio personalizado, você pode fornecer o seu próprio certificado para o domínio.

P: Que tipos de dados posso usar com o Amazon API Gateway?

As APIs criadas no Amazon API Gateway podem aceitar qualquer carga enviada por HTTPS para APIs HTTP, APIs REST e APIs do WebSocket. Os formatos de dados comuns incluem JSON, XML, parâmetros de query string e cabeçalhos de solicitação. Você pode declarar qualquer tipo de conteúdo para as respostas das APIs e usar os modelos de transformação para alterar a resposta do back-end para o formato desejado.

P: Com quais back-ends o Amazon API Gateway pode se comunicar?

O Amazon API Gateway pode executar funções do AWS Lambda em sua conta, iniciar máquinas em estado de AWS Step Functions ou chamar endpoints HTTP hospedados no AWS Elastic Beanstalk, Amazon EC2 e também operações baseadas em HTTP não hospedadas na AWS acessíveis via internet pública. O API Gateway também permite que você especifique um modelo de mapeamento para gerar o conteúdo estático a ser retornado, ajudando você a simular suas APIs antes que o back-end esteja pronto. Você também pode integrar diretamente o API Gateway com outros serviços da AWS. Por exemplo, é possível expor um método de API no API Gateway que envia dados diretamente ao Amazon Kinesis.

P: Para que plataformas cliente o Amazon API Gateway gera SDKs?

O API Gateway gera SDKs personalizados para desenvolvimento de aplicativos móveis com Android e iOS (Swift e Objective-C), assim como para o desenvolvimento de aplicativos web com JavaScript. O API Gateway também aceita a geração de SDKs para Ruby e Java. Após definir uma API e seus modelos no API Gateway, você poderá usar o Console AWS ou as APIs do API Gateway para gerar e fazer download de um SDK cliente. Os SDKs do cliente são gerados apenas para APIs REST no Amazon API Gateway.

P: Em que regiões da AWS o Amazon API Gateway está disponível?

Para ver onde as APIs HTTP, APIs REST e APIs do WebSocket estão disponíveis, consulte a tabela de regiões da AWS aqui.

P: O que posso gerenciar por meio do console do Amazon API Gateway?

Você pode usar o console do Amazon API Gateway para definir as APIs REST e seus recursos e métodos associados, gerenciar o ciclo de vida das APIs, gerar SDKs cliente e visualizar métricas das APIs. Você também pode usar o console do API Gateway para definir seus planos de uso de APIs, gerenciar chaves de API de desenvolvedores e configurar controles e limites de cotas. Todas as mesmas ações estão disponíveis por meio de APIs do API Gateway.

P: O que é um recurso?

Um recurso é um objeto tipificado que faz parte do domínio da API. Cada recurso pode ter associado um modelo de dados, relacionamentos com outros recursos e pode responder a métodos diferentes. Também é possível definir recursos como variáveis para interceptar soluções a vários recursos dependentes.

P: O que é um método?

Cada recurso em uma API REST pode oferecer suporte a um ou mais métodos HTTP padrão. Para cada recurso, você define os verbos aceitos (GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS) e sua implementação. Por exemplo, um GET para o recurso carros deve devolver uma lista de carros. Para conectar todos os métodos de um recurso a um único endpoint de back-end, o API Gateway também oferece compatibilidade com o método "ANY".

P: O que é um plano de uso?

Os planos de uso ajudam a declarar planos para desenvolvedores terceirizados que restringem o acesso apenas a certas APIs, definem aceleração e solicitam limites de cota e os associam a chaves API. Você também pode extrair dados de utilização por chave de API para analisar o uso de APIs e gerar documentos de faturamento. Por exemplo, você pode criar planos Básico, Profissional e Empresarial. É possível configurar o plano de uso básico para permitir apenas 1.000 solicitações por dia e um máximo de 5 solicitações por segundo (RPS).

P: O que é o ciclo de vida de uma API do Amazon API Gateway?

Com o Amazon API Gateway, cada API REST pode ter várias etapas. O objetivo das etapas é facilitar o ciclo de vida de desenvolvimento de uma API. Por exemplo, após criar as APIs e implantá-las em uma etapa de desenvolvimento, ou quando você estiver pronto para a produção, será possível implantá-las em uma etapa de produção.

P: O que é uma etapa?

No Amazon API Gateway, as etapas são semelhantes a tags. Elas definem o caminho pelo qual a implantação pode ser acessada. Por exemplo, você define uma etapa de desenvolvimento e implanta a API carros nessa etapa. O recurso poderá ser acessado em https://www.myapi.com/desenvolvimento/carros. Você também pode configurar nomes de domínio personalizados que apontam diretamente a uma etapa para evitar o uso do parâmetro adicional de caminho. Por exemplo, se você apontar myapi.com diretamente para a etapa desenvolvimento, poderá acessar o recurso carros em https://www.myapi.com/carros. As etapas podem ser configuradas usando variáveis que podem ser acessadas por meio dos seus modelos de configuração ou mapeamento de APIs.

P: O que são variáveis de etapa?

As variáveis de etapa permitem que você defina pares de chave/valor de valores de configuração associados a uma etapa. Esses valores, similarmente às variáveis de ambiente, podem ser usados na sua configuração de API. Por exemplo, você pode definir o endpoint de HTTP para a integração do seu método como uma variável de etapa, e usar a variável na sua configuração de API em vez de codificar o endpoint. Isso permite que você use um endpoint diferente para cada etapa (como dev, beta, prod) com a mesma configuração de API. As variáveis de etapa também podem ser acessadas nos modelos de mapeamento e podem ser usadas para informar parâmetros de configuração para o seu backend do Lambda ou HTTP.

P: O que é uma política de recursos?

Uma política de recursos é um documento de políticas do JSON anexado a uma API para controlar se um principal especificado (geralmente um usuário ou uma função do IAM) pode invocar a API. Você pode usar uma política de recursos para habilitar usuários de uma conta diferente da AWS a acessar com segurança sua API ou para permitir que a API seja invocada apenas por meio de intervalos de endereços IP de origem ou blocos CIDR especificados. Políticas de recursos podem ser usadas com APIs REST no Amazon API Gateway.

P: O que acontece em caso de implantação indevida em uma etapa?

O Amazon API Gateway registra o histórico das implantações. A qualquer momento, usando as APIs ou o console do Amazon API Gateway, você pode reverter uma etapa para uma implantação anterior.

P: Posso usar definições de API do Swagger?

Sim. Você pode usar nossa ferramenta de importador do Swagger de código aberto para importar as definições de APIs do Swagger para o Amazon API Gateway. A ferramenta de importador do Swagger permite criar e implantar novas APIs, bem como atualizar as já existentes.

P: Como posso ganhar dinheiro com APIs no API Gateway?

Você pode ganhar dinheiro com APIs no API Gateway ao publicá-las como produtos no AWS Marketplace. Primeiro, você deverá registrar-se como vendedor no AWS Marketplace e enviar seus planos de uso no API Gateway como produtos. Leia aqui para saber mais sobre como ganhar dinheiro com APIs.

P: Como posso documentar minha API no Amazon API Gateway?

O API Gateway oferece a capacidade de criar, atualizar e excluir a documentação associada a cada porção da sua API, como métodos e recursos. É possível acessar a documentação relacionada às APIs por meio de AWS SDKs, da ILC, via chamadas RESTful ou ao editar strings de documentação diretamente no console do API Gateway. A documentação também pode ser importada como um arquivo Swagger, como parte da API ou separadamente, o que permite que você adicione ou atualize a documentação sem atrapalhar a definição da API. O API Gateway está em conformidade com a especificação Open API para a documentação importada de arquivos Swagger ou exportada para eles. A documentação é suportada para APIs REST no API Gateway.

P: Como posso evitar a criação de cópias redundantes de mensagens de erro e outros tipos de documentação que se repetem com frequência na minha API?

Além de apoiar a documentação de API em conformidade com os padrões, o API Gateway também apoia a herança de documentos, o que torna simples definir uma string de documentação e usá-la em vários locais. A herança simplifica o processo de definir a documentação de API e pode ser convertida na representação padrão ao exportar a API como um arquivo Swagger.

P: Posso restringir o acesso a APIs privadas a uma Amazon VPC ou um VPC endpoint específico?

Sim. Você pode aplicar uma política de recursos a uma API para restringir o acesso a uma Amazon VPC ou um VPC endpoint específico. Você também pode, usando uma conta diferente, conceder a uma Amazon VPC ou um VPC endpoint acesso a uma API privada usando uma política de recursos.

Segurança e autorização

P: Como autorizo o acesso às minhas APIs?

Com o Amazon API Gateway, você tem a opção de configurar os métodos de APIs para exigirem autorização. Ao configurar um método para exigir autorização, você pode usar o AWS Signature versão 4 ou autorizadores Lambda compatíveis com a sua própria estratégia de autorização de tokens ao portador.

P: Como funciona o AWS Signature versão 4?

Você pode usar credenciais da AWS (chaves secretas e de acesso) para assinar solicitações enviadas ao seu serviço e autorizar o acesso da mesma forma que com outros serviços da AWS. A assinatura de uma solicitação de API do Amazon API Gateway é gerenciada pelo SDK personalizado do API Gateway gerado para o seu serviço. Você pode recuperar credenciais temporárias associadas a uma função na sua conta da AWS usando o Amazon Cognito.

P: O que é um autorizador Lambda?

Os autorizadores Lambda são funções do AWS Lambda. Com autorizadores de solicitação personalizados, você pode autorizar o acesso às APIs usando uma estratégia de autorização com token ao portador, como OAuth. Quando uma API é chamada, o API Gateway verifica se um autorizador Lambda está configurado. Se estiver, o API Gateway chamará a função do Lambda com o token de autorização recebido. Você pode usar o Lambda para implementar diversas estratégias de autorização (por exemplo, verificação JWT, chamadas de provedores de OAuth) que retornam políticas do IAM, usadas para autorizar a solicitação. Se a política retornada pelo autorizador for válida, o API Gateway armazenará em cache a política associada ao token recebido por até uma hora.

P: O Amazon API Gateway pode gerar chaves de API para distribuição a desenvolvedores externos?

Sim. O API Gateway pode gerar chaves de API e associá-las a um plano de uso. As chamadas recebidas de cada chave de API são monitoradas e incluídas no Amazon CloudWatch Logs, que você pode ativar para cada etapa. No entanto, não recomendamos o uso de chaves de APIs para autorização. Você deve usar as chaves de APIs para monitorar o uso por desenvolvedores externos. Para autorização, use um mecanismo de autorização mais robusto, como chamadas de APIs assinadas ou OAuth.

P: Como posso tratar ou evitar ameaças ou abuso de APIs?

O API Gateway dá suporte às configurações de controle de utilização para cada método ou roteia as suas APIs. Você pode definir um limite de taxa standard e um limite de taxa de burst por segundo para cada método nas APIs REST e cada rota nas APIs do WebSocket. Além disso, o API Gateway protege automaticamente seus sistemas de back-end contra ataques de negação de serviço distribuídos (DDoS), quer sejam atacados com solicitações de falsificação (Layer 7) ou inundações de SYN (Layer 3).

P: Posso verificar se é realmente o API Gateway que está realizando uma chamada para o back-end?

Sim. O Amazon API Gateway pode gerar um certificado SSL no lado do cliente e disponibilizar a chave pública desse certificado para você. As chamadas para seu back-end podem ser feitas com o certificado gerado, e é possível verificar as chamadas originadas do Amazon API Gateway usando a chave pública do certificado.

P: Posso usar o AWS CloudTrail com o Amazon API Gateway?

Sim. O Amazon API Gateway é integrado ao AWS CloudTrail para disponibilizar um histórico totalmente auditável das alterações efetuadas nas APIs REST. Todas as chamadas de APIs efetuadas para as APIs do Amazon API Gateway para criar, modificar, excluir ou implantar APIs REST são registradas no CloudTrail da sua conta da AWS.

P: Como o Amazon API Gateway funciona com uma Amazon Virtual Private Cloud (Amazon VPC)?

No Amazon API Gateway, você pode fazer o proxy de recursos HTTP/HTTPS de back-end em execução na sua Amazon VPC ao configurar Integrações privadas usando links da VPC. Os certificados SSL no lado do cliente do Amazon API Gateway podem ser usados para verificar se as solicitações feitas aos seus sistemas de back-end foram enviadas pelo API Gateway usando a chave pública do certificado. Você também pode criar APIs privadas no Amazon API Gateway que só podem ser acessadas por recursos dentro da Amazon VPC por meio dos Amazon VPC endpoints.

P: Posso restringir o acesso a APIs privadas a uma Amazon VPC ou um VPC endpoint específico?

Sim. Você pode aplicar uma política de recursos a uma API para restringir o acesso a uma Amazon VPC ou um VPC endpoint específico. Você também pode, usando uma conta diferente, conceder a uma Amazon VPC ou um VPC endpoint acesso a uma API privada usando uma política de recursos.

P: Posso configurar minhas APIs REST no API Gateway para usar o TLS 1.1 ou superior?

Se estiver usando APIs REST, você poderá configurar uma distribuição CloudFront com certificado SSL personalizado na sua conta e usá-lo com APIs regionais no API Gateway. Em seguida, você pode configurar a Política de Segurança para a distribuição CloudFront com TLS 1.1 ou superior com base nos seus requisitos de segurança e conformidade.

Gerenciamento, métricas e registro em log

P: Como posso monitorar minhas APIs do Amazon API Gateway?

O Amazon API Gateway registra chamadas, latência e taxas de erro de APIs no Amazon CloudWatch da sua conta da AWS. As métricas também são disponibilizadas no console do Amazon API Gateway em um painel de APIs REST. O API Gateway também mensura a utilização por desenvolvedores externos. Os dados são disponibilizados no console do API Gateway e por meio das APIs.

P: Posso definir alertas para as métricas do Amazon API Gateway?

Sim, o Amazon API Gateway envia informações de registro em logs e métricas ao Amazon CloudWatch. Você pode utilizar o console do Amazon CloudWatch para definir alertas personalizados.

P: Como posso definir métricas para o Amazon API Gateway?

Por padrão, o Amazon API Gateway monitora o tráfego por API REST. Opcionalmente, você pode ativar métricas detalhadas para cada método na API REST usando APIs de configuração de implantação ou a tela do console. As métricas detalhadas também são registradas no Amazon CloudWatch e são cobradas usando as taxas do CloudWatch.

P: Posso determinar qual versão da API é usada pelos meus clientes?

Sim. Os detalhes das métricas são especificados por API REST e por etapa. Adicionalmente, você pode ativar métricas para cada método na API REST.

P: O Amazon API Gateway oferece suporte para registro em logs?

Sim. O Amazon API Gateway é integrado ao Amazon CloudWatch Logs. Opcionalmente, você pode ativar o registro em log para cada etapa da API. Em cada método das APIs REST, é possível definir a verbosidade do registro em log e se dados completos da solicitação e da resposta devem ser registrados.

P: Com que rapidez os logs são disponibilizados?

Registros, alertas, taxas de erro e outras métricas são armazenados no Amazon CloudWatch e estão disponíveis quase em tempo real.

Controle de utilização e armazenamento em cache

P: Como posso proteger sistemas e aplicativos de back-end contra picos de tráfego?

O Amazon API Gateway oferece controle de utilização em diversos níveis, incluindo os níveis global e por serviço. Os limites do controle de utilização podem ser definidos para taxas padrão e picos. Por exemplo, os proprietários de uma API podem definir um limite de taxa de 1.000 solicitações por segundo para um método específico nas APIs REST, bem como configurar o Amazon API Gateway para processar picos de 2.000 solicitações por segundo durante alguns segundos. O Amazon API Gateway controla o número de solicitações por segundo. Todas as solicitações acima do limite receberão uma resposta HTTP 429. Os SDKs cliente (exceto o Javascript) gerados pelo Amazon API Gateway repetem automaticamente as chamadas quando recebem essa resposta.

P: Posso controlar a utilização de desenvolvedores individuais chamando minhas APIs?

Sim. Com planos de uso, você pode definir limites de controle para chaves de API individuais.

P: Como o controle de utilização pode ser útil?

O controle de utilização garante o controle do tráfego de APIs para ajudar os serviços de back-end a manter o desempenho e a disponibilidade.

P: Em que níveis o Amazon API Gateway pode controlar a quantidade de tráfego de entrada para as APIs?

Os limites de taxa de controle de utilização podem ser definidos por método. Você pode editar os limites de controle de utilização nas configurações do método usando as APIs do Amazon API Gateway ou o console do Amazon API Gateway.

P: Como as regras de controle de utilização são aplicadas?

As configurações relacionadas ao controle de utilização do API Gateway são aplicadas na seguinte ordem: 1) limites de controle de utilização por cliente por método que você define para um estágio de API em um plano de uso, 2) limites de controle de utilização por cliente que você define em um plano de uso, 3 ) limites padrão por método e limites individuais por método que você define nas configurações de estágio da API, 4) controle de utilização de nível de conta por região.

P: O Amazon API Gateway oferece armazenamento em cache para resultados de APIs?

Sim. Você pode adicionar o armazenamento em cache às chamadas de API provisionando um cache do API Gateway e especificando seu tamanho em gigabytes. O cache é provisionado para uma etapa específica das APIs, aumentando o desempenho e reduzindo o tráfego enviado ao back-end. As configurações de cache permitem controlar como a chave de cache é criada e o time-to-live (TTL) dos dados armazenados para cada método. O API Gateway também expõe APIs de gerenciamento que ajudam a invalidar o cache de cada estágio. O armazenamento em cache está disponível para APIs REST no API Gateway.

P: O que acontece se um grande número de usuários finais tentar invocar simultaneamente minha API?

Se o armazenamento em cache não estiver habilitado e os limites de controle não tiverem sido aplicados, todas as solicitações passaram para o seu serviço de back-end, até que os limites de controle no nível da conta tenham sido atingidos. Se os limites de controle tiverem sido implantados, o Amazon API Gateway descartará a quantidade necessária de solicitações e enviará apenas o limite definido para o seu serviço de back-end. Se um cache for configurado, o Amazon API Gateway retornará uma resposta armazenada em cache para solicitações duplicadas durante um período personalizável, mas apenas sob limites de controle de utilização configurados. Esse equilíbrio entre o back-end e o cliente garante o desempenho ideal das APIs para as aplicações compatíveis. As solicitações recusadas pelo controle de utilização serão executadas novamente de forma automática pelos SDKs cliente gerados pelo Amazon API Gateway. Como padrão, o Amazon API Gateway não define nenhum cache nos métodos de API.

P: Como as APIs escalam?

O Amazon API Gateway atua como um proxy para as operações de back-end configuradas. O Amazon API Gateway altera automaticamente a escala para processar o volume de tráfego recebido pelas APIs. O Amazon API Gateway não limita ou controla arbitrariamente a utilização de invocações de operações de back-end. Todas as solicitações não interceptadas pelas configurações de controle de utilização e de armazenamento em cache no console do Amazon API Gateway são enviadas às operações de back-end.

Faturamento

P: Como sou cobrado pelo uso do Amazon API Gateway?

As contas do Amazon API Gateway por milhão de chamadas de API, mais o custo da transferência de dados de saída em gigabytes. Se você optar por provisionar um cache para sua API, serão aplicadas taxas horárias. Para APIs do WebSocket, as contas do API Gateway são baseadas nas mensagens enviadas e recebidas e no número de minutos que um cliente está conectado à API. Consulte a página de definição de preço do API Gateway para obter detalhes sobre os custos de chamadas, transferência de dados e cache da API por região.

P: Quem paga pelas chamadas de APIs do Amazon API Gateway geradas por desenvolvedores externos?

O proprietário da API é cobrado pelas chamadas a suas APIs no API Gateway.

P: Se uma resposta de API for atendida por dados do cache, a chamada da API continuará sendo considerada para fins de faturamento?

Sim. Para fins de faturamento, as chamadas de APIs são consideradas iguais tanto para respostas processadas por operações de back-end quanto para respostas processadas pela operação de armazenamento em cache do Amazon API Gateway.

APIs do WebSocket

P: O que é roteamento WebSocket no Amazon API Gateway?

O roteamento WebSocket no Amazon API Gateway é usado para rotear corretamente as mensagens para uma integração específica. Você especifica uma chave de roteamento e um back-end de integração para invocar quando definir sua API do WebSocket. A chave de roteamento é um atributo no corpo da mensagem. Uma integração padrão também pode ser definida para chaves de roteamento não correspondentes. Consulte a documentação para saber mais sobre roteamento.

P: Como posso enviar mensagens para clientes conectados a partir do serviço de back-end?

Quando um novo cliente é conectado à API WebSocket, uma URL exclusiva, chamada URL de retorno de chamada, é criada para esse cliente. Você pode usar esta URL de retorno de chamada para enviar mensagens para o cliente a partir do serviço de back-end.

P: Como posso autorizar o acesso à minha API do WebSocket no Amazon API Gateway?

Com o Amazon API Gateway, você pode usar funções e políticas do IAM ou AWS Lambda Authorizers para autorizar o acesso às suas APIs do WebSocket.

P: Como meu serviço de back-end sabe quando um cliente está conectado ou desconectado da conexão WebSocket no Amazon API Gateway?

Quando um cliente é conectado ou desconectado, uma mensagem será enviada do serviço Amazon API Gateway para sua função back-end do AWS Lambda ou seu endpoint HTTP usando as rotas $ connect e $ disconnect. Você pode executar ações apropriadas, como adicionar ou remover o cliente para a lista de usuários conectados.

P: Como meu serviço de back-end pode identificar se o cliente ainda está conectado à conexão do WebSocket??

Você pode usar o método GET da URL de retorno de chamada na conexão para identificar se o cliente está conectado à conexão WebSocket. Consulte a documentação sobre o uso de uma URL de retorno de chamada.

P: Posso desconectar um cliente do meu serviço de back-end?

Sim, você pode desconectar o cliente conectado do serviço de back-end usando a URL de retorno de chamada.

P: Qual é o tamanho máximo de mensagem suportado pelas APIs do WebSocket?

O tamanho máximo da mensagem suportada é de 128 KB. Consulte a documentação para outros limites em torno das APIs do WebSocket.

P: Como sou cobrado pelo uso de APIs do WebSocket no Amazon API Gateway?

Você será cobrado com base em duas métricas: minutos e mensagens de conexão.

Minutos de conexão: Número total de minutos em que os clientes ou dispositivos estão conectados à conexão WebSocket (arredondados para um minuto).

Mensagens: Número total de mensagens enviadas e recebidas de clientes conectados. As mensagens são cobradas em incrementos de 32KB. Consulte a página de definição de preços para obter detalhes dos preços e exemplos da API do WebSocket.

P: Se as mensagens na conexão WebSocket falharem na autenticação ou autorização, elas ainda contam para minha conta de uso da API?

Não, se as mensagens na conexão WebSocket falharem na autenticação ou autorização, elas não serão consideradas na conta de uso da API.

Saiba mais sobre o Amazon API Gateway

Acesse a página de definição de preço
Pronto para começar?
Cadastre-se
Tem outras dúvidas?
Entre em contato conosco