Cambiar el tipo de punto de enlace de una API pública o privada en API Gateway - Amazon API Gateway

Cambiar el tipo de punto de enlace de una API pública o privada en API Gateway

Para cambiar el tipo de un punto de enlace de la API, es preciso actualizar la configuración de la API. Puede cambiar un tipo de API existente a través de la consola de API Gateway, la AWS CLI o un AWS SDK para API Gateway. El tipo de punto de conexión no puede volver a cambiarse hasta que se complete el cambio actual, pero la API estará disponible.

Se admiten los siguientes cambios de tipo de puntos de enlace:

  • De optimizado para bordes a regional o privado

  • De regional a optimizado para bordes o privado

  • De privado a regional

No puede transformar una API privada en una API optimizada para límites.

Si va a cambiar una API pública de optimizada para borde a regional o viceversa, tenga en cuenta que una API optimizada para borde puede comportarse de forma distinta a una API regional. Por ejemplo, una API optimizada para límites elimina el encabezado Content-MD5. Cualquier valor de hash MD5 transmitido al backend se puede expresar en un parámetro de cadena de solicitud o una propiedad del cuerpo. Sin embargo, la API regional transmite este encabezado, aunque puede reasignar el nombre de encabezado a otro nombre. Comprender estas diferencias le ayudará a decidir cómo actualizar una API optimizada para borde a una regional o cómo actualizar una API regional a una optimizada para borde.

Uso de la consola de API Gateway para cambiar el tipo de punto de enlace de la API

Para cambiar el tipo de punto de enlace de la API, siga uno de estos procedimientos:

Para convertir un punto de conexión público de regional u optimizado para límites y viceversa
  1. Inicie sesión en la consola de API Gateway en https://console.aws.amazon.com/apigateway.

  2. Elija una API de REST.

  3. Elija Configuración de la API.

  4. En la sección Detalles de la API, elija Editar.

  5. En Tipo de punto de conexión de la API, seleccione Optimizado para límites o Regional.

  6. Elija Guardar cambios.

  7. Vuelva a implementar la API para que los cambios surtan efecto.

Conversión de un punto de conexión privado en un punto de conexión regional
  1. Inicie sesión en la consola de API Gateway en https://console.aws.amazon.com/apigateway.

  2. Elija una API de REST.

  3. Modifique la política de recursos de la API para eliminar cualquier mención a las VPC o los puntos de enlace de la VPC, de modo que tanto las llamadas a la API que se realicen desde fuera de la VPC como las que se realicen desde dentro se ejecuten correctamente.

  4. Elija Configuración de la API.

  5. En la sección Detalles de la API, elija Editar.

  6. En Tipo de punto de conexión de la API, seleccione Regional.

  7. Elija Guardar cambios.

  8. Quite la política de recursos de la API.

  9. Vuelva a implementar la API para que los cambios surtan efecto.

Conversión de un punto de conexión regional en un punto de conexión privado
  1. Inicie sesión en la consola de API Gateway en https://console.aws.amazon.com/apigateway.

  2. Elija una API de REST.

  3. Cree una política de recursos que conceda acceso a la VPC o al punto de conexión de VPC. Para obtener más información, consulte Configurar una política de recursos para una API privada.

  4. Elija Configuración de la API.

  5. En la sección Detalles de la API, elija Editar.

  6. En Tipo de punto de conexión de la API, seleccione Privado.

  7. (Opcional) Para ID del punto de conexión de VPC, seleccione los ID de punto de conexión de VPC que desea asociar a la API privada.

  8. Elija Guardar cambios.

  9. Vuelva a implementar la API para que los cambios surtan efecto.

Uso de la AWS CLI para cambiar el tipo de punto de enlace de una API

Si desea utilizar la AWS CLI para actualizar una API optimizada para sistemas perimetrales cuyo ID es {api-id}, llame a update-resto-api tal y como se indica a continuación:

aws apigateway update-rest-api \ --rest-api-id {api-id} \ --patch-operations op=replace,path=/endpointConfiguration/types/EDGE,value=REGIONAL

La respuesta correcta tiene un código de estado 200 OK y una carga similar a la siguiente:

{ "createdDate": "2017-10-16T04:09:31Z", "description": "Your first API with Amazon API Gateway. This is a sample API that integrates via HTTP with our demo Pet Store endpoints", "endpointConfiguration": { "types": "REGIONAL" }, "id": "0gsnjtjck8", "name": "PetStore imported as edge-optimized" }

De igual forma, actualice una API regional a una API optimizada para límites del modo siguiente:

aws apigateway update-rest-api \ --rest-api-id {api-id} \ --patch-operations op=replace,path=/endpointConfiguration/types/REGIONAL,value=EDGE

Dado que put-rest-api se utiliza para actualizar definiciones de API, no puede utilizarse para actualizar un tipo de punto de enlace de API.