View a markdown version of this page

Gestione los flujos de trabajo de creación, prueba y distribución de imágenes de Image Builder - 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.

Gestione los flujos de trabajo de creación, prueba y distribución de imágenes de Image Builder

Un flujo de trabajo de imágenes define la secuencia de pasos que EC2 Image Builder ejecuta durante una etapa del proceso de creación de imágenes. El flujo de trabajo se crea como un documento YAML y se crea como un recurso versionado y reutilizable. Luego, Image Builder ejecuta tus flujos de trabajo cuando crea, prueba y distribuye tus imágenes.

Los flujos de trabajo le permiten controlar directamente el proceso de creación de imágenes. Usted decide qué pasos se ejecutan, en qué orden, qué hace cada paso cuando falla y si Image Builder revierte un paso fallido. Puedes empezar desde un flujo de trabajo gestionado por Amazon, clonarlo y personalizarlo, o escribir el tuyo propio desde cero.

Ventajas de los flujos de trabajo de imágenes
  • Con los flujos de trabajo de imágenes, tiene más flexibilidad, visibilidad y control sobre el proceso de creación de imágenes.

  • Puede agregar pasos de flujo de trabajo personalizados al definir el documento de flujos de trabajo o puede optar por utilizar el flujo de trabajo predeterminado de Generador de imágenes.

  • Puede excluir los pasos del flujo de trabajo que Image Builder incluye en los flujos de trabajo de imágenes predeterminados.

  • Puede crear flujos de trabajo solo de prueba que omitan por completo el proceso de creación. Puede hacer lo mismo para crear flujos de trabajo de solo compilación o solo de distribución.

nota

No puede modificar un flujo de trabajo existente, pero puede clonarlo o crear una nueva versión.

Marco del flujo de trabajo: etapas

Image Builder organiza el proceso de creación de imágenes en tres etapas. Cada etapa ejecuta un flujo de trabajo del tipo correspondiente. Las etapas se ejecutan en un orden fijo y una etapa comienza solo después de que la etapa anterior finalice correctamente.

En la tabla siguiente se muestra el comportamiento predeterminado de cada etapa. Dado que usted define los pasos en cada flujo de trabajo, puede personalizar lo que hace una etapa.

etapas del flujo de trabajo de Image Builder

Order

Etapa

Tipo de flujo de trabajo

Qué hace (predeterminado)

1

Build

BUILD

Lanza una instancia de compilación, ejecuta los componentes de compilación y crea una imagen (AMI o imagen de contenedor) a partir de la instancia.

2

Test

TEST

Lanza una instancia de prueba a partir de la nueva imagen, ejecuta los componentes de prueba y, de forma opcional, recopila los resultados del escaneo de la imagen.

3

Distribución

DISTRIBUTION

Copia la imagen en las regiones y cuentas de destino, modifica los atributos de la imagen y aplica las configuraciones posteriores a la distribución, como las plantillas de lanzamiento y las configuraciones de licencias.

Puede ejecutar un flujo de trabajo solo para algunas etapas. Por ejemplo, puedes saltarte la fase de creación para probar o distribuir una imagen que ya existe, o bien saltarte la fase de prueba para crear y distribuir sin realizar pruebas. Para saltarte la etapa de creación o prueba, omite un flujo de trabajo de ese tipo en tu solicitud de procesamiento o imagen.

nota

El flujo de trabajo de distribución es opcional. Si lo omite, Image Builder no omite la distribución; seguirá distribuyendo la AMI mediante la ejecución de la configuración de distribución que haya adjuntado a la canalización o a la imagen. Agregue un flujo de trabajo de distribución cuando desee anular esa configuración de distribución con diferentes ajustes de distribución o para obtener más visibilidad del proceso de distribución. Para omitir la distribución por completo, proporciona una configuración de distribución nula o vacía.

nota

Una canalización de imágenes o una solicitud de imágenes pueden incluir como máximo un flujo de trabajo de creación y un flujo de trabajo de distribución. También puede incluir uno o más flujos de trabajo de prueba. El número total de flujos de trabajo no puede superar los diez. Por ejemplo, puede combinar un flujo de trabajo de creación y otro de distribución con hasta ocho flujos de trabajo de prueba.

Cómo se ejecuta un flujo de trabajo

Un flujo de trabajo ejecuta sus pasos en el orden en que los definas en el documento YAML. Cada paso lleva a cabo una acción, como lanzar una instancia o ejecutar componentes.

Resultados de los pasos

Cada paso termina en uno de los siguientes estados.

Resultados del paso del flujo de trabajo

Estado

Significado

COMPLETED

El paso finalizó correctamente.

SKIPPED

Se evaluó una if declaración condicional en el pasofalse, por lo que Image Builder omitió el paso.

FAILED

El paso no finalizó correctamente.

WAITING

Un WaitForAction paso está en pausa a la espera de una acción externa.

TIMED_OUT

El paso duró más tiempo que su timeoutSeconds valor.

Administración de errores

El onFailure atributo de cada paso controla lo que ocurre cuando se produce un error en un paso.

  • Abort(predeterminado): Image Builder no supera el paso, el flujo de trabajo y no ejecuta ningún otro paso. Si la reversión está habilitada, la reversión comienza en el paso fallido y continúa hacia atrás hasta los pasos anteriores.

  • Continue— Image Builder no supera el paso, pero ejecuta los pasos restantes. No se produce ninguna reversión.

Reversión

