Tutorial: Crie uma API REST com uma integração privada
Neste tutorial, você vai criar uma API REST que se conecte a um serviço do Amazon ECS executado em uma Amazon VPC. Clientes fora da sua Amazon VPC podem usar a API para acessar seu serviço do Amazon ECS.
Este tutorial leva aproximadamente uma hora para ser concluído. Primeiro, você usa um modelo do CloudFormation para criar um serviço da Amazon VPC e do Amazon ECS. Depois, você vai usar o console do API Gateway para criar um link da VPC V2. O link da VPC permite que o API Gateway acesse o serviço do Amazon ECS executado em sua Amazon VPC. Depois, você vai criar uma API REST que use o link da VPC V2 para se conectar ao seu serviço do Amazon ECS. Por fim, você testa a sua API.
Quando você invoca sua API REST, o API Gateway encaminha a solicitação para o serviço do Amazon ECS por meio do link da VPC V2 e, depois, exibe a resposta do serviço.
nota
Anteriormente, esse tutorial comportava APIs HTTP e agora só comporta APIs REST que utilizem o link da VPC V2.
Para concluir esse tutorial, você precisa de uma conta da AWS e de um usuário do AWS Identity and Access Management com acesso ao console. Para obter mais informações, consulte Configurar para usar o API Gateway.
Tópicos
Etapa 1: Crie um serviço do Amazon ECS
O Amazon ECS é um serviço de gerenciamento de contêineres que facilita a execução, a interrupção e o gerenciamento de contêineres do Docker em um cluster. Neste tutorial, você executa seu cluster em uma infraestrutura sem servidor gerenciada pelo Amazon ECS.
Baixe e descompacte este modelo do CloudFormation que cria todas as dependências do serviço, incluindo uma Amazon VPC. Use o modelo para criar um serviço do Amazon ECS que usa um Application Load Balancer.
Como criar uma pilha do CloudFormation
Abra o console do CloudFormation em https://console.aws.amazon.com/cloudformation
. -
Selecione Create stack (Criar pilha) e With new resources (standard) (Com novos recursos (padrão)).
-
Em Specify template (Especificar modelo), escolha Upload a template file (Fazer upload de um arquivo de modelo).
-
Selecione o modelo que você baixou.
-
Escolha Next (Próximo).
-
Em Nome da pilha, insira
rest-api-private-integrations-tutoriale escolha Avançar. -
Para Configurar opções de pilha, escolha Avançar.
-
Para Capabilities (Recursos), reconheça que CloudFormation pode criar recursos do IAM em sua conta.
-
Escolha Próximo e, depois, Enviar.
CloudFormation provisiona o serviço ECS, que pode levar alguns minutos. Quando o status da sua pilha do CloudFormation for CREATE_COMPLETE, você estará pronto para passar para a próxima etapa.
Etapa 2: Crie um link da VPC
Um link da VPC permite que o API Gateway acesse recursos privados em uma Amazon VPC. Você deve usar um link da VPC para permitir que os clientes acessem seu serviço do Amazon ECS por meio da API REST.
Para criar um link da VPC
Inicie uma sessão no console do API Gateway em https://console.aws.amazon.com/apigateway
. -
No painel de navegação principal, escolha Links da VPC e selecione Criar.
Escolha o ícone do menu para se for necessário abrir o painel de navegação principal.
-
Em Escolher versão do link de VPC, selecione Link da VPC V2.
-
Em Name (Nome), insira
private-integrations-tutorial. -
Em VPC, escolha a VPC criada na etapa 1. O nome deve começar com RestApiStack.
-
Para Sub-redes, selecione as duas sub-redes privadas em sua VPC. Os nomes delas terminam com
PrivateSubnet. -
Em Grupos de segurança, selecione o ID do grupo que começa com
private-integrations-tutoriale tem a descrição deRestApiStack/RestApiTutorialService/Service/SecurityGroup. -
Escolha Criar.
Depois de criar seu link da VPC V2, o API Gateway provisiona as interfaces de rede elásticas para acessar sua VPC. O processo pode levar alguns minutos. Enquanto isso, você pode criar sua API.
Etapa 3: criar uma API REST
A API REST fornece um endpoint HTTP para o seu serviço do Amazon ECS.
Como criar uma API REST
Inicie uma sessão no console do API Gateway em https://console.aws.amazon.com/apigateway
. -
Escolha Criar APIe, em seguida, para API REST, escolha Criar.
-
Em Name (Nome), insira
private-integration-api. -
Em Tipo de endereço IP, selecione IPv4.
Selecione Criar API.
Depois de criar a API, você criará um método.
-
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, escolha o link da VPC V2 que você criou na etapa anterior.
-
Em Destino de integração, insira o balanceador de carga criado com o modelo do CloudFormation na Etapa 1. Seu nome deve começar com rest-.
-
Em URL do endpoint, insira
http://private-integrations-tutorial.com.O URL é utilizado para definir o cabeçalho
Hostda solicitação de integração. Nesse caso, o cabeçalho do host éprivate-integrations-tutorial. Escolha Criar método.
Com a integração de proxy, a API está pronta para o teste.
Etapa 4: Testar sua API
Depois, teste a invocação do método de API.
Para testar sua API
Inicie uma sessão no console do API Gateway em https://console.aws.amazon.com/apigateway
. -
Selecione a API.
Selecione a guia Testar. Talvez seja necessário selecionar o botão de seta para a direita para mostrar a guia.
Escolha Testar.
Verifique se a resposta da sua API é uma mensagem de boas-vindas que informa que seu aplicativo está sendo executado no Amazon ECS.
Etapa 5: Implante sua API
Depois, implante a API.
Para implantar sua API
Escolha Implantar API.
Em Estágio, selecione Novo estágio.
Em Stage name (Nome do estágio), insira
Prod.(Opcional) Em Description (Descrição), insira uma descrição.
Escolha Implantar.
Etapa 6: chamar a API
Depois de implantar a API, você pode chamá-la.
Como chamar a API
-
Insira o URL de invocação em um navegador da web.
O URL deve ser semelhante a
https://.abcd123.execute-api.us-east-2.amazonaws.com/ProdSeu navegador envia uma solicitação
GETà API. -
Verifique se a resposta da sua API é uma mensagem de boas-vindas que informa que seu aplicativo está sendo executado no Amazon ECS.
Se você vir a mensagem de boas-vindas, é sinal de que criou corretamente um serviço do Amazon ECS executado em uma Amazon VPC e utilizou uma API REST do API Gateway com um link da VPC V2 para acessar o serviço do Amazon ECS.
Etapa 7: limpar
Para evitar custos desnecessários, exclua os recursos que você criou como parte desse tutorial. As etapas a seguir excluem o link da VPC V2, a pilha do CloudFormation e a API REST.
Para excluir uma API REST
Inicie uma sessão no console do API Gateway em https://console.aws.amazon.com/apigateway
. -
Na página APIs , selecione uma API. Escolha Ações, escolha Excluir e, em seguida, confirme sua escolha.
Para excluir um link da VPC
Inicie uma sessão no console do API Gateway em https://console.aws.amazon.com/apigateway
. -
Escolha Link da VPC.
-
Selecione seu link da VPC, escolha Excluire confirme sua escolha.
Para excluir uma pilha do CloudFormation
Abra o console do CloudFormation em https://console.aws.amazon.com/cloudformation
. -
Selecione sua pilha do CloudFormation.
-
Escolha Excluir e, em seguida, confirme sua escolha.