Invocación de una API privada
Solo puede invocar una API privada en una VPC mediante un punto de conexión de VPC. La API privada debe tener una política de recursos que permita que las VPC y los puntos de conexión de VPC específicos invoquen la API.
Puede invocar la API privada de las siguientes maneras.
-
Invoque la API con un alias de Route53. Esto solo está disponible si asoció el punto de conexión de VPC a la API. Para obtener más información, consulte (Opcional) Asociación o desasociación de un punto de conexión de VPC con una API privada.
Invoque la API con DNS privado. Esto solo está disponible si habilitó el DNS privado para la VPC.
Invoque la API con AWS Direct Connect.
Invoque la API con nombres de host de DNS públicos específicos de punto de conexión.
Para invocar la API privada con un nombre de DNS, debe identificar los nombres de DNS de la API. El siguiente procedimiento muestra cómo buscar los nombres de DNS.
Invocación de una API privada a través de un alias de Route53
Puede asociar o desasociar un punto de conexión de VPC con la API privada. Para obtener más información, consulte (Opcional) Asociación o desasociación de un punto de conexión de VPC con una API privada.
Tras asociar los puntos de conexión de VPC a la API privada, puede utilizar la siguiente URL base para invocar la API:
https://
{rest-api-id}
-{vpce-id}
.execute-api.{region}
.amazonaws.com/{stage}
Por ejemplo, si configuró el método GET /pets
para la etapa test
y el ID de la API de REST era 01234567ab
, el ID de punto de conexión de VPC era vpce-01234567abcdef012
y la región era us-west-2
, puede invocar la API de la siguiente manera:
curl -v https://01234567ab-vpce-01234567abcdef012.execute-api.us-west-2.amazonaws.com/test/pets
Invocación de una API privada a través de nombres de DNS privados
Si ha habilitado un DNS privado, puede acceder a la API privada con el nombre de DNS privado siguiente:
{restapi-id}
.execute-api.{region}
.amazonaws.com
La URL base para invocar la API tiene el formato siguiente:
https://
{restapi-id}
.execute-api.{region}
.amazonaws.com/{stage}
Por ejemplo, si configuró el método GET /pets
para la etapa test
y el ID de la API de REST era 01234567ab
y la región era us-west-2
, podría invocar la API privada ingresando la siguiente URL en un navegador:
https://01234567ab.execute-api.us-west-2.amazonaws.com/test/pets
También puede usar el comando cURL siguiente para invocar la API privada:
curl -X GET https://01234567ab.execute-api.us-west-2.amazonaws.com/test/pets
aviso
Si habilita el DNS privado para el punto de conexión de VPC, no podrá acceder al punto de conexión predeterminado para las API públicas. Para obtener más información, consulte el artículo sobre el tema ¿Por qué no puedo conectarme a mi API pública desde un punto de enlace de la VPC de API Gateway?
Invocación de una API privada con AWS Direct Connect
Puede utilizar AWS Direct Connect para establecer una conexión privada dedicada entre una red en las instalaciones y Amazon VPC y acceder al punto de conexión de la API privada a través de esa conexión mediante nombres de DNS públicos.
También puede utilizar nombres DNS privados para acceder a su API privada desde una red local mediante la configuración de un punto de conexión entrante de Amazon Route 53 Resolver y el reenvío de todas las consultas DNS del DNS privado desde su red remota. Para obtener más información, consulte Reenvío de consultas DNS entrantes a sus VPC en la Guía para desarrolladores de Amazon Route 53.
Invocación de la API privada mediante nombres de host de DNS públicos específicos de punto de conexión
Puede obtener acceso a su API privada utilizando nombres de host DNS específicos de punto de enlace. Se trata de nombres de host DNS públicos que contienen el ID de punto de enlace de VPC o el ID de su API privada.
La URL base generada tiene el siguiente formato:
https://
{public-dns-hostname}
.execute-api.{region}
.vpce.amazonaws.com/{stage}
Por ejemplo, si configura el método GET /pets
para la etapa test
y el ID de la API de REST era abc1234
, el nombre de host de DNS público era vpce-def-01234567
y la región era us-west-2
, podría invocar la API privada con su ID de VPCE utilizando el siguiente encabezado Host
en un comando cURL:
curl -v https://vpce-def-01234567.execute-api.us-west-2.vpce.amazonaws.com/test/pets -H 'Host: abc1234.execute-api.us-west-2.amazonaws.com'
También puede invocar la API privada a través de su ID de API mediante el encabezado x-apigw-api-id
en un comando cURL en el siguiente formato:
curl -v https://
{public-dns-hostname}
.execute-api.{region}
.vpce.amazonaws.com/{stage}
-H 'x-apigw-api-id:{api-id}
'