Managed Service for Apache Flink で自動スケーリングを使用する - Managed Service for Apache Flink

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

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

Managed Service for Apache Flink で自動スケーリングを使用する

Apache Flink 用 Managed Service は、ほとんどのシナリオでソースのデータスループットとオペレーターの複雑さに対応できるように、アプリケーションの並列度を柔軟にスケーリングします。自動スケーリングはデフォルトで有効になっている。Managed Service for Apache Flink は、アプリケーションのリソース (CPU) 使用状況をモニタリングし、アプリケーションの並列処理を適宜伸縮的にスケールアップまたはスケールダウンします。

  • CloudWatch メトリクスの最大値が 15 分間で 75% 以上になると、アプリケーションcontainerCPUUtilizationはスケールアップ (並列処理の増加) します。つまり、ScaleUpアクションは、1 分間が 75% 以上の連続するデータポイントが 15 個あるときに開始されます。ScaleUp アクションはアプリケーションの CurrentParallelismを倍増します。 ParallelismPerKPU は変更されません。その結果、割り当てられた の数KPUsも倍増します。

  • CPU 使用率が 6 時間にわたって 10% を下回ると、アプリケーションはスケールダウン (並列性の低下) します。つまり、1 分間の期間が 10% 未満の連続するデータポイントが 360 個あるときにScaleDownアクションが開始されます。ScaleDown アクションはアプリケーションの並列処理を半分 (切り上げ) にします。 ParallelismPerKPU は変更されず、割り当てられた数KPUsも半分 (切り上げ) になります。

注記

最大 1 分間containerCPUUtilizationは、スケーリングアクションに使用されるデータポイントとの相関関係を見つけるために参照できますが、アクションが初期化された正確な瞬間を反映する必要はありません。

Apache Flink 用 Managed Service では、アプリケーションの CurrentParallelism 値がアプリケーションの Parallelism 設定を下回ることはありません。

Apache Flink 用 Managed Serviceサービスがアプリケーションをスケーリングしているときは、AUTOSCALING 状態になります。 DescribeApplication または ListApplicationsアクションを使用して、現在のアプリケーションステータスを確認できます。サービスがアプリケーションをスケーリングしている間に使用できる有効なAPIアクションは、 Forceパラメータを に設定 StopApplicationすることですtrue

AutoScalingEnabled プロパティ (「FlinkApplicationConfiguration」の一部 ) を使用して、auto スケーリングの動作を有効または無効にすることができます。 AWS アカウントは、アプリケーションの parallelismparallelismPerKPU設定の関数である KPUs Managed Service for Apache Flink のプロビジョニングに対して課金されます。アクティビティが急増すると、Apache Flink 用 Managed Service のコストが増加します。

料金については、「Amazon Managed Service for Apache Flink の料金」を参照してください。

アプリケーションのスケーリングについて、以下のことに注意してください:

  • 自動スケーリングはデフォルトで有効になっている。

  • Studio ノートブックにはスケーリングは適用されません。ただし、Studio Notebook を永続的状態のアプリケーションとしてデプロイすると、スケーリングはデプロイされたアプリケーションに適用されます。

  • アプリケーションのデフォルトの制限は 64 ですKPUs。詳細については、「Apache Flink と Studio ノートブッククォータの Managed Service」を参照してください。

  • 自動スケーリングによってアプリケーションの並列度が更新されると、アプリケーションのダウンタイムが発生します。このダウンタイムを回避するには、以下を実行します。

カスタム自動スケーリングの実装

自動スケーリングをより細かく制御したり、 以外のトリガーメトリクスを使用したりする場合はcontainerCPUUtilization、次の例を使用できます。

  • AutoScaling

    この例では、ソースまたはシンクとして使用される Amazon MSKおよび Amazon Kinesis Data Streams からの CloudWatch メトリクスなど、Apache Flink アプリケーションとは異なるメトリクスを使用して Managed Service for Apache Flink アプリケーションをスケーリングする方法を示しています。

詳細については、「Apache Flink の拡張モニタリングと自動スケーリング」を参照してください。

スケジュールされた自動スケーリングを実装する

ワークロードが時間の経過とともに予測可能なプロファイルに従っている場合は、Apache Flink アプリケーションを事前にスケーリングすることをお勧めします。これにより、メトリクスに基づいてリアクティブにスケーリングするのではなく、スケジュールされた時間にアプリケーションがスケーリングされます。1 日の固定時間にスケールアップとスケールダウンを設定するには、次の例を使用します。