実行キャッシュの使用 - AWS HealthOmics

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

実行キャッシュの使用

デフォルトでは、 実行は実行キャッシュを使用しません。実行にキャッシュを使用するには、実行を開始するときに実行キャッシュと実行キャッシュの動作を指定します。

実行が完了したら、 コンソール、CloudWatch Logs、または API オペレーションを使用して、キャッシュヒットを追跡したり、キャッシュの問題をトラブルシューティングしたりできます。詳細については、「通話キャッシュ情報の追跡」および「コールキャッシュの問題のトラブルシューティング」を参照してください。

実行の 1 つ以上のタスクが非決定的な出力を生成する場合は、実行にコールキャッシュを使用しないか、これらの特定のタスクをキャッシュから除外することを強くお勧めします。詳細については、「責任共有モデル」を参照してください。

注記

実行を開始するときに IAM サービスロールを指定します。コールキャッシュを使用するには、サービスロールに実行キャッシュ Amazon S3 の場所にアクセスするためのアクセス許可が必要です。詳細については、「のサービスロール AWS HealthOmics」を参照してください。

コンソールを使用した実行キャッシュを使用した実行の設定

コンソールから、実行の開始時に実行キャッシュを設定します。

  1. HealthOmics コンソールを開きます。

  2. 左側のナビゲーションペインで、実行を選択します。

  3. 実行ページで、開始する実行を選択します。

  4. 「実行の開始」を選択し、「実行の開始」のステップ 1 と 2 を完了しますコンソールを使用した実行の開始

  5. 実行の開始のステップ 3 で、既存の実行キャッシュの選択を選択します。

  6. キャッシュ ID の実行ドロップダウンリストからキャッシュを選択します。

  7. デフォルトの実行キャッシュ動作を上書きするには、実行のキャッシュ動作を選択します。詳細については、「キャッシュ動作の実行」を参照してください。

  8. 「実行を開始する」のステップ 4 に進みます。

CLI を使用した実行キャッシュを使用した実行の設定

実行キャッシュを使用する実行を開始するには、cache-id パラメータを start-run CLI コマンドに追加します。必要に応じて、 cache-behaviorパラメータを使用して、実行キャッシュ用に設定したデフォルトの動作を上書きします。次の例は、 コマンドのキャッシュフィールドのみを示しています。

aws omics start-run \ ... --cache-id "xxxxxx" \ --cache-behavior CACHE_ALWAYS

オペレーションが成功すると、データフィールドのないレスポンスを受け取ります。

実行キャッシュのエラーケース

以下のシナリオでは、キャッシュ動作が常にキャッシュに設定されている実行であっても、HealthOmics がタスク出力をキャッシュしない場合があります。

  • 最初のタスクが正常に完了する前に実行でエラーが発生した場合、エクスポートするキャッシュ出力はありません。

  • エクスポートプロセスが失敗した場合、HealthOmics はタスク出力を Amazon S3 キャッシュの場所に保存しません。

  • filesystem out of space エラーが原因で実行が失敗した場合、呼び出しキャッシュはタスク出力を保存しません。

  • 実行をキャンセルした場合、呼び出しキャッシュはタスク出力を保存しません。

  • 実行に実行タイムアウトが発生した場合、失敗時にキャッシュを使用するように実行を設定しても、呼び出しキャッシュはタスク出力を保存しません。

通話キャッシュ情報の追跡

コンソール、 CLI、または CloudWatch Logs を使用して、コールキャッシュイベント (キャッシュヒットの実行など) を追跡できます。

コンソールを使用してキャッシュヒットを追跡する

実行の詳細ページに、実行タスクテーブルに各タスクのキャッシュヒット情報が表示されます。このテーブルには、関連付けられたキャッシュエントリへのリンクも含まれています。次の手順を使用して、実行のキャッシュヒット情報を表示します。

  1. HealthOmics コンソールを開きます。

  2. 左側のナビゲーションペインで、実行を選択します。

  3. 実行ページで、検査する実行を選択します。

  4. 実行の詳細ページで、タスクの実行タブを選択してタスクテーブルを表示します。

  5. タスクにキャッシュヒットがある場合、キャッシュヒット列には Amazon S3 の実行キャッシュエントリの場所へのリンクが含まれます。

  6. リンクを選択して、実行キャッシュエントリを検査します。

CLI を使用して通話キャッシュを追跡する

get-run CLI コマンドを使用して、実行が呼び出しキャッシュを使用したかどうかを確認します。

aws omics get-run --id 1234567

レスポンスで、 cacheIdフィールドが設定されている場合、実行はそのキャッシュを使用します。

list-run-tasks CLI コマンドを使用して、実行中の各キャッシュされたタスクのキャッシュデータの場所を取得します。

aws omics list-run-tasks --id 1234567

レスポンスで、タスクの cacheHit フィールドが true の場合、cacheS3Uri フィールドはそのタスクのキャッシュデータの場所を提供します。

get-run-task CLI コマンドを使用して、特定のタスクのキャッシュデータの場所を取得することもできます。

aws omics get-run-task --id 1234567 --task-id <task_id>

CloudWatch Logs を使用して通話キャッシュを追跡する

HealthOmics は /aws/omics/WorkflowLog CloudWatch ロググループにキャッシュアクティビティログを作成します。実行キャッシュごとにログストリームがあります: runCache/<cache_id>/<cache_uuid>

コールキャッシュを使用する実行の場合、HealthOmics はこれらのイベントの CloudWatch Logs エントリを生成します。

  • キャッシュエントリの作成 (CACHE_ENTRY_CREATED)

  • キャッシュエントリの一致 (CACHE_HIT)

  • キャッシュエントリの一致に失敗する (CACHE_MISS)

これらのログの詳細については、「」を参照してくださいCloudWatch のログ

/aws/omics/WorkflowLog ロググループで次の CloudWatch Insights クエリを使用して、このキャッシュの実行ごとのキャッシュヒット数を返します。

filter @logStream like 'runCache/<CACHE_ID>/' fields @timestamp, @message filter logMessage like 'CACHE_HIT' parse "run: *," as run stats count(*) as cacheHits by run

次のクエリを使用して、各実行によって作成されたキャッシュエントリの数を返します。

filter @logStream like 'runCache/<CACHE_ID>/' fields @timestamp, @message filter logMessage like 'CACHE_ENTRY_CREATED' parse "run: *," as run stats count(*) as cacheEntries by run