Amazon Managed Service para Apache Flink Amazon (Amazon MSF) se denominaba anteriormente Amazon Kinesis Data Analytics para Apache Flink.
Habilitación de las restauraciones del sistema para la aplicación Amazon Managed Service para Apache Flink
Con la función de restauración del sistema, puede lograr una mayor disponibilidad de la aplicación Apache Flink en ejecución en Amazon Managed Service para Apache Flink. Al optar por esta configuración, el servicio puede revertir de manera automática la aplicación a la versión que se estaba ejecutando anteriormente cuando una acción como UpdateApplication o autoscaling encuentra errores de código o configuración.
nota
Para usar la característica de restauración del sistema, se la debe activar mediante la actualizando la aplicación. De forma predeterminada, las aplicaciones existentes no utilizarán de manera automática la restauración del sistema.
Funcionamiento
Al iniciar una operación de aplicación, como una actualización o un escalado, Amazon Managed Service para Apache Flink primero intenta ejecutar esa operación. Si detecta problemas que impiden que la operación se lleve a cabo correctamente, por ejemplo, si hay errores de código o falta de permisos, el servicio inicia automáticamente una operación RollbackApplication.
La restauración intenta llevar la aplicación a la versión anterior que se estaba ejecutando correctamente, junto con el estado de la aplicación asociado. Si la restauración se realiza correctamente, la aplicación continúa procesando los datos con un tiempo de inactividad mínimo, mediante la versión anterior. Si la restauración automática también produce un error, Amazon Managed Service para Apache Flink pasa la aplicación al estado READY para que se puedan tomar más medidas, incluida la corrección del error y el reintento de la operación.
Se debe optar por el uso de restauraciones automáticas del sistema. A partir de ahora, puede habilitarlo mediante la consola o la API para todas las operaciones de su aplicación.
La siguiente solicitud de ejemplo de la acción UpdateApplication habilita las restauraciones del sistema para una aplicación:
{ "ApplicationName": "MyApplication", "CurrentApplicationVersionId": 1, "ApplicationConfigurationUpdate": { "ApplicationSystemRollbackConfigurationUpdate": { "RollbackEnabledUpdate": "true" } } }
Revisión de las situaciones más comunes para la restauración automática del sistema
Las siguientes situaciones ilustran los casos en los que las restauraciones automáticas del sistema son beneficiosas:
Actualizaciones de la aplicación: si se actualiza la aplicación con un código nuevo que contiene errores al inicializar la tarea de Flink mediante el método principal, la restauración automática permite restaurar la versión anterior en funcionamiento. Otros escenarios de actualización en los que las restauraciones del sistema son útiles incluyen los siguientes:
-
Si la aplicación se actualiza para que se ejecute con un paralelismo superior al de MaxParallelism.
-
Si la aplicación se actualiza para ejecutarse con subredes incorrectas para una aplicación de VPC, se produce un error durante el inicio del trabajo de Flink.
-
Actualizaciones de la versión de Flink: cuando se actualiza a una nueva versión de Apache Flink y la aplicación actualizada detecta un problema de compatibilidad con las instantáneas, la restauración del sistema permite volver a la versión anterior de Flink de manera automática.
AutoScaling: cuando la aplicación se amplía, pero tiene problemas para restaurarse desde un punto de almacenamiento, debido a una discrepancia entre el operador de la instantánea y el gráfico de tareas de Flink.
Uso de las API de operación para restaurar el sistema
Para ofrecer una mejor visibilidad, Amazon Managed Service para Apache Flink tiene dos API relacionadas con las operaciones de las aplicaciones que pueden ayudar a realizar un seguimiento de los errores y las restauracioens del sistema relacionadas.
ListApplicationOperations
Esta API enumera todas las operaciones realizadas en la aplicación, incluidas UpdateApplication, Maintenance, RollbackApplication y otras en orden cronológico inverso. La siguiente solicitud de ejemplo de la acción ListApplicationOperations muestra las 10 primeras instantáneas del estado actual de la aplicación:
{ "ApplicationName": "MyApplication", "Limit": 10 }
El siguiente ejemplo de solicitud ListApplicationOperations ayuda a filtrar la lista para incluir actualizaciones anteriores de la aplicación:
{ "ApplicationName": "MyApplication", "operation": "UpdateApplication" }
DescribeApplicationOperation
Esta API proporciona información detallada sobre una operación específica enumerada por ListApplicationOperations, incluido el motivo del error, si corresponde. En la siguiente solicitud de ejemplo de la acción DescribeApplicationOperation se muestran los detalles de una operación específica de una aplicación:
{ "ApplicationName": "MyApplication", "OperationId": "xyzoperation" }
Para obtener información sobre la resolución de problemas, consulte Prácticas recomendadas de reversión del sistema.