アプリケーションを新しい Apache Flink バージョンにアップグレードする - Managed Service for Apache Flink

Amazon Managed Service for Apache Flink は、以前は Amazon Kinesis Data Analytics for Apache Flink と呼ばれていました。

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

アプリケーションを新しい Apache Flink バージョンにアップグレードする

UpdateApplication アクションを使用して Flink アプリケーションをアップグレードできます。

は複数のUpdateApplicationAPI方法で呼び出すことができます。

  • で既存の設定ワークフローを使用します AWS Management Console。

    • のアプリページに移動します AWS Management Console。

    • [設定] を選択します。

    • 新しいランタイムと、復元設定とも呼ばれる、開始するスナップショットを選択します。最新のスナップショットからアプリケーションを起動するには、最新の設定を復元設定として使用します。Amazon S3 で新しくアップグレードされたアプリケーション JAR/zip をポイントします。 Amazon S3

  • AWS CLI update-application アクションを使用します。

  • AWS CloudFormation () を使用しますCFN。

    • RuntimeEnvironment フィールドを更新します。以前は、 がアプリケーション AWS CloudFormation を削除し、新しいアプリケーションを作成していたため、スナップショットやその他のアプリケーション履歴が失われていました。これで RuntimeEnvironment 、 が所定の位置に AWS CloudFormation 更新され、アプリケーションは削除されません。

  • を使用します AWS SDK。

    • 選択したプログラミング言語については、SDKドキュメントを参照してください。「」を参照してくださいUpdateApplication

アップグレードは、アプリケーションが RUNNING状態の間、またはアプリケーションが READY状態で停止している間に実行できます。Amazon Managed Service for Apache Flink は、元のランタイムバージョンとターゲットランタイムバージョンの互換性を検証します。この互換性チェックは、 RUNNING状態UpdateApplicationの間に を実行したとき、または READY状態の間にアップグレードStartApplicationしたときに次の を実行したときに実行されます。

次の例は、 を使用して、 という名前RUNNINGのアプリケーションを米国東部 (バージニア北部) の UpgradeTest Flink 1.18 にアップグレード AWS CLI し、最新のスナップショットからアップグレードされたアプリケーションを起動することを示しています。

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}
  • サービススナップショットを有効にし、最新のスナップショットからアプリケーションを継続する場合、Amazon Managed Service for Apache Flink は、現在のRUNNINGアプリケーションのランタイムが選択したターゲットランタイムと互換性があることを確認します。

  • ターゲットランタイムを継続するスナップショットを指定した場合、Amazon Managed Service for Apache Flink は、ターゲットランタイムが指定されたスナップショットと互換性があることを確認します。互換性チェックが失敗した場合、更新リクエストは拒否され、アプリケーションは RUNNING状態で変更されません。

  • スナップショットなしでアプリケーションを起動することを選択した場合、Amazon Managed Service for Apache Flink は互換性チェックを実行しません。

  • アップグレードしたアプリケーションが失敗したり、推移的なUPDATING状態で停止したりした場合は、 アプリケーションアップグレードのロールバックセクションの指示に従って正常な状態に戻ります。

ステートアプリケーションを実行するためのプロセスフロー

次の図は、実行中にアプリケーションをアップグレードするために推奨されるワークフローを示しています。アプリケーションがステートフルであり、スナップショットを有効にしたと仮定します。このワークフローでは、更新時に、更新前に Amazon Managed Service for Apache Flink によって自動的に作成された最新のスナップショットからアプリケーションを復元します。

次の例は、 を使用して、米国東部 (バージニア北部) UpgradeTest で という名前の READY アプリケーションを Flink 1.18 にアップグレードする方法を示しています。 AWS CLIアプリケーションが実行されていないため、アプリケーションを起動するためのスナップショットが指定されていません。スナップショットは、アプリケーション開始リクエストを発行するときに指定できます。

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}
  • READY 状態のアプリケーションのランタイムを任意の Flink バージョンに更新できます。Amazon Managed Service for Apache Flink は、アプリケーションを起動するまでチェックを実行しません。

  • Amazon Managed Service for Apache Flink は、アプリケーションを起動するために選択したスナップショットに対してのみ互換性チェックを実行します。これらは、「Flink 互換性表」に従った基本的な互換性チェックです。スナップショットが作成された Flink バージョンとターゲットとする Flink バージョンのみをチェックします。選択したスナップショットの Flink ランタイムがアプリの新しいランタイムと互換性がない場合、開始リクエストが拒否される可能性があります。

準備完了状態のアプリケーションのプロセスフロー

次の図は、準備完了状態でアプリケーションをアップグレードするために推奨されるワークフローを示しています。アプリケーションがステートフルであり、スナップショットを有効にしたと仮定します。このワークフローでは、更新時に、アプリケーションの停止時に Amazon Managed Service for Apache Flink によって自動的に作成された最新のスナップショットからアプリケーションを復元します。