Configuración de la distribución entre cuentas de AMI utilizando Generador de Imágenes - Generador de Imágenes de EC2

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Configuración de la distribución entre cuentas de AMI utilizando Generador de Imágenes

En esta sección se describe cómo configurar los ajustes de distribución para entregar una AMI de Generador de Imágenes a otras cuentas que especifique.

La cuenta de destino puede entonces lanzar o modificar la AMI, según sea necesario.

nota

AWS CLI En los ejemplos de comandos de esta sección se supone que ha creado previamente archivos JSON de configuración de infraestructura y recetas de imágenes. Para crear el archivo JSON para una receta de imagen, consulte Cree una receta de imagen con AWS CLI. Para crear el archivo JSON para una configuración de infraestructura, consulte Crear una configuración de infraestructura.

Requisitos previos

Para garantizar que las cuentas de destino puedan lanzar instancias correctamente desde su imagen de Generador de Imágenes, debe configurar los permisos adecuados para todas las cuentas de destino de todas las regiones.

Si cifra su AMI mediante AWS Key Management Service (AWS KMS), debe configurar una AWS KMS key para su cuenta que se utilice para cifrar la nueva imagen.

Cuando Generador de Imágenes realiza una distribución entre cuentas de las AMI cifradas, la imagen de la cuenta de origen se descifra y se envía a la región de destino, donde se vuelve a cifrar con la clave designada para esa región. Como Generador de Imágenes actúa en nombre de la cuenta de destino y utiliza un rol de IAM que usted crea en la región de destino, esa cuenta debe tener acceso a las claves de la región de origen y de destino.

Clave de cifrado

Los requisitos previos siguientes si su imagen se cifra utilizando AWS KMS. Los requisitos previos de IAM se describen en la siguiente sección.

Requisitos de cuenta de origen
  • Cree una clave KMS en su cuenta en todas las regiones en las que cree y distribuya su AMI. También puede utilizar una clave que ya exista.

  • Actualiza la política de claves para todas esas claves para permitir que las cuentas de destino usen su clave.

Requisitos de cuenta de destino
  • Añada una política en línea EC2ImageBuilderDistributionCrossAccountRole que permita al rol realizar las acciones necesarias para distribuir una AMI cifrada. Para ver los pasos de configuración de IAM, consulte la sección de requisitos previos Políticas de IAM.

Para obtener más información sobre el acceso entre cuentas AWS KMS, consulte Permitir que los usuarios de otras cuentas usen una clave KMS en la AWS Key Management Service Guía para desarrolladores.

Especifique la clave de cifrado en la receta de la imagen, de la siguiente manera:

  • Si utiliza la consola Generador de Imágenes, elija la clave de cifrado en la lista desplegable Cifrado (alias KMS) de la sección Almacenamiento (volúmenes) de su receta.

  • Si utilizas la acción de la CreateImageRecipe API o el create-image-recipe comando de la AWS CLI, configura tu clave en la ebs sección situada debajo blockDeviceMappings de la entrada de JSON.

    En el siguiente fragmento de código JSON, se muestran los ajustes de cifrado de una receta de imagen. Además de proporcionar la clave de cifrado, también debe establecer el indicador encrypted como true.

    { ... "blockDeviceMappings": [ { "deviceName": "Example root volume", "ebs": { "deleteOnTermination": true, "encrypted": true, "iops": 100, "kmsKeyId": "image-owner-key-id", ... }, ... }], ... }

Políticas de IAM

