

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á.

# Crie uma política personalizada do Amazon Data Lifecycle Manager para AMIs EBS-backed
<a name="ami-policy"></a>

O procedimento a seguir mostra como usar o Amazon Data Lifecycle Manager para automatizar os ciclos de vida da AMI. EBS-backed 

**Topics**
+ [Criar uma política de ciclo de vida de AMI](#create-ami-policy)
+ [Considerações sobre políticas de ciclo de vida da AMI](#ami-considerations)
+ [Recursos adicionais do](#ami-additional-resources)

## Criar uma política de ciclo de vida de AMI
<a name="create-ami-policy"></a>

Use os procedimentos a seguir para criar uma política de ciclo de vida de AMI.

------
#### [ Console ]

**Para criar uma política de AMI**

1. Abra o console do Amazon EC2 em [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. No painel de navegação, selecione **Elastic Block Store**, **Lifecycle Manager** ((Gerenciador de ciclo de vida) e **Create snapshot lifecycle policy** (Criar política de ciclo de vida de snapshot).

1. Na tela **Selecionar tipo de política**, escolha **Política de EBS-backed AMI** e, em seguida, escolha **Avançar**.

1. Na seção **Target resources** (Recursos de destino), em **Target resource tags** (Etiquetas de recurso de destino), escolha as etiquetas de recursos que identificam os volumes ou as instâncias dos quais deseja fazer backup. A política só oferece suporte aos recursos que tenham a chave de etiqueta e os pares de valor especificados.

1. Para **Description** (Descrição), insira uma breve descrição da rota.

1. Em **IAM role** (Função do IAM), selecione a função do IAM que tem permissões para gerenciar AMIs e snapshots e para descrever instâncias. Para usar a função padrão fornecida pelo Amazon Data Lifecycle Manager, escolha **Default role** (Função padrão). Se preferir, para usar uma função do IAM personalizada criada anteriormente, selecione **Choose another role** (Escolher outra função) e selecione a função a ser usada.

1. Em **Policy tags** (Etiquetas de políticas), adicione as etiquetas a serem aplicadas na política de ciclo de vida. É possível usar essas etiquetas para identificar e categorizar suas políticas.

1. Em **Policy status after creation** (Status da política após a criação), selecione **Enable policy** (Habilitar política) para iniciar as execuções da política no próximo horário agendado ou **Disable policy** (Desabilitar política) para impedir que a política seja executada. Se você não habilitar a política agora, ela não começará a criar AMIs até que você a ative manualmente após a criação.

1. Na seção **Instance reboot** (Reinicialização da instância), indique se as instâncias devem ser reinicializadas antes da criação da AMI. Para evitar que as instâncias de destino sejam reinicializadas, escolha **No** (Não). Escolher **No** (Não) pode causar problemas de consistência de dados. Para reiniciar instâncias antes da criação da AMI, escolha **Yes** (Sim). Escolher isso garante a consistência dos dados, mas pode resultar na reinicialização de várias instâncias direcionadas simultaneamente.

1. Escolha **Próximo**.

1. Em **Configure schedule** (Configurar agendamento), configure os agendamentos de política. Uma política pode ter até quatro agendamentos. A Programação 1 é obrigatória. As Programações 2, 3 e 4 são opcionais. Para cada agendamento de política que você adicionar, faça o seguinte:

   1. Na seção **Schedule details** (Detalhes do agendamento), faça o seguinte:

      1. Em **Schedule name** (Nome do agendamento), especifique um nome descritivo para o agendamento.

      1. Em **Frequency** (Frequência) e nos campos relacionados, configure o intervalo entre as execuções da política.

         É possível configurar execuções de políticas com uma programação diária, semanal, mensal ou anual. Como opção, escolha **Custom cron expression** (Expressão cron personalizada) para especificar um intervalo de até 1 ano. Para obter mais informações, consulte [Cron e expressões de taxa](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-scheduled-rule-pattern.html) no *Guia do EventBridge usuário da Amazon*.

      1. Em **Starting at** (Iniciando às), especifique a hora para iniciar as execuções da política. A primeira execução da política inicia uma hora depois do horário agendado. É necessário inserir a hora no formato `hh:mm` UTC.

      1. Em **Retention type** (Tipo de retenção), especifique a política de retenção para AMIs criadas pelo agendamento.

         É possível reter AMIs com base na contagem total ou na idade delas.

         Para retenção baseada em contagem, o intervalo é de `1` a `1000`. Quando a contagem máxima for atingida, a AMI mais antiga será excluída quando uma nova for criada.

         Para retenção baseada na idade, o intervalo é de `1` dia a `100` anos. Depois que o período de retenção de cada AMI expirar, ela será excluída.
**nota**  
Todas as programações devem ter o mesmo tipo de retenção. É possível especificar o tipo de retenção somente para a Programação 1. As Programações 2, 3 e 4 herdam o tipo de retenção da Programação 1. Cada programação pode ter sua própria contagem ou período de retenção.

   1. Configurar a marcação para AMIs.

      Na seção **Tagging** (Marcação), faça o seguinte:

      1. Para copiar todas as etiquetas definidas por usuário da instância de origem para as AMIs criadas pelo agendamento, selecione **Copy tags from source** (Copiar etiquetas da origem).

      1. Por padrão, as AMIs criadas pelo agendamento são automaticamente marcadas com o ID da instância de origem. Para evitar que essa marcação automática ocorra, em **Variable tags** (Etiquetas de variáveis), remova o bloco `instance-id:$(instance-id)`.

      1. Para especificar etiquetas adicionais a serem atribuídas às AMIs criadas por esse agendamento, escolha **Add tags** (Adicionar etiquetas).

   1. Configurar a suspensão de uso da AMI.

      Para defasar as AMIs quando elas não devem mais ser usadas, na seção **Defasagem da AMI**, selecione **Habilitar a defasagem da AMI para esta programação** e, em seguida, especifique a regra de defasagem da AMI. A regra de defasagem da AMI especifica quando as AMIs devem ser defasadas.

      Se a programação usar retenção de AMI baseada em contagem, será necessário especificar o número de AMIs mais antigas a serem defasadas. A contagem de defasagem deve ser menor ou igual à contagem de retenção de AMI da programação e não pode ser maior que 1.000. Por exemplo, se a programação estiver configurada para reter no máximo 5 AMIs, será possível configurar a programação para defasar até 5 das AMIs mais antigas.

      Se a programação usar retenção de AMI baseada em idade, será necessário especificar o período após o qual as AMIs serão defasadas. A contagem de defasagem deve ser menor ou igual ao período de retenção da AMI da programação e não pode ser superior a 10 anos (120 meses, 520 semanas ou 3.650 dias). Por exemplo, se a programação estiver configurada para reter AMIs por 10 dias, será possível configurar a programação para substituir AMIs após períodos de até 10 dias após a criação.

   1. Configurar cópia entre regiões.

      Para copiar AMIs criadas pelo cronograma para diferentes regiões, na seção de **Cross-Region cópia**, selecione **Habilitar cópia entre regiões**. É possível copiar AMIs para até três regiões adicionais em sua conta. Especifique uma regra de cópia entre regiões separada para cada região de destino.

      Para cada região de destino, é possível especificar o seguinte:
      + Uma política de retenção para a cópia AMI. Quando o período de retenção expirar, a cópia na região de destino será automaticamente cancelada.
      + Status de criptografia para a cópia da AMI. Se a AMI de origem estiver criptografada ou se a criptografia por padrão estiver habilitada, as AMIs copiadas serão sempre criptografadas. Se a AMI de origem não estiver criptografada e a criptografia por padrão estiver desabilitada, será possível habilitar a criptografia. Se você não especificar uma chave do KMS, as AMIs serão criptografadas usando a chave do KMS padrão de criptografia do EBS em cada região de destino. Se você especificar uma Chave do KMS para a região de destino, a função do IAM selecionada deverá ter acesso à Chave do KMS.
      + Uma regra de defasagem para a cópia da AMI. Quando o período de descontinuação expira, a cópia da AMI é automaticamente substituída. O período de defasagem deve ser menor ou igual ao período de retenção de cópias e não pode ser superior a 10 anos.
      + Se deseja copiar todas as marcações ou nenhuma marcação da AMI de origem.
**nota**  
Não exceda o número de cópias de AMI simultâneas por região.

   1. Para adicionar outros agendamentos, escolha **Add another schedule** (Adicionar outro agendamento), localizado na parte superior da tela. Para cada agendamento adicional, preencha os campos conforme descrito anteriormente neste tópico.

   1. Depois de adicionar os agendamentos necessárias, escolha **Review policy** (Revisar política).

1. Revise o resumo da política e escolha **Create policy** (Criar política).
**nota**  
Se receber um erro `Role with name AWSDataLifecycleManagerDefaultRoleForAMIManagement already exists`, consulte [Solucionar problemas do Amazon Data Lifecycle Manager](dlm-troubleshooting.md) para obter mais informações.

------
#### [ Command line ]

Use o comando [create-lifecycle-policy](https://docs.aws.amazon.com/cli/latest/reference/dlm/create-lifecycle-policy.html) para criar uma política de ciclo de vida de AMI. Para `PolicyType`, especifique `IMAGE_MANAGEMENT`.

**nota**  
Para simplificar a sintaxe, os exemplos a seguir usam um arquivo JSON `policyDetails.json`, que inclui os detalhes da política.

**Exemplo 1: Age-based retenção e descontinuação da AMI**  
Esse exemplo cria uma política de ciclo de vida da AMI que cria AMIs de todas as instâncias que têm uma chave de marcação `purpose` com um valor de `production` e reinicializa as instâncias direcionadas. A política inclui uma programação que cria uma AMI todos os dias às `01:00` UTC. A política mantém AMIs por `2` dias e faz a defasagem depois de `1` dia. Também copia as etiquetas da instância de origem para as AMIs criadas por ela.

```
aws dlm create-lifecycle-policy \
    --description "{{My AMI policy}}" \
    --state ENABLED \
    --execution-role-arn arn:aws:iam::{{12345678910}}:role/{{AWSDataLifecycleManagerDefaultRoleForAMIManagement}} \
    --policy-details file://{{policyDetails.json}}
```

Este é um exemplo do arquivo `policyDetails.json`.

```
{
    "PolicyType": "IMAGE_MANAGEMENT",
    "ResourceTypes": [
        "INSTANCE"
    ],
    "TargetTags": [{
        "Key": "purpose",
        "Value": "production"
    }],
    "Schedules": [{
            "Name": "DailyAMIs",
            "TagsToAdd": [{
                "Key": "type",
                "Value": "myDailyAMI"
            }],
            "CreateRule": {
                "Interval": 24,
                "IntervalUnit": "HOURS",
                "Times": [
                    "01:00"
                ]
            },
            RetainRule":{
                "Interval" : 2,
                "IntervalUnit" : "DAYS"
            },
            DeprecateRule": {
                "Interval" : 1,
                "IntervalUnit" : "DAYS"
            },
            "CopyTags": true
        }
    ],
    "Parameters" : {
        "NoReboot":true
    }
}
```

Se a solicitação for bem-sucedida, o comando retornará o ID da política recém-criada. O seguinte é um exemplo de saída.

```
{
   "PolicyId": "policy-{{9876543210abcdef0}}"
}
```

**Exemplo 2: Count-based retenção e suspensão da AMI com cópia entre regiões**  
Esse exemplo cria uma política de ciclo de vida da AMI que cria AMIs de todas as instâncias que têm uma chave de marcação `purpose` com um valor de `production` e reinicializa as instâncias direcionadas. A política inclui uma programação que cria uma AMI a cada `6` horas a partir de `17:30` UTC. A política retém AMIs `3` e faz a defasagem automaticamente de `2` AMIs mais antigas. Ela também tem uma regra de cópia entre regiões que copia AMIs para `us-east-1`, mantém `2` cópias de AMI e faz a defasagem automaticamente da AMI mais antiga.

```
aws dlm create-lifecycle-policy \
    --description "{{My AMI policy}}" \
    --state ENABLED \
    --execution-role-arn arn:aws:iam::{{12345678910}}:role/{{AWSDataLifecycleManagerDefaultRoleForAMIManagement}} \
    --policy-details file://{{policyDetails.json}}
```

Este é um exemplo do arquivo `policyDetails.json`.

```
{
    "PolicyType": "IMAGE_MANAGEMENT",
    "ResourceTypes" : [
        "INSTANCE"
    ],
    "TargetTags": [{
        "Key":"purpose", 
        "Value":"production"
    }],
    "Parameters" : {
          "NoReboot": true
    },
    "Schedules" : [{
        "Name" : "Schedule1",
        "CopyTags": true,
        "CreateRule" : {
            "Interval": 6,
            "IntervalUnit": "HOURS",
            "Times" : ["17:30"]
        },
        "RetainRule":{
            "Count" : 3
        },
        "DeprecateRule":{
            "Count" : 2
        },
        "CrossRegionCopyRules": [{
            "TargetRegion": "us-east-1",
            "Encrypted": true,
            "RetainRule":{
                "IntervalUnit": "DAYS",
                "Interval": 2
            },
            "DeprecateRule":{
                "IntervalUnit": "DAYS",
                "Interval": 1
            },
            "CopyTags": true
        }]
    }]
}
```

------

## Considerações sobre políticas de ciclo de vida da AMI
<a name="ami-considerations"></a>

As seguintes **considerações gerais** se aplicam à criação de políticas de ciclo de vida de AMIs:
+ As políticas de ciclo de vida da AMI visam somente instâncias que estão na mesma região que a política.
+ A primeira operação de criação de AMI começa uma hora após o horário de início especificado. As operações de criação de AMI subsequentes começam uma hora após o horário programado.
+ Quando o Amazon Data Lifecycle Manager cancela o registro de uma AMI, ele exclui automaticamente o backup de snapshots.
+ Tags de recursos de destino diferenciam letras maiúsculas de minúsculas.
+ Se você remover as tags de destino de uma instância visada por uma política, o Amazon Data Lifecycle Manager não gerenciará mais os AMIs existentes no padrão, você deverá excluí-los manualmente se eles não forem mais necessários.
+ É possível criar várias políticas para fazer backup de uma instância. Por exemplo, se uma instância tiver 2 etiquetas, com a etiqueta *A* como o destino da política *A* para criar uma AMI a cada 12 horas, e a etiqueta *B* como o destino da política *B* para criar uma AMI a cada 24 horas, o Amazon Data Lifecycle Manager cria AMIs de acordo com as programações de ambas as políticas. Como alternativa, é possível obter o mesmo resultado criando uma única política que tenha várias programações. Por exemplo, é possível criar uma única política voltada apenas para tag *A* e especificar duas programações: uma para cada 12 horas e uma para cada 24 horas.
+ Novos volumes associados a uma instância de destino após a criação da política são incluídos automaticamente no backup na próxima execução da política. Todos os volumes associados à instância no momento da execução da política são incluídos.
+ Se você criar uma política com uma programação personalizada baseada em cron que esteja configurada para criar apenas uma AMI, a política não cancelará automaticamente o registro dessa AMI quando o limite de retenção for atingido. É necessário cancelar manualmente o registro da AMI caso ela não seja mais necessária.
+ Se você criar uma política baseada na idade em que o período de retenção seja menor do que a frequência de criação, o Amazon Data Lifecycle Manager sempre reterá o última AMI até que a próxima seja criada. Por exemplo, se uma política baseada na idade criar uma AMI por mês com um período de retenção de sete dias, o Amazon Data Lifecycle Manager reterá cada AMI por um mês, mesmo que o período de retenção seja de sete dias.
+ Para políticas baseadas em contagem, o Amazon Data Lifecycle Manager sempre cria AMIs de acordo com a frequência de criação antes de tentar cancelar o registro da AMI mais antiga de acordo com a política de retenção.
+ Pode levar várias horas para cancelar com êxito o registro de uma AMI e excluir os snapshots de backup associados. Se o Amazon Data Lifecycle Manager criar a próxima AMI antes que a AMI criada anteriormente seja cancelada com êxito, você poderá reter temporariamente um número de AMIs que maior do que sua contagem de retenção. 

Os seguintes fatores são aplicáveis ao **encerramento de instâncias direcionado por uma política**:
+ Se você encerrar uma instância que foi direcionada por uma política com uma programação de retenção baseada em contagem, a política deixará de gerenciar as AMIs que criou anteriormente com base na instância encerrada. É necessário cancelar manualmente o registro dessas AMIs mais antigas caso elas não sejam mais necessárias.
+ Se você encerrar uma instância que foi direcionada por uma política com uma programação de retenção baseada em idade, a política continuará a cancelar registros de AMIs que foram criadas anteriormente com base na instância encerrada de acordo com a programação definida até a última AMI (mas sem incluí-la). É necessário cancelar manualmente o registro da última AMI caso ela não seja mais necessária.

As considerações a seguir se aplicam às políticas de AMI à **descontinuação de AMIs**:
+ Se você aumentar a contagem de defasagem da AMI para uma programação com retenção baseada em contagem, a alteração será aplicada a todas as AMIs (atuais e novas) criadas pela programação.
+ Se você aumentar o período de defasagem da AMI para uma programação com retenção baseada em idade, a alteração será aplicada somente a novas AMIs. AMIs atuais não são afetadas.
+ Se você remover a regra de defasagem da AMI de uma programação, o Amazon Data Lifecycle Manager não cancelará a defasagem de AMIs que foram anteriormente consideradas defasadas por essa programação.
+ Se você diminuir a contagem ou período de defasagem da AMI de uma programação, o Amazon Data Lifecycle Manager não cancelará a defasagem de AMIs que foram anteriormente consideradas defasadas por essa programação.
+ Se você defasar manualmente uma AMI criada por uma política de AMI, o Amazon Data Lifecycle Manager não substituirá a defasagem.
+ Se você cancelar manualmente a defasagem de uma AMI que foi anteriormente defasada por uma política de AMI, o Amazon Data Lifecycle Manager não substituirá o cancelamento.
+ Se uma AMI for criada por várias programações conflitantes e uma ou mais dessas programações não tiverem uma regra de defasagem da AMI, o Amazon Data Lifecycle Manager não vai defasar essa AMI.
+ Se uma AMI for criada por várias programações conflitantes e todas essas programações tiverem uma regra de descontinuação da AMI, o Amazon Data Lifecycle Manager usará a regra de descontinuação que resulte na data de descontinuação mais posterior.

As seguintes considerações se aplicam a políticas de AMI e à [Lixeira](recycle-bin.md):
+ Se o Amazon Data Lifecycle Manager cancelar o registro de uma AMI e enviá-la para a lixeira quando o limite de retenção da política for atingido e você restaurar manualmente essa AMI da lixeira, você deverá cancelar manualmente o registro dessa AMI quando ela não for mais necessária. O Amazon Data Lifecycle Manager não poderá mais gerenciar a AMI.
+ Se você cancelar manualmente o registro uma AMI criada por uma política e essa AMI estiver na lixeira quando o limite de retenção da política for atingido, o Amazon Data Lifecycle Manager não cancelará o registro da AMI. O Amazon Data Lifecycle Manager não gerencia AMIs enquanto elas estão na lixeira.

  Se a AMI for restaurada da lixeira antes que o limite de retenção da política seja atingido, o Amazon Data Lifecycle Manager cancelará o registro da AMI quando o limite de retenção da política for atingido.

  Se a AMI for restaurada da lixeira depois que o limite de retenção da política seja atingido, o Amazon Data Lifecycle Manager não canelará mais o registro da AMI. Exclua-a manualmente quando ela não for mais necessária.

As seguintes considerações se aplicam a políticas de AMI que estão no estado **error**:
+ Para políticas com programações de retenção com base na idade, as AMIs configuradas para expirar enquanto a política estiver no estado `error` serão retidas por tempo indeterminado. É necessário cancelar o registro das AMIs manualmente. Quando você habilita a política novamente, o Amazon Data Lifecycle Manager retoma o cancelamento de registro de snapshots à medida que seus períodos de retenção expiram.
+ Para políticas com programas de retenção com base em contagem, a política interrompe a criação e o cancelamento de registro de AMIs enquanto está no estado `error`. Ao reabilitar a política, o Amazon Data Lifecycle Manager retoma a criação de AMIs e retoma o cancelamento de registro de AMIs quando o limite de retenção é atingido.

As considerações a seguir se aplicam às políticas de AMIs e à **[desabilitação de AMIs](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/disable-an-ami.html)**:
+ Se você desabilitar uma AMI criada pelo Amazon Data Lifecycle Manager, e essa AMI for desabilitada quando o limite de retenção for atingido, o Amazon Data Lifecycle Manager cancelará o registro da AMI e excluirá seus snapshots associados.
+ Se você desabilitar uma AMI criada pelo Amazon Data Lifecycle Manager e arquivar manualmente seus snapshots associados, e esses snapshots forem arquivados quando seu limite de retenção for atingido, o Amazon Data Lifecycle Manager não excluirá esses snapshots e não os gerenciará mais.

A consideração a seguir se aplica às políticas de AMIs e à **[proteção contra cancelamento de registro de AMIs](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/deregister-ami.html#ami-deregistration-protection)**:
+ Se você habilitar manualmente a proteção contra cancelamento de registro de uma AMI que foi criada pelo Amazon Data Lifecycle Manager e ela ainda estiver habilitada quando o limite de retenção da AMI for atingido, o Amazon Data Lifecycle Manager não gerenciará mais essa AMI. Você deverá cancelar manualmente o registro da AMI e excluir os snapshots subjacentes se ela não for mais necessária.

## Recursos adicionais do
<a name="ami-additional-resources"></a>

Para obter mais informações, consulte o blog [Automatizando o snapshot e o gerenciamento de AMI do Amazon EBS usando o Amazon AWS Data Lifecycle Manager](https://aws.amazon.com/blogs/storage/automating-amazon-ebs-snapshot-and-ami-management-using-amazon-dlm/).