View a markdown version of this page

プライベートワークフローのメトリクスを実行する - AWS HealthOmics

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

プライベートワークフローのメトリクスを実行する

HealthOmics は、実行とタスクのほぼリアルタイムのリソース使用率メトリクスを Amazon CloudWatch に発行します。これらのメトリクスにより、実行中の実行の進行状況を可視化できます。これらのメトリクスは、次の目的で使用できます。

  • タスクの実行中に中央処理装置 (CPU) またはグラフィック処理装置 (GPU) のボトルネックを特定します。

  • タスクが失敗する前に、メモリ負荷またはスクラッチストレージの枯渇を検出します。

  • ワークフローのコンピューティング設定とストレージ設定のサイズを適正化します。

  • CloudWatch ダッシュボードとアラームを構築するか、サードパーティーのオブザーバビリティツールと統合します。

実行メトリクスは、プライベートワークフローと共有ワークフローで使用できます。

HealthOmics は、独自の CloudWatch アカウントcloudwatch.aws/omicsの範囲内でこれらのメトリクスを提供します。

これらのメトリクスは、CloudWatch OpenTelemetry (OTel) 互換メトリクス標準を使用して出力されます。つまり、OTel 互換のオブザーバビリティツールとネイティブの CloudWatch ダッシュボードやアラームと統合できます。Prometheus Query Language (PromQL) を使用して OTel メトリクスをクエリして、データを表示および分析します。詳細については、CloudWatch OpenTelemetry メトリクス」を参照してください。

リージョンの可用性

実行メトリクスは、イスラエル (テルアビブ) リージョン () を除く、サポートされているすべての HealthOmics リージョンで使用できますil-central-1。

実行のメトリクスの有効化

これらのメトリクスを公開するには、実行に使用する AWS Identity and Access Management (IAM) ロールに CloudWatch にメトリクスを書き込むアクセス許可が必要です。ワークフロー実行ロールに次のアクセス許可を追加します。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "cloudwatch:PutMetricData", "Resource": "*" } ] }

権限の詳細については、「のサービスロール AWS HealthOmics」を参照してください。実行の開始の詳細については、「」を参照してくださいHealthOmics で実行を開始する。

CloudWatch PutMetricData クォータ

CloudWatch PutMetricData のデフォルトのクォータは、1 秒あたり 500 リクエスト (1 秒あたりのトランザクション) です。このデフォルトのクォータは、最大 15,000 個の同時 HealthOmics タスクのメトリクスを表示するのに十分です。15,000 を超える同時 HealthOmics タスクのメトリクスを表示するには、CloudWatch PutMetricData クォータの制限の引き上げをリクエストします。詳細については、「CloudWatch サービスのクォータ」を参照してください。

使用可能なメトリクス

メトリクスの可用性

HealthOmics は、ワークフロータイプに基づいてメトリクスを出力します。すべてのワークフローに対してすべてのメトリクスが出力されるわけではありません。

次の表に、HealthOmics が実行ごとに提供するメトリクスを示します。メトリクスは CloudWatch Query Studio で使用できます。単位は OpenTelemetry の規則に従います。 Byはバイト、 {cpu} は vCPUs {operation} はオペレーション、 % はパーセンテージです。

HealthOmics 実行メトリクス
メトリクス名 説明 Unit タイプ 頻度 可用性
aws.omics.run.filesystem.usage 実行の共有ファイルシステムで使用中のストレージ。 By gauge 30 秒 実行ごとに。
aws.omics.run.filesystem.limit 実行の共有ファイルシステムの合計容量。 By gauge 30 秒 実行ストレージタイプを使用するSTATIC実行の場合のみ。
aws.omics.task.cpu.usage ワークフロータスクで使用されている vCPUs。 {cpu} gauge 30 秒 実行中のすべてのタスク。
aws.omics.task.cpu.limit ワークフロー定義またはデフォルト値に基づいてワークフロータスク用に予約vCPUs。 {cpu} gauge 30 秒 実行中のすべてのタスク。
aws.omics.task.memory.usage ワークフロータスクで使用されているメモリ。 By gauge 30 秒 実行中のすべてのタスク。
aws.omics.task.memory.limit ワークフロータスク用に予約されたメモリ。 By gauge 30 秒 実行中のすべてのタスク。
aws.omics.task.network.io ワークフロータスクによって送受信されたバイト数。network.io.direction (receive、) で分割しますtransmit。 By sum 30 秒 実行中のすべてのタスク。
aws.omics.task.filesystem.io ワークフロータスクによって転送されたファイルシステムのバイト数。filesystem.io.direction (read、) で分割しますwrite。 By sum 30 秒 実行中のすべてのタスク。
aws.omics.task.filesystem.operations ワークフロータスクによって実行されるファイルシステムオペレーションの数。filesystem.io.direction (read、) で分割しますwrite。 {operation} sum 30 秒 実行中のすべてのタスク。
aws.omics.task.filesystem.scratch.storage.usage ワークフロータスクで使用されているスクラッチストレージ。 By gauge 30 秒 (LOCAL モード) または 20 分 (SHARED モード) 実行中のすべてのタスク。
aws.omics.task.filesystem.scratch.storage.limit ワークフロータスクで使用できるスクラッチストレージ容量の合計。 By gauge 30 秒 を scratchStorageModeに設定する実行内のすべてのタスクについてLOCAL。
aws.omics.task.gpu.utilization ワークフロータスクの GPU 使用率。GPU ごとに 1 つのデータポイント。 で識別されますgpu.id。 % gauge 30 秒 アクセラレーターを使用するタスクの場合のみ。
aws.omics.task.gpu.memory.usage ワークフロータスクで使用されている GPU メモリ。GPU ごとに 1 つのデータポイント。 で識別されますgpu.id。 By gauge 30 秒 アクセラレーターを使用するタスクの場合のみ。
aws.omics.task.gpu.memory.limit ワークフロータスクで使用できる GPU メモリ。GPU ごとに 1 つのデータポイント。 で識別されますgpu.id。 By gauge 30 秒 アクセラレーターを使用するタスクの場合のみ。

