Tutorial: Crie uma API REST com uma integração privada
É possível criar uma API do API Gateway com integração privada para fornecer aos seus clientes acesso a recursos HTTP/HTTPS dentro da Amazon Virtual Private Cloud (Amazon VPC). Esses recursos da VPC são endpoints HTTP/HTTPS em uma instância do EC2 por trás de um Network Load Balancer na VPC. O Network Load Balancer encapsula o recurso da VPC e encaminha as solicitações recebidas ao recurso de destino.
Quando um cliente chama a API, o API Gateway se conecta ao Network Load Balancer por meio do link de VPC pré-configurado. Um link de VPC é encapsulado por um recurso do API Gateway de VpcLink. Ele é responsável por encaminhar as solicitações do método da API aos recursos da VPC e retornar respostas de backend ao autor da chamada. Para um desenvolvedor de API, um VpcLink
é funcionalmente equivalente a um endpoint de integração.
Para criar uma API com integração privada, é necessário criar um novo VpcLink
ou escolher um existente que esteja conectado a um Network Load Balancer e vise os recursos da VPC desejados. Você deve ter permissões apropriadas para criar e gerenciar um VpcLink
. Depois, configure um método de API e integre-o ao VpcLink
definindo HTTP
ou HTTP_PROXY
como o tipo de integração, definindo VPC_LINK
como o tipo de conexão da integração e definindo o identificador VpcLink
no connectionId
da integração.
nota
O Network Load Balancer e a API devem pertencer à mesma conta da AWS.
Para começar rapidamente a criação de uma API para acessar recursos da VPC, explicaremos as etapas essenciais para a criação de uma API com a integração privada, usando o console do API Gateway. Antes de criar a API, faça o seguinte:
-
Crie um recurso da VPC, crie ou escolha um Network Load Balancer em sua conta na mesma região e adicione a instância do EC2 que hospeda o recurso como um destino do Network Load Balancer. Para obter mais informações, consulte Configurar um Network Load Balancer para integrações privadas do API Gateway.
-
Conceda permissões para criar os links da VPC para integrações privadas. Para obter mais informações, consulte Conceder permissões do API Gateway para criar um link de VPC.
Depois de criar o recurso da VPC e o Network Load Balancer com o recurso da VPC configurado em seus grupos de destino, siga as instruções abaixo para criar uma API e integrá-la ao recurso da VPC por meio de um VpcLink
em uma integração privada.
Como criar uma API com uma integração privada
Inicie uma sessão no console do API Gateway em https://console.aws.amazon.com/apigateway
. -
Se esta for a primeira vez que você usa o API Gateway, você verá uma página com os recursos do serviço. Em REST API, escolha Build (Criar). Quando o pop-up Create Example API (Criar API de exemplo) for exibido, escolha OK.
Se essa não for a primeira vez que você usa o API Gateway, escolha Create API (Criar API). Em REST API, escolha Build (Criar).
Crie uma API REST regional ou otimizada para borda.
-
Selecione a API.
-
Selecione Criar método e proceda da seguinte maneira:
Em Tipo de método, selecione
GET
.Em Tipo de integração, selecione Link de VPC.
Ative Integração de proxy VPC.
Em Método HTTP, selecione
GET
.Em Link de VPC, selecione [Usar variável de estágio] e insira
${stageVariables.vpcLinkId}
na caixa de texto abaixo.Você vai definir a variável de estágio
vpcLinkId
depois de implantar a API em um estágio e definir o valor como o ID deVpcLink
.Em URL do endpoint, insira um URL, por exemplo,
http://myApi.example.com
.Aqui, o nome do host (por exemplo,
myApi.example.com
) é usado para definir o cabeçalho deHost
da solicitação de integração.Escolha Criar método.
Com a integração de proxy, a API está pronta para a implantação. Caso contrário, você precisa continuar a configuração de respostas apropriadas do método e da integração.
Selecione Implantar API e faça o seguinte:
Em Estágio, selecione Novo estágio.
Em Nome do estágio, insira o nome de um estágio.
(Opcional) Em Description (Descrição), insira uma descrição.
Escolha Implantar.
-
Na seção Detalhes do estágio, observe o URL de invocação resultante. Ela é necessária para invocar a API. Antes de fazer isso, você deve configurar a variável de estágio do
vpcLinkId
. -
No painel Estágios, selecione a guia Variáveis de estágio e faça o seguinte:
Selecione Gerenciar variáveis e, depois, Adicionar variável de estágio.
-
Em Nome, digite
vpcLinkId
. -
Em Valor, insira o ID de
VPC_LINK
, por exemplo,
.gix6s7
-
Escolha Salvar.
Usando a variável de estágio, você pode facilmente alternar para diferentes links de VPC para a API alterando o valor da variável do estágio.