Saltar al contenido

¿Cómo hago copias de seguridad y restauro las API de API Gateway?

4 minutos de lectura
0

Quiero usar la consola de Amazon API Gateway o la interfaz de la línea de comandos de AWS (AWS CLI) para realizar copias de seguridad y restaurar mis API de API Gateway.

Resolución

Desde API Gateway, exporta una API de REST o una API HTTP a un archivo de definición de Swagger u OpenAPI 3. A continuación, importa la API a API Gateway.

Nota: Si se muestran errores al ejecutar comandos de AWS CLI, consulta Solución de errores de AWS CLI. Además, asegúrate de utilizar la versión más reciente de la AWS CLI.

Exportación de la API REST o la API HTTP

Consola de API Gateway

Sigue estos pasos:

  1. Abre la consola de API Gateway.
  2. Selecciona tu API de REST o HTTP.
  3. En el caso de las API de REST, implementa tu API en una etapa.
  4. En el panel Editor de etapas, selecciona Acciones de etapa y, a continuación, selecciona Exportar.
  5. En Tipo de especificación de API, elige Swagger u OpenAPI 3.
  6. En Formato, elige JSON o YAML según el tipo de archivo que prefieras para la descarga del archivo de definición de API.
  7. En Extensiones, elige una de las siguientes opciones: 
    **Exportación sin extensiones **
    **Exportación con extensiones de API Gateway **
    Exportación con extensiones Postman
  8. Selecciona Exportar API.

AWS CLI

Para exportar una API de REST, ejecuta el siguiente comando get-export:

aws apigateway get-export \ --rest-api-id your-api-id \ --stage-name your-stage-name \ --export-type swagger \ --accepts application/json \ --output output.json

Nota: Sustituye your-api-id por tu ID de API y your-stage-name por el nombre de tu fase.

Para exportar una API HTTP, ejecuta el siguiente comando export-api:

aws apigatewayv2 export-api \ --api-id your-api-id \ --output-type JSON \ --specification HTTP \ --no-include-extensions > http-api-backup.json

Nota: Sustituye your-api-id por tu ID de API.

Importación de la API de REST

Consola de API Gateway

Sigue estos pasos:

  1. Abre la consola de API Gateway.
  2. Selecciona Crear API.
  3. En API de REST, selecciona Importar.
  4. En Definición de API, usa una de las siguientes opciones para importar tu archivo de definición: 
    Elige Elegir archivo y, a continuación, selecciona el archivo de definición de API actualizado.
    Alternativa:
    Pega la definición actualizada de API en el campo del editor de texto.
  5. En Tipo de punto de enlace de API, elige uno de los siguientes tipos: 
    Regional
    Optimizado para Edge

    Privado
  6. Selecciona Error en advertencias para detener la importación si se produce un error o una advertencia durante la importación. O bien, selecciona Ignorar advertencias para importar la API independientemente de si hay un error o una advertencia durante la importación.
  7. Selecciona Crear API.

AWS CLI

Ejecuta el siguiente comando import-rest-api:

aws apigateway import-rest-api --body 'fileb:///path/to/API_Swagger_template.json'

Importación de la API HTTP

Consola de API Gateway

Sigue estos pasos:

  1. Abre la consola de API Gateway.
  2. Selecciona Crear API.
  3. En API HTTP, selecciona Importar.
  4. En Importar una definición de OpenAPI 3, utiliza una de las siguientes opciones para importar el archivo de definición:
    Elige Seleccionar un archivo de definición de OpenAPI 3 y, a continuación, selecciona el archivo de definición de API actualizado.
    Alternativa:
    Pega la definición actualizada de API en el campo del editor de texto.
  5. Selecciona Crear API.

AWS CLI

Ejecuta el siguiente comando import-api:

aws apigatewayv2 import-api \ --body file://api-definition.yaml

Información relacionada

Tutorial: Crear una API de REST importando un ejemplo

¿Cómo puedo migrar las API de REST de API Gateway entre cuentas o regiones de AWS?

Desarrollo de API de REST mediante OpenAPI en API Gateway