アクセラレーターの詳細については、「」を参照してくださいHealthOmics ワークフロー定義のタスクリソース。

エフェメラルストレージの詳細については、「」を参照してくださいHealthOmics ワークフロータスク用のエフェメラルストレージ。

共通の 属性

すべての HealthOmics 実行メトリクスには、データポイントのソースを識別する共通のリソースラベルのセットが格納されます。

リソースラベル
ラベル 説明 値の例
一般的なリソースラベル
@resource.cloud.provider メトリクスを発行したクラウドプロバイダー。 aws
@resource.cloud.account.id 実行が属する AWS アカウント。 123456789012
@resource.cloud.region 実行が実行された AWS リージョン。 us-west-2
@resource.cloud.resource_id 実行の ARN。 arn:aws:omics:us-west-2:123456789012:run/1234567
@resource.service.name メトリクスを発行したサービス。 omics
@resource.aws.omics.workflow.id 実行が使用したワークフローの ID。 1122334
@resource.aws.omics.run.id 実行の ID。 1234567
@resource.aws.omics.storage.type 実行ストレージタイプ。 DYNAMIC
タスクリソースラベル
@resource.aws.omics.task.id データポイントの対象となるタスクの ID。このラベルが付いているのはaws.omics.task.*メトリクスのみです。 1245938

その他の属性

一部の実行メトリクスには、メトリクスを別々の時系列に分割する追加のデータポイント属性があります。これらの属性を使用して、PromQL クエリをフィルタリングできます。

追加のメトリクス属性
追加属性 メトリクス 説明 値
gpu.id aws.omics.task.gpu.utilization, aws.omics.task.gpu.memory.usage, aws.omics.task.gpu.memory.limit インスタンス上の GPU のゼロベースのインデックス。 0、 1、 2、または 3
scratch.storage.mode aws.omics.task.filesystem.scratch.storage.usage, aws.omics.task.filesystem.scratch.storage.limit タスクが有効な に基づいてスクラッチデータを書き込む場所scratchStorageMode。 LOCAL、または SHARED
network.io.direction aws.omics.task.network.io ネットワーク転送の方向。 receive、または transmit
filesystem.io.direction aws.omics.task.filesystem.io, aws.omics.task.filesystem.operations ファイルシステムオペレーションの方向。 read、または write

HealthOmics 実行メトリクスのクエリ

Query Studio で PromQL クエリを実行すると、CloudWatch コンソールで HealthOmics 実行メトリクスを表示できます。

HealthOmics 実行メトリクスを表示するには (CloudWatch コンソール)
  1. 実行が アクセスcloudwatch:PutMetricData許可で開始されたことを確認します。

  2. AWS マネジメントコンソールにサインインし、CloudFront コンソール を開きます。

  3. ナビゲーションペインで、[Query Studio] を選択します。

  4. クエリエディタで、ドロップダウンリストから PromQL を選択します。

  5. ビルダーモードで、メトリクス名とそのラベルを参照して選択します。または、エディタモードで PromQL クエリを入力します。

  6. 時間範囲セレクタを使用して時間範囲を選択します。

  7. Run を選択して、結果を時系列グラフとして表示します。グラフの表示方法を変更するには、カスタマイズを選択します。

たとえば、次のクエリは、実行の各タスクで使用されている vCPUsを返します。runID を、検査する実行の ID に置き換えます。

{"aws.omics.task.cpu.usage", "@resource.aws.omics.run.id"="runID"}

各時系列に実行 ID とタスク ID でラベルを付けるには、カスタムラベルを選択して次のように入力します。

{@resource.aws.omics.run.id="${@resource.aws.omics.run.id}",@resource.aws.omics.task.id="${@resource.aws.omics.task.id}"}
HealthOmics 実行メトリクスをクエリするには (API)

CloudWatch は、メトリクスデータをクエリするための Prometheus 互換 APIs とエンドポイントを提供します。これらの APIs「Prometheus 互換 APIs」を参照してください。

CloudWatch を使用したアラームの作成

