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.
Creación y actualización de ajustes de distribución de AMI
En esta sección se describe la creación y actualización de los ajustes de distribución para una AMI de Generador de Imágenes.
Requisitos previos de distribución de AMI
Algunas configuraciones de distribución tienen requisitos previos, como se indica a continuación:
Temas
Requisitos previos para los parámetros de salida de SSM
Antes de crear una nueva configuración de distribución de AMI que establezca un AWS Systems Manager parámetro de almacén de parámetros (parámetro SSM), asegúrese de cumplir los siguientes requisitos previos.
- Rol de ejecución
-
Al crear una canalización o utilizar el comando create-image de AWS CLI, solo puede especificar un rol de ejecución de Image Builder. Si ha definido un rol de ejecución del flujo de trabajo de Image Builder, debe agregar cualquier permiso de función adicional a ese rol. De lo contrario, crearía un nuevo rol personalizado que incluya los permisos necesarios.
importante
Le recomendamos que no transfiera el rol AWSServiceRoleForImageBuilder vinculado al servicio como su rol de ejecución. En su lugar, cree un rol de IAM personalizado y adjunte la EC2ImageBuilderExecutionPolicy AWS política administrada. Esta política otorga los mismos permisos que Image Builder necesita para llamar Servicios de AWS en tu nombre. El uso de un rol personalizado le brinda un control total sobre los permisos que usa Image Builder. También mantiene en vigor las políticas de control de servicios (SCP) y las políticas de control de recursos (RCP) para las operaciones que Image Builder realiza en su nombre.
-
Para almacenar el ID de AMI de salida en un parámetro de SSM durante la distribución, debe especificar la
ssm:PutParameteracción en su función de ejecución de Image Builder y mostrar el parámetro como recurso. -
Al establecer el tipo de datos del parámetro como para indicar
AWS EC2 Imagea Systems Manager que valide el valor del parámetro como un ID de AMI, también debe agregar laec2:DescribeImagesacción.
-
- Opt-in Region
-
Debe habilitar una región opcional (región que está deshabilitada de forma predeterminada) en la cuenta de origen. Este requisito se aplica cuando la configuración de distribución se dirige a esa región
ssmParameterConfigurations, ya sea que utilice la función vinculada al servicio de Image Builder o una función de ejecución personalizada.nota
La copia de la AMI a una región de suscripción voluntaria puede realizarse correctamente incluso cuando la cuenta de origen no haya habilitado la región. Solo se produce un error en la escritura del parámetro de salida del SSM.
Sin este requisito previo, la compilación falla y se produce un error similar al siguiente:
In region 'af-south-1' - 'STS Client Error: The provided execution role does not exist or does not have sufficient permissions.'Para resolver este problema, siga uno de estos pasos:
-
Habilite las regiones opcionales en la cuenta de origen. Para obtener instrucciones sobre cómo habilitar una región, consulta Cómo habilitar o deshabilitar AWS Regions en tu cuenta en la Guía de referencia para la administración de AWS cuentas.
-
Omite
ssmParameterConfigurationspara las regiones en las que se ha optado por la suscripción. En su lugar, utilice una EventBridge regla de Amazon para reaccionar ante el evento de cambio de estado de la imagen de EC2 Image Builder y escriba los parámetros usted mismo.
-
Requisitos previos para el lanzamiento rápido de EC2
Antes de crear una nueva configuración de distribución para las AMI de EC2 Fast Launch para Windows, asegúrese de cumplir los siguientes requisitos previos.
-
Si proporciona una plantilla de lanzamiento personalizada al configurar el lanzamiento rápido de EC2, el servicio usa la VPC y otros ajustes de configuración que haya definido en la plantilla de lanzamiento. Para obtener más información, consulte Usar una plantilla de lanzamiento al configurar EC2 Fast Launch.
-
Si no usa una plantilla de lanzamiento personalizada para configurar sus ajustes, debe adjuntar la EC2FastLaunchFullAccess política a la función de IAM que Image Builder usa para crear su imagen. Cuando creas una canalización o utilizas el comando create-image del AWS CLI, solo puedes especificar un rol de ejecución de Image Builder. Si ha definido un rol de ejecución del flujo de trabajo de Image Builder, debe agregar cualquier permiso de función adicional a ese rol. De lo contrario, crearía un nuevo rol personalizado que incluya los permisos necesarios.
Esta función requiere permisos adicionales además de los de la política de ejecución básica, por lo que debe usar un rol personalizado. Le recomendamos que cree un rol personalizado con la política EC2ImageBuilderExecutionPolicy AWS administrada adjunta y, a continuación, agregue la EC2FastLaunchFullAccess política a ese rol.
A continuación, cuando Image Builder copie su imagen, EC2 Fast Launch creará automáticamente una CloudFormation pila con los siguientes recursos. Cuenta de AWS
-
Una nube privada virtual (VPC)
-
Subredes privadas en varias zonas de disponibilidad
-
Una plantilla de lanzamiento configurada con la versión 2 del servicio de metadatos de la instancia (IMDSv2)
-
Un grupo de seguridad sin reglas entrantes ni salientes
-
nota
Generador de imágenes no admite la distribución entre cuentas de AMI con el lanzamiento rápido de EC2 prehabilitado. El lanzamiento rápido de EC2 debe estar activado desde la cuenta de destino.
Cree una configuración de distribución de AMI
Las configuraciones de distribución incluyen el nombre de la AMI de salida, la configuración regional específica para el cifrado, los permisos de inicio y Cuentas de AWS las organizaciones y unidades organizativas (OU) que pueden lanzar la AMI de salida, así como las configuraciones de licencias.
Una configuración de distribución le permite especificar el nombre y la descripción de la AMI de salida, autorizar Cuentas de AWS a otras personas a lanzar la AMI, copiar la AMI en otras cuentas y replicar la AMI en otras AWS regiones. También le permite exportar la AMI a Amazon Simple Storage Service (Amazon S3) o configurar EC2 Fast Launch para la salida de AMI de Windows de salida. Para hacer una AMI pública, configure las cuentas autorizadas de permiso de lanzamiento en all. Consulte los ejemplos para convertir una AMI en pública en EC2 ModifyImageAttribute.
Actualice una configuración de distribución de AMI
Puede cambiar la configuración de distribución de la AMI. Sin embargo, los cambios que realice no se aplican a ningún recurso que Generador de Imágenes ya haya distribuido. Por ejemplo, si ha distribuido una AMI en una región y luego la elimina de la distribución, la AMI que ya estaba distribuida permanece en esa región hasta que la elimine manualmente.
Ejemplo: habilite EC2 Fast Launch con una plantilla de lanzamiento para las AMI de salida
En el siguiente ejemplo, se muestra cómo usar el create-distribution-configuration
Para configurar los ajustes de EC2 Fast Launch sin una plantilla de lanzamiento, asegúrese de cumplir todos los requisitos Requisitos previos del lanzamiento rápido de EC2 antes de crear la configuración de distribución.
-
Creación de un archivo JSON de entrada de la CLI
Utilice una herramienta de edición de archivos para crear un archivo JSON con claves, como se muestra en el siguiente ejemplo, además de valores que sean válidos para su entorno.
En este ejemplo, se lanzan instancias para todos sus recursos de destino de forma simultánea, ya que el número máximo de lanzamientos en paralelo es mayor que el recuento de recursos de destino. El nombre de este archivo es
ami-dist-config-win-fast-launch.jsonen el ejemplo de comando que se muestra en el siguiente paso.{ "name": "WinFastLaunchDistribution", "description": "An example of Windows AMI EC2 Fast Launch settings in the distribution configuration.", "distributions": [ { "region": "us-west-2", "amiDistributionConfiguration": { "name": "Name {{imagebuilder:buildDate}}", "description": "Includes Windows AMI EC2 Fast Launch settings.", "amiTags": { "KeyName": "Some Value" } }, "fastLaunchConfigurations": [{ "enabled": true, "snapshotConfiguration": { "targetResourceCount": 5 }, "maxParallelLaunches": 6, "launchTemplate": { "launchTemplateId": "lt-0ab1234c56d789012", "launchTemplateVersion": "1" } }], "launchTemplateConfigurations": [{ "launchTemplateId": "lt-0ab1234c56d789012", "setDefaultVersion": true }] }] }nota
Puede especificar el
launchTemplateNameen lugar dellaunchTemplateIden la secciónlaunchTemplate, pero no puede especificar tanto el nombre como el identificador. -
Ejecute el siguiente comando utilizando el archivo que creó como entrada.
aws imagebuilder create-distribution-configuration --cli-input-json file://ami-dist-config-win-fast-launch.jsonnota
-
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 referirse a la ruta de directorios, mientras que Linux y macOS usan la barra diagonal (/).
Para obtener información más detallada, consulte create-distribution-configuration
en la referencia de comandos de la AWS CLI . -
Ejemplo: cree la configuración de distribución para los discos de máquina virtual de salida desde AWS CLI
El siguiente ejemplo muestra cómo usar el comando create-distribution-configuration para crear ajustes de la distribución que exportarán los discos de imágenes de máquinas virtuales a Amazon S3 con cada creación de imágenes.
-
Creación de un archivo JSON de entrada de la CLI
Puede simplificar el comando create-distribution-configuration que utiliza en la AWS CLI. Para ello, cree un archivo JSON que contenga toda la configuración de exportación que desee pasar al comando.
nota
La convención de nomenclatura para los valores de datos del archivo JSON sigue el patrón que se especifica para los parámetros de solicitud de operación de la API de Image Builder. Para revisar los parámetros de solicitud de operación de la API, consulte el CreateDistributionConfiguration comando en la referencia de la API de EC2 Image Builder.
Para proporcionar los valores de los datos como parámetros de la línea de comandos, consulte los nombres de los parámetros especificados en la referencia de comandos de la AWS CLI y utilice el comando create-distribution-configuration como opciones.
Este es un resumen de los parámetros que especificamos en el objeto
s3ExportConfigurationde JSON para este ejemplo:-
roleName (cadena, obligatoria): el nombre del rol que otorga a la máquina virtual el Import/Export permiso para exportar imágenes a su bucket de S3.
-
disco ImageFormat (cadena, obligatorio): exporta la imagen de disco actualizada a uno de los siguientes formatos compatibles:
-
Disco duro virtual (VHD): compatible con los productos de Hyper-V virtualización Citrix Xen y Microsoft.
-
Stream-optimized Disco de máquina virtual ESX (VMDK): compatible con las versiones 4, 5 y 6 de VMware ESX y VMware vSphere.
-
Crudo: formato en crudo.
-
-
S3Bucket (cadena, obligatorio): el bucket S3 en el que se almacenan las imágenes de disco de salida de la máquina virtual.
Guarde el archivo como
export-vm-disks.json. Usa el nombre del archivo en el comando create-distribution-configuration.{ "name": "example-distribution-configuration-with-vm-export", "description": "example", "distributions": [ { "region": "us-west-2", "amiDistributionConfiguration": { "description": "example-with-vm-export" }, "s3ExportConfiguration": { "roleName": "vmimport", "diskImageFormat": "RAW", "s3Bucket": "vm-bucket-export" } }], "clientToken": "abc123def4567ab" } -
-
Ejecute el siguiente comando utilizando el archivo que creó como entrada.
aws imagebuilder create-distribution-configuration --cli-input-json file://export-vm-disks.jsonnota
-
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 referirse a la ruta de directorios, mientras que Linux y macOS usan la barra diagonal (/).
Para obtener información más detallada, consulte create-distribution-configuration
en la referencia de comandos de la AWS CLI . -