

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

# ワークフロー作成時のプライベートコンテナまたはサードパーティーコンテナの追加
<a name="containers-workflow-creation"></a>

新しいワークフローを作成するときに、ワークフローに必要なレジストリとイメージマッピングを定義できます。詳細については、「[プライベートワークフローを作成する](create-private-workflow.md)」を参照してください。新しいワークフローバージョンを作成するときに、レジストリとイメージマッピングを更新することもできます。詳細については、「[ワークフローバージョンを作成する](workflows-version-create.md)」を参照してください。

以下のセクションでは、レジストリマッピングとイメージマッピングについて説明します。

## レジストリマッピング
<a name="ecr-pull-through-registry-mapping"></a>

プライベート Amazon ECR レジストリのプレフィックスとアップストリームレジストリ名の間でマッピングするレジストリマッピングを定義します。1 つのレジストリマップには、HealthOmics がコピーするレジストリのプルスルーキャッシュマッピングとマッピングの両方を含めることができます。

次の例では、Docker Hub、Quay、Amazon ECR Public をプルスルーキャッシュでマッピングし、Seqera Containers (`community.wave.seqera.io`) を認証情報でマッピングして、HealthOmics がイメージをコピーできるようにします。

```
{
    "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`。これらのマッピングの 1 つに がない場合`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 ワークフローで定義されているイメージ名とアップストリームレジストリのイメージ名の間でマッピングするイメージマッピングを定義します。

Amazon ECR が Quay などのプルスルーキャッシュをサポートするレジストリと、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)。