Para cambiar el tipo de un punto de conexión de 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 conexión:
-
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.
Temas
Uso de la consola de API Gateway para cambiar el tipo de punto de conexión de la API
Para cambiar el tipo de punto de conexión 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
-
Inicie sesión en la consola de API Gateway en https://console.aws.amazon.com/apigateway
. Elija una API de REST.
Elija Configuración de la API.
En la sección Detalles de la API, elija Editar.
-
En Tipo de punto de conexión de la API, seleccione Optimizado para límites o Regional.
-
Elija Guardar cambios.
-
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
-
Inicie sesión en la consola de API Gateway en https://console.aws.amazon.com/apigateway
. Elija una API de REST.
-
Modifique la política de recursos de la API para eliminar cualquier mención a VPC o puntos de conexión de 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.
Elija Configuración de la API.
En la sección Detalles de la API, elija Editar.
-
En Tipo de punto de conexión de la API, seleccione Regional.
-
Elija Guardar cambios.
-
Quite la política de recursos de la API.
-
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
-
Inicie sesión en la consola de API Gateway en https://console.aws.amazon.com/apigateway
. Elija una API de REST.
-
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 Paso 3: Configuración de una política de recursos para una API privada.
Elija Configuración de la API.
En la sección Detalles de la API, elija Editar.
-
En Tipo de punto de conexión de la API, seleccione Privado.
-
(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.
-
Elija Guardar cambios.
-
Vuelva a implementar la API para que los cambios surtan efecto.
Uso de la AWS CLI para cambiar el tipo de punto de conexión de una API
El siguiente comando update-rest-api permite actualizar una API optimizada para bordes a una API regional:
aws apigateway update-rest-api \ --rest-api-id a1b2c3 \ --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": "a1b2c3", "name": "PetStore imported as edge-optimized" }
El siguiente comando update-rest-api permite actualizar una API regional a una API optimizada para bordes:
aws apigateway update-rest-api \ --rest-api-id a1b2c3 \ --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 conexión de API.