Configuración de una etapa para una API de REST en API Gateway
Una etapa es una referencia específica de una implementación, lo que equivale a una instantánea de la API. Puede utilizar una etapa para administrar y optimizar una implementación concreta. Por ejemplo, puede configurar los ajustes de la etapa para habilitar el almacenamiento en caché, personalizar la limitación controlada de solicitudes, configurar los registros, definir variables de etapa o asociar un lanzamiento canary para realizar pruebas. En la siguiente sección se muestra cómo crear y configurar la etapa.
Creación de una nueva etapa
Después de la implementación inicial, puede añadir más etapas y asociarlas con las implementaciones existentes. Puede utilizar la consola de API Gateway para crear una nueva etapa o puede elegir una etapa existente al implementar una API. En general, puede agregar una nueva etapa a la implementación de una API antes de volver a implementar la API. Para crear una nueva etapa con la consola de API Gateway, siga estos pasos:
Inicie sesión en la consola de API Gateway en https://console.aws.amazon.com/apigateway
. Elija una API de REST.
-
En el panel de navegación principal, elija Etapas en una API.
-
En el panel de navegación Etapas, elija Crear etapa.
-
En Nombre de etapa, ingrese un nombre; por ejemplo,
prod
.nota
Los nombres de etapas solo pueden contener caracteres alfanuméricos, guiones y caracteres de subrayado. La longitud máxima es de 128 caracteres.
-
(Opcional). En Descripción, ingrese una descripción de la etapa.
-
En Implementación, seleccione la fecha y la hora de la implementación de la API existente que vaya a asociar con esta etapa.
-
En Configuración adicional, puede especificar ajustes adicionales para su etapa.
-
Elija Crear etapa.
Modificación de la configuración de etapa
Después de una implementación correcta de una API, la etapa se rellena con la configuración predeterminada. Puede utilizar la consola o la API de REST de API Gateway para cambiar las opciones de configuración de las etapas, incluido el almacenamiento en caché de la API y el registro. En los siguientes pasos, se indica cómo hacer esto con el Editor de etapas de la consola de API Gateway.
Inicie sesión en la consola de API Gateway en https://console.aws.amazon.com/apigateway
. Elija una API de REST.
-
En el panel de navegación principal, elija Etapas en una API.
-
En el panel Etapas, seleccione el nombre de la etapa.
-
En la sección Detalles de la etapa, elija Editar.
(Opcional) En Descripción de etapa, escriba una descripción.
En Configuración adicional, modifique la siguiente configuración:
- Configuración de caché
-
Para habilitar el almacenamiento en caché de la API para la etapa, active Aprovisionar caché de API. A continuación, configure Almacenamiento en caché de nivel de método predeterminado, Capacidad de caché, Cifrar datos de caché, Tiempo de vida (TTL) de caché y los requisitos de la invalidación de caché para cada clave.
El almacenamiento en caché no está activo hasta que se active el almacenamiento en caché en el nivel de método predeterminado o se active la caché en el nivel de método para un método específico.
Para obtener más información acerca de la configuración de la caché, consulte Configuración de caché para las API de REST en API Gateway.
nota
Si habilita el almacenamiento en caché de la API para una etapa de API, se podrían generar cargos en su cuenta de AWS por el almacenamiento en caché de la API. El almacenamiento en caché no está disponible para la capa gratuita de AWS.
- Configuración de limitación
-
Para definir los objetivos de limitación en el nivel de etapa para todos los métodos asociados a esta API, active Limitación.
ParaRate (Ratio), ingrese un ratio objetivo. Esta es la velocidad, en solicitudes por segundo, a la que se añaden los tokens al bucket de tokens. La velocidad a nivel de etapa no debe ser superior a la velocidad a nivel de cuenta especificada en Cuotas de API Gateway para configurar y ejecutar una API REST.
Para Burst (Ráfaga), ingrese un ratio de ráfaga objetivo. La velocidad de ráfaga es la capacidad del bucket de tokens. Esto permite realizar más solicitudes durante un período de tiempo que el ratio objetivo. Este ratio de ráfaga a nivel de etapa no debe ser superior al ratio de ráfaga a nivel de cuenta especificado en Cuotas de API Gateway para configurar y ejecutar una API REST.
nota
Los ratios de limitación controlada no son límites estrictos y se aplican en la medida de lo posible. En algunos casos, los clientes pueden sobrepasar los objetivos establecidos. Para controlar los costos o bloquear el acceso a una API, no confíe en la limitación controlada. Considere la posibilidad de utilizar AWS Budgets para monitorear los costos y AWS WAF para administrar las solicitudes de API.
- Configuración de firewall y certificados
Para asociar una ACL web de AWS WAF a la etapa, seleccione una ACL web en la lista desplegable ACL web. Si lo desea, elija Block API Request if WebACL cannot be evaluated (Fail- Close) (Bloquear solicitud de API si no se puede evaluar WebACL (cierre por error)).
Para seleccionar un certificado de cliente para su etapa, seleccione un certificado en el menú desplegable Certificado de cliente.
Elija Continuar.
Revise los cambios y elija Guardar cambios.
-
Para habilitar los registros de Amazon CloudWatch para todos los métodos asociados con esta etapa de esta API de API Gateway, en la sección Registros y seguimiento, elija Editar.
nota
Para habilitar los Registros de CloudWatch, también debe especificar el ARN de un rol de IAM que permita a API Gateway escribir información en los Registros de CloudWatch en nombre del usuario. Para ello, elija Settings (Configuración) en el panel de navegación principal APIs. A continuación, ingrese el ARN de un rol de IAM en Rol de registro de CloudWatch.
Para escenarios de aplicaciones comunes, el rol de IAM podría asociar la política administrada de
AmazonAPIGatewayPushToCloudWatchLogs
, la cual contiene la siguiente instrucción de política de acceso:{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:DescribeLogGroups", "logs:DescribeLogStreams", "logs:PutLogEvents", "logs:GetLogEvents", "logs:FilterLogEvents" ], "Resource": "*" } ] }
El rol de IAM también debe incluir la siguiente instrucción de relación de confianza:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "apigateway.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
Para obtener más información sobre CloudWatch, consulte la guía del usuario de Amazon CloudWatch.
-
Elija un nivel de registro en el menú desplegable Registros de CloudWatch. A continuación, se muestran los niveles de registro:
-
Desactivado: el registro no está activado para esta etapa.
-
Solo errores: el registro solo está habilitado para los errores.
-
Registros de errores e información: el registro está habilitado para todos los eventos.
-
Seleccione Rastreo de datos para que API Gateway informe a CloudWatch del registro de rastreo de datos de la etapa. Esto puede ser útil para solucionar problemas de la API, pero puede dar como resultado el registro de datos confidenciales.
nota
Le recomendamos que no utilice Rastreo de datos para las API de producción.
-
Seleccione Métricas detalladas para que API Gateway informe a CloudWatch acerca de las métricas de la API de
API calls
,Latency
,Integration latency
,400 errors
y500 errors
. Para obtener más información acerca de CloudWatch, consulte Supervisión básica y supervisión detallada en la Guía del usuario de Amazon CloudWatch.importante
Se aplicarán cargos en su cuenta por obtener acceso a las métricas de CloudWatch en el nivel de método, pero no a las métricas en el nivel de API o de etapa.
Para habilitar el registro de acceso a un destino, active Registro de acceso personalizado.
-
Para ARN del destino de registro de acceso, ingrese el ARN de un grupo de registro o un flujo de Firehose.
El formato de ARN de Firehose es
arn:aws:firehose:
. El nombre del flujo de Firehose debe ser{region}
:{account-id}
:deliverystream/amazon-apigateway-{your-stream-name}
amazon-apigateway-
.{your-stream-name}
-
En Formato de registro, ingrese un formato de registro. Para obtener más información sobre ejemplos de formatos de registro, consulte Formatos de registro de CloudWatch para API Gateway.
-
Para habilitar el rastreo de AWS X-Ray para la etapa de la API, seleccione Rastreo de X-Ray. Para obtener más información, consulte Rastreo de las solicitudes de usuario a las API de REST mediante X-Ray en API Gateway.
-
Elija Save changes (Guardar cambios). Vuelva a implementar su API para que la nueva configuración se aplique.
Anule la configuración a nivel de etapa
Después de personalizar la configuración de nivel de etapa, puede anularla para cada método de API. Algunas de estas opciones pueden dar lugar a cargos adicionales en la Cuenta de AWS.
Para configurar las anulaciones de métodos, expanda la etapa bajo el panel de navegación secundario y, a continuación, elija un método.
A continuación, en Anulaciones de métodos, elija Editar.
Para activar la configuración de CloudWatch a nivel de método, en Registros de CloudWatch, seleccione un nivel de registro.
Para activar el registro de rastreo de datos en su método, seleccione Rastreo de datos.
nota
Le recomendamos que no utilice Rastreo de datos para las API de producción.
Para activar las métricas detalladas a nivel de método, seleccione Métricas detalladas. Se aplicarán cargos en su cuenta por obtener acceso a las métricas de CloudWatch en el nivel de método, pero no a las métricas en el nivel de API o de etapa.
Para activar la limitación en el nivel de método, seleccione Limitación. Introduzca las opciones de nivel de método adecuadas. Para obtener más información sobre limitación controlada, consulte Limitación de las solicitudes a sus API de REST para mejorar el rendimiento en API Gateway.
Para configurar la caché en el nivel de método, seleccione Habilitar caché de métodos. Esta configuración no se verá afectada si en Detalles de la etapa cambia la configuración predeterminada del almacenamiento en caché en el nivel de método.
Seleccione Guardar.