Cuando un paso falla con onFailure: Abort y rollbackEnabled: true (valor predeterminado), Image Builder revierte los pasos completados en orden inverso, empezando por el paso que falló. No todas las acciones se pueden deshacer. Una acción que no tiene ninguna reversión registra el estado deNO_ROLLBACK.

Supervise la ejecución del flujo de trabajo con Amazon EventBridge

Image Builder emite EventBridge los eventos de Amazon a medida que se ejecutan sus flujos de trabajo, para que pueda reaccionar ante el progreso y los pasos que requieren atención. Por ejemplo, un WaitForAction paso publica un evento con el tipo EC2 Image Builder Workflow Step Waiting de detalle en tu bus de eventos predeterminado. Puede dirigir este evento a un objetivo, como una función de Lambda o un tema de Amazon SNS, para impulsar un proceso de aprobación. Para obtener más información sobre cómo funciona Image Builder EventBridge, consulte. EventBridge Integración de Amazon en Image Builder

Para realizar un seguimiento programático del progreso escalonado, utilice las operacionesListWorkflowExecutions, GetWorkflowExecutionListWorkflowStepExecutions, y GetWorkflowStepExecution de la API.

Restricciones de recursos de flujo

Los documentos y configuraciones de su flujo de trabajo deben mantenerse dentro de los siguientes límites predeterminados.

Restricciones de recursos de flujo

Restricción

Límite predeterminado

Notas

Pasos por documento de flujo de trabajo

15

Los pasos se ejecutan en el orden de los documentos.

Salidas por documento de flujo de trabajo

25

Las salidas transfieren valores a flujos de trabajo posteriores.

Parámetros por documento de flujo de trabajo

25

Entradas que puede configurar la persona que llama.

Longitud del valor del parámetro

1,024 caracteres

Por valor de parámetro.

Tamaño del documento en línea () data

16.000 bytes

Utilice la opción uri (Amazon S3) para documentos más grandes.

Flujos de trabajo por imagen o canalización

10

Como máximo 1 compilación y 1 distribución, además de flujos de trabajo de prueba, para un total combinado de 10.

Los recursos de flujo de trabajo son inmutables. Para cambiar un flujo de trabajo, cree una nueva versión o clónelo. Image Builder conserva todas las versiones para que pueda rastrear qué flujo de trabajo produjo cada imagen.

Acceso a los servicios

Para ejecutar flujos de trabajo de imágenes, Generador de imágenes necesita permiso para realizar acciones de flujo de trabajo. Usted concede este permiso con una función de ejecución que Image Builder asume en su nombre. La función de ejecución se asigna de la siguiente manera.

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.

  • Consola: En el paso 3 del asistente de procesamiento, defina el proceso de creación de imágenes y seleccione su rol personalizado en la lista de roles de IAM del panel de acceso al servicio.

  • API de creación de imágenes: en la solicitud de CreateImage acción, especifique su rol personalizado como valor del executionRole parámetro.

Para crear un rol de ejecución personalizado, consulte Crear un rol para delegar permisos a un AWS servicio en la Guía del AWS Identity and Access Management usuario.

Usa flujos de trabajo gestionados para tus imágenes

AWS crea y mantiene flujos de trabajo gestionados. Cuando utiliza flujos de trabajo gestionados en sus canalizaciones de imágenes o para la creación de imágenes de una sola vez, puede seleccionar el nombre de recurso de Amazon (ARN) del flujo de trabajo gestionado que desee utilizar. Amazon proporciona las versiones más recientes con parches y otras actualizaciones aplicadas. Para obtener una lista de los flujos de trabajo gestionadosEnumeración de flujos de trabajo de imágenes, consulta y filtra Owner = Amazon (consola).

Puedes elegir un flujo de trabajo gestionado en función de tus requisitos de validación y velocidad de creación. Los siguientes son ejemplos de tipos de flujos de trabajo gestionados:

Flujos de trabajo gestionados estándar (predeterminado)

Los flujos de trabajo gestionados estándar incluyen pasos integrales para crear, probar y validar las imágenes con comprobaciones de estado completas de EC2.

Los siguientes son flujos de trabajo gestionados estándar:

  • build-image: flujo de trabajo de creación de Amazon-managed AMI predeterminado.

  • test-image: flujo de trabajo de prueba de Amazon-managed AMI predeterminado.

  • build-container: flujo de trabajo de creación de contenedores predeterminado Amazon-managed .

  • test-container: flujo de trabajo de prueba de contenedores predeterminado Amazon-managed .

Flujos de trabajo gestionados express

Los flujos de trabajo gestionados de forma rápida incluyen solo los pasos esenciales y reducen el tiempo de creación de imágenes.

Los siguientes son flujos de trabajo gestionados de forma rápida:

  • express-build-image: flujo de trabajo de creación de Express Amazon-managed AMI que reduce el tiempo de creación. Solo espera a que la instancia esté en ejecución, en lugar de comprobar el estado completo de EC2, y omite la recopilación de metadatos de la imagen.

  • express-build-container: flujo de trabajo de creación de contenedores exprés Amazon-managed que reduce el tiempo de creación. Solo espera al estado de ejecución de la instancia en lugar de a comprobar el estado completo de EC2.

  • express-test-image: flujo de trabajo de prueba de Express Amazon-managed AMI que reduce el tiempo de prueba. Solo espera al estado de ejecución de la instancia, en lugar de realizar comprobaciones completas del estado de EC2, y omite la recopilación de los resultados de los análisis de seguridad.