O Amazon API Gateway é um serviço gerenciado que permite que desenvolvedores criem, publiquem, mantenham, monitorem, protejam e operem APIs em qualquer escala com facilidade. É um serviço com pagamento conforme o uso que se encarrega de todas as tarefas pesadas comuns envolvidas na execução segura e confiável de APIs em grande escala.

Com a proliferação de dispositivos móveis e a ascensão da Internet das Coisas (IoT), é cada vez mais comum que os aplicativos tenham permissão para acessar sistemas e dados de back-end por meio de APIs. Considerando o grande número de aplicativos que usam APIs e as comunidades de desenvolvedores que dependem delas, cada vez mais tempo e esforços são investidos no desenvolvimento e no gerenciamento de APIs. Para facilitar o uso dessas APIs, o API Gateway pode gerar SDKs cliente para várias linguagens, incluindo JavaScript, iOS e Android.

Suporte a APIs RESTful e WebSocket

Com o API Gateway, você pode criar APIs RESTful usando APIs HTTP (demonstração) ou REST. As APIs HTTP são a melhor forma de se criar APIs que não exigem recrusos de gerenciamento de API. As APIs HTTP são otimizadas para cargas de trabalho sem servidor e back-ends de HTTP - elas oferecem até 70% de economia no custo e 60% de redução de latência, se comparada com as APIs REST da API Gateway. Para cargas de trabalho que exigem funcionalidade de proxy de API e recursos de gerenciamento de API em uma única solução, como os planos de uso e API chaves, API Gateway e ofertas da APIs REST. Para consultar uma comparação lado a lado dos recursos suportados pelo APIs HTTP e APIs REST, visite nossa documentação. Para criar aplicativos de comunicação bidirecionais em tempo real, como aplicativos de bate-papo e painéis de transmissão, use as APIs Websocket. Para saber mais sobre as APIs RESTful e WebSocket do API Gateway, consulte a página de perguntas frequentes.

Resiliência

O API Gateway ajuda a gerenciar o tráfego para os sistemas de back-end, permitindo definir regras de controle de utilização com base no número de solicitações por segundo para cada método HTTP nas APIs. O API Gateway processa qualquer nível de tráfego recebido por uma API, permitindo que você se concentre na lógica e nos serviços de negócios em vez de na manutenção da infraestrutura. Se você está usando APIs REST, também pode definir um cache com chaves personalizáveis e vida útil em segundos para os dados de API para evitar o acesso aos serviços de back-end em cada solicitação.

Criação e implantação fácil de APIs

Com o API Gateway, você pode criar de maneira rápida e fácil uma API personalizada para seu código executado no AWS Lambda e chamar o código do Lambda por meio da sua API. O API Gateway pode executar código do AWS Lambda em sua conta, iniciar máquinas de estado do AWS Step Functions ou fazer chamadas para o AWS Elastic Beanstalk, o Amazon EC2 ou para web services fora da AWS com endpoints HTTP de acesso público. Usando o console do API Gateway, você pode definir a API REST e seus recursos e métodos associados, gerenciar o ciclo de vida da API, gerar SDKs cliente e visualizar métricas da API.

Monitoramento de operações de API

Após a implantação e o uso de uma API, o API Gateway disponibiliza um painel para monitorar visualmente as chamadas para os serviços. O console do API Gateway é integrado ao Amazon CloudWatch, o que possibilita obter métricas de desempenho de back-end, como chamadas, latência e taxas de erro de APIs. Como o API Gateway usa o CloudWatch para registrar informações de monitoramento, você pode definir alarmes personalizados nas APIs do API Gateway. O API Gateway também pode registrar erros de execução de API no CloudWatch Logs para facilitar a depuração.

Autorização da AWS

Para autorizar e verificar solicitações de API para serviços da AWS, o API Gateway pode ajudar a utilizar a assinatura versão 4 para APIs REST e WebSocket. Com a autenticação da assinatura versão 4, você pode usar o AWS Identity and Access Management (IAM) e as políticas de acesso para autorizar o acesso às APIs e a todos os seus outros recursos na AWS. Você também pode usar funções do AWS Lambda para verificar e autorizar tokens de transmissão, como tokens JWT ou declarações SAML.

Chaves de API para desenvolvedores externos

Se você está usando APIs REST, o API Gateway ajuda a gerenciar o ecossistema de desenvolvedores externos que acessam suas APIs. Você pode criar chaves de API no API Gateway, definir permissões de acesso detalhadas para cada chave de API e distribuí-las a desenvolvedores externos para que acessem suas APIs. Você também pode estabelecer planos que definam controles e limites de cotas de solicitações para cada chave de API individual. O uso de chaves de API é totalmente opcional e deve ser habilitado para cada método.

Geração de SDKs

Se você está usando APIs REST, o API Gateway pode gerar SDKs cliente para diversas plataformas, que podem ser usados para agilizar os testes de novas APIs nos aplicativos e na distribuição de SDKs para desenvolvedores externos. Os SDKs gerados processam chaves de APIs e assinam solicitações usando credenciais da AWS. O API Gateway pode gerar SDKs de clientes para Java, JavaScript, Java para Android, Objective-C ou Swift para iOS e Ruby. Você pode usar a ILC da AWS para gerar e fazer download do SDK de uma API para uma plataforma compatível usando o comando get-sdk.

Gerenciamento do ciclo de vida de APIs

Se você está usando APIs REST, o API Gateway permite executar várias versões da mesma API simultaneamente, possibilitando que os aplicativos continuem a chamar versões anteriores das APIs mesmo após a publicação das versões mais recentes. O API Gateway também ajuda a gerenciar as várias etapas do lançamento de cada versão de API, como alfa, beta e produção. Cada etapa da API pode ser configurada para interagir com endpoints de backend diferentes com base na sua configuração de API. As etapas e versões específicas de uma API podem ser associadas a um nome de domínio personalizado e gerenciadas por meio do API Gateway. O gerenciamento de etapas e de versões permite testar facilmente novas versões de APIs que aprimoram ou adicionam novas funcionalidades a versões anteriores de APIs. Além disso, o gerenciamento garante compatibilidade retroativa à medida que as comunidades de usuários migram para adotar a versão mais recente.