Como usar o AWS API Gateway como front-end para funções Lambda
O API Gateway é um serviço totalmente gerenciado para criar, testar e hospedar APIs de produção. Em vez de alugar um servidor EC2 e gerenciar o servidor da API, o API Gateway pode lidar com isso e otimizar todo o processo.
O que é o API Gateway?
O API Gateway é essencialmente um proxy reverso, buscando dados de outros serviços e retornando-os de maneira estruturada. Porém, em vez de executá-lo, o ônus de lidar com o tráfego e a infraestrutura é repassado à AWS, que pode fazer isso por muito mais barato.
Isso basicamente permite que o API Gateway atue como uma "porta da frente" ” para muitos outros serviços da AWS. Por exemplo, conectando-o ao AWS Lambda, você pode criar um back-end de microsserviços sem usar nenhum servidor EC2. A função Lambda pode ser configurada para conexão.
O API Gateway faz um ótimo trabalho como front-end básico para APIs HTTP de uso geral, mas também é muito útil para gerenciar a estrutura e o esquema geral das APIs REST. Ao criar APIs REST, você pode definir com precisão todas as rotas e métodos e conectá-los a qualquer serviço da AWS que você desejar.
A API GateWay também pode ser usada para gerenciar APIs WebSocket, que são usadas para comunicação rápida em tempo real, abrindo uma conexão direta do servidor para o cliente.
Quanto custa o API Gateway?
Para APIs HTTP genéricas, o API Gateway simplesmente custa US $ 1,00 por milhão de solicitações, após você exceder o primeiro milhão fornecido com o Nível Gratuito.
Para APIs REST, o preço é mais alto em US $ 3,50 por milhão de solicitações. Opcionalmente, você também pode optar por ativar o cache para sua API REST, o que melhorará o desempenho ao custo de uma taxa horária com base no tamanho do seu cache.
Para APIs WebSocket, o preço é um pouco diferente. Como eles são destinados a mensagens curtas do servidor para o cliente, você cobra apenas US $ 1 por bilhão de solicitações, 1000 são baratas por solicitação, como as outras duas. No entanto, você está limitado a cargas de 128 KB e também cobra US $ 0,25 por milhão de minutos de conexão. Se você sempre tem muitos clientes conectados à API WebSocket, estará pagando por cada um deles.
Um aspecto a ser observado, porém, é que, embora não haja cobrança específica pela transferência de dados, as APIs HTTP são medidas em incrementos de 512 KB. Por exemplo, uma única solicitação de API que retornasse uma resposta de 1,5 MB seria cobrada como três solicitações de API. As APIs do WebSocket são cobradas em incrementos de 32 KB. Isso pode dobrar facilmente os custos do API Gateway se suas cargas úteis forem particularmente grandes.
É claro que, se você estiver se conectando a outro serviço da AWS, terá que pagar todos os custos associados a esses serviços (como cobranças por invocações de funções Lambda), bem como encargos de transferência de dados pela mudança dados da AWS.
Configurando uma API HTTP para conectar-se ao Lambda
Embora as APIs REST ofereçam mais ferramentas organizacionais para gerenciar a própria API, elas são muito mais complicadas e custam um pouco mais de inicialização. Em vez disso, usaremos as APIs HTTP básicas, que são mais fáceis de criar e conectar ao Lambda.
Escolha criar uma “ HTTP API ” no menu de criação. A primeira coisa que você precisará configurar são suas integrações; APIs HTTP suportam terminais HTTP e funções Lambda. Você pode adicionar várias integrações, o que pode ser útil se você quiser que uma função Lambda separada lide com cada rota da sua API.
Em seguida, você configurará as rotas para a API. Eles podem ser colocados em sub-URLs como / users e chamarão diferentes destinos de integração com base no método com o qual o cliente se conecta. Por exemplo, GET / messages pode retornar uma lista de mensagens, mas o POST / messages pode enviar uma nova mensagem.
Você provavelmente desejará uma maneira de distinguir entre APIs de desenvolvimento e produção. Você é capaz de criar vários ambientes na forma de "Estágios", ” que servirá a esse propósito. Por padrão, o ambiente $ default é atualizado automaticamente com todas as alterações e serve como estágio de desenvolvimento. Você provavelmente desejará criar uma produção de produção. estágio que você pode usar para enviar alterações de $ default para.
Depois disso, sua API deve estar configurada e pronta para uso. Sob “ Estágios, ” você encontrará o URL de chamada para sua API. Isso está vinculado ao próprio estágio de implantação da API e permanecerá estático. Deve ser algo como o seguinte:
https://api_id. execute-api. us-east-1. amazonaws. com
Se você quiser usar isso com um nome de domínio personalizado, precisará gerar um certificado ACM para vincular o API Gateway com segurança ao seu domínio e editar a configuração do DNS para apontar para o próprio Gateway. Se você estiver usando a Rota 53, esse processo será bastante simplificado.
Sob a “ Autorização ” Na guia, você encontrará configurações para configurar sua API com autenticação JWT. Atualmente, este é o único método suportado pelas APIs HTTP.
Via: How to Geek
Nenhum comentário