Amazon Managed Service for Apache Flink (Amazon MSF) は、以前は Amazon Kinesis Data Analytics for Apache Flink と呼ばれていました。
Apache Flink のインプレースバージョンアップグレードを使用してアプリケーションをアップグレードする
開始する前に、「In-Place Version Upgrades
Apache Flink のインプレースバージョンアップグレードを実行するには、AWS CLI、AWS CloudFormation、AWS SDK、または AWS マネジメントコンソールを使用できます。この機能は、READY または RUNNING 状態の Managed Service for Apache Flink と組み合わせて使用する既存のアプリケーションで使用できます。UpdateApplication API を使用して、Flink ランタイムを変更する機能を追加します。
アップグレード前: Apache Flink アプリケーションを更新する
Flink アプリケーションを記述するときに、それらを依存関係とともにアプリケーション JAR にバンドルし、その JAR を Amazon S3 バケットにアップロードします。そこから、Amazon Managed Service for Apache Flink は、選択した新しい Flink ランタイムでジョブを実行します。アップグレード先の Flink ランタイムとの互換性を実現するために、アプリケーションの更新が必要になる場合があります。Flink バージョン間に不整合がある可能性があり、その場合はバージョンのアップグレードが失敗する原因になります。最も一般的には、ソース (イングレス) または送信先 (シンク、エグレス) と Scala の依存関係のコネクタを使用します。Managed Service for Apache Flink の Flink 1.15 以降のバージョンは Scala に依存しないため、JAR には使用する予定の Scala のバージョンが含まれている必要があります。
アプリケーションを更新するには
-
状態ありのアプリケーションのアップグレードに関する Flink コミュニティからのアドバイスをお読みください。「Upgrading Applications and Flink Versions
」を参照してください。 -
既知の問題と制限のリストをお読みください。「アプリケーションのアップグレードに関する注意事項と既知の問題」を参照してください。
-
依存関係を更新し、アプリケーションをローカルでテストします。通常、これらの依存関係は次のとおりです。
-
Flink ランタイムと API。
-
新しい Flink ランタイムに推奨されるコネクタ。これらは、更新する特定のランタイムのリリースバージョンで確認できます。
-
Scala – Apache Flink は、Flink 1.15 以降は Scala に依存しません。使用する Scala の依存関係をアプリケーション JAR に含める必要があります。
-
-
zip ファイルに新しいアプリケーション JAR をビルドし、Amazon S3 にアップロードします。前の JAR/zip ファイルとは異なる名前を使用することをお勧めします。ロールバックする必要がある場合は、この情報を使用します。
-
ステートフルアプリケーションを実行している場合は、現在のアプリケーションのスナップショットを作成することを強くお勧めします。これにより、アップグレード中またはアップグレード後に問題が発生した場合に、ステートフルにロールバックできます。