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á.
Implante um Amazon API Gateway API em um site interno usando endpoints privados e um Application Load Balancer
Criado por Saurabh Kothari () AWS
Ambiente: produção | Tecnologias: aplicativos web e móveis; rede; sem servidor; infraestrutura | AWSserviços: Amazon API Gateway; Amazon Route 53; AWS Certificate Manager (ACM) |
Resumo
Esse padrão mostra como implantar um Amazon API Gateway API em um site interno que pode ser acessado a partir de uma rede local. Você aprende a criar um nome de domínio personalizado para uma empresa privada API usando uma arquitetura projetada com endpoints privados, um Application Load Balancer e o Amazon AWS PrivateLink Route 53. Essa arquitetura evita as consequências não intencionais do uso de um nome de domínio personalizado e um servidor proxy para ajudar no roteamento baseado em domínio em um. API Por exemplo, se você implantar um endpoint de nuvem privada virtual (VPC) em uma sub-rede não roteável, sua rede não conseguirá acessar o Gateway. API Uma solução comum é usar um nome de domínio personalizado e depois implantá-lo API em uma sub-rede roteável, mas isso pode interromper outros sites internos quando a configuração do proxy passa o tráfego (execute-api.{region}.vpce.amazonaws.com
) para o AWS Direct Connect. Por fim, esse padrão pode ajudar você a atender aos requisitos organizacionais para usar um API nome de domínio privado inacessível pela Internet e um nome de domínio personalizado.
Pré-requisitos e limitações
Pré-requisitos
Uma AWS conta ativa
Um certificado de indicação de nome de servidor (SNI) para seu site e API
Uma conexão de um ambiente local com uma AWS conta configurada usando o AWS Direct Connect ou AWS Site-to-Site VPN
Uma zona hospedada privada com um domínio correspondente (por exemplo, domain.com) que é resolvida a partir de uma rede local e encaminha consultas para DNS o Route 53
Uma sub-rede privada roteável que pode ser acessada a partir de uma rede on-premises
Limitações
Para obter mais informações sobre cotas (anteriormente chamadas de limites) para balanceadores de carga, regras e outros recursos, consulte Cotas para seus Application Load Balancers na documentação do Elastic Load Balancing.
Arquitetura
Pilha de tecnologia
Amazon API Gateway
Amazon Route 53
Application Load Balancer
AWSCertificate Manager
AWS PrivateLink
Arquitetura de destino
O diagrama a seguir mostra como um Application Load Balancer é implantado em um VPC que direciona o tráfego da web para um grupo-alvo do site ou do API Gateway com base nas regras de ouvinte do Application Load Balancer. O grupo-alvo do API Gateway é uma lista de endereços IP para o VPC endpoint no API Gateway. APIO Gateway está configurado para tornar o API ambiente privado com sua política de recursos. A política nega todas as chamadas que não sejam de um VPC endpoint específico. Os nomes de domínio personalizados no API gateway são atualizados para usar api.domain.com para o API e seu estágio. As regras do Application Load Balancer são adicionadas para rotear o tráfego com base no nome do host.
O diagrama mostra o seguinte fluxo de trabalho:
Um usuário de uma rede on-premises tenta acessar um site interno. A solicitação é enviada para ui.domain.com e api.domain.com. Em seguida, a solicitação é resolvida para o Application Load Balancer interno da sub-rede privada roteável. O SSL é encerrado no Application Load Balancer para ui.domain.com e api.domain.com.
As regras de receptor, configuradas no Application Load Balancer, verificam o cabeçalho do host.
a. Se o cabeçalho do host for api.domain.com, a solicitação será encaminhada para o grupo-alvo do Gateway. API O Application Load Balancer inicia uma nova conexão com o API Gateway pela porta 443.
b. Se o cabeçalho do host for ui.domain.com, a solicitação será encaminhada para o grupo de destino do site.
Quando a solicitação chega ao API Gateway, o mapeamento de domínio personalizado configurado no API Gateway determina o nome do host e qual API executar.
Automação e escala
As etapas desse padrão podem ser automatizadas usando AWS CloudFormation o AWS Cloud Development Kit (AWSCDK). Para configurar o grupo-alvo das chamadas do API Gateway, você deve usar um recurso personalizado para recuperar o endereço IP do VPC endpoint. APIchama describe-vpc-endpoints
Ferramentas
O Amazon API Gateway ajuda você a criar, publicar, manter, monitorar e proteger RESTHTTP, WebSocket APIs em qualquer escala.
O Amazon Route 53 é um serviço DNS web altamente disponível e escalável.
AWSO Certificate Manager (ACM) ajuda você a criar, armazenar e renovar certificados e chaves SSL TLS /X.509 públicos e privados que protegem seus AWS sites e aplicativos.
AWSO Cloud Development Kit (AWSCDK) é uma estrutura de desenvolvimento de software que ajuda você a definir e provisionar a infraestrutura de AWS nuvem em código.
AWS PrivateLinkajuda você a criar conexões unidirecionais e privadas de seus VPCs serviços fora do. VPC
Épicos
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Crie um SNI certificado e importe o certificado para ACM o. |
| Administrador de rede |
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Crie um VPC endpoint de interface no API Gateway. | Para criar um VPC endpoint de interface, siga as instruções em Acesse um AWS serviço usando um VPC endpoint de interface na documentação da Amazon Virtual Private Cloud VPC (Amazon). | Administrador de nuvem |
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Criar um grupo de destino para seu aplicativo. | Crie um grupo de destino para os recursos de interface do usuário do seu aplicativo. | Administrador de nuvem |
Crie um grupo-alvo para o endpoint do API Gateway. |
| Administrador de nuvem |
Criar um Application Load Balancer. |
| Administrador de nuvem |
Cria regras de receptor. | Crie regras de receptor para fazer o seguinte:
| Administrador de nuvem |
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Criar uma zona hospedada privada | Crie uma zona hospedada privada para domain.com. | Administrador de nuvem |
Crie registros de domínio. | Crie CNAME registros para o seguinte:
| Administrador de nuvem |
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Crie e configure um API endpoint privado. |
| Desenvolvedor de aplicativos, administrador de nuvem |
Criar um nome de domínio personalizado |
| Administrador de nuvem |