Tutorial: Creación de una API de REST con una integración privada
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.
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.
Temas
Paso 1: crear un Servicio Amazon ECS
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 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
Abra la consola de CloudFormation en https://console.aws.amazon.com/cloudformation
. -
Seleccione Create stack (Crear pila) y, a continuación, seleccione With new resources (standard) (Con nuevos recursos [estándar]).
-
En Specify template (Especificar plantilla), elija Upload a template file (Cargar un archivo de plantilla).
-
Seleccione la plantilla que ha descargado.
-
Elija Next (Siguiente).
-
En Stack name (Nombre de pila), escriba
rest-api-private-integrations-tutorialy, a continuación, elija Next (Siguiente). -
En Configure stack options (Configurar opciones de pila), elija Next (Siguiente).
-
Para Capabilities (Capacidades), sepa que CloudFormation puede crear recursos de IAM en su cuenta.
-
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_COMPLETE, estará listo para continuar con el paso siguiente.
Paso 2: crear un enlace de VPC
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
Inicie sesión en la consola de API Gateway en https://console.aws.amazon.com/apigateway
. -
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.
-
En Elegir una versión de enlace de VPC, seleccione Enlace de VPC V2.
-
En Name (Nombre) escriba
private-integrations-tutorial. -
En VPC, elija la VPC que ha creado en el paso 1. El nombre debe empezar por RestApiStack.
-
En Subnets (Subredes), seleccione las dos subredes privadas de la VPC. Los nombres terminan en
PrivateSubnet. -
Para Grupos de seguridad, seleccione el ID de grupo que comience por
private-integrations-tutorialy tenga la descripciónRestApiStack/RestApiTutorialService/Service/SecurityGroup. -
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
La API de REST proporciona un punto de conexión HTTP para el servicio de Amazon ECS.
Para crear una API de REST
Inicie sesión en la consola de API Gateway en https://console.aws.amazon.com/apigateway
. -
Seleccione Create API (Crear API)y, a continuación, para API REST, seleccione Build (Construir).
-
En Nombre, escriba
private-integration-api. -
En Tipo de dirección IP, seleccione IPv4.
Seleccione Crear API.
Después de crear la API, se crea un método.
-
Elija Crear método y luego haga lo siguiente:
En Tipo de método, seleccione
GET.En Tipo de integración, seleccione Enlace de VPC.
Active Integración de proxy de VPC.
En Método HTTP, seleccione
GET.-
Para el enlace de la VPC, elija el enlace de VPC V2 que creó en el paso anterior.
-
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-.
-
En URL del punto de conexión, introduzca
http://private-integrations-tutorial.com.La URL se utiliza para definir el encabezado
Hostde la solicitud de integración. En este caso, el encabezado del host esprivate-integrations-tutorial. Elija Crear método.
Con la integración del proxy, la API está lista para probarse.
Paso 4: probar la API
A continuación, se prueba a invocar el método de la API.
Para probar la API
Inicie sesión en la consola de API Gateway en https://console.aws.amazon.com/apigateway
. -
Elija la API.
Elija la pestaña Prueba. Puede que tenga que elegir el botón de flecha hacia la derecha para mostrar la pestaña.
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 continuación, debe implementar la API.
Para implementar su API
Elija Implementar API.
En Etapa, seleccione Nueva etapa.
En Stage name (Nombre de etapa), escriba
Prod.(Opcional) En Description (Descripción), introduzca una descripción.
Elija Implementar.
Paso 6: llamar a la API
Después de implementar la API, puede llamarla.
Llamada a la API
-
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/ProdSu navegador envía una
GETsolicitud a la API. -
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
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
Inicie sesión en la consola de API Gateway en https://console.aws.amazon.com/apigateway
. -
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
Inicie sesión en la consola de API Gateway en https://console.aws.amazon.com/apigateway
. -
Elija VPC link (Enlace de VPC).
-
Seleccione el enlace de VPC, elija Delete (Eliminar)y, a continuación, confirme su elección.
Para eliminar una pila de CloudFormation
Abra la consola de CloudFormation en https://console.aws.amazon.com/cloudformation
. -
Seleccione su pila de CloudFormation.
-
Elija Delete (Eliminar) y, a continuación, confirme su elección.