Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Uso de registros de terceros no compatibles con la caché de extracción
Su flujo de trabajo puede usar imágenes de contenedor de registros ascendentes que la caché de extracción (PTC) de Amazon ECR no admite. La primera vez que una tarea de su ejecución necesite una de estas imágenes, HealthOmics la copia del registro inicial en un repositorio privado de Amazon ECR de su cuenta e inicia la tarea a partir de la copia. Las tareas y ejecuciones posteriores reutilizan la copia, por lo que la descarga solo se realiza una vez. Si varias ejecuciones necesitan la misma imagen al mismo tiempo, por ejemplo, si se ejecutan por lotes, HealthOmics copia la imagen una vez y las corridas esperan esa copia. La definición de su flujo de trabajo conserva los URI originales de las imágenes ascendentes, por lo que no tendrá que extraer, insertar ni reescribir los URI de las imágenes usted mismo.
Te recomendamos que hagas referencia a estas imágenes por resumen o versión en lugar de por etiqueta. Para obtener más información, consulte Utilice un resumen o una versión en lugar de una etiqueta para las imágenes que no sean de PTC.
HealthOmics admite los siguientes registros ascendentes que PTC no admite:
Contenedores Seqera (
community.wave.seqera.ioywave.seqera.io)NVIDIA NGC (
nvcr.io)Registro de contenedores de Google (
gcr.io)Registro de artefactos de Google (
). Utilice el host regional completo, por ejemploregion-docker.pkg.devus-central1-docker.pkg.dev.
Temas
Configuración de la compatibilidad con contenedores que no son de PTC
Antes de utilizar contenedores de registros que PTC no admite, guarde sus credenciales de registro y configure los permisos para HealthOmics.
Paso 1: Guarde su credencial de registro en Secrets Manager
HealthOmics autentica y copia las imágenes de los contenedores de los registros principales con tus credenciales. Guardas tus credenciales en secreto en el mismo AWS Región como su HealthOmics corre. También puedes usar un secreto de otro Cuenta de AWS o comparte tu secreto con otra cuenta. Cuando usas un secreto de otra Cuenta de AWS, la función de servicio a la que pasas StartRun se le debe permitir leer el secreto. Para obtener más información, consulte Acceda a los secretos de Secrets Manager desde una cuenta diferente en el Guía del usuario de Secrets Manager.
Todos los registros compatibles necesitan una credencial, incluidos los registros que permiten realizar extracciones anónimas, como community.wave.seqera.io.
En las siguientes pestañas se muestra el formato de las credenciales y un ejemplo para cada registro compatible.
Puedes registrar el nombre de recurso de Amazon (ARN) del secreto de la respuesta y usarlo como credentialArn valor en la asignación de registro.
Paso 2: Otorgar permisos al rol de servicio
HealthOmics usa el rol de servicio al que transfieres StartRun para leer el secreto, crear el repositorio de destino e insertar la imagen copiada. El rol de servicio debe estar en el mismo Cuenta de AWS como la carrera. De lo contrario, HealthOmics rechaza el rol con el error El rol de IAM no coincide con la cuenta de AWS solicitante.
Para obtener información sobre la política, consulte Política de funciones de servicio para el soporte de contenedores que no son de PTC.
Tras conceder estos permisos, añada una asignación de registro con el ARN secreto como credentialArn. Para obtener más información, consulte Mapeos de registro.
Nombramiento del repositorio de destino
Las asignaciones de registro se especifican al crear un flujo de trabajo y HealthOmics copia las imágenes durante una ejecución. Para obtener más información, consulte Añadir contenedores privados o de terceros durante la creación del flujo de trabajo.
Cada imagen copiada llega a una URI que puedes calcular a partir de la asignación de registro:
account-id.dkr.ecr.region.amazonaws.com/ecrRepositoryPrefix/image-path:tag
image-path es la URI de la imagen ascendente sin el host de registro y sin upstreamRepositoryPrefix si configuras uno. Mantenga upstreamRepositoryPrefix Puesta de sol para Wave (wave.seqera.io). La cuenta es la cuenta del flujo de trabajo, a menos que configures ecrAccountId. Cuando configuras ecrAccountId, HealthOmics crea el repositorio e inserta la copia en esa cuenta utilizando su rol de servicio. Entonces, el rol de servicio necesita los mismos permisos de Amazon ECR en los repositorios de esa cuenta, y las políticas de registro y repositorio de esa cuenta deben permitirlo.
Por ejemplo, community.wave.seqera.io/library/samtools:1.22.1--eccb42ff8fb55509 con prefijo wave-seqera aterriza en 111122223333.dkr.ecr.us-east-1.amazonaws.com/wave-seqera/library/samtools:1.22.1--eccb42ff8fb55509.
Para confirmar que la copia se realizó correctamente, compruebe que la imagen existe en su URI de destino, por ejemplo con lo siguiente AWS CLI comando:
aws ecr describe-images \ --repository-namewave-seqera/library/samtools\ --image-ids imageTag=1.22.1--eccb42ff8fb55509\ --regionus-east-1
Si el repositorio no existe en la cuenta del flujo de trabajo, HealthOmics lo crea. Si el repositorio no tiene una política de repositorios, HealthOmics adjunta una que permite HealthOmics tira de la imagen. Si el repositorio ya tiene una política, HealthOmics la deja sin cambios, así que incluye una sentencia que permita HealthOmics extraer imágenes. Para ver un ejemplo, consulta Cree una política de recursos para el repositorio de Amazon ECR.
ecrRepositoryPrefix/image-path se convierte en el nombre de un repositorio de Amazon ECR, por lo que el prefijo debe utilizar letras minúsculas, números y caracteres /, -, _, y ..
Si tus flujos de trabajo en la misma cuenta comparten un ecrRepositoryPrefix, comparten las imágenes copiadas. Si eliminas una imagen copiada, esto afectará a todos los flujos de trabajo que usen esa imagen con ese prefijo.
Consideraciones sobre la compatibilidad con contenedores que no son de PTC
Cuando utilice un soporte para contenedores que no sean de PTC, tenga en cuenta lo siguiente:
-
Arquitectura — HealthOmics copia solo imágenes x86_64. ARM-based y no se admiten imágenes con varias arquitecturas.
-
Uso compartido del flujo de trabajo: Non-PTC La compatibilidad con contenedores no es compatible con los flujos de trabajo compartidos. Cuando otra cuenta ejecuta un flujo de trabajo que compartiste, HealthOmics ignora las asignaciones de registro que incluyen
credentialArn. -
Etiquetas de imagen — HealthOmics copia la imagen que contiene una etiqueta, como
latest, señala a la copia y no la actualiza cuando cambia el contenido original. Para obtener el nuevo contenido, borre la imagen copiada de Amazon ECR. Después de eliminarlo, HealthOmics vuelve a copiar la imagen del registro anterior la próxima vez que la necesite. Si tu flujo de trabajo hace referencia a una nueva etiqueta o resumen, HealthOmics copia esa imagen la primera vez que una tarea la necesita. -
Errores de copia: si la credencial de registro no es válida o el rol de servicio no tiene los permisos necesarios HealthOmics necesita, la copia de la imagen falla y la tarea y la ejecución fallan. Si ya existe una copia de la imagen en Amazon ECR, HealthOmics usa esa copia y no comprueba la credencial de registro.