Criar integrações privadas para APIs HTTP no API Gateway
As integrações privadas permitem que você crie integrações de API com recursos privados em uma VPC, como Application Load Balancers ou aplicações baseadas em contêiner do Amazon ECS.
Você pode expor seus recursos em uma VPC para acesso por clientes fora da VPC usando integrações privadas. Você pode controlar o acesso à sua API usando qualquer um dos métodos de autorização compatíveis com o API Gateway.
nota
Para criar uma integração privada, primeiro crie um link de VPC. Os links da VPC V2 agora comportam APIs HTTP e REST. Para saber mais sobre links da VPC V2, consulte Configurar links da VPC V2 no API Gateway.
Depois de criar um link da VPC V2, é possível configurar integrações privadas que se conectam a um Application Load Balancer, Network Load Balancer ou a recursos registrados em um serviço do AWS Cloud Map.
Considerações
As considerações a seguir podem afetar o uso de integrações privadas:
-
Todos os recursos devem ser de propriedade da mesma Conta da AWS. Isso inclui o balanceador de carga ou o serviço AWS Cloud Map, o link da VPC e a API HTTP.
Por padrão, o tráfego de integração privada usa o protocolo HTTP. Para usar HTTPS, especifique uma
tlsConfig. Para fazer isso usando o Console de gerenciamento da AWS, ao criar sua integração privada, escolha Configurações avançadas e, depois, insira um nome de servidor seguro.Para integrações privadas, o API Gateway inclui a parte do estágio do endpoint da API na solicitação para seus recursos de backend. Por exemplo, uma solicitação para o estágio
testde uma API incluitest/na solicitação para sua integração privada. Para remover o nome do estágio da solicitação para os seus recursos de backend, use o mapeamento de parâmetros para substituir o caminho da solicitação pararoute-path$request.path.
Criar uma integração privada usando um Application Load Balancer ou Network Load Balancer
Antes de criar uma integração privada, você deve criar um link da VPC V2. Para saber mais sobre links da VPC V2, consulte Configurar links da VPC V2 no API Gateway.
Para criar uma integração privada com um Application Load Balancer ou Network Load Balancer, crie uma integração de proxy HTTP, especifique o link de VPC a ser usado e forneça o ARN de listener do balanceador de carga.
O comando create-integration indicado abaixo cria uma integração privada que se conecta a um balanceador de carga usando um link de VPC.
aws apigatewayv2 create-integration --api-idapi-id--integration-type HTTP_PROXY \ --integration-method GET --connection-type VPC_LINK \ --connection-idVPC-link-ID\ --integration-uriarn:aws:elasticloadbalancing:us-east-2:123456789012:listener/app/my-load-balancer/50dc6c495c0c9188/0467ef3c8400ae65--payload-format-version 1.0
Criar uma integração privada usando a descoberta de serviço do AWS Cloud Map
Antes de criar uma integração privada, você deve criar um link da VPC V2. Para saber mais sobre links de VPC, consulte Configurar links da VPC V2 no API Gateway.
Para integrações com o AWS Cloud Map, o API Gateway usa DiscoverInstances para identificar recursos. Você pode usar parâmetros de consulta para direcionar recursos específicos. Os atributos dos recursos registrados devem incluir endereços IP e portas. O API Gateway distribui solicitações entre recursos íntegros que são retornados de DiscoverInstances. Para saber mais, consulte DiscoverInstances na Referência da API do AWS Cloud Map.
nota
Se usar o Amazon ECS para preencher entradas no AWS Cloud Map, você deverá configurar a tarefa do Amazon ECS para usar registros SRV com a descoberta de serviços do Amazon ECS ou ativar o Amazon ECS Service Connect. Para obter mais informações, consulte Interconexão de serviços no Guia do desenvolvedor do Amazon Elastic Container Service.
Para criar uma integração privada com o AWS Cloud Map, crie uma integração de proxy HTTP, especifique o link de VPC a ser usado e forneça o ARN do serviço AWS Cloud Map.
O comando create-integration indicado abaixo cria uma integração privada que usa a descoberta de serviços do AWS Cloud Map para identificar recursos:
aws apigatewayv2 create-integration --api-idapi-id--integration-type HTTP_PROXY \ --integration-method GET --connection-type VPC_LINK \ --connection-idVPC-link-ID\ --integration-uriarn:aws:servicediscovery:us-east-2:123456789012:service/srv-id?stage=prod&deployment=green_deployment--payload-format-version 1.0