Amazon Managed Service for Apache Flink は、以前は Amazon Kinesis Data Analytics for Apache Flink と呼ばれていました。
翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Managed Service for Apache Flink アプリケーションのシステムロールバックを有効にする
システムロールバック機能を使用すると、Amazon Managed Service for Apache Flink で実行中の Apache Flink アプリケーションの可用性を高めることができます。この設定を選択すると、 UpdateApplication
や などのアクションがコードや設定のバグにautoscaling
実行された場合、サービスは自動的にアプリケーションを以前に実行したバージョンに戻すことができます。
注記
システムロールバック機能を使用するには、アプリケーションを更新してオプトインする必要があります。既存のアプリケーションは、デフォルトではシステムロールバックを自動的に使用しません。
仕組み
更新アクションやスケーリングアクションなどのアプリケーションオペレーションを開始すると、Amazon Managed Service for Apache Flink はそのオペレーションの実行を最初に試みます。コードバグや不十分なアクセス許可など、オペレーションが成功するのを妨げる問題が検出されると、サービスは自動的にRollbackApplication
オペレーションを開始します。
ロールバックは、関連付けられたアプリケーション状態とともに、正常に実行された以前のバージョンにアプリケーションを復元しようとします。ロールバックが成功すると、アプリケーションは以前のバージョンを使用して最小限のダウンタイムでデータの処理を続行します。自動ロールバックも失敗すると、Amazon Managed Service for Apache Flink はアプリケーションを READY
ステータスに移行します。これにより、エラーの修正やオペレーションの再試行など、さらにアクションを実行できます。
自動システムロールバックを使用するには、オプトインする必要があります。コンソールまたはアプリケーションAPI上のすべてのオペレーションで、この時点から有効にできます。
次のUpdateApplication
アクションのリクエスト例では、アプリケーションのシステムロールバックを有効にします。
{ "ApplicationName": "MyApplication", "CurrentApplicationVersionId": 1, "ApplicationConfigurationUpdate": { "ApplicationSystemRollbackConfigurationUpdate": { "RollbackEnabledUpdate": "true" } } }
自動システムロールバックの一般的なシナリオを確認する
次のシナリオは、自動システムロールバックが有益であることを示しています。
アプリケーションの更新: メインメソッドを使用して Flink ジョブを初期化するときにバグがある新しいコードでアプリケーションを更新すると、自動ロールバックによって以前の動作バージョンを復元できます。システムロールバックが役立つその他の更新シナリオは次のとおりです。
-
アプリケーションが更新され、 よりも高い並列処理で実行される場合maxParallelism。
-
Flink ジョブの起動中に障害が発生するアプリケーションの不正なサブネットで実行されるようにVPCアプリケーションが更新された場合。
-
Flink バージョンのアップグレード: 新しい Apache Flink バージョンにアップグレードし、アップグレードされたアプリケーションにスナップショットの互換性の問題が発生した場合、システムロールバックにより、以前の Flink バージョンに自動的に戻ることができます。
AutoScaling: アプリケーションがスケールアップしても、スナップショットと Flink ジョブグラフのオペレータが一致しないため、セーブポイントから復元する際に問題が発生する場合。
システムロールバックAPIsに オペレーションを使用する
可視性を向上させるために、Amazon Managed Service for Apache Flink には、障害や関連するシステムのロールバックの追跡に役立つアプリケーションオペレーションAPIsに関連する 2 つの があります。
ListApplicationOperations
これにより、UpdateApplication
、、 など、アプリケーションで実行されたすべてのオペレーションが逆の時系列Maintenance
RollbackApplication
でAPI一覧表示されます。次のListApplicationOperations
アクションのリクエスト例では、アプリケーションの最初の 10 個のアプリケーションオペレーションを一覧表示します。
{ "ApplicationName": "MyApplication", "Limit": 10 }
次の のリクエスト例は、リストをアプリケーションの以前の更新にフィルタリングするListApplicationOperations
のに役立ちます。
{ "ApplicationName": "MyApplication", "operation": "UpdateApplication" }
DescribeApplicationOperation
これによりAPI、該当する場合ListApplicationOperations
、障害の理由など、 によってリストされている特定のオペレーションに関する詳細情報が提供されます。次のDescribeApplicationOperation
アクションリクエストの例では、特定のアプリケーションオペレーションの詳細を一覧表示します。
{ "ApplicationName": "MyApplication", "OperationId": "xyzoperation" }
トラブルシューティング情報については、システムロールバックのベストプラクティスを参照してください。