View a markdown version of this page

Crear una configuración de infraestructura - 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.

Crear una configuración de infraestructura

En esta sección se describe cómo puede usar la consola o los imagebuilder comandos de Image Builder AWS CLI para crear una configuración de infraestructura.

Console

Para crear un recurso de configuración de infraestructura desde la consola de Generador de Imágenes, siga estos pasos:

  1. Abra la consola de EC2 Image Builder en https://console.aws.amazon.com/imagebuilder/.

  2. En el panel de navegación, elija Configuración de la infraestructura..

  3. Elija Crear configuración de infraestructura.

  4. En la sección General, introduzca las siguientes casillas obligatorias:

    • Introduzca el nombre del recurso de configuración de la infraestructura.

    • Seleccione un rol de IAM que desee asociar al perfil de instancia para los permisos de los componentes de las instancias de creación y prueba. Image Builder usa estos permisos para descargar y ejecutar sus componentes, cargar registros y realizar cualquier acción adicional que especifiquen los componentes de su receta. CloudWatch

  5. En el panel de AWS infraestructura, configure los ajustes de infraestructura restantes. Introduzca la siguiente información necesaria:

    • Tipo de instancia: puede especificar uno o más tipos de instancia para utilizarlos en esta compilación. Image Builder selecciona uno de estos tipos de instancia en función de la disponibilidad.

      nota

      Las instancias de Mac se ejecutan en tipos de instancia .metal en un host dedicado. El tipo de instancia debe coincidir con uno de los tipos definidos para el host en el que se ejecuta. Para obtener más información sobre las instancias Mac y una lista de los tipos de instancias compatibles de forma nativa con el sistema operativo macOS, consulte las instancias Mac de Amazon EC2 en la Guía del usuario de Amazon EC2.

    • Tema de SNS (opcional): seleccione un tema de SNS para recibir notificaciones y alertas de Generador de imágenes de EC2.

    Si no proporcionas valores para las siguientes configuraciones, usarán los valores predeterminados específicos del servicio, cuando corresponda.

    • VPC, subred y grupos de seguridad: Generador de Imágenes usa la VPC y la subred predeterminadas. Para obtener más información sobre cómo configurar el punto de conexión de interfaz, consulte Image Builder y puntos finales AWS PrivateLink de VPC de interfaz.

    • En la sección de configuración de solución de problemas, configure los siguientes valores:

      • De forma predeterminada, está activada la casilla de verificación Finalizar instancia en caso de falla. Sin embargo, cuando se produce un error en una compilación, puede conectarse a la instancia de Amazon EC2 para solucionar el problema. Si desea que la instancia siga ejecutándose después de un error de compilación, desactive la casilla.

      • Par de claves: si su instancia de Amazon EC2 sigue ejecutándose después de un error de compilación, puede crear un par de claves o usar un par de claves existente para conectarse a la instancia y solucionar el problema.

      • Registros: puedes especificar un bucket de Amazon S3 en el que Image Builder pueda escribir los registros de las aplicaciones para ayudarte a solucionar los problemas de compilación y pruebas. Si no especificas un bucket de Amazon S3, Image Builder escribe los registros de la aplicación en la instancia.

    • En la sección de ajustes de metadatos de la instancia, configure los siguientes valores para aplicarlos a las instancias de Amazon EC2 que Image Builder utiliza para crear y probar su imagen:

      • Seleccione la versión de metadatos para determinar si Amazon EC2 requiere un encabezado de token firmado para las solicitudes de recuperación de metadatos de las instancias.

        • V1 y V2 (token opcional): valor predeterminado si no selecciona nada.

        • V2 (token obligatorio)

        nota

        Se recomienda configurar todas las instancias de EC2 que Generador de Imágenes lance a partir de una compilación en proceso para que usen IMDSv2, de modo que las solicitudes de recuperación de metadatos de las instancias requieran un encabezado de token firmado.

      • Límite de saltos de respuesta del token de metadatos: el número saltos de red que puede recorrer el token de metadatos. Intervalo válido: 1 a 64. Si no establece ningún valor, Image Builder aplica un límite de saltos de 2.

    • En la sección de ajustes de ubicación de las instancias, configure los siguientes valores para aplicarlos a las instancias de Amazon EC2 que Image Builder utiliza para crear y probar su imagen:

      • Puede seleccionar la zona de disponibilidad en la que Generador de imágenes lanza las instancias durante la creación de la imagen.

      • Si lo desea, seleccione Tenencia para los servidores que ejecutan las instancias que lance. De forma predeterminada, las instancias de Amazon EC2 se ejecutan en hardware de arrendamiento compartido. Esto significa que varias Cuentas de AWS pueden compartir el mismo hardware físico. Una instancia con una tenencia de ejecuciones dedicated en hardware de un solo propietario. Una instancia con una tenencia de host se ejecuta en un host dedicado.

        Las instancias de Mac requieren que se cree un host dedicado como requisito previo antes de crear una imagen personalizada. Seleccione host para su imagen de macOS. A continuación, puede seleccionar un host o un grupo de recursos de hosts de destino para lanzar instancias, pero no es obligatorio si su host dedicado tiene habilitada la ubicación automática. Para obtener más información, consulte la Guía Auto-placement del usuario de Amazon EC2.

        • ID de host de tenencia: el ID del host dedicado en el que se ejecutan las instancias.

        • Grupo de recursos de host de tenencia: nombre de recurso de Amazon (ARN) del grupo con recursos de host en el que se iniciarán las instancias.

  6. En la sección Etiquetas de infraestructura (opcional), puede asignar etiquetas de metadatos a la instancia de Generador de imágenes de Amazon EC2 lanza durante el proceso de compilación. Introduzca las etiquetas como pares clave-valor.

  7. En la sección Etiquetas (opcional), puede asignar etiquetas de metadatos al recurso de configuración de infraestructura que Generador de imágenes crea como salida. Introduzca las etiquetas como pares clave-valor.

