Automatice la limpieza de imágenes mediante el uso de políticas de ciclo de vida en Amazon ECR - Amazon ECR

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.

Automatice la limpieza de imágenes mediante el uso de políticas de ciclo de vida en Amazon ECR

Las políticas de ciclo de vida de Amazon ECR proporcionan un mayor control sobre la administración del ciclo de vida de las imágenes en un repositorio privado. Una política de ciclo de vida incluye una o varias reglas y cada una de ellas define una acción de Amazon ECR. Según los criterios de caducidad de la política de ciclo de vida, las imágenes se pueden archivar o caducar según los criterios especificados en la política de ciclo de vida en un plazo de 24 horas. Cuando Amazon ECR realiza una acción basada en una política de ciclo de vida, esta acción se captura como un evento en AWS CloudTrail. Para obtener más información, consulte Registrar las acciones de Amazon ECR con AWS CloudTrail.

Funcionamiento de las políticas de ciclo de vida

Una política de ciclo de vida se compone de una o varias reglas que determinan las imágenes de un repositorio que se deben marcar para vencimiento. Al plantearse el uso de políticas de ciclo de vida, es importante utilizar la vista previa de las políticas de ciclo de vida para confirmar qué imágenes marcará la política de ciclo de vida para vencimiento antes de aplicarla a un repositorio. Una vez que se aplica una política de ciclo de vida a un repositorio, lo normal es que las imágenes caduquen en un plazo de 24 horas tras haber cumplido con los criterios de caducidad. Cuando Amazon ECR realiza una acción basada en una política de ciclo de vida, se captura como un evento en AWS CloudTrail. Para obtener más información, consulte Registrar las acciones de Amazon ECR con AWS CloudTrail.

En el siguiente diagrama se muestra el flujo de trabajo de una política de ciclo de vida.

Diagrama que muestra el proceso de evaluación y aplicación de una política de ciclo de vida.
  1. Cree una o varias reglas de prueba.

  2. Guarde las reglas de prueba y ejecute la vista previa.

  3. El evaluador de políticas de ciclo de vida revisa todas las reglas y marca las imágenes a las que afecta cada regla.

  4. A continuación, el evaluador de políticas de ciclo de vida aplica las reglas, en función de la prioridad de las reglas, y muestra qué imágenes del repositorio están configuradas para caducar o archivarse. Un número de prioridad de regla más bajo significa una prioridad más alta. Por ejemplo, una regla con prioridad 1 predomina sobre una regla con prioridad 2.

  5. Revise los resultados de la prueba y asegúrese de que las imágenes que están marcadas como caducadas o archivadas son las que pretendía.

  6. Aplique las reglas de prueba como la política de ciclo de vida del repositorio.

  7. Una vez creada la política de ciclo de vida, cabe esperar que las imágenes caduquen o se archiven en un plazo de 24 horas tras cumplir los criterios de caducidad.

Reglas de evaluación de políticas de ciclo de vida

El evaluador de políticas de ciclo de vida se encarga de analizar el código JSON en texto sin formato de la política de ciclo de vida, de evaluar todas las reglas y de aplicarlas en función de la prioridad de regla a las imágenes en el repositorio. A continuación se explica la lógica del evaluador de políticas de ciclo de vida con más detalle. Para ver ejemplos, consulte Ejemplos de políticas de ciclo de vida en Amazon ECR.

  • Cuando hay artefactos de referencia en un repositorio, las políticas de ciclo de vida de Amazon ECR caducan automáticamente o archivan esos artefactos en un plazo de 24 horas a partir de la eliminación o el archivado de la imagen en cuestión.

  • Todas las reglas se evalúan al mismo tiempo, independientemente de la prioridad. Después de evaluar todas las reglas, se aplican en función de la prioridad.

  • Una imagen caduca o se archiva siguiendo exactamente una o ninguna regla.

  • Una imagen que cumpla los requisitos de etiquetado de una regla no puede caducar ni archivarse según una regla con una prioridad inferior.

  • Las reglas nunca pueden marcar las imágenes que estén marcadas con reglas de mayor prioridad, pero pueden identificarlas como si no hubieran caducado o archivado.

  • El conjunto de reglas que seleccionan una clase de almacenamiento específica debe contener un conjunto único de prefijos.

  • Solo una regla que seleccione una clase de almacenamiento específica permite seleccionar imágenes sin etiquetar.

  • Si una lista de manifiestos hace referencia a una imagen, no se puede caducar ni archivar sin eliminar o archivar primero la lista de manifiestos.

  • La caducidad siempre se ordena por pushed_at_time o transitioned_at_time caduca las imágenes antiguas antes que las nuevas. Si una imagen se archivó y luego se restauró en algún momento del pasado, last_activated_at se utiliza la imagen en lugar de pushed_at_time la imagen.

  • Una regla de política de ciclo de vida puede especificar tagPatternList o tagPrefixList, pero no ambas. Sin embargo, una política de ciclo de vida puede contener varias reglas, y las diferentes reglas utilizan listas de patrones y prefijos. Se encuentra una coincidencia de una imagen si todas las etiquetas del valor tagPatternList o tagPrefixList coinciden con alguna de las etiquetas de la imagen.

  • Los parámetros tagPatternList o tagPrefixList solo se pueden usar si tagStatus es tagged.

  • Cuando se utiliza tagPatternList, una imagen se considera que coincide correctamente si coincide con el filtro comodín. Por ejemplo, si se aplica un filtro de prod*, coincidirá con las etiquetas de imagen cuyo nombre comience con prod, como prod, prod1 o production-team1. Del mismo modo, si se aplica un filtro de *prod*, coincidirá con las etiquetas de imagen cuyo nombre contenga prod, por ejemplo repo-production o prod-team.

    importante

    Hay un límite máximo de cuatro caracteres comodines (*) por cadena. Por ejemplo, ["*test*1*2*3", "test*1*2*3*"] es válido pero ["test*1*2*3*4*5*6"] no es válido.

  • Cuando se utiliza tagPrefixList, se encuentra una coincidencia de una imagen si todos los filtros comodín del valor de tagPrefixList coinciden con alguna de las etiquetas de la imagen.

  • El countUnit parámetro solo se usa si countType es sinceImagePushedsinceImagePulled, osinceImageTransitioned.

  • ConcountType = imageCountMoreThan, las imágenes se ordenan del más reciente al más antiguo en función del recuento especificado pushed_at_time y, a continuación, todas las imágenes que superen el número especificado caducan o se archivan.

  • ConcountType = sinceImagePushed, todas las imágenes pushed_at_time cuya antigüedad supere el número de días especificado caducan o countNumber se archivan.

  • ConcountType = sinceImagePulled, last_recorded_pulltime se archivan todas las imágenes cuya antigüedad supere el número de countNumber días especificado. Si nunca se extrajo una imagen, pushed_at_time se utiliza la imagen en lugar de lalast_recorded_pulltime. Si una imagen se archivó y luego se restauró en algún momento del pasado, pero nunca se extrajo desde que se restauró la imagen, last_activated_at se utiliza la imagen en lugar de lalast_recorded_pulltime.

  • ConcountType = sinceImageTransitioned, caducan todas las imágenes archivadas last_archived_at cuya antigüedad supere el número de días especificado. countNumber

  • La caducidad siempre se ordena por las imágenes antiguas pushed_at_time y siempre caducan antes que las más nuevas.