Automatizar a limpeza de imagens usando políticas de ciclo de vida no Amazon ECR - Amazon ECR

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Automatizar a limpeza de imagens usando políticas de ciclo de vida no Amazon ECR

As políticas de ciclo de vida do Amazon ECR fornecem mais controle sobre o gerenciamento de ciclo de vida de imagens em um repositório privado. Uma política de ciclo de vida contém uma ou mais regras, e cada regra define uma ação do Amazon ECR. Com base nos critérios de expiração da política de ciclo de vida, as imagens expiram com base na idade ou na contagem em 24 horas. Quando o Amazon ECR executa uma ação com base em uma política de ciclo de vida, ela é capturada como um evento no AWS CloudTrail. Para ter mais informações, consulte Registrando ECR ações da Amazon com AWS CloudTrail.

Como funcionam as políticas de ciclo

Uma política de ciclo de vida consiste em uma ou mais regras que determinam quais imagens em um repositório devem perder a validade. Ao considerar o uso de políticas de ciclo de vida, é importante usar a visualização da política de ciclo de vida para confirmar de quais imagens a política de ciclo de vida expira a validade antes de aplicá-la a um repositório. Depois que uma política de ciclo de vida é aplicada a um repositório, você deve esperar que as imagens expirem dentro de 24 horas após atenderem aos critérios de expiração. Quando o Amazon ECR executa uma ação com base em uma política de ciclo de vida, ela é capturada como um evento no AWS CloudTrail. Para ter mais informações, consulte Registrando ECR ações da Amazon com AWS CloudTrail.

O diagrama a seguir mostra um fluxo de trabalho da política de ciclo de vida.

O diagrama mostra o processo de avaliação e aplicação de uma política de ciclo de vida.
  1. Crie uma ou mais regras de teste.

  2. Salve as regras de teste e execute a visualização.

  3. O avaliador de políticas de ciclo de vida percorre todas as regras e marca as imagens que cada regra afeta.

  4. Em seguida, o avaliador de políticas de ciclo de vida aplica as regras, com base na prioridade da regra, e exibe quais imagens no repositório estão definidas para expirar a validade.

  5. Revise os resultados do teste, certificando-se de que as imagens marcadas para expirar a validade são as que você pretendia.

  6. Aplique as regras de teste como política de ciclo de vida para o repositório.

  7. Depois que a política de ciclo de vida é criada, você deve esperar que as imagens expirem dentro de 24 horas após atenderem aos critérios de expiração.

Regras de avaliação de política de ciclo de vida

O avaliador da política de ciclo de vida é responsável por analisar o JSON de texto simples da política de ciclo de vida, avaliando todas as regras e aplicando essas regras com base na prioridade da regra às imagens no repositório. A seguir encontra-se a explicação mais detalhada da lógica do avaliador de políticas de ciclo de vida. Para ver exemplos, consulte Exemplos de políticas de ciclo de vida no Amazon ECR.

  • Todas as regras são avaliadas ao mesmo tempo, independentemente da prioridade da regra. Depois que todas as regras são avaliadas, elas são aplicadas com base na prioridade da regra.

  • Uma imagem é expirada por exatamente uma ou nenhuma regra.

  • Uma imagem que corresponde aos requisitos de marcação de uma regra não pode ser expirada por uma regra com uma prioridade inferior.

  • As regras nunca podem marcar imagens marcadas por regras de maior prioridade, mas ainda podem identificá-las como se não tivessem expirado.

  • O conjunto de regras deve conter um conjunto exclusivo de prefixos de tags.

  • Somente uma regra é permitida para selecionar imagens não marcadas.

  • Se uma imagem for referenciada por uma lista de manifestos, ela não poderá expirar sem que a lista de manifestos seja excluída primeiro.

  • A expiração é sempre solicitada por pushed_at_time e expira sempre as imagens mais antigas antes das mais novas.

  • Uma regra de política de ciclo de vida pode especificar um tagPatternList ou tagPrefixList, mas não ambos. Porém, uma política de ciclo de vida pode conter várias regras em que regras diferentes usam listas de padrões e prefixos. Uma imagem será correspondida com êxito se todas as tags no valor tagPatternList ou tagPrefixList corresponderem a qualquer tag da imagem.

  • Os parâmetros tagPatternList ou tagPrefixList apenas poderão ser usados se o tagStatus for tagged.

  • Ao usar tagPatternList, uma imagem será correspondida com êxito se corresponder ao filtro de curinga. Por exemplo, se um filtro de prod* for aplicado, ele corresponderá às tags de imagem cujo nome comece com prod, como prod, prod1 ou production-team1. Da mesma maneira, se um filtro de *prod* for aplicado, ele corresponderá às tags de imagem cujo nome contenha prod, como repo-production ou prod-team.

    Importante

    Existe um limite máximo de quatro curingas (*) por string. Por exemplo, ["*test*1*2*3", "test*1*2*3*"] é válido, mas ["test*1*2*3*4*5*6"] é inválido.

  • Ao usar tagPrefixList, uma imagem será correspondida com êxito se todos os filtros de curinga no valor tagPrefixList corresponderem a qualquer tag da imagem.

  • O parâmetro countUnit só será usado se countType for sinceImagePushed.

  • Com countType = imageCountMoreThan, as imagens são classificadas das mais novas para as mais antigas com base em pushed_at_time e, em seguida, todas as imagens acima da contagem especificada são expiradas.

  • Com countType = sinceImagePushed, todas as imagens que tiverem o valor de pushed_at_time mais antigo do que o número de dias especificado com base em countNumber serão expiradas.