Para configurar los permisos de distribución entre cuentas en AWS Identity and Access Management (IAM), sigue estos pasos:

  1. Para utilizar las AMI de Generador de Imágenes distribuidas entre las cuentas, el propietario de la cuenta de destino debe crear un nuevo rol de IAM en su cuenta denominado EC2ImageBuilderDistributionCrossAccountRole.

  2. Deben asociar Política Ec2ImageBuilderCrossAccountDistributionAccess al rol para permitir la distribución entre cuentas. Para obtener más información sobre políticas administradas, consulte Políticas administradas y políticas insertadas en la AWS Identity and Access Management Guía del usuario de IAM.

  3. Compruebe que el ID de la cuenta de origen se haya añadido a la política de confianza asociada al rol de IAM de la cuenta de destino. Para obtener más información sobre las políticas de confianza, consulte Políticas basadas en recursos en laGuía del usuario de AWS Identity and Access Management .

  4. Si la AMI que distribuye está cifrada, el propietario de la cuenta de destino debe añadir la siguiente política en línea al EC2ImageBuilderDistributionCrossAccountRole en su cuenta para poder usar sus claves de KMS. La sección Principal contiene su número de cuenta. Esto permite a Image Builder actuar en su nombre cuando se utiliza AWS KMS para cifrar y descifrar la AMI con las claves adecuadas para cada región.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "AllowRoleToPerformKMSOperationsOnBehalfOfTheDestinationAccount", "Effect": "Allow", "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey", "kms:CreateGrant", "kms:ListGrants", "kms:RevokeGrant" ], "Resource": "*" } ] }

    Para obtener más información acerca de las políticas insertadas, consulte Políticas insertadas en la AWS Identity and Access Management Guía del usuario.

  5. Si va a usar launchTemplateConfigurations para especificar una plantilla de lanzamiento de Amazon EC2, también debe añadir la siguiente política a su cuenta EC2ImageBuilderDistributionCrossAccountRole de destino.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:CreateLaunchTemplateVersion", "ec2:ModifyLaunchTemplate" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/CreatedBy": "EC2 Image Builder" } } }, { "Effect": "Allow", "Action": [ "ec2:DescribeLaunchTemplates" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ec2:CreateTags" ], "Resource": "arn:aws:ec2:*:*:launch-template/*", "Condition": { "StringEquals": { "aws:RequestTag/CreatedBy": "EC2 Image Builder" } } } ] }

Límites para la distribución entre cuentas

Existen algunas limitaciones a la hora de distribuir imágenes de Generador de Imágenes entre cuentas:

  • La cuenta de destino está limitada a 50 copias simultáneas de la AMI para cada región de destino.

  • Si desea copiar una AMI de virtualización paravirtual (PV) a otra región, la región de destino debe admitir las AMI de virtualización PV. Para obtener más información, consulte Tipos de virtualización de AMI de Linux.

  • No puede crear una copia sin cifrar de una instantánea cifrada. Si no especifica una clave gestionada por el cliente AWS Key Management Service (AWS KMS) para el parámetro KmsKeyId, Generador de Imágenes utilizará la clave predeterminada para Amazon Elastic Block Store (Amazon EBS). Para obtener más información, consulte Cifrado de Amazon EBS en la Guía del usuario de Amazon Elastic Compute Cloud.

Para obtener más información, consulte la CreateDistributionConfigurationreferencia de la API de EC2 Image Builder.

Configurar la distribución entre cuentas de una AMI de Image Builder desde la consola

Esta sección describe cómo crear y configurar los ajustes de distribución para la distribución entre cuentas de las imágenes de Generador de Imágenes mediante la AWS Management Console. La configuración de la distribución entre cuentas requiere permisos de IAM específicos. Debe completar el formulario Requisitos previos de esta sección antes de continuar.

Para crear los ajustes de distribución mediante la consola Generador de Imágenes, siga estos pasos:

  1. Abra la consola de Generador de Imágenes de EC2 en https://console.aws.amazon.com/imagebuilder/.

  2. En el panel de navegación, seleccione Ajustes de distribución. Aquí se muestra una lista de los ajustes de distribución que se crean en su cuenta.

  3. En la parte superior de la página Ajustes de distribución, seleccione Crear ajustes de distribución. Esto le llevará a la página Crear los ajustes de distribución.

  4. En la sección Tipo de imagen, elija Imagen de máquina de Amazon (AMI) como tipo de salida. Este es el valor predeterminado.

  5. En la sección General, ingrese el nombre del recurso de ajustes de distribución que desea crear (obligatorio).

  6. En la sección Ajustes de región, introduzca un ID de cuenta de 12 dígitos al que desee distribuir su AMI en las cuentas de Target de la región seleccionada y pulse Entrar. De este modo, se comprueba que el formato es correcto y, a continuación, se muestra el ID de cuenta que ha introducido debajo del cuadro. Repite el proceso para añadir más cuentas.

    Para eliminar una cuenta que has introducido, seleccione la X que aparece a la derecha del ID de la cuenta.

    Introduzca el nombre de la AMI de salida para cada región.

  7. Continúe especificando cualquier configuración adicional que necesite y seleccione Crear configuración para crear su nuevo recurso de ajustes de distribución.

Configurar la distribución entre cuentas de una AMI de Image Builder desde AWS CLI

En esta sección se describe cómo configurar un archivo de ajustes de distribución y cómo utilizar el create-image comando del AWS CLI para crear y distribuir una AMI de Image Builder en todas las cuentas.

La configuración de la distribución entre cuentas requiere permisos de IAM específicos. Debe completar el Requisitos previos de esta sección antes de ejecutar el comando create-image.

  1. Configuración de un archivo de ajustes de distribución

    Antes de utilizar el create-image comando de AWS CLI para crear una AMI de Image Builder que se distribuya a otra cuenta, debe crear una estructura DistributionConfiguration JSON que especifique los ID de la cuenta de destino en la AmiDistributionConfiguration configuración. Tiene que especificar al menos una AmiDistributionConfiguration en la región de origen.

    El siguiente archivo de ejemplo, denominado create-distribution-configuration.json, muestra la configuración para la distribución de imágenes entre cuentas en la región de origen.

    { "name": "cross-account-distribution-example", "description": "Cross Account Distribution Configuration Example", "distributions": [ { "amiDistributionConfiguration": { "targetAccountIds": ["123456789012", "987654321098"], "name": "Name {{ imagebuilder:buildDate }}", "description": "ImageCopy Ami Copy Configuration" }, "region": "us-west-2" } ] }
  2. Creación de los ajustes de distribución

    Para crear un recurso de configuración de distribución de Image Builder mediante el create-distribution-configurationcomando del AWS CLI, proporcione los siguientes parámetros en el comando:

    • Ingrese el nombre de la distribución en el parámetro --name.

    • Adjunte el archivo JSON de configuración de distribución que creó en el parámetro --cli-input-json.

    aws imagebuilder create-distribution-configuration --name my distribution name --cli-input-json file://create-distribution-configuration.json
    nota
    • Debe incluir la notación file:// al principio de la ruta del archivo JSON.

    • La ruta del archivo JSON debe seguir la convención apropiada para el sistema operativo base donde se está ejecutando el comando. Por ejemplo, Windows utiliza la barra diagonal inversa (\) para hacer referencia a la ruta del directorio y Linux usa la barra diagonal (/).

También puede proporcionar JSON directamente en el comando, mediante el parámetro --distributions.