

# Tutorial: Crie uma API REST com uma integração privada
<a name="getting-started-with-private-integration"></a>

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.\]](http://docs.aws.amazon.com/pt_br/apigateway/latest/developerguide/images/private-integration-rest.png)


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](setting-up.md).

**Topics**
+ [Etapa 1: Crie um serviço do Amazon ECS](#rest-api-private-integration-create-ecs-service)
+ [Etapa 2: Crie um link da VPC](#http-api-private-integration-vpc-link)
+ [Etapa 3: criar uma API REST](#http-api-private-integration-create-api)
+ [Etapa 4: Testar sua API](#rest-api-private-integration-test-api)
+ [Etapa 5: Implante sua API](#rest-api-private-integration-deploy-api)
+ [Etapa 6: chamar a API](#rest-api-private-integration-call)
+ [Etapa 7: limpar](#rest-api-private-integration-cleanup)

## Etapa 1: Crie um serviço do Amazon ECS
<a name="rest-api-private-integration-create-ecs-service"></a>

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](samples/rest-private-integration-tutorial.zip) 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](https://console.aws.amazon.com/cloudformation/).

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

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

1. Selecione o modelo que você baixou.

1. Escolha **Next (Próximo)**. 

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

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

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

1. 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\$1COMPLETE**, você estará pronto para passar para a próxima etapa.

## Etapa 2: Crie um link da VPC
<a name="http-api-private-integration-vpc-link"></a>

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](https://console.aws.amazon.com/apigateway).

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

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

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

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

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

1. 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`.

1. 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 name="http-api-private-integration-create-api"></a>

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](https://console.aws.amazon.com/apigateway).

1. Escolha **Criar API**e, em seguida, para **API REST**, escolha **Criar**.

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

1. Em **Tipo de endereço IP**, selecione **IPv4**.

1. Selecione **Criar API**.

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

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

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

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

   1. Ative **Integração de proxy VPC**.

   1. Em **Método HTTP**, selecione `GET`.

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

   1. 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-**.

   1. 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**.

   1. Escolha **Criar método**.

      Com a integração de proxy, a API está pronta para o teste.

## Etapa 4: Testar sua API
<a name="rest-api-private-integration-test-api"></a>

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](https://console.aws.amazon.com/apigateway).

1. Selecione a API.

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

1. 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
<a name="rest-api-private-integration-deploy-api"></a>

Depois, implante a API.

**Para implantar sua API**

1. Escolha **Implantar API**.

1. Em **Estágio**, selecione **Novo estágio**.

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

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

1. Escolha **Implantar**.

## Etapa 6: chamar a API
<a name="rest-api-private-integration-call"></a>

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.

1. 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
<a name="rest-api-private-integration-cleanup"></a>

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](https://console.aws.amazon.com/apigateway).

1. 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](https://console.aws.amazon.com/apigateway).

1. Escolha **Link da VPC**.

1. Selecione seu link da VPC, escolha **Excluir**e confirme sua escolha.

**Para excluir uma pilha do CloudFormation**

1. Abra o console do CloudFormation em [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/).

1. Selecione sua pilha do CloudFormation.

1. Escolha **Excluir** e, em seguida, confirme sua escolha.