Identifique sus recursos haciendo referencia a las AMI especificadas - Amazon Elastic Compute Cloud

Identifique sus recursos haciendo referencia a las AMI especificadas

Puede identificar los recursos de AWS que hacen referencia a Imágenes de máquina de Amazon (AMI) especificadas, independientemente de si las AMI son públicas o privadas o de quién es su propietario. Esta visibilidad ayuda a garantizar que sus recursos utilicen las AMI compatibles más recientes.

Ventajas principales

Comprobar las referencias de AMI le ayuda a:

  • Auditar el uso de las AMI en su cuenta.

  • Compruebe dónde se hace referencia a las AMI específicas.

  • Mantener el cumplimiento actualizando sus recursos para que hagan referencia a las AMI más recientes.

 

Recursos admitidos

Las referencias de AMI se pueden comprobar en:

  • instancias de EC2

  • Plantillas de inicialización

  • Parámetros de SSM

  • Recetas de imágenes de Generador de Imágenes

  • Recetas de contenedor de Generador de Imágenes

Cómo funcionan las comprobaciones de referencia de la AMI

Funcionamiento básico

Al realizar una comprobación de referencia de la AMI, usted:

  • Especifique qué AMI desea comprobar.

  • Elija los tipos de recursos que desee analizar.

  • Reciba una lista de sus recursos que hacen referencia a las AMI especificadas.

Selección del tipo de recurso

En la consola, seleccione los tipos de recursos que se van a analizar.

En la CLI, especifique los tipos de recursos que se van a escanear mediante uno o ambos de los siguientes parámetros de la CLI:

  • IncludeAllResourceTypes: escanea todos los tipos de recursos admitidos.

  • ResourceTypes: escanea los tipos de recursos especificados.

Alcance de la respuesta

Puede determinar el alcance de la respuesta para las instancias de EC2 y las plantillas de inicialización personalizando los valores de ResourceTypeOptions mediante el parámetro ResourceTypes. Tanto la consola como el parámetro IncludeAllResourceTypes utilizan valores de opción predeterminados. Cuando se ResourceTypes y IncludeAllResourceTypes utilizan juntos, los valores de las opciones de ResourceTypes tienen prioridad sobre los valores predeterminados.

Se usan los siguientes valores predeterminados:

Tipo de recurso Opción de alcance (OptionName) Finalidad Valores predeterminados para OptionValue y la consola
instancias de EC2 state-name Filtrar por estado de instancia pending, running, shutting-down, terminated, stopping, stopped (todos los estados)
Plantillas de inicialización version-depth Especifique el número de versiones de la plantilla de inicialización que desee comprobar (empezando por la versión más reciente) 10 (las versiones más recientes)

Permisos de IAM necesarios

Para usar la API DescribeImageReferences para identificar los recursos que hacen referencia a determinadas AMI, necesita los siguientes permisos de IAM para describir los recursos:

  • ec2:DescribeInstances

  • ec2:DescribeLaunchTemplates

  • ec2:DescribeLaunchTemplateVersions

  • ssm:DescribeParameters

  • ssm:GetParameters

  • imagebuilder:ListImageRecipes

  • imagebuilder:ListContainerRecipes

  • imagebuilder:GetContainerRecipe

Ejemplo de política de IAM para usar la API DescribeImageReferences

El siguiente ejemplo de política le concede los permisos para usar la API DescribeImageReferences, que incluye los permisos para describir las instancias de EC2, las plantillas de inicialización, los parámetros de Systems Manager, las recetas de imágenes de Image Builder y las recetas de contenedores de Image Builder.

JSON
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ec2:DescribeImageReferences", "Resource": "*" }, { "Effect": "Allow", "Action": [ "ec2:DescribeInstances", "ec2:DescribeLaunchTemplates", "ec2:DescribeLaunchTemplateVersions", "ssm:DescribeParameters", "ssm:GetParameters", "imagebuilder:ListImageRecipes", "imagebuilder:ListContainerRecipes", "imagebuilder:GetContainerRecipe" ], "Resource": "*", "Condition": { "ForAnyValue:StringEquals": { "aws:CalledVia": [ "ec2-images.amazonaws.com" ] } } } ] }
importante

Le recomendamos encarecidamente que utilice la política administrada deAWS, AmazonEC2ImageReferencesAccessPolicy, en lugar de crearla usted mismo. Crear una política de IAM personalizada que proporcione solo los permisos necesarios requiere tiempo y experiencia, y requerirá actualizaciones a medida que haya nuevos tipos de recursos disponibles.

La política administrada AmazonEC2ImageReferencesAccessPolicy:

  • Otorga todos los permisos necesarios para usar la API DescribeImageReferences (incluidos los permisos para describir las instancias de EC2, las plantillas de inicialización, los parámetros de Systems Manager y las recetas de contenedores e imágenes de Image Builder).

  • Admite automáticamente nuevos tipos de recursos a medida que están disponibles (lo que es especialmente importante cuando se utiliza el parámetro IncludeAllResourceTypes).

Puede asociar la política AmazonEC2ImageReferencesAccessPolicy a sus identidades de IAM (usuarios, grupos y roles).

Para ver los permisos incluidos en esta política, consulte AmazonEC2ImageReferencesAccessPolicy en la Referencia de la política administrada de AWS.

Pasos para comprobar las referencias de la AMI

Utilice los siguientes procedimientos para identificar cuáles de sus recursos de AWS hacen referencia a las AMI especificadas.

