

# Tutorial: Creación de una API de REST con una integración privada
<a name="getting-started-with-private-integration"></a>

En este tutorial, se crea una API de REST que se conecta a un servicio de Amazon ECS que se ejecuta en una Amazon VPC. Los clientes fuera de su VPC de Amazon pueden utilizar la API para acceder al Servicio Amazon ECS. 

Para completar este tutorial se necesita aproximadamente una hora. En primer lugar, utilice una plantilla de CloudFormation para crear una nube de Amazon VPC y un servicio Amazon ECS. Luego, utilice la consola de API Gateway para crear un enlace de VPC V2. El vínculo VPC permite a API Gateway acceder al Servicio Amazon ECS que se ejecuta en su Amazon VPC A continuación, se crea una API de REST que utilice el enlace de VPC V2 para conectarse al servicio de Amazon ECS. Por último, se prueba la API.

Al invocar la API de REST, API Gateway envía la solicitud al servicio de Amazon ECS a través del enlace de VPC V2 y, a continuación, devuelve la respuesta del servicio.

**nota**  
Anteriormente, este tutorial era compatible con las API HTTP y ahora lo es con las API de REST que utilizan el enlace de VPC V2.

![\[Información general de la API de REST creada en este tutorial.\]](http://docs.aws.amazon.com/es_es/apigateway/latest/developerguide/images/private-integration-rest.png)


Para completar este tutorial, necesita una cuenta de AWS y un usuario de AWS Identity and Access Management con acceso a la consola. Para obtener más información, consulte [Configuración para usar API Gateway](setting-up.md).

**Topics**
+ [Paso 1: crear un Servicio Amazon ECS](#rest-api-private-integration-create-ecs-service)
+ [Paso 2: crear un enlace de VPC](#http-api-private-integration-vpc-link)
+ [Paso 3: Crear una API de REST](#http-api-private-integration-create-api)
+ [Paso 4: probar la API](#rest-api-private-integration-test-api)
+ [Paso 5: implemente su API](#rest-api-private-integration-deploy-api)
+ [Paso 6: llamar a la API](#rest-api-private-integration-call)
+ [Paso 7: limpiar](#rest-api-private-integration-cleanup)

## Paso 1: crear un Servicio Amazon ECS
<a name="rest-api-private-integration-create-ecs-service"></a>

Amazon ECS es un servicio de administración de contenedores que le facilita la tarea de ejecutar, detener y administrar contenedores de Docker en un clúster. En este tutorial, ejecute el clúster en una infraestructura sin servidor administrada por Amazon ECS.

Descargue y descomprima [esta plantilla de CloudFormation](samples/rest-private-integration-tutorial.zip) que crea todas las dependencias del servicio, incluida una nube de Amazon VPC. Utilice la plantilla para crear un Servicio Amazon ECS que utilice un Application Load Balancer.

**Para crear una pila de CloudFormation**

1. Abra la consola de CloudFormation en [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/).

1. Seleccione **Create stack (Crear pila)** y, a continuación, seleccione **With new resources (standard) (Con nuevos recursos [estándar])**.

1. En **Specify template (Especificar plantilla)**, elija **Upload a template file (Cargar un archivo de plantilla)**.

1. Seleccione la plantilla que ha descargado.

1. Elija **Next (Siguiente)**. 

1. En **Stack name (Nombre de pila)**, escriba **rest-api-private-integrations-tutorial** y, a continuación, elija **Next (Siguiente)**.

1. En **Configure stack options (Configurar opciones de pila)**, elija **Next (Siguiente)**.

1. Para **Capabilities** (Capacidades), sepa que CloudFormation puede crear recursos de IAM en su cuenta.

1. Elija **Siguiente** y, a continuación, elija **Enviar**.

CloudFormation aprovisiona al Servicio ECS. Puede tardar unos minutos. Cuando el estado de la pila de CloudFormation sea **CREATE\$1COMPLETE**, estará listo para continuar con el paso siguiente.

## Paso 2: crear un enlace de VPC
<a name="http-api-private-integration-vpc-link"></a>

Un enlace de VPC permite a API Gateway acceder a recursos privados en una Amazon VPC Utilice un enlace de VPC para permitir a los clientes acceder al servicio de Amazon ECS a través de la API de REST.

**Para crear un enlace de VPC**

1. Inicie sesión en la consola de API Gateway en [https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway).

1. En el panel de navegación principal, elija **Enlaces de VPC** y, a continuación, elija **Crear**.

   Es posible que necesite elegir el icono del menú para abrir el panel de navegación principal.

1. En **Elegir una versión de enlace de VPC**, seleccione **Enlace de VPC V2**.

1. En **Name (Nombre)** escriba **private-integrations-tutorial**.

1. En **VPC**, elija la VPC que ha creado en el paso 1. El nombre debe empezar por **RestApiStack**.

1. En **Subnets (Subredes)**, seleccione las dos subredes privadas de la VPC. Los nombres terminan en `PrivateSubnet`.

1. Para **Grupos de seguridad**, seleccione el ID de grupo que comience por `private-integrations-tutorial` y tenga la descripción `RestApiStack/RestApiTutorialService/Service/SecurityGroup`.

1. Seleccione **Crear**.

Después de crear el enlace de VPC V2, API Gateway aprovisiona las interfaces de red elásticas para acceder a la VPC. El proceso puede demorar unos minutos. Mientras tanto, puede crear su API.

## Paso 3: Crear una API de REST
<a name="http-api-private-integration-create-api"></a>

La API de REST proporciona un punto de conexión HTTP para el servicio de Amazon ECS.



**Para crear una API de REST**

1. Inicie sesión en la consola de API Gateway en [https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway).

1. Seleccione **Create API (Crear API)**y, a continuación, para **API REST**, seleccione **Build (Construir)**.

1. En **Nombre**, escriba **private-integration-api**.

1. En **Tipo de dirección IP**, seleccione **IPv4**.

1. Seleccione **Crear API**.

   Después de crear la API, se crea un método.

1. Elija **Crear método** y luego haga lo siguiente:

   1. En **Tipo de método**, seleccione `GET`.

   1. En **Tipo de integración**, seleccione **Enlace de VPC**.

   1. Active **Integración de proxy de VPC**.

   1. En **Método HTTP**, seleccione `GET`.

   1. Para el **enlace de la VPC**, elija el enlace de VPC V2 que creó en el paso anterior.

   1. En **Objetivo de integración**, ingrese el equilibrador de carga que creó con la plantilla de CloudFormation en el paso 1. Su nombre debe empezar por **rest-**.

   1. En **URL del punto de conexión**, introduzca `http://private-integrations-tutorial.com`.

      La URL se utiliza para definir el encabezado `Host` de la solicitud de integración. En este caso, el encabezado del host es **private-integrations-tutorial**.

   1. Elija **Crear método**.

      Con la integración del proxy, la API está lista para probarse.

## Paso 4: probar la API
<a name="rest-api-private-integration-test-api"></a>

A continuación, se prueba a invocar el método de la API.

**Para probar la API**

1. Inicie sesión en la consola de API Gateway en [https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway).

1. Elija la API.

1. Elija la pestaña **Prueba**. Puede que tenga que elegir el botón de flecha hacia la derecha para mostrar la pestaña.

1. Seleccione **Probar**

   Compruebe que la respuesta de la API sea un mensaje de bienvenida que le indique que su aplicación se está ejecutando en Amazon ECS.

## Paso 5: implemente su API
<a name="rest-api-private-integration-deploy-api"></a>

A continuación, debe implementar la API.

**Para implementar su API**

1. Elija **Implementar API**.

1. En **Etapa**, seleccione **Nueva etapa**.

1. En **Stage name (Nombre de etapa)**, escriba **Prod**.

1. (Opcional) En **Description (Descripción)**, introduzca una descripción.

1. Elija **Implementar**.

## Paso 6: llamar a la API
<a name="rest-api-private-integration-call"></a>

Después de implementar la API, puede llamarla.

**Llamada a la API**

1. Ingrese la URL de invocación en un navegador web.

   La URL completa debería ser `https://abcd123.execute-api.us-east-2.amazonaws.com/Prod`. 

   Su navegador envía una `GET` solicitud a la API.

1. Compruebe que la respuesta de la API sea un mensaje de bienvenida que le indique que su aplicación se está ejecutando en Amazon ECS.

   Si ve el mensaje de bienvenida, ha creado correctamente un servicio de Amazon ECS que se ejecuta en una Amazon VPC y ha utilizado una API de REST de API Gateway con un enlace de VPC V2 para acceder al servicio de Amazon ECS.

## Paso 7: limpiar
<a name="rest-api-private-integration-cleanup"></a>

Para evitar costos innecesarios, elimine los recursos creados como parte de este tutorial Los pasos siguientes eliminan el enlace de VPC V2, la pila de CloudFormation y la API de REST.

**Para eliminar una API REST**

1. Inicie sesión en la consola de API Gateway en [https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway).

1. En la página **API**, seleccione una API. Elija **Action (Acciones)**, elija **Delete (Eliminar)**y, a continuación, confirme su elección.

**Para eliminar un enlace de VPC**

1. Inicie sesión en la consola de API Gateway en [https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway).

1. Elija **VPC link (Enlace de VPC)**.

1. Seleccione el enlace de VPC, elija **Delete (Eliminar)**y, a continuación, confirme su elección.

**Para eliminar una pila de CloudFormation**

1. Abra la consola de CloudFormation en [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/).

1. Seleccione su pila de CloudFormation.

1. Elija **Delete (Eliminar)** y, a continuación, confirme su elección.