PromQL クエリから CloudWatch アラームを作成して、メトリクスがしきい値を超えたときに CloudWatch が通知するようにできます。 PromQL アラームは、Amazon Simple Notification Service (Amazon SNS) トピックに通知を送信したり、アラームの状態が変わったときに別のアクションを開始したりできます。

PromQL クエリからアラームを作成するには (CloudWatch コンソール)
  1. AWS マネジメントコンソールにサインインし、CloudFront コンソール を開きます。

  2. ナビゲーションペインで、[Query Studio] を選択します。

  3. PromQL を選択し、クエリを入力し、グラフを確認してから、アラームの作成ボタンを選択します。

HealthOmics 実行メトリクスを CloudWatch ダッシュボードに追加する

PromQL クエリを CloudWatch ダッシュボードにウィジェットとして追加して、他のメトリクスとともに HealthOmics リソース使用率をモニタリングできます。

HealthOmics 実行メトリクスを CloudWatch ダッシュボードに追加するには (CloudWatch コンソール)
  1. AWS マネジメントコンソールにサインインし、CloudFront コンソール を開きます。

  2. ナビゲーションペインで、[Query Studio] を選択します。

  3. PromQL を選択し、クエリを入力し、グラフを確認します。

  4. アクション を選択し、ダッシュボードに追加 を選択します。

  5. 既存のダッシュボードを選択するか、新しいダッシュボードを作成し、ウィジェットを保存します。

HealthOmics MCP サーバーを使用した実行メトリクスの分析

HealthOmics Model Context Protocol (MCP) サーバーを使用すると、AI モデルを使用して実行メトリクスを取得し、データの複数のディメンションにわたる実行失敗を調査できます。MCP サーバーは、Kiro CLI、Claude Code、またはその他の MCP 互換エージェントクライアントから使用できます。詳細については、AWS HealthOmics 「MCP サーバーとサポートされているエージェントツール」を参照してください。

コールアウト

  • HealthOmics は、タスクが RUNNING ステータスに達すると実行メトリクスの出力を開始し、タスクが COMPLETEDステータスに達すると実行メトリクスの出力を停止します。タスクのステータスの詳細については、「」を参照してくださいタスクステータス値。

  • 最初のデータポイントは、約 30 秒の短い遅延の後に表示されます。

  • 30 秒未満で実行されるタスクにはメトリクスがない場合があります。

  • 実行のストレージタイプが の場合DYNAMIC、 で 30 分を超える遅延aws.omics.run.filesystem.usageが発生する可能性があるため、30 分未満の実行では使用できない場合があります。

  • scratchStorageMode が の場合SHARED、多数の一時ファイルを作成するタスクでは を使用できないaws.omics.task.filesystem.scratch.storage.usage場合があります。HealthOmics は、タスクの一時ディレクトリの再帰スキャンでこのモードでの使用状況を測定し、ファイル数が多い場合、スキャンが常に制限時間内に完了するとは限りません。

  • CPU メトリクスとメモリメトリクスは、2 つの測定値が異なるスコープを使用するため、実行マニフェスト値とは異なる場合があります。実行メトリクスは、タスクが実際に消費するものをより正確に反映します。

  • 実行メトリクスは、サービスロールを所有し、実行を開始する AWS アカウントでのみ使用できます。

料金

AWS HealthOmics では、実行メトリクスの料金は発生しません。メトリクスはアカウントの Amazon CloudWatch に発行され、CloudWatch は関連するアクティビティについて直接請求します。料金は、取り込まれたメトリクスデータの量に基づきます。特定の AWS リージョンの料金については、Amazon CloudWatch の料金」を参照してください。次の表は、CloudWatch が実行メトリクスに対してどのように課金するかを示しています。

CloudWatch が実行メトリクスに対して請求する方法
アクティビティ 請求方法
OpenTelemetry メトリクスの発行 取り込まれたデータの GB あたり。15 か月間のストレージが含まれ、ストレージまたは一意のメトリクス系列の数に対して個別の料金はかかりません。
Query Studio やダッシュボードなど、CloudWatch コンソールで PromQL クエリを実行する 料金は発生しません。
CloudWatch APIs を使用した PromQL クエリの実行 スキャンされた 100 万サンプルあたり。
PromQL クエリを評価するアラーム 標準アラーム料金と、各評価でスキャンされたサンプルのクエリ料金。

オプトアウト

デフォルトでは、HealthOmics は、実行のサービスロールに アクセスcloudwatch:PutMetricData許可があるたびに実行メトリクスを発行します。将来の料金をオプトアウトして停止するには、各実行レベルでサービスロールからこのアクセス許可を省略できます。別のポリシーがアクセス許可を付与した場合でも発行を停止するには、ロールに明示的な拒否を追加します。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "cloudwatch:PutMetricData", "Resource": "*" } ] }

オプトアウトするもう 1 つの方法は、 StartRun リクエストLogLevel = OFFで を設定して実行のログ記録をオフにすることです。LogLevel を に設定するとOFF、HealthOmics は実行メトリクスを発行しません。