Actualice su aplicación a una nueva versión de Apache Flink - Managed Service para Apache Flink

Amazon Managed Service para Apache Flink Amazon (Amazon MSF) se denominaba anteriormente Amazon Kinesis Data Analytics para Apache Flink.

Actualice su aplicación a una nueva versión de Apache Flink

Se puede actualizar la aplicación Flink mediante la acción UpdateApplication.

Se puede llamar a la API de UpdateApplication de varias maneras:

  • Utilice el flujo de trabajo de configuración existente en la Consola de administración de AWS.

    • Vaya a la página de la aplicación en la Consola de administración de AWS.

    • Elija Configurar.

    • Seleccione el nuevo tiempo de ejecución y la instantánea desde la cual desee empezar, lo que también se conoce como configuración de restauración. Utilice la configuración más reciente como la configuración de restauración para iniciar la aplicación desde la última instantánea. Señale la nueva aplicación actualizada JAR/ZIP en Amazon S3.

  • Utilice la acción update-application de la AWS CLI.

  • Utilice CloudFormation (CFN).

    • Actualice el campo RuntimeEnvironment. Anteriormente, CloudFormation eliminaba la aplicación y creaba una nueva, lo que provocaba la pérdida de las instantáneas y del resto del historial de la aplicación. Ahora CloudFormation actualiza RuntimeEnvironment en su lugar y no elimina la aplicación.

  • Uso del AWS SDK

    • Consulte la documentación del SDK para obtener información sobre el lenguaje de programación de su elección. Consulte UpdateApplication

Se puede realizar la actualización mientras la aplicación está en estado RUNNING o mientras la aplicación está detenida en ese el estado READY. Amazon Managed Service para Apache Flink valida para verificar la compatibilidad entre la versión en tiempo de ejecución original y la versión en tiempo de ejecución de destino. Esta comprobación de compatibilidad se realiza cuando se ejecuta UpdateApplication en estado RUNNING o en la siguiente instancia de StartApplication si se actualiza mientras se está en estado READY.

En el siguiente ejemplo, se muestra la actualización de una aplicación en el estado RUNNING denominado UpgradeTest a Flink 1.18 en Este de EE. UU. (Norte de Virginia) mediante la AWS CLI y el inicio de la aplicación actualizada a partir de la última instantánea.

aws --region us-east-1 kinesisanalyticsv2 update-application \ --application-name UpgradeTest --runtime-environment-update "FLINK-1_18" \ --application-configuration-update '{"ApplicationCodeConfigurationUpdate": '\ '{"CodeContentUpdate": {"S3ContentLocationUpdate": '\ '{"FileKeyUpdate": "flink_1_18_app.jar"}}}}' \ --run-configuration-update '{"ApplicationRestoreConfiguration": '\ '{"ApplicationRestoreType": "RESTORE_FROM_LATEST_SNAPSHOT"}}' \ --current-application-version-id ${current_application_version}
  • Si se activaron las instantáneas de servicio y se desea continuar con la aplicación desde la última instantánea, Amazon Managed Service para Apache Flink comprueba que el tiempo de ejecución de la aplicación actual RUNNING es compatible con el tiempo de ejecución de destino seleccionado.

  • Si se ha especificado una instantánea desde la que continuar con el tiempo de ejecución de destino, Amazon Managed Service para Apache Flink comprueba que el tiempo de ejecución de destino es compatible con la instantánea especificada. Si se produce un error en la comprobación de compatibilidad, se rechaza la solicitud de actualización y la aplicación permanece intacta en el estado RUNNING.

  • Si se decide iniciar la aplicación sin una instantánea, Amazon Managed Service para Apache Flink no realiza ninguna comprobación de compatibilidad.

  • Si la aplicación actualizada falla o se queda atascada en un estado UPDATING transitivo, siga las instrucciones de la sección Reversiones de las actualizaciones de aplicaciones para volver al estado correcto.

Flujo de proceso para ejecutar aplicaciones en estado

En el siguiente diagrama se representa el flujo de trabajo recomendado para actualizar la aplicación mientras está en ejecución. Asumimos que la aplicación está en estado y que se han activado las instantáneas. Para este flujo de trabajo, durante la actualización, se restaura la aplicación a partir de la última instantánea que Amazon Managed Service para Apache Flink realizó automáticamente antes de la actualización.

En el siguiente ejemplo se muestra la actualización de una aplicación en el estado READY denominado UpgradeTest a Flink 1.18 en Este de EE. UU. (Norte de Virginia) mediante la AWS CLI. No hay una instantánea específica para iniciar la aplicación porque la aplicación no se está ejecutando. Se puede especificar una instantánea al emitir la solicitud de inicio de la aplicación.

aws --region us-east-1 kinesisanalyticsv2 update-application \ --application-name UpgradeTest --runtime-environment-update "FLINK-1_18" \ --application-configuration-update '{"ApplicationCodeConfigurationUpdate": '\ '{"CodeContentUpdate": {"S3ContentLocationUpdate": '\ '{"FileKeyUpdate": "flink_1_18_app.jar"}}}}' \ --current-application-version-id ${current_application_version}
  • Se puede actualizar el tiempo de ejecución de sus aplicaciones en estado READY a cualquier versión de Flink. Amazon Managed Service para Apache Flink no realiza ninguna comprobación hasta que se inicia la aplicación.

  • Amazon Managed Service para Apache Flink solo ejecuta comprobaciones de compatibilidad con la instantánea que se seleccionó para iniciar la aplicación. Se trata de comprobaciones de compatibilidad básicas que siguen la tabla de compatibilidad de Flink. Solo comprueban la versión de Flink con la que se tomó la instantánea y la versión de Flink objetivo. Si el tiempo de ejecución de Flink de la instantánea seleccionada no es compatible con el nuevo tiempo de ejecución de la aplicación, se puede rechazar la solicitud de inicio.

Flujo de proceso para aplicaciones en estado Ready

En el siguiente diagrama se representa el flujo de trabajo recomendado para actualizar la aplicación mientras está en estado Ready. Asumimos que la aplicación está en estado y que se han activado las instantáneas. Para este flujo de trabajo, durante la actualización, se restaura la aplicación a partir de la última instantánea que Amazon Managed Service para Apache Flink tomó cuando se detuvo la aplicación.