Desabilitar uma AMI do Amazon EC2 - Amazon Elastic Compute Cloud

Desabilitar uma AMI do Amazon EC2

Você pode desabilitar uma AMI para evitar que ela seja usada em execuções de instâncias. Não é possível executar novas instâncias por meio de uma AMI desabilitada. Você pode reabilitar uma AMI desabilitada para que ela possa ser usada novamente em execuções de instâncias.

Atenção

Ao desabilitar uma AMI, todas as permissões de execução são removidas.

Quando uma AMI é desabilitada:

  • O estado da AMI muda para disabled.

  • Uma AMI desabilitada não pode ser compartilhada. Se uma AMI era pública ou compartilhada, ela se tornará privada. Se uma AMI era compartilhada com uma Conta da AWS, organização ou unidade organizacional, elas perderão o acesso à AMI desabilitada.

  • Por padrão, uma AMI desabilitada não é exibida nas chamadas da API DescribeImages.

  • Uma AMI desabilitada não é exibida no filtro De minha propriedade do console. Para encontrar AMIs desabilitadas, use o filtro Imagens desabilitadas do console.

  • Não é possível selecionar uma AMI desabilitada para execuções de instâncias no console do EC2. Por exemplo, uma AMI desabilitada não é exibida no catálogo de AMIs do assistente de execução da instância nem ao criar um modelo de execução.

  • Os serviços de execução, como modelos de execução e grupos do Auto Scaling, podem continuar fazendo referência a AMIs desabilitadas. As execuções subsequentes de instâncias com base em uma AMI desabilitada vão falhar. Por isso, recomendamos atualizar os modelos de execução e os grupos do Auto Scaling para fazer referência somente às AMIs disponíveis.

  • As instâncias do EC2 que eram executadas usando uma AMI que mais tarde foi desabilitada não serão afetadas e poderão ser interrompidas, iniciadas e reinicializadas.

  • Não é possível excluir snapshots associados a AMIs desabilitadas. Tentar excluir um snapshot associado resulta no erro snapshot is currently in use.

Quando uma AMI é reabilitada:

  • O estado da AMI muda para available, e ela pode ser usada para executar instâncias.

  • A AMI pode ser compartilhada.

  • Contas da AWS, organizações e unidades organizacionais que perderam o acesso à AMI quando ela foi desabilitada não recuperam o acesso automaticamente, mas a AMI pode ser compartilhada com elas de novo.

É possível desabilitar AMIs privadas e públicas.

É possível arquivar os snapshots associados às suas AMIs desabilitadas baseadas no EBS. Isso pode ajudar você a reduzir os custos de armazenamento associados às AMIs raramente usadas, que precisam ser retidas por períodos longos. Para obter mais informações, consulte Arquivar snapshots do Amazon EBS no Guia do usuário do Amazon EC2.

Custos

Quando você desabilita uma AMI, ela não é excluída. Se a AMI for uma AMI baseada no EBS, você continua pagando pelos snapshots do EBS da AMI. Se você quiser manter a AMI, talvez consiga reduzir os custos de armazenamento arquivando os snapshots. Para obter mais informações, consulte Arquivar snapshots do Amazon EBS no Guia do usuário do Amazon EC2. Se não quiser manter a AMI e seus snapshots, é preciso cancelar o registro da AMI e excluir os snapshots. Para ter mais informações, consulte AMIs apoiadas pelo EBS.

Pré-requisitos

Para desabilitar ou reabilitar uma AMI, é preciso ser o proprietário da AMI.

Permissões obrigatórias do IAM

Para desabilitar e reabilitar uma AMI, é necessário ter as seguintes permissões do IAM:

  • ec2:DisableImage

  • ec2:EnableImage

Desabilitar uma AMI

Você pode desabilitar uma AMI usando o console do EC2 ou a AWS Command Line Interface (AWS CLI). É necessário ser o proprietário da AMI para executar esse procedimento.

Console
Desabilitar uma AMI
  1. Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/.

  2. No painel de navegação à esquerda, selecione AMIs.

  3. Na barra de filtros, escolha Owned by me (Sou proprietário).

  4. Selecione a AMI e escolha Ações, Desativar a AMI. É possível selecionar várias AMIs para serem desabilitadas de uma vez.

  5. Na janela Desativar AMI, escolha Desativar AMI.

