Cree un componente personalizado con EC2 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.

Cree un componente personalizado con EC2 Image Builder

Una vez que haya completado el documento de componentes, puede usarlo para crear un componente personalizado que puedan usar sus recetas de Image Builder. Puede crear un componente personalizado desde la consola de Image Builder, desde la API o los SDK, o desde la línea de comandos. Para obtener más información sobre cómo crear un componente personalizado con parámetros de entrada y utilizarlo en sus recetas, consulteTutorial: Cree un componente personalizado con parámetros de entrada de EC2 Image Builder.

En las siguientes secciones, se muestra cómo crear componentes desde la consola o desde AWS CLI.

Crear un componente personalizado desde la consola de Image Builder

Para crear un componente de TOE de AWS aplicación desde la consola de Image Builder, 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 Componentes. A continuación, seleccione Crear componente.

  3. En la página Crear componente, en Detalles del componente, introduzca lo siguiente:

    1. Sistema operativo (SO) de imágenes. Especifique el sistema operativo con el que es compatible el componente.

    2. Categoría de componente. En el menú desplegable, seleccione el tipo de componente de compilación o prueba que va a crear.

    3. Nombre del componente. Introduzca un nombre para el componente.

    4. versión del componente. Introduzca el número de versión del componente.

    5. Descripción. Proporcione una descripción opcional que le ayude a identificar el componente.

    6. Descripción del cambio. Proporcione una descripción opcional que le ayude a comprender los cambios realizados en esta versión del componente.

  4. En la sección Documento de definición, la opción predeterminada es Definir el contenido del documento. El documento del componente define las acciones que Generador de Imágenes realiza en las instancias de compilación y prueba para crear su imagen.

    En el cuadro Contenido, introduzca el contenido del documento de componente YAML. Para empezar con un ejemplo de Hello World para Linux, seleccione la opción Usar ejemplo. Para obtener más información sobre cómo crear un documento de componente YAML o cómo copiar y pegar el ejemplo de UpdateOS de esa página, consulte Crear un documento de componentes YAML para componentes personalizados en Image Builder.

  5. Tras introducir los detalles del componente, seleccione Crear componente.

    nota

    Para ver el nuevo componente al crear o actualizar una receta, aplique el filtro Owned by me a la lista de componentes de compilación o prueba. El filtro se encuentra en la parte superior de la lista de componentes, junto al cuadro de búsqueda.

  6. Para eliminar un componente, en la página Componentes, seleccione la casilla al componente que desea eliminar. En el menú desplegable Acciones, seleccione Eliminar componente.

Actualice un componente

Para crear una nueva versión del componente, siga estos pasos:

  1. En función de dónde empiece:

    • Desde la página de la lista de componentes: seleccione la casilla junto al nombre del componente y, a continuación, seleccione Crear nueva versión en el menú Acciones.

    • En la página de detalles del componente: pulse el botón Crear nueva versión situado en la esquina superior derecha del encabezado.

  2. La información del componente ya está rellenada con los valores actuales cuando aparece la página Crear componente. Siga los pasos de creación de un componente para actualizar el componente. Esto garantiza que introduzca una versión semántica única en la versión del componente. Para obtener más información sobre el control de versiones semántico para los recursos de Generador de Imágenes, consulte Control de versiones semántico en Image Builder.

Cree un componente personalizado a partir del AWS CLI

En esta sección, aprenderá a configurar y utilizar los comandos de Image Builder AWS CLI para crear un componente de TOE de AWS aplicación, de la siguiente manera.

  • Suba el documento de componente YAML a un bucket de S3 al que pueda hacer referencia desde la línea de comandos.

  • Cree el componente de la TOE de AWS aplicación con el create-component comando.

  • Enumere las versiones de los componentes con el comando list-components y un filtro de nombres para ver qué versiones ya existen. Puede usar el resultado para determinar cuál debe ser la próxima versión para las actualizaciones.

Para crear un componente de TOE de AWS aplicación a partir de un documento YAML de entrada, siga los pasos que coincidan con la plataforma de sistema operativo de su imagen.

Linux
Almacene el documento del componente de la aplicación en Amazon S3.

Puede usar un bucket de S3 como repositorio para el documento fuente del componente de TOE de AWS la aplicación. Para almacenar el documento del componente, siga estos pasos:

  • Cargue del documento en Amazon S3

    Si el documento ocupa menos de 64 KB, puede omitir este paso. Los documentos con un tamaño de 64 KB o más deben almacenarse en Amazon S3.

    aws s3 cp update-linux-os.yaml s3://my-s3-bucket/my-path/update-linux-os.yaml
Creación de un componente a partir del documento YAML

Para simplificar el create-component comando que utiliza en el AWS CLI, cree un archivo JSON que contenga todos los parámetros de los componentes que desee pasar al comando. Incluya la ubicación del documento update-linux-os.yaml que creó en los pasos anteriores. El par clave-valor uri contiene la referencia del archivo.

nota

La convención de nomenclatura de los valores de datos del archivo JSON sigue el patrón que se especifica para los parámetros de solicitud de acción de la API de Generador de Imágenes. Para revisar los parámetros de solicitud de comandos de la API, consulte el CreateComponentcomando 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 .

  1. Creación de un archivo JSON de entrada de la CLI

    Utilice una herramienta de edición de archivos para crear un archivo llamado create-update-linux-os-component.json. Incluya el siguiente contenido:

    { "name": "update-linux-os", "semanticVersion": "1.1.2", "description": "An example component that updates the Linux operating system", "changeDescription": "Initial version.", "platform": "Linux", "uri": "s3://my-s3-bucket/my-path/update-linux-os.yaml", "kmsKeyId": "arn:aws:kms:us-west-2:123456789012:key/98765432-b123-456b-7f89-0123456f789c", "tags": { "MyTagKey-purpose": "security-updates" } }
    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 (/).

  2. Creación de un componente

    Utilice el siguiente comando para crear el componente, haciendo referencia al nombre del archivo JSON que creó en el paso anterior:

    aws imagebuilder create-component --cli-input-json file://create-update-linux-os-component.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 (/).

