Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Implemente un Amazon API Gateway API en un sitio web interno mediante puntos de conexión privados y un Application Load Balancer
Creado por Saurabh Kothari () AWS
Entorno: producción | Tecnologías: aplicaciones web y móviles; redes; sin servidor; infraestructura | AWSservicios: Amazon API Gateway; Amazon Route 53; AWS Certificate Manager (ACM) |
Resumen
Este patrón le muestra cómo implementar Amazon API Gateway API en un sitio web interno al que se puede acceder desde una red local. Aprenderá a crear un nombre de dominio personalizado para un dominio privado API mediante una arquitectura diseñada con puntos de enlace privados, un Application Load Balancer y Amazon AWS PrivateLink Route 53. Esta arquitectura evita las consecuencias imprevistas del uso de un nombre de dominio y un servidor proxy personalizados para facilitar el enrutamiento basado en dominios en un. API Por ejemplo, si implementa un punto final de nube privada virtual (VPC) en una subred no enrutable, la red no podrá llegar a Gateway. API Una solución habitual consiste en utilizar un nombre de dominio personalizado y, a continuación, implementarlo API en una subred enrutable, pero esto puede interrumpir otros sitios internos cuando la configuración del proxy transfiere el tráfico (execute-api.{region}.vpce.amazonaws.com
) a Direct AWS Connect. Por último, este patrón puede ayudarte a cumplir con los requisitos organizativos relacionados con el uso de un dominio privado al API que no se pueda acceder desde Internet y un nombre de dominio personalizado.
Requisitos previos y limitaciones
Requisitos previos
¿Una cuenta activa AWS
Un certificado de indicación del nombre de servidor (SNI) para su sitio web y API
Una conexión desde un entorno local a una AWS cuenta configurada mediante AWS Direct Connect o AWS Site-to-Site VPN
Una zona alojada privada con el dominio correspondiente (por ejemplo, domain.com) que se resuelve desde una red local y reenvía las DNS consultas a Route 53
Una subred privada enrutable a la que se puede acceder desde una red en las instalaciones
Limitaciones
Para obtener más información sobre las cuotas (antes denominadas límites) para los equilibradores de carga, las reglas y otros recursos, consulte Cuotas para los Equilibrador de carga de aplicación en la documentación de Elastic Load Balancing.
Arquitectura
Pila de tecnología
Amazon API Gateway
Amazon Route 53
Equilibrador de carga de aplicación
AWSCertificate Manager
AWS PrivateLink
Arquitectura de destino
El siguiente diagrama muestra cómo se implementa un Application Load Balancer en un sistema VPC que dirige el tráfico web a un grupo objetivo de un sitio web o a un grupo objetivo de API Gateway en función de las reglas de escucha del Application Load Balancer. El grupo objetivo de API Gateway es una lista de direcciones IP para el VPC punto final de Gateway. API APILa puerta de enlace está configurada para convertirla en API privada con su política de recursos. La política deniega todas las llamadas que no procedan de un VPC punto final específico. Los nombres de dominio personalizados de API Gateway se actualizan para utilizar api.domain.com en la fase API y en su fase. Las reglas de Equilibrador de carga de aplicación se agregan para enrutar el tráfico en función del nombre del host.
En el diagrama, se muestra el siguiente flujo de trabajo:
Un usuario de una red en las instalaciones intenta acceder a un sitio web interno. La solicitud se envía a ui.domain.com y api.domain.com. A continuación, la solicitud se resuelve en el Equilibrador de carga de aplicación interno de la subred privada enrutable. SSLSe termina en el Application Load Balancer de ui.domain.com y api.domain.com.
Las reglas de oyente, configuradas en Equilibrador de carga de aplicación, comprueban el encabezado del host.
a. Si el encabezado del host es api.domain.com, la solicitud se reenvía al grupo objetivo de Gateway. API El Application Load Balancer inicia una nueva conexión con API Gateway a través del puerto 443.
b. Si el encabezado del host es ui.domain.com, la solicitud se reenvía al grupo objetivo del sitio web.
Cuando la solicitud llega a API Gateway, la asignación de dominios personalizada configurada en API Gateway determina el nombre de host y cuál se API debe ejecutar.
Automatizar y escalar
Los pasos de este patrón se pueden automatizar mediante AWS CloudFormation el AWS Cloud Development Kit (AWSCDK). Para configurar el grupo objetivo de las llamadas de API Gateway, debes usar un recurso personalizado para recuperar la dirección IP del VPC punto final. APIlas llamadas describe-vpc-endpoints
Herramientas
Amazon API Gateway le ayuda a crear, publicar, mantener, supervisar y proteger RESTHTTP, y WebSocket APIs a cualquier escala.
Amazon Route 53 es un servicio DNS web escalable y de alta disponibilidad.
AWSCertificate Manager (ACM) le ayuda a crear, almacenar y renovar certificados y claves SSL TLS X.509 públicos y privados que protegen sus AWS sitios web y aplicaciones.
AWSCloud Development Kit (AWSCDK) es un marco de desarrollo de software que le ayuda a definir y aprovisionar AWS la infraestructura de nube en código.
AWS PrivateLinkle ayuda a crear conexiones unidireccionales y privadas desde sus servicios VPCs a otros. VPC
Epics
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Cree un SNI certificado e impórtelo aACM. |
| Administrador de red |
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Cree un VPC punto final de interfaz en Gateway. API | Para crear un VPC punto de enlace de interfaz, siga las instrucciones de Acceder a un AWS servicio mediante un VPC punto de enlace de interfaz en la documentación de Amazon Virtual Private Cloud (AmazonVPC). | Administrador de la nube |
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Creación de un grupo de destino para la aplicación. | Creación de un grupo de destino para los recursos de interfaz de usuario de su aplicación. | Administrador de la nube |
Cree un grupo objetivo para el punto final de API Gateway. |
| Administrador de la nube |
Cree un Equilibrador de carga de aplicación. |
| Administrador de la nube |
Cree reglas de oyentes. | Cree reglas de oyente para hacer lo siguiente:
| Administrador de la nube |
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Crear una zona alojada privada. | Cree una zona alojada privada para domain.com. | Administrador de la nube |
Cree registros de dominio. | Cree CNAME registros para lo siguiente:
| Administrador de la nube |
Tarea | Descripción | Habilidades requeridas |
---|---|---|
Cree y configure un API punto final privado. |
| Desarrollador de aplicaciones, administrador de la nube |
Cree un nombre de dominio personalizado. |
| Administrador de la nube |