AWS CLI

El siguiente procedimiento muestra cómo configurar la infraestructura de la imagen con el comando create-infrastructure-configuration de Generador de iImágenes en la AWS CLI. El comando del paso 2 incluye el archivo que creó en el paso 1. Para estos ejemplos, el archivo del paso 1 se denomina create-infrastructure-configuration.json.

El siguiente ejemplo establece los campos de infraestructura comunes. Para requerir los tokens de IMDSv2 en las instancias de compilación y prueba, agrega un instanceMetadataOptions bloque con el valor httpTokens establecido en. required

nota

Se recomienda configurar todas las instancias de EC2 que Generador de Imágenes lance a partir de una compilación en proceso para que usen IMDSv2, de modo que las solicitudes de recuperación de metadatos de las instancias requieran un encabezado de token firmado.

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

    Los siguientes ejemplos muestran variaciones del archivo JSON que puede crear para la configuración de la infraestructura. Utilice una herramienta de edición de archivos para crear un archivo JSON de su propiedad.

    Ejemplo 1: configuración para retener una instancia de una compilación fallida

    En este ejemplo se especifican dos tipos de instancias, m7i.large y m7i.xlarge. Te recomendamos que especifiques más de un tipo de instancia, ya que esto permite a Generador de Imágenes lanzar una instancia desde un grupo con capacidad suficiente. Esto puede reducir los errores de compilación transitorios.

    instanceProfileName especifica el perfil de instancia que proporciona a la instancia los permisos que el perfil necesita para realizar actividades de personalización. Por ejemplo, si tiene un componente que recupera recursos de Amazon S3, el perfil de instancia requiere permisos para acceder a esos archivos. El perfil de instancia también requiere un conjunto mínimo de permisos para que Generador de Imágenes de EC2 se comunique correctamente con la instancia. Para obtener más información, consulte Preparación para crear imágenes personalizadas con Generador de imágenes.

    { "name": "ExampleInfraConfigDontTerminate", "description": "An example that will retain instances of failed builds", "instanceTypes": [ "m7i.large", "m7i.xlarge" ], "instanceProfileName": "myIAMInstanceProfileName", "securityGroupIds": [ "sg-12345678" ], "subnetId": "subnet-12345678", "logging": { "s3Logs": { "s3BucketName": "my-logging-bucket", "s3KeyPrefix": "my-path" } }, "keyPair": "myKeyPairName", "terminateInstanceOnFailure": false, "snsTopicArn": "arn:aws:sns:us-west-2:123456789012:MyTopic" }
    Ejemplo 2: configuración de macOS con ubicación automática

    En este ejemplo, se especifican los tipos de instancia y la ubicación de una instancia de Mac en la que el host dedicado tiene habilitada la ubicación automática.

    { "name": "macOSInfraConfigAutoPlacement", "description": "An example infrastructure configuration for macOS.", "instanceProfileName": "EC2InstanceProfileForImageBuilder", "instanceTypes": ["mac1.metal", "mac2.metal"], "terminateInstanceOnFailure": false, "placement": { "tenancy": "host" } }
    Ejemplo 3: configuración de macOS con el ID de host especificado

    En este ejemplo, se especifica el tipo de instancia y la ubicación de una instancia de Mac que se dirige a un host dedicado específico.

    { "name": "macOSInfraConfigHostPlacement", "description": "An example infrastructure configuration for macOS.", "instanceProfileName": "EC2InstanceProfileForImageBuilder", "instanceTypes": ["mac2-m1ultra.metal"], "terminateInstanceOnFailure": false, "placement": { "tenancy": "host", "hostId" : "h-1234567890abcdef0" } }
    Ejemplo 4: VPC personalizada con registros de IMDSv2 y Amazon S3

    En este ejemplo, se lanzan instancias en una subred y un grupo de seguridad específicos, se requieren tokens de IMDSv2 y se escriben los registros de las aplicaciones en Amazon S3. Como el ejemplo se establecesubnetId, también se debe establecer. securityGroupIds

    { "name": "VpcInfraConfigWithLogging", "description": "Build in a custom VPC with IMDSv2 and S3 logging", "instanceTypes": ["m7i.large", "m8i.large"], "instanceProfileName": "EC2InstanceProfileForImageBuilder", "subnetId": "subnet-12345678", "securityGroupIds": ["sg-12345678"], "instanceMetadataOptions": { "httpTokens": "required", "httpPutResponseHopLimit": 2 }, "logging": { "s3Logs": { "s3BucketName": "my-logging-bucket", "s3KeyPrefix": "image-builder-logs" } }, "resourceTags": { "Project": "golden-ami" }, "terminateInstanceOnFailure": true }
    Ejemplo 5: ubicación de un host dedicado con un grupo de recursos de anfitriones

    Este ejemplo se dirige a un grupo de recursos de host en lugar de a un ID de host específico. De tenancy este modohost, puede especificar un ARN del grupo de recursos de host. No especifique también unhostId.

    { "name": "HostResourceGroupInfraConfig", "instanceProfileName": "EC2InstanceProfileForImageBuilder", "instanceTypes": ["mac2.metal"], "terminateInstanceOnFailure": false, "placement": { "tenancy": "host", "hostResourceGroupArn": "arn:aws:resource-groups:us-west-2:123456789012:group/my-host-group" } }
  2. Utilice el archivo creado como entrada cuando ejecute el siguiente comando.
    aws imagebuilder create-infrastructure-configuration --cli-input-json file://create-infrastructure-configuration.json