AWS CLI
Desabilitar uma AMI

Use o comando disable-image e especifique o ID da AMI.

aws ec2 disable-image --image-id ami-1234567890abcdef0

Saída esperada

{ "Return": "true" }

Descrever AMIs desabilitadas

É possível visualizar as AMIs desabilitadas no console do EC2 usando a AWS CLI.

Você precisa ser o proprietário da AMI para ver as AMIs desabilitadas. Como as AMIs desabilitadas se tornam privadas, você não poderá ver as AMIs desabilitadas se não for o proprietário.

Console
Visualizar AMIs desabilitadas
  1. Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/.

  2. No painel de navegação à esquerda, selecione AMIs.

  3. Na barra de filtro, escolha Imagens desabilitadas.

    O filtro de imagens desabilitado.
AWS CLI

Por padrão, quando você usa o comando describe-images para descrever todas as AMIs, as AMIs desabilitadas não aparecem nos resultados. Isso acontece porque o padrão é --no-include-disabled. Para incluir as AMIs desabilitadas nos resultados, é necessário especificar o parâmetro --include-disabled.

Incluir todas as AMIs desabilitadas ao descrever todas as AMIs

Use o comando describe-images e especifique o parâmetro --include-disabled para recuperar as AMIs desabilitadas, além de todas as outras AMIs. Também é possível especificar --owners self para recuperar somente as AMIs das quais você é proprietário.

aws ec2 describe-images \ --region us-east-1 \ --owners self --include-disabled

Se você especificar o ID de uma AMI desabilitada, mas não especificar --include-disabled, a AMI desabilitada será retornada nos resultados.

aws ec2 describe-images \ --region us-east-1 \ --image-ids ami-1234567890EXAMPLE
Recuperar somente AMIs desabilitadas

Especifique --filters Name=state,Values=disabled. Você também deve especificar --include-disabled. Caso contrário, receberá um erro.

aws ec2 describe-images \ --include-disabled \ --filters Name=state,Values=disabled

Exemplo de saída

O campo State exibe o estado de uma AMI. disabled indica que a AMI está desabilitada.

{ "Images": [ { "VirtualizationType": "hvm", "Description": "Provided by Red Hat, Inc.", "PlatformDetails": "Red Hat Enterprise Linux", "EnaSupport": true, "Hypervisor": "xen", "State": "disabled", "SriovNetSupport": "simple", "ImageId": "ami-1234567890EXAMPLE", "DeprecationTime": "2023-05-10T13:17:12.000Z" "UsageOperation": "RunInstances:0010", "BlockDeviceMappings": [ { "DeviceName": "/dev/sda1", "Ebs": { "SnapshotId": "snap-111222333444aaabb", "DeleteOnTermination": true, "VolumeType": "gp2", "VolumeSize": 10, "Encrypted": false } } ], "Architecture": "x86_64", "ImageLocation": "123456789012/RHEL-8.0.0_HVM-20190618-x86_64-1-Hourly2-GP2", "RootDeviceType": "ebs", "OwnerId": "123456789012", "RootDeviceName": "/dev/sda1", "CreationDate": "2019-05-10T13:17:12.000Z", "Public": false, "ImageType": "machine", "Name": "RHEL-8.0.0_HVM-20190618-x86_64-1-Hourly2-GP2" } ] }

Reabilitar uma AMI desabilitada

Você pode reabilitar uma AMI desabilitada. É necessário ser o proprietário da AMI para executar esse procedimento.

Console
Reabilitar uma AMI desabilitada
  1. Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/.

  2. No painel de navegação à esquerda, selecione AMIs.

  3. Na barra de filtro, escolha Imagens desabilitadas.

  4. Selecione a AMI e escolha Ações, Habilitar a AMI. É possível selecionar várias AMIs para reabilitá-las ao mesmo tempo.

  5. Na janela Habilitar AMI, escolha Habilitar.

AWS CLI
Reabilitar uma AMI desabilitada

Use o comando enable-image e especifique o ID da AMI.

aws ec2 enable-image --image-id ami-1234567890abcdef0

Saída esperada

{ "Return": "true" }