En este tutorial, creará una API sin servidor que se conecta a un Servicio 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 AWS 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. El vínculo VPC permite a API Gateway acceder al Servicio Amazon ECS que se ejecuta en su Amazon VPC A continuación, cree una API HTTP que utilice el vínculo VPC para conectarse al Servicio Amazon ECS. Por último, se prueba la API.
Al invocar la API HTTP, API Gateway envía la solicitud al Servicio Amazon ECS a través del vínculo VPC y, a continuación, devuelve la respuesta del servicio.

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.
En este tutorial, se utiliza la AWS Management Console. Para obtener una plantilla de AWS CloudFormation que cree esta API y todos los recursos relacionados, consulte template.yaml.
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 AWS 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 AWS CloudFormation
Abra la consola de AWS 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
http-api-private-integrations-tutorial
y, a continuación, elija Next (Siguiente). -
En Configure stack options (Configurar opciones de pila), elija Next (Siguiente).
-
Para Capabilities (Capacidades), sepa que AWS CloudFormation puede crear recursos de IAM en su cuenta.
-
Seleccione Enviar.
AWS CloudFormation aprovisiona al Servicio ECS. Puede tardar unos minutos. Cuando el estado de la pila de AWS 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 Amazon ECS a través de su API HTTP.
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 Choose a VPC link version (Elegir una versión de enlace de VPC), seleccione VPC link for HTTP APIs (Enlace de VPC para API HTTP).
-
En Name (Nombre) escriba
private-integrations-tutorial
. -
En VPC, elija la VPC que ha creado en el paso 1. El nombre debe comenzar con PrivateIntegrationsStack.
-
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-tutorial
y tenga la descripciónPrivateIntegrationsStack/PrivateIntegrationsTutorialService/Service/SecurityGroup
. -
Seleccione Crear.
Después de crear el vínculo VPC, 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 HTTP
La API HTTP proporciona un punto de enlace HTTP para su Servicio Amazon ECS. En este paso, se crea una API vacía. En los pasos 4 y 5, va a configurar una ruta y una integración para conectar la API y el Servicio Amazon ECS.
Para crear una API HTTP
Inicie sesión en la consola de API Gateway en https://console.aws.amazon.com/apigateway
. -
Seleccione Crear APIy, a continuación, para API HTTP, seleccione Crear.
-
En API name (Nombre de la API), escriba
http-private-integrations-tutorial
. -
Elija Next (Siguiente).
-
En Configurar rutas, seleccione Siguiente para omitir la creación de rutas. Se crearán rutas más adelante.
-
Revise la etapa que API Gateway le crea. API Gateway crea una etapa
$default
con implementaciones automáticas habilitadas, que es la mejor opción para este tutorial. Elija Next (Siguiente). -
Seleccione Create (Crear).
Paso 4: creación de una ruta
Las rutas son una manera de enviar solicitudes entrantes de API a los recursos de backend. Las rutas constan de dos partes: un método HTTP y una ruta de recurso, por ejempl, GET /items
. Para este ejemplo de API, creamos una ruta.
Para crear una ruta
Inicie sesión en la consola de API Gateway en https://console.aws.amazon.com/apigateway
. -
Elija la API.
-
Elija Routes (Rutas).
-
Seleccione Create (Crear).
-
En Method (Método), seleccione
ANY
. -
En la ruta de acceso, introduzca
/{proxy+}
. El{proxy+}
al final de la ruta es una variable de ruta voraz. API Gateway envía todas las solicitudes a su API por esta ruta. -
Seleccione Create (Crear).
Paso 5: crear una integración
Se crea una integración para conectar una ruta a los recursos de backend.
Para crear una integración
Inicie sesión en la consola de API Gateway en https://console.aws.amazon.com/apigateway
. -
Elija la API.
-
Seleccione Integraciones.
-
Seleccione Administrar integraciones y, a continuación, seleccione Crear.
-
En Atach this intergration to a route (Adjuntar esta integración a una ruta), seleccione la ruta ANY/{proxy+} que creó anteriormente.
-
En Integration type (Tipo de integración), elija Private resource (Recurso privado).
-
En Integration details (Detalles de integración), elija Select manually (Seleccionar manualmente).
-
En Target service (Servicio de destino), seleccione ALB/NLB.
-
En Load balancer (Equilibrador de carga), elija el equilibrador de carga que creó con la plantilla de AWS CloudFormation en el paso 1. El nombre debería comenzar con http-Priva.
-
En Listener (Agente de escucha), elija
HTTP 80
. -
Para VPC link (Enlace de VPC), elija el enlace de VPC que creó en el paso 2. El nombre debería ser
private-integrations-tutorial
. -
Seleccione Create (Crear).
Para comprobar que la ruta y la integración están configuradas correctamente, seleccione Attach integrations to routes (Adjuntar las integraciones a las rutas). La consola muestra que tiene una ruta ANY /{proxy+}
con una integración a un balanceador de carga de VPC.

Ya está listo para probar su API.
Paso 6: probar la API
A continuación, pruebe su API para asegurarse de que se encuentra en funcionamiento. Para mayor simplicidad, utilice un navegador web para invocar 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.
-
Tenga en cuenta la URL de invocación de la API.
-
En un navegador web, vaya a la URL que invoca a su API.
La URL completa debería ser
https://
.abcdef123
.execute-api.us-east-2
.amazonaws.com.rproxy.goskope.comSu navegador envía una
GET
solicitud 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 Amazon ECS que se ejecuta en la VPC de Amazon y ha utilizado una API HTTP de API Gateway con un vínculo VPC para acceder al servicio Amazon ECS.
Paso 7: Limpieza
Para evitar costos innecesarios, elimine los recursos creados como parte de este tutorial Los pasos siguientes eliminan el enlace de la VPC, la pila de AWS CloudFormation y la API HTTP.
Para eliminar una API HTTP
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 AWS CloudFormation
Abra la consola de AWS CloudFormation en https://console.aws.amazon.com/cloudformation
. -
Seleccione su pila de AWS CloudFormation.
-
Elija Delete (Eliminar) y, a continuación, confirme su elección.
Próximos pasos: automatice con AWS CloudFormation
Puede automatizar la creación y la limpieza de todos los recursos de AWS involucrados en este tutorial. Para obtener una plantilla de AWS CloudFormation de ejemplo completa, consulte template.yaml.