View a markdown version of this page

Ajout de conteneurs privés ou tiers lors de la création du flux de travail - AWS HealthOmics

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Ajout de conteneurs privés ou tiers lors de la création du flux de travail

Lorsque vous créez un nouveau flux de travail, vous pouvez définir le registre et les mappages d'images requis par votre flux de travail. Pour plus d’informations, consultez Créez un flux de travail privé. Vous pouvez également mettre à jour le registre et les mappages d'images lorsque vous créez une nouvelle version du flux de travail. Pour plus d’informations, consultez Création d'une version du flux de travail.

Les sections suivantes décrivent les mappages de registres et les mappages d'images.

Mappages de registres

Vous définissez des mappages de registre pour établir une correspondance entre les préfixes de votre registre Amazon ECR privé et les noms de registre en amont. Une carte de registre peut contenir à la fois des mappages de cache extractibles et des mappages pour les registres qui HealthOmics copies de.

L'exemple suivant mappe Docker Hub, Quay et Amazon ECR Public via le cache d'extraction, et mappe les conteneurs Seqera (community.wave.seqera.io) avec un justificatif afin que HealthOmics copie ses images.

{ "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" } ] }

Les règles suivantes s'appliquent aux mappages de registres :

  • upstreamRegistryUrl doit correspondre exactement à l'hôte de registre au début de l'URI de l'image. Par exemple, un mappage pour wave.seqera.io ne couvre pas les images sur community.wave.seqera.io.

  • Chaque hôte de registre en amont auquel le flux de travail fait référence a besoin d'un mappage. Les images auxquelles vous faites référence par leur URI Amazon ECR privé n'en ont pas besoin.

  • Les mappages de cache d'extraction ne sont pas utilisés credentialArn. Si vous ajoutez credentialArn vers un mappage de cache extractible, HealthOmics l'ignore.

  • Cartographies pour les registres qui HealthOmics des copies de doivent inclure credentialArn. Si l'un de ces mappages ne contient aucun credentialArn, le flux de travail échoue avec une erreur qui nomme le registre.

  • Gardez upstreamRepositoryPrefix unset pour Wave ()wave.seqera.io).

CreateWorkflow et CreateWorkflowVersion sont asynchrones. Si le statut est FAILED, l'erreur apparaît dans statusMessage dans le GetWorkflow réponse pour un flux de travail, ou GetWorkflowVersion réponse pour une version du flux de travail.

Fournissez la carte en ligne avec containerRegistryMap, ou en tant qu'URI Amazon S3 avec containerRegistryMapUri, pas les deux. Pour des exemples de CLI, voir Configurer les paramètres de mappage du cache Pull Through et Configurer les paramètres de mappage du cache sans extraction.

L'exécution utilise la carte de registre du flux de travail ou de la version du flux de travail que vous exécutez, de sorte que vous n'ajoutez rien à StartRun.

Mappages d'images

Vous définissez des mappages d'images pour établir une correspondance entre les noms des images tels que définis dans vos flux de travail Amazon ECR privés et les noms des images dans le registre en amont.

Vous pouvez utiliser des mappages d'images avec des registres pris en charge par Amazon ECR via le cache, tels que Quay, et avec des registres que l'extraction par le cache ne prend pas en charge, tels que Seqera. HealthOmics ne copie pas les images pour les mappages d'images. Vous synchronisez donc vous-même votre référentiel privé avec le registre en amont.

Note

Un mappage d'image a priorité sur un mappage de registre.

L'exemple suivant montre les mappages entre des images Amazon ECR privées et une image génomique publique et la dernière image 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" } ] }

Pour plus d'informations sur l'utilisation des mappages de registres et d'images lors de la création d'un flux de travail, voir Configurer les paramètres de mappage du cache Pull Through.