

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

# 実行キャッシュの使用
<a name="workflow-cache-startrun"></a>

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

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

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



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

[Amazon Q CLI ](https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/what-is.html)を使用して、実行キャッシュデータを分析および管理できます。詳細については、GitHub の[「Amazon Q CLI のプロンプトの例](getting-started.md#omics-q-prompts)[」およびHealthOmics エージェント生成 AI チュートリアル](https://github.com/aws-samples/aws-healthomics-tutorials/tree/main/generative-ai)」を参照してください。

**Topics**
+ [コンソールを使用した実行キャッシュを使用した実行の設定](#workflow-cache-startrun-console)
+ [CLI を使用した実行キャッシュを使用した実行の設定](#workflow-cache-startrun-api)
+ [実行キャッシュのエラーケース](#workflow-cache-errors)
+ [通話キャッシュ情報の追跡](#workflow-cache-track)

## コンソールを使用した実行キャッシュを使用した実行の設定
<a name="workflow-cache-startrun-console"></a>

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

1. [HealthOmics コンソール](https://console.aws.amazon.com/omics/)を開きます。

1.  必要に応じて、左側のナビゲーションペイン (≡) を開きます。**[実行]** を選択します。

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

1. **「実行の開始**」を選択し、**「実行の開始**」のステップ 1 と 2 を完了します[コンソールを使用した実行の開始](starting-a-run.md#starting-a-run-console)。

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

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

1. デフォルトの実行キャッシュ動作を上書きするには、実行の**キャッシュ動作**を選択します。詳細については、「[キャッシュ動作の実行](how-run-cache.md#run-cache-behavior)」を参照してください。

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

## CLI を使用した実行キャッシュを使用した実行の設定
<a name="workflow-cache-startrun-api"></a>

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

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

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

## 実行キャッシュのエラーケース
<a name="workflow-cache-errors"></a>

以下のシナリオでは、キャッシュ動作が**常に**キャッシュに設定されている実行であっても、HealthOmics がタスク出力をキャッシュしない場合があります。
+ 最初のタスクが正常に完了する前に実行でエラーが発生した場合、エクスポートするキャッシュ出力はありません。
+ エクスポートプロセスが失敗した場合、HealthOmics はタスク出力を Amazon S3 キャッシュの場所に保存しません。
+ **filesystem out of space** エラーが原因で実行が失敗した場合、呼び出しキャッシュはタスク出力を保存しません。
+ 実行をキャンセルした場合、呼び出しキャッシュはタスク出力を保存しません。
+ 実行に実行タイムアウトが発生した場合、失敗時にキャッシュを使用するように実行を設定しても、呼び出しキャッシュはタスク出力を保存しません。

## 通話キャッシュ情報の追跡
<a name="workflow-cache-track"></a>

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

**Topics**
+ [コンソールを使用してキャッシュヒットを追跡する](#workflow-cache-track-console)
+ [CLI を使用して通話キャッシュを追跡する](#workflow-cache-track-cli)
+ [CloudWatch Logs を使用して通話キャッシュを追跡する](#workflow-cache-track-cwl)

### コンソールを使用してキャッシュヒットを追跡する
<a name="workflow-cache-track-console"></a>

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

1. [HealthOmics コンソール](https://console.aws.amazon.com/omics/)を開きます。

1.  必要に応じて、左側のナビゲーションペイン (≡) を開きます。**[実行]** を選択します。

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

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

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

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

### CLI を使用して通話キャッシュを追跡する
<a name="workflow-cache-track-cli"></a>

**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 を使用して通話キャッシュを追跡する
<a name="workflow-cache-track-cwl"></a>

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

コールキャッシュを使用する実行の場合、HealthOmics はこれらのイベントの CloudWatch Logs エントリを生成します。
+  キャッシュエントリの作成 (CACHE\$1ENTRY\$1CREATED)
+  キャッシュエントリの一致 (CACHE\$1HIT) 
+  キャッシュエントリの一致に失敗する (CACHE\$1MISS)

これらのログの詳細については、「」を参照してください[CloudWatch のログ](monitoring-cloudwatch-logs.md#cloudwatch-logs)。

`/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
```