

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 실행 캐시 사용
<a name="workflow-cache-startrun"></a>

기본적으로 실행은 실행 캐시를 사용하지 않습니다. 실행에 캐시를 사용하려면 실행을 시작할 때 실행 캐시와 실행 캐시 동작을 지정합니다.

실행이 완료되면 콘솔, CloudWatch Logs 또는 API 작업을 사용하여 캐시 적중을 추적하거나 캐시 문제를 해결할 수 있습니다. 자세한 내용은 [통화 캐싱 정보 추적](#workflow-cache-track) 및 [통화 캐싱 문제 해결](troubleshooting.md#workflow-cache-troubleshooting) 섹션을 참조하세요.

실행에서 하나 이상의 작업이 비결정적 출력을 생성하는 경우 실행에 호출 캐싱을 사용하지 않거나 캐싱에서 이러한 특정 작업을 옵트아웃하는 것이 좋습니다. 자세한 내용은 [공동 책임 모델](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)를 사용하여 실행 캐시 데이터를 분석하고 관리할 수 있습니다. 자세한 내용은 [Amazon Q CLI에 대한 프롬프트 예제](getting-started.md#omics-q-prompts) 및 GitHub의 [HealthOmics Agentic 생성형 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. **실행** 페이지에서 시작할 실행을 선택합니다.

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>

실행 캐시를 사용하는 실행을 시작하려면 **start-run** CLI 명령에 cache-id 파라미터를 추가합니다. 선택적으로 `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
```