Console
Identificación de los recursos que hacen referencia a las AMI especificadas
  1. Abra la consola de Amazon EC2 en https://console.aws.amazon.com/ec2/.

  2. En el panel de navegación, elija AMIs.

  3. Seleccione una o más AMI para comprobar las referencias.

  4. Elija Acciones, Uso de AMI, Ver recursos referenciados.

  5. En la página Ver los recursos que hacen referencia a las AMI seleccionadas:

    1. En Tipos de recursos, seleccione uno o más tipos de recursos.

    2. Seleccione Ver recursos.

  6. Aparece la sección Recursos que hacen referencia a las AMI seleccionadas. La lista muestra los recursos que hacen referencia a las AMI especificadas. Cada fila proporciona la siguiente información:

    • ID de la AMI: el ID de la AMI a la que se hace referencia.

    • Tipo del recurso: el tipo de recurso del recurso que hace referencia a la AMI.

    • ID del recurso: el ID del recurso que hace referencia a la AMI.

AWS CLI
Para comprobar las referencias de AMI de tipos de recursos específicos

Utilice el comando describe-image-references con el parámetro --resource-types. En el siguiente ejemplo, se comprueban las instancias de EC2 (el ámbito se basa en el estado de la instancia), las plantillas de inicialización (se basa en las 20 versiones más recientes de la plantilla de inicialización) y otros tipos de recursos específicos.

aws ec2 describe-image-references \ --image-ids ami-0abcdef1234567890 ami-1234567890abcdef0 \ --resource-types \ 'ResourceType=ec2:Instance,ResourceTypeOptions=[{OptionName=state-name,OptionValues=[running,pending]}]' \ 'ResourceType=ec2:LaunchTemplate,ResourceTypeOptions=[{OptionName=version-depth,OptionValues=[20]}]' \ 'ResourceType=ssm:Parameter' \ 'ResourceType=imagebuilder:ImageRecipe' \ 'ResourceType=imagebuilder:ContainerRecipe'

A continuación, se muestra un ejemplo del resultado.

{ "ImageReferences": [ { "ImageId": "ami-0abcdef1234567890", "ResourceType": "ec2:Instance", "Arn": "arn:aws:ec2:us-east-1:123456789012:instance/i-1234567890abcdef0" }, { "ImageId": "ami-1234567890abcdef0", "ResourceType": "ec2:LaunchTemplate", "Arn": "arn:aws:ec2:us-east-1:123456789012:launch-template/lt-1234567890abcdef0" } ] }
Para comprobar las referencias de AMI de todos los tipos de recursos compatibles

Utilice el comando describe-image-references con el parámetro --include-all-resource-types.

aws ec2 describe-image-references \ --image-ids ami-0abcdef1234567890 ami-1234567890abcdef0 \ --include-all-resource-types
Para comprobar las referencias de AMI de todos los tipos de recursos compatibles y las opciones específicas

Utilice el comando describe-image-references con los parámetros --include-all-resource-types y --resource-types. En este ejemplo, se comprueban todos los tipos de recursos y, al mismo tiempo, se limita la respuesta de las instancias de EC2 a las instancias en ejecución o pendientes.

aws ec2 describe-image-references \ --image-ids ami-0abcdef1234567890 ami-1234567890abcdef0 \ --include-all-resource-types \ --resource-types 'ResourceType=ec2:Instance,ResourceTypeOptions=[{OptionName=state-name,OptionValues=[running,pending]}]'
PowerShell
Para comprobar las referencias de AMI de tipos de recursos específicos

Utilice el cmdlet Get-EC2ImageReference con el parámetro -ResourceType. En el siguiente ejemplo, se comprueban las instancias de EC2 (el ámbito se basa en el estado de la instancia), las plantillas de inicialización (se basa en las 20 versiones más recientes de la plantilla de inicialización) y otros tipos de recursos específicos.

Get-EC2ImageReference ` -ImageId 'ami-0abcdef1234567890', 'ami-1234567890abcdef0' ` -ResourceType @( @{ ResourceType = 'ec2:Instance' ResourceTypeOptions = @( @{ OptionName = 'state-name' OptionValues = @('running', 'pending') } ) }, @{ ResourceType = 'ec2:LaunchTemplate' ResourceTypeOptions = @( @{ OptionName = 'version-depth' OptionValues = @('20') } ) }, @{ ResourceType = 'ssm:Parameter' }, @{ ResourceType = 'imagebuilder:ImageRecipe' }, @{ ResourceType = 'imagebuilder:ContainerRecipe' } )
Para comprobar las referencias de AMI de todos los tipos de recursos compatibles

Utilice el cmdlet Get-EC2ImageReference con el parámetro -IncludeAllResourceTypes.

Get-EC2ImageReference ` -ImageId 'ami-0abcdef1234567890', 'ami-1234567890abcdef0' ` -IncludeAllResourceTypes
Para comprobar las referencias de AMI de todos los tipos de recursos compatibles y las opciones específicas

Utilice el cmdlet Get-EC2ImageReference con los parámetros -IncludeAllResourceTypes y -ResourceType. En este ejemplo, se comprueban todos los tipos de recursos y, al mismo tiempo, se limita la respuesta de las instancias de EC2 a las instancias en ejecución o pendientes.

Get-EC2ImageReference ` -ImageId 'ami-0abcdef1234567890', 'ami-1234567890abcdef0' ` -IncludeAllResourceTypes ` -ResourceType @( @{ ResourceType = 'ec2:Instance' ResourceTypeOptions = @( @{ OptionName = 'state-name' OptionValues = @('running', 'pending') } ) } )