

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

# 워크플로 생성 중 프라이빗 또는 타사 컨테이너 추가
<a name="containers-workflow-creation"></a>

새 워크플로를 생성할 때 워크플로에 필요한 레지스트리 및 이미지 매핑을 정의할 수 있습니다. 자세한 내용은 [프라이빗 워크플로 생성](create-private-workflow.md) 섹션을 참조하세요. 새 워크플로 버전을 생성할 때 레지스트리 및 이미지 매핑을 업데이트할 수도 있습니다. 자세한 내용은 [워크플로 버전 생성](workflows-version-create.md) 섹션을 참조하세요.

다음 섹션에서는 레지스트리 매핑 및 이미지 매핑에 대해 설명합니다.

## 레지스트리 매핑
<a name="ecr-pull-through-registry-mapping"></a>

프라이빗 Amazon ECR 레지스트리의 접두사와 업스트림 레지스트리 이름 간에 매핑하도록 레지스트리 매핑을 정의합니다. 하나의 레지스트리 맵에는 HealthOmics가 복사하는 레지스트리에 대한 풀스루 캐시 매핑과 매핑이 모두 포함될 수 있습니다.

다음 예제에서는 풀스루 캐시를 통해 Docker Hub, Quay 및 Amazon ECR Public을 매핑하고HealthOmics 복사하도록 Seqera Containers(`community.wave.seqera.io`)를 자격 증명으로 매핑합니다.

```
{
    "registryMappings": [
        {
            "upstreamRegistryUrl": "registry-1.docker.io",
            "ecrRepositoryPrefix": "docker-hub"
        },
        {
            "upstreamRegistryUrl": "quay.io",
            "ecrRepositoryPrefix": "quay"
        },
        {
            "upstreamRegistryUrl": "public.ecr.aws",
            "ecrRepositoryPrefix": "ecr-public"
        },
        {
            "upstreamRegistryUrl": "community.wave.seqera.io",
            "ecrRepositoryPrefix": "wave-seqera",
            "credentialArn": "arn:aws:secretsmanager:us-east-1:111122223333:secret:omics-registry/seqera-EXAMPLE"
        }
    ]
}
```

레지스트리 매핑에는 다음 규칙이 적용됩니다.
+ `upstreamRegistryUrl`는 이미지 URI 시작 시 레지스트리 호스트와 정확히 일치해야 합니다. 예를 들어에 대한 매핑은의 이미지를 다루`wave.seqera.io`지 않습니다`community.wave.seqera.io`.
+ 워크플로가 참조하는 모든 업스트림 레지스트리 호스트에는 매핑이 필요합니다. 프라이빗 Amazon ECR URI에서 참조하는 이미지에는 필요하지 않습니다.
+ 풀스루 캐시 매핑은를 사용하지 않습니다`credentialArn`. 풀스루 캐시 매핑`credentialArn`에를 추가하면 HealthOmics는 이를 무시합니다.
+ HealthOmics가 복사하는 레지스트리에 대한 매핑에는가 포함되어야 합니다`credentialArn`. 이러한 매핑 중 하나에이 없는 경우 워크플로`credentialArn`가 실패하고 레지스트리의 이름을 지정하는 오류가 발생합니다.
+ Wave()에 대해 설정 `upstreamRepositoryPrefix` 해제를 유지합니다`wave.seqera.io`.

`CreateWorkflow` 및 `CreateWorkflowVersion`는 비동기식입니다. 상태가 인 경우 워크플로`FAILED`에 대한 `GetWorkflow` 응답 또는 워크플로 버전에 대한 `GetWorkflowVersion` 응답`statusMessage`에 오류가에 표시됩니다.

맵을에 인라인으로 제공하거나 `containerRegistryMap`둘 다 제공하지 `containerRegistryMapUri`않고에 Amazon S3 URI로 제공합니다. CLI 예제는 [풀스루 캐시 매핑 파라미터 구성](create-private-workflow.md#create-prefix-mapping-parameters) 및 섹션을 참조하세요[캐시 매핑 파라미터를 통한 비풀 구성](create-private-workflow.md#create-non-ptc-mapping-parameters).

실행은 실행하는 워크플로 또는 워크플로 버전의 레지스트리 맵을 사용하므로에 아무것도 추가하지 않습니다`StartRun`.

## 이미지 매핑
<a name="ecr-pull-through-mapping-format"></a>

프라이빗 Amazon ECR 워크플로에 정의된 이미지 이름과 업스트림 레지스트리의 이미지 이름 간에 매핑하도록 이미지 매핑을 정의합니다.

Quay와 같이 Amazon ECR 풀스루 캐시가 지원하는 레지스트리와 Seqera와 같이 풀스루 캐시가 지원하지 않는 레지스트리에서 이미지 매핑을 사용할 수 있습니다. HealthOmics는 이미지 매핑을 위해 이미지를 복사하지 않으므로 프라이빗 리포지토리를 업스트림 레지스트리와 동기화된 상태로 직접 유지합니다.

**참고**  
이미지 매핑은 레지스트리 매핑보다 우선합니다.

다음 예제에서는 프라이빗 Amazon ECR 이미지에서 퍼블릭 게놈 이미지 및 최신 Ubuntu 이미지로의 매핑을 보여줍니다.

```
{
    "imageMappings": [
        {
            "sourceImage": "public.ecr.aws/aws-genomics/broadinstitute/gatk:4.6.0.2",
            "destinationImage": "111122223333.dkr.ecr.us-east-1.amazonaws.com/broadinstitute/gatk:4.6.0.2"
        },
        {
            "sourceImage": "ubuntu:latest",
            "destinationImage": "111122223333.dkr.ecr.us-east-1.amazonaws.com/custom/ubuntu:latest"
        }
    ]
}
```

워크플로를 생성할 때 레지스트리 및 이미지 매핑을 사용하는 방법에 대한 자세한 내용은 섹션을 참조하세요[풀스루 캐시 매핑 파라미터 구성](create-private-workflow.md#create-prefix-mapping-parameters).