Windows
Almacene el documento del componente de la aplicación en Amazon S3.

Puede utilizar un bucket de S3 como repositorio para el documento fuente del componente de TOE de AWS la aplicación. Para almacenar el documento del componente, siga estos pasos:

  • Cargue del documento en Amazon S3

    Si el documento ocupa menos de 64 KB, puede omitir este paso. Los documentos con un tamaño de 64 KB o más deben almacenarse en Amazon S3.

    aws s3 cp update-windows-os.yaml s3://my-s3-bucket/my-path/update-windows-os.yaml
Creación de un componente a partir del documento YAML

Para simplificar el create-component comando que utiliza en el AWS CLI, cree un archivo JSON que contenga todos los parámetros de los componentes que desee pasar al comando. Incluya la ubicación del documento update-windows-os.yaml que creó en los pasos anteriores. El par clave-valor uri contiene la referencia del archivo.

nota

La convención de nomenclatura de los valores de datos del archivo JSON sigue el patrón que se especifica para los parámetros de solicitud de acción de la API de Generador de Imágenes. Para revisar los parámetros de solicitud de comandos de la API, consulte el CreateComponentcomando 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 .

  1. Creación de un archivo JSON de entrada de la CLI

    Utilice una herramienta de edición de archivos para crear un archivo llamado create-update-windows-os-component.json. Incluya el siguiente contenido:

    { "name": "update-windows-os", "semanticVersion": "1.1.2", "description": "An example component that updates the Windows operating system.", "changeDescription": "Initial version.", "platform": "Windows", "uri": "s3://my-s3-bucket/my-path/update-windows-os.yaml", "kmsKeyId": "arn:aws:kms:us-west-2:123456789012:key/98765432-b123-456b-7f89-0123456f789c", "tags": { "MyTagKey-purpose": "security-updates" } }
    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 (/).

  2. Creación de un componente

    Utilice el siguiente comando para crear el componente, haciendo referencia al nombre del archivo JSON que creó en el paso anterior:

    aws imagebuilder create-component --cli-input-json file://create-update-windows-os-component.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 (/).

TOE de AWS el control de versiones de los componentes para las actualizaciones del AWS CLI

TOE de AWS los nombres y las versiones de los componentes están incrustados en el Amazon Resource Name (ARN) del componente, después del prefijo del componente. Cada nueva versión de un componente tiene su propio ARN único. Los pasos para crear una nueva versión son exactamente los mismos que para crear un nuevo componente, siempre que la versión semántica sea única para el nombre de ese componente. Para obtener más información sobre el control de versiones semántico para los recursos de Generador de Imágenes, consulte Control de versiones semántico en Image Builder.

Para asegurarse de asignar la siguiente versión lógica, primero obtenga una lista de las versiones existentes del componente que desee cambiar. Utilice el list-components comando con el nombre AWS CLI y filtre por él.

En este ejemplo, filtre por el nombre del componente que creó en los ejemplos anteriores de Linux. Para mostrar el componente que ha creado, utilice el valor del parámetro name del archivo JSON que utilizó en el comando create-component.

aws imagebuilder list-components --filters name="name",values="update-linux-os" { "requestId": "123a4567-b890-123c-45d6-ef789ab0cd1e", "componentVersionList": [ { "arn": "arn:aws:imagebuilder:us-west-2:1234560087789012:component/update-linux-os/1.0.0", "name": "update-linux-os", "version": "1.0.0", "platform": "Linux", "type": "BUILD", "owner": "123456789012", "dateCreated": "2020-09-24T16:58:24.444Z" }, { "arn": "arn:aws:imagebuilder:us-west-2:1234560087789012:component/update-linux-os/1.0.1", "name": "update-linux-os", "version": "1.0.1", "platform": "Linux", "type": "BUILD", "owner": "123456789012", "dateCreated": "2021-07-10T03:38:46.091Z" } ] }

En función de los resultados, puede determinar cuál debe ser la próxima versión.

Importe un script para crear un componente desde AWS CLI

En algunos casos, puede ser más fácil empezar con un script preexistente. En este caso, puede utilizar el siguiente ejemplo:

En este ejemplo se supone que usted tiene un archivo llamado import-component.json (como se muestra). Tenga en cuenta que el archivo hace referencia directamente a un PowerShell script denominado AdminConfig.ps1 que ya está cargado enmy-s3-bucket. Actualmente, SHELL es compatible con el componente format.

{ "name": "MyImportedComponent", "semanticVersion": "1.0.0", "description": "An example of how to import a component", "changeDescription": "First commit message.", "format": "SHELL", "platform": "Windows", "type": "BUILD", "uri": "s3://my-s3-bucket/AdminConfig.ps1", "kmsKeyId": "arn:aws:kms:us-west-2:123456789012:key/60763706-b131-418b-8f85-3420912f020c" }

Para crear el componente a partir de un script importado, ejecute el siguiente comando.

aws imagebuilder import-component --cli-input-json file://import-component.json