Tutorial: Crie uma API REST com uma integração privada - Amazon API Gateway

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.

Visão geral da API REST criada neste tutorial.

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.

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
  1. Abra o console do CloudFormation em https://console.aws.amazon.com/cloudformation.

  2. Selecione Create stack (Criar pilha) e With new resources (standard) (Com novos recursos (padrão)).

  3. Em Specify template (Especificar modelo), escolha Upload a template file (Fazer upload de um arquivo de modelo).

  4. Selecione o modelo que você baixou.

  5. Escolha Next (Próximo).

  6. Em Nome da pilha, insira rest-api-private-integrations-tutorial e escolha Avançar.

  7. Para Configurar opções de pilha, escolha Avançar.

  8. Para Capabilities (Recursos), reconheça que CloudFormation pode criar recursos do IAM em sua conta.

  9. 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.

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
  1. Inicie uma sessão no console do API Gateway em https://console.aws.amazon.com/apigateway.

  2. 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.

  3. Em Escolher versão do link de VPC, selecione Link da VPC V2.

  4. Em Name (Nome), insira private-integrations-tutorial.

  5. Em VPC, escolha a VPC criada na etapa 1. O nome deve começar com RestApiStack.

  6. Para Sub-redes, selecione as duas sub-redes privadas em sua VPC. Os nomes delas terminam com PrivateSubnet.

  7. Em Grupos de segurança, selecione o ID do grupo que começa com private-integrations-tutorial e tem a descrição de RestApiStack/RestApiTutorialService/Service/SecurityGroup.

  8. 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
  1. Inicie uma sessão no console do API Gateway em https://console.aws.amazon.com/apigateway.

  2. Escolha Criar APIe, em seguida, para API REST, escolha Criar.

  3. Em Name (Nome), insira private-integration-api.

  4. Em Tipo de endereço IP, selecione IPv4.

  5. Selecione Criar API.

    Depois de criar a API, você criará um método.

  6. Selecione Criar método e proceda da seguinte maneira:

    1. Em Tipo de método, selecione GET.

    2. Em Tipo de integração, selecione Link de VPC.

    3. Ative Integração de proxy VPC.

    4. Em Método HTTP, selecione GET.

    5. Em Link de VPC, escolha o link da VPC V2 que você criou na etapa anterior.

    6. 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-.

    7. Em URL do endpoint, insira http://private-integrations-tutorial.com.

      O URL é utilizado para definir o cabeçalho Host da solicitação de integração. Nesse caso, o cabeçalho do host é private-integrations-tutorial.

    8. 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
  1. Inicie uma sessão no console do API Gateway em https://console.aws.amazon.com/apigateway.

  2. Selecione a API.

  3. Selecione a guia Testar. Talvez seja necessário selecionar o botão de seta para a direita para mostrar a guia.

  4. 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
  1. Escolha Implantar API.

  2. Em Estágio, selecione Novo estágio.

  3. Em Stage name (Nome do estágio), insira Prod.

  4. (Opcional) Em Description (Descrição), insira uma descrição.

  5. Escolha Implantar.

Etapa 6: chamar a API

Depois de implantar a API, você pode chamá-la.

Como chamar a API
  1. 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/Prod.

    Seu navegador envia uma solicitação GET à API.

  2. 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
  1. Inicie uma sessão no console do API Gateway em https://console.aws.amazon.com/apigateway.

  2. Na página APIs , selecione uma API. Escolha Ações, escolha Excluir e, em seguida, confirme sua escolha.

Para excluir um link da VPC
  1. Inicie uma sessão no console do API Gateway em https://console.aws.amazon.com/apigateway.

  2. Escolha Link da VPC.

  3. Selecione seu link da VPC, escolha Excluire confirme sua escolha.

Para excluir uma pilha do CloudFormation
  1. Abra o console do CloudFormation em https://console.aws.amazon.com/cloudformation.

  2. Selecione sua pilha do CloudFormation.

  3. Escolha Excluir e, em seguida, confirme sua escolha.