¿Cómo puedo utilizar un equilibrador de carga de red o de aplicación para invocar una API privada de API Gateway?
Quiero configurar mi API privada de Amazon API Gateway como destino tras un equilibrador de carga. A continuación, quiero utilizar una cuenta de AWS para acceder a mi API privada desde un equilibrador de carga de red o de aplicación.
Solución
Para acceder a su API privada a través de AWS Direct Connect o Amazon Route 53, consulte Cómo invocar una API privada. También puede usar un punto de enlace de nube virtual privada (VPC) de interfaz para acceder a una API de REST privada de API Gateway en otra cuenta de AWS.
En la siguiente solución se utiliza una dirección IP de una interfaz de red elástica de punto de enlace de Amazon Virtual Private Cloud (Amazon VPC). Con esta dirección IP, se puede añadir la API privada como destino al equilibrador de carga.
Importante: API Gateway no admite nombres de dominio personalizados para las API privadas. Como solución alternativa, se puede invocar el dominio y asociarlo a un equilibrador de carga. A continuación, utilice la siguiente configuración para invocar la API privada.
Creación de un punto de enlace de Amazon VPC
Siga estos pasos:
- Abra la consola de Amazon VPC.
- Seleccione Puntos de enlace y, a continuación, Crear punto de enlace.
- Introduzca la siguiente información:
En Servicios, seleccione com.amazonaws.com.su-región.execute-api.
En VPC, seleccione su VPC de Amazon.
En Subredes, seleccione dos subredes en diferentes zonas de disponibilidad (ID de AZ).
Nota: Si ya tiene configurados puntos de enlace de VPC de Amazon en la VPC con execute-api, desactive el DNS privado. - Elija Crear punto de enlace.
- Seleccione el punto de enlace, elija las subredes y, a continuación, copie la dirección IP.
Para obtener más información, consulte API de REST privadas en API Gateway.
Creación de una API de REST privada y concesión del permiso de punto de enlace de Amazon VPC
Siga estos pasos:
- Abra la consola de API Gateway y, a continuación, seleccione Crear API.
- En API de REST, seleccione Crear.
- En Configuración, introduzca la siguiente información:
En Nombre de API, introduzca un nombre para la API.
En Tipo de punto de conexión, seleccione Privado.
En ID de punto de enlace, introduzca el ID del punto de enlace que ha creado. - Seleccione Crear API.
- En el panel de navegación, seleccione Política de recursos.
- Introduzca la siguiente política:
Nota: Sustituya vpce-081234d1ad408e por el ID de su punto de enlace de VPC. Además, sustituya arn:aws:execute-api:us-east-1:ACCOUNT_ID:API_ID por el nombre de recurso de Amazon (ARN) de su API.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Principal": "*", "Action": "execute-api:Invoke", "Resource": "arn:aws:execute-api:us-east-1:ACCOUNT_ID:API_ID/*/*/*", "Condition": { "StringNotEquals": { "aws:SourceVpce": "vpce-081234d1ad408e" } } }, { "Effect": "Allow", "Principal": "*", "Action": "execute-api:Invoke", "Resource": "arn:aws:execute-api:us-east-1:ACCOUNT_ID:API_ID/*/*/*" } ] } - Seleccione Guardar.
Creación o importación de un certificado público de AWS Certificate Manager
Puede solicitar un certificado público o importar un certificado.
Creación de un equilibrador de carga de aplicación o un equilibrador de carga de red
Puede crear un equilibrador de carga de aplicación o un equilibrador de carga de red.
Creación del grupo de destino
Siga estos pasos:
- Abra la consola de Amazon Elastic Compute Cloud (Amazon EC2).
- En el panel de navegación, en Equilibrio de carga, seleccione Equilibradores de carga y, a continuación, Grupos de destino.
- Seleccione Crear un grupo de destino.
- Introduzca la siguiente información:
En Tipo de destino, seleccione Direcciones IP.
En Nombre del grupo de destino, introduzca un nombre.
Equilibrador de carga de aplicación
En Protocolo, seleccione HTTPS.
En Puerto, seleccione 443.
En VPC, seleccione su VPC.
En Ruta de comprobación de estado, introduzca «/», y en Códigos de éxito, indique 200,403 para que el punto de enlace de la VPC esté En buen estado.
Equilibrador de carga de red
En Protocolo, seleccione TLS.
En Puerto, seleccione 443.
En VPC, seleccione su VPC. - Elija Siguiente.
- En Especificar IP, introduzca la dirección IP que ha copiado en la sección Creación de un punto de enlace de Amazon VPC. A continuación, elija Agregar dirección IPv4.
- Seleccione Crear un grupo de destino.
Configuración del equilibrador de carga
Siga estos pasos:
- Abra la consola de EC2.
- En el panel de navegación, seleccione Equilibradores de carga y, a continuación, Crear equilibrador de carga.
Equilibrador de carga de aplicación
En Esquema, seleccione Con acceso a Internet o Interno según la configuración.
En Protocolo, seleccione HTTPS.
En VPC y subredes, seleccione la VPC y las subredes.
Equilibrador de carga de red
En Esquema, seleccione Con acceso a Internet o Interno según la configuración.
En Protocolo, seleccione TLS.
En VPC y subredes, seleccione la VPC y las subredes.
En Política de seguridad, seleccione la política predeterminada ELBSecurityPolicy-TLS (recomendada).
En Default SSL/TLS certificate, seleccione De ACM.
Elija Seleccionar un certificado y, a continuación, elija su certificado. - Seleccione Crear un equilibrador de carga.
Nota: Los destinos del equilibrador de carga se encuentran en las direcciones IP de la interfaz de red elástica creada por el punto de conexión de VPC. Para encontrar esas interfaces de red elástica, seleccione el punto de conexión de VPC y, a continuación, abra la pestaña Subredes.
Creación de un registro en una zona alojada pública o privada de Amazon Route 53
Cree una zona alojada pública o una zona alojada privada. A continuación, cree un registro CNAME o un registro de alias y asócielo a su equilibrador de carga de aplicación o de red.
Creación de un dominio personalizado
Cree un dominio personalizado en la consola de API Gateway. A continuación, asigne la API de REST privada al dominio personalizado.
Realización de pruebas
En el caso de los equilibradores de carga públicos, se puede realizar una solicitud curl desde el equipo local. En el caso de los equilibradores de carga privados, inicie una nueva instancia de EC2 en una de las subredes de su equilibrador de carga. A continuación, realice una solicitud curl similar a la del ejemplo:
curl -v https://{custom-domain-name}/<resource-path>
Si la solicitud es satisfactoria, devolverá el código de respuesta 200 OK. Si la solicitud no es satisfactoria, devolverá el código de respuesta 403 Forbidden o un error de resolución del DNS. Si tiene algún problema, consulte Troubleshoot your Application Load Balancers.
Información relacionada
How do I connect to a private API Gateway over a Direct Connect connection?
¿Cómo soluciono los problemas al conectarme a un punto de enlace de API privada de API Gateway?
Supervisión de la ejecución de la API de REST con métricas de Amazon CloudWatch
Configuración del registro de CloudWatch para las API de REST en API Gateway
- Etiquetas
- Amazon API Gateway
- Idioma
- Español

Contenido relevante
- preguntada hace 8 meses
- preguntada hace 3 meses