O Amazon API Gateway é um serviço totalmente 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 ou APIs REST. As APIs HTTP são a melhor forma de criar APIs que não exigem recursos de gerenciamento de API. As APIs HTTP são otimizadas para cargas de trabalho sem servidor e back-ends de HTTP. Elas oferecem até 71% de economia no custo e 60% de redução de latência, se comparadas com as APIs REST do 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 planos de uso e chaves de API, o API Gateway oferece 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.

Integrações privadas com o AWS ELB e o AWS Cloud Map

Com o API Gateway, é possível encaminhar solicitações para recursos privados na VPC. Usando as APIs HTTP, você pode criar APIs para serviços por trás de ALBs privados, NLBs privados serviços baseados em IP registrados no AWS Cloud Map, como tarefas do ECS.

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.