ECS クラスター用の堅牢な自動スケーリング プロセスを作成しようとしていますが、CpuUtilization メトリックの解決に関する問題に直面しています。1 分の解像度で「詳細メトリック」をオンにしましたが、適切なスケーリング結果を得ることができません。推論に約 1.5 秒かかる ML モデルをデプロイしています。私はメモリのボトルネックに直面していないため、スケーリングに CpuUtilization を使用しています。
リクエストが積み重なり始めると、応答時間が 3 ~ 5 秒に簡単に短縮されるため、迅速なスケーリングが必要です。現在、「詳細メトリック」が有効になっています。3 つのデータポイントで 1 分間の解像度メトリックがチェックされるため、スケールアウト時間は開始までに約 3 ~ 5 分かかります。5 ~ 10 秒の解像度メトリックがある場合、30 秒以内に 6 つのデータ ポイントを確認し、スケールアウト ジョブをより迅速に開始できます。
このブログの Lambda、StepFunctions、EventBridge を使ってみました。ただし、CpuUtilization または MemoryUtilization を取得できず、タスク、サービス、およびコンテナーのカウントのみを取得できます。
ECS から直接 CPU とメモリのメトリックを取得する方法はありますか? cloudwatch.get_metric_statistics()を使用できることはわかっています。ただし、CloudWatch に報告されたデータポイントしか取得できません。だから、役に立たない。