Gerenciando APIs - AWS Orientação prescritiva

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Gerenciando APIs

O gerenciamento adequado de APIs torna seus microsserviços acessíveis tanto para consumidores internos quanto externos. AWS oferece uma variedade de serviços que você pode usar em conjunto para expor seu microsserviço com segurança. APIs Esses serviços permitem que você reforce a segurança APIs e implemente monitoramento e observabilidade a partir de um local central. Você também pode usar CloudFront a Amazon para melhorar o desempenho se seus usuários APIs estiverem geograficamente distantes do local em Região da AWS que os serviços estão hospedados.

Amazon API Gateway

O Amazon API Gateway é um serviço totalmente gerenciado que permite que os desenvolvedores criem, publiquem, mantenham, monitorem e protejam REST WebSocket APIs em qualquer escala. É possível usar o API Gateway para implementar muitos dos padrões descritos na seção Padrões de comunicação deste guia.

Há dois tipos principais de REST APIs: REST e HTTP. Ambos os tipos oferecem suporte RESTful APIs, mas oferecem recursos diferentes. Para determinar o que melhor atende às suas necessidades, consulte Escolha entre REST APIs e HTTP APIs na documentação do API Gateway. Esta seção do guia se concentra no API Gateway REST APIs.

Usar o API Gateway como ponto de entrada para você APIs fornece um único local para implementar preocupações comuns, como validação e segurança de solicitações. O API Gateway REST APIs oferece validação de solicitações, o que permite definir o formato de suas solicitações usando o esquema JSON. O API Gateway valida as solicitações recebidas em relação ao esquema definido e rejeita aquelas malformadas.

Autenticação e autorização

O API Gateway REST APIs oferece suporte aos seguintes mecanismos de autenticação (AuthN) e autorização (AuthZ):

  • IAM: se você usa o IAM, as solicitações para sua API devem ser assinadas usando o AWS Signature Version 4 (SigV4).

  • Amazon Cognito: o API Gateway validará um token portador apresentado como tendo sido emitido por um grupo de usuários do Amazon Cognito. Você também pode configurar o grupo de usuários do Amazon Cognito para integração a um provedor de identidades (IdP) de terceiros, caso já esteja usando um. Você também pode usar um grupo de usuários do Amazon Cognito para autenticação machine-to-machine (M2M).

  • AWS Lambda authorizer — O API Gateway invocará uma função Lambda que você especificar para realizar as verificações desejadas, a fim de determinar se uma solicitação deve ser autorizada.

Para obter mais informações, consulte Controlar e gerenciar o acesso ao REST APIs na documentação do API Gateway.

Chaves de API e limites de taxas

Você pode controlar quem tem permissão para ligar para você APIs e a que taxa usando chaves de API e planos de uso. Chaves de API não devem ser usadas para autenticação, mas podem ser usadas em conjunto com os esquemas mencionados anteriormente. Os usuários nem sempre precisam fornecer suas próprias chaves de API. Por exemplo, autorizadores do Lambda podem retornar uma chave de API para um usuário. O plano de uso permite especificar o throughput, o limite de intermitência e a cota mensal. Para obter mais informações, consulte Planos de uso e chaves de API para REST APIs na documentação do API Gateway.

Público e privado APIs

O API Gateway REST APIs que pode ser acessado pela Internet oferece suporte a dois tipos de endpoint:

  • Otimizado para borda, o que significa que as solicitações dos chamadores são encaminhadas para um CloudFront ponto de presença (POP) próximo. Isso pode resultar em melhor performance para clientes geograficamente diferentes.

  • Regional, o que significa que as solicitações são encaminhadas a um recurso dentro de uma determinada Região da AWS. Essa é uma boa opção quando todos os seus clientes estão perto da região em que sua API está implantada.

O API Gateway REST APIs também oferece suporte a endpoints de API privados, que podem ser acessados de uma nuvem privada virtual (VPC) usando uma interface VPC endpoint. Você também pode compartilhar com segurança o REST privado APIs criando endpoints de interface VPC em outros e até mesmo outros. VPCs Contas da AWS Para obter mais informações, consulte Tipos de endpoint de API para REST APIs na documentação do API Gateway.

Quando utilizar o API Gateway

O API Gateway é uma boa opção para serviços RESTful web e WebSocket conexões em tempo real. Ao usar WebSocket APIs no API Gateway, você pode adicionar comportamento para eventos de conexão e desconexão, como armazenar a conexão IDs em um armazenamento de dados externo associado aos atributos do cliente. Também pode encaminhar solicitações para comportamentos personalizados usando atributos de mensagem.

Tanto o REST quanto o WebSocket APIs podem se integrar diretamente a muitos Serviços da AWS sem exigir recursos computacionais separados, como funções Lambda. Isso pode melhorar a performance e reduzir os custos.

O REST APIs suporta roteamento baseado em caminhos e cabeçalhos, e você pode usá-los separadamente ou em conjunto. Um padrão comum é fornecer uma API REST como porta de entrada para várias, implementar preocupações compartilhadas APIs, conforme discutido anteriormente, e depois se comportar como um proxy reverso e rotear solicitações autorizadas para o endpoint correto da API.