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 podem ser arquivadas ou expiradas com base nos critérios especificados na política de ciclo de vida 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 obter mais informações, consulte Registrando ações do Amazon ECR 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 obter mais informações, consulte Registrando ações do Amazon ECR com AWS CloudTrail.
O diagrama a seguir mostra um fluxo de trabalho da política de ciclo de vida.
-
Crie uma ou mais regras de teste.
-
Salve as regras de teste e execute a visualização.
-
O avaliador de políticas de ciclo de vida percorre todas as regras e marca as imagens que cada regra afeta.
-
O avaliador da política de ciclo de vida então aplica as regras, com base na prioridade da regra, e exibe quais imagens no repositório estão definidas para serem expiradas ou arquivadas. Um número de prioridade de regra mais baixo significa maior prioridade. Por exemplo, uma regra com prioridade 1 tem precedência sobre uma regra com prioridade 2.
-
Analise os resultados do teste, garantindo que as imagens marcadas como expiradas ou arquivadas sejam as desejadas.
-
Aplique as regras de teste como política de ciclo de vida para o repositório.
-
Depois que a política de ciclo de vida for criada, você deve esperar que as imagens expirem ou sejam arquivadas 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 obter exemplos, consulte Exemplos de políticas de ciclo de vida no Amazon ECR.
-
Quando artefatos de referência estão presentes em um repositório, as políticas de ciclo de vida do Amazon ECR expiram automaticamente ou arquivam esses artefatos dentro de 24 horas após a exclusão ou arquivamento da imagem em questão.
-
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 ou arquivada por exatamente uma ou zero regras.
-
Uma imagem que corresponda aos requisitos de marcação de uma regra não pode ser expirada ou arquivada por uma regra com prioridade mais baixa.
-
As regras nunca podem marcar imagens marcadas por regras de prioridade mais alta, mas ainda podem identificá-las como se não tivessem expirado ou arquivadas.
-
O conjunto de todas as regras que selecionam uma classe de armazenamento específica deve conter um conjunto exclusivo de prefixos.
-
Somente uma regra de seleção de uma classe de armazenamento específica pode selecionar imagens não marcadas.
-
Se uma imagem for referenciada por uma lista de manifestos, ela não poderá ser expirada ou arquivada sem que a lista de manifestos seja excluída ou arquivada primeiro.
-
A expiração é sempre ordenada por
pushed_at_timeoutransitioned_at_timee sempre expira as imagens mais antigas antes das mais novas. Se uma imagem foi arquivada e depois restaurada em algum momento no passado, a imagemlast_activated_até usada em vez depushed_at_time. -
Uma regra de política de ciclo de vida pode especificar um
tagPatternListoutagPrefixList, 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 valortagPatternListoutagPrefixListcorresponderem a qualquer tag da imagem. -
Os parâmetros
tagPatternListoutagPrefixListapenas poderão ser usados se otagStatusfortagged. -
Ao usar
tagPatternList, uma imagem será correspondida com êxito se corresponder ao filtro de curinga. Por exemplo, se um filtro deprod*for aplicado, ele corresponderá às tags de imagem cujo nome comece comprod, comoprod,prod1ouproduction-team1. Da mesma maneira, se um filtro de*prod*for aplicado, ele corresponderá às tags de imagem cujo nome contenhaprod, comorepo-productionouprod-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 valortagPrefixListcorresponderem a qualquer tag da imagem. -
O
countUnitparâmetro só é usado secountTypeforsinceImagePushedsinceImagePulled, ousinceImageTransitioned. -
Com
countType = imageCountMoreThan, as imagens são classificadas da mais nova para a mais antiga com base empushed_at_timee, em seguida, todas as imagens maiores que a contagem especificada expiram ou são arquivadas. -
Com
countType = sinceImagePushed, todas as imagens maispushed_at_timeantigas do que o número especificado de dias com base emcountNumberexpiram ou são arquivadas. -
Com
countType = sinceImagePulled, todas as imagens maislast_recorded_pulltimeantigas do que o número de dias especificado com base emcountNumbersão arquivadas. Se uma imagem nunca foi extraída, a imagempushed_at_timeé usada em vez dalast_recorded_pulltime. Se uma imagem foi arquivada e depois restaurada em algum momento no passado, mas nunca foi retirada desde que a imagem foi restaurada, a imagemlast_activated_até usada em vez dalast_recorded_pulltime. -
Com
countType = sinceImageTransitioned, todas as imagens arquivadaslast_archived_atmais antigas do que o número especificado de dias com base emcountNumberexpiram. -
A expiração é sempre ordenada por
pushed_at_timee sempre expira as imagens mais antigas antes das novas.