アプリケーションを新しい 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 は、元のランタイムバージョンとターゲットランタイムバージョン間の互換性を検証します。この互換性チェックは、 状態UpdateApplication中に を実行したとき、または RUNNING 状態中にアップグレードStartApplicationしたときに次の で実行されますREADY

次の例は、 を使用して米国東部 (バージニア北部) の というRUNNING名前のアプリケーションを Flink 1.18 UpgradeTestにアップグレード 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 によって自動的に取得された最新のスナップショットからアプリケーションを復元します。

次の例は、 を使用して、米国東部 (バージニア北部) の というREADY名前のアプリケーションを 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"}}}}' \ --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 によって自動的に取得された最新のスナップショットからアプリケーションを復元します。