Configurar RES-Ready AMIs - Estudio de investigación e ingeniería

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.

Configurar RES-Ready AMIs

Con Amazon Machine Images (AMIs) preparado para RES, puede preinstalar las dependencias de RES para las instancias de escritorios virtuales (VDIs) a su medida. AMIs El uso de RES-Ready AMIs mejora los tiempos de arranque de las instancias de VDI utilizando las imágenes preconfiguradas. Con EC2 Image Builder, puede crear y registrar sus AMIs nuevas pilas de software. Para obtener más información sobre Image Builder, consulte la Guía del usuario de Image Builder.

Antes de empezar, debe implementar la última versión de RES.

Prepare una función de IAM para acceder al entorno RES

Para acceder al servicio de entorno RES desde EC2 Image Builder, debe crear o modificar un rol de IAM denominado RES- EC2InstanceProfileForImageBuilder. Para obtener información sobre la configuración de un rol de IAM para su uso en Image Builder, consulte AWS Identity and Access Management (IAM) en la Guía del usuario de Image Builder.

Su función requiere:
  • Relaciones de confianza que incluyen el EC2 servicio de Amazon.

  • Amazon SSMManaged InstanceCore y sus EC2 InstanceProfileForImageBuilder políticas.

  • Una política de RES personalizada con acceso limitado a DynamoDB y Amazon S3 al entorno RES implementado.

    (Esta política puede ser un documento de política gestionado por el cliente o integrado en línea).

  1. Comience por crear una nueva política que se adjunte a su función: IAM -> Políticas -> Crear política

  2. Seleccione JSON en el editor de políticas.

  3. Copia y pega la política que se muestra aquí en el editor, sustituyéndola por la que desees y {AWS-Region}{AWS-Account-ID}, si procede, {RES-EnvironmentName} donde corresponda.

    Política de RES:

    { "Version": "2012-10-17", "Statement": [ { "Sid": "RESDynamoDBAccess", "Effect": "Allow", "Action": "dynamodb:GetItem", "Resource": "arn:aws:dynamodb:{AWS-Region}:{AWS-Account-ID}:table/{RES-EnvironmentName}.cluster-settings", "Condition": { "ForAllValues:StringLike": { "dynamodb:LeadingKeys": [ "global-settings.gpu_settings.*", "global-settings.package_config.*", "cluster-manager.host_modules.*", "identity-provider.cognito.enable_native_user_login" ] } } }, { "Sid": "RESS3Access", "Effect": "Allow", "Action": "s3:GetObject", "Resource": [ "arn:aws:s3:::{RES-EnvironmentName}-cluster-{AWS-Region}-{AWS-Account-ID}/idea/vdc/res-ready-install-script-packages/*", "arn:aws:s3:::research-engineering-studio-{AWS-Region}/host_modules/*" ] } ] }
  4. Seleccione Siguiente y proporcione un nombre y una descripción opcional para completar la creación de la política.

  5. Para crear el rol, comience por ir a IAM -> Roles -> Crear rol.

  6. En Tipo de entidad de confianza, selecciona «AWS servicio».

  7. Seleccione EC2en el menú desplegable Servicio o caso de uso.

  8. En la sección Caso de uso, selecciona EC2y, a continuación, selecciona Siguiente.

  9. Busque y, a continuación, seleccione el nombre de la política que creó anteriormente.

  10. Elija Siguiente y proporcione un nombre y una descripción opcional para completar la creación del rol.

  11. Seleccione su nueva función y compruebe que la relación de confianza coincide con lo siguiente:

    Entidad de relación de confianza:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "ec2.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

Componente Create EC2 Image Builder

Siga las instrucciones para crear un componente mediante la consola de Image Builder de la Guía del usuario de Image Builder.

Introduzca los detalles del componente:
  1. En Tipo, elija Construir.

  2. En el caso del sistema operativo (SO) Image, elija Linux o Windows.

  3. En Nombre del componente, introduzca un nombre descriptivo, comoresearch-and-engineering-studio-vdi-<operating-system>.

  4. Introduzca el número de versión del componente y, si lo desea, añada una descripción.

  5. Para el documento de definición, introduzca el siguiente archivo de definición. Si encuentra algún error, el archivo YAML es sensible al espacio y es la causa más probable.

    Linux
    # Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance # with the License. A copy of the License is located at # # http://www.apache.org/licenses/LICENSE-2.0 # # or in the 'license' file accompanying this file. This file is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES # OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions # and limitations under the License. name: research-and-engineering-studio-vdi-linux description: An RES EC2 Image Builder component to install required RES software dependencies for Linux VDI. schemaVersion: 1.0 parameters: - AWSAccountID: type: string description: RES Environment AWS Account ID - RESEnvName: type: string description: RES Environment Name - RESEnvRegion: type: string description: RES Environment Region - RESEnvReleaseVersion: type: string description: RES Release Version phases: - name: build steps: - name: PrepareRESBootstrap action: ExecuteBash onFailure: Abort maxAttempts: 3 inputs: commands: - 'mkdir -p /root/bootstrap/logs' - 'mkdir -p /root/bootstrap/latest' - name: DownloadRESLinuxInstallPackage action: S3Download onFailure: Abort maxAttempts: 3 inputs: - source: 's3://{{ RESEnvName }}-cluster-{{ RESEnvRegion }}-{{ AWSAccountID }}/idea/vdc/res-ready-install-script-packages/linux/res_linux_install_{{ RESEnvReleaseVersion }}.tar.gz' destination: '/root/bootstrap/res_linux_install_{{ RESEnvReleaseVersion }}.tar.gz' expectedBucketOwner: '{{ AWSAccountID }}' - name: RunInstallScript action: ExecuteBash onFailure: Abort maxAttempts: 3 inputs: commands: - 'tar -xvf {{ build.DownloadRESLinuxInstallPackage.inputs[0].destination }} -C /root/bootstrap/latest' - '/bin/bash /root/bootstrap/latest/virtual-desktop-host-linux/install.sh -r {{ RESEnvRegion }} -n {{ RESEnvName }} -g NONE' - name: FirstReboot action: Reboot onFailure: Abort maxAttempts: 3 inputs: delaySeconds: 0 - name: RunInstallPostRebootScript action: ExecuteBash onFailure: Abort maxAttempts: 3 inputs: commands: - '/bin/bash /root/bootstrap/latest/virtual-desktop-host-linux/install_post_reboot.sh' - name: SecondReboot action: Reboot onFailure: Abort maxAttempts: 3 inputs: delaySeconds: 0
    Windows
    # Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance # with the License. A copy of the License is located at # # http://www.apache.org/licenses/LICENSE-2.0 # # or in the 'license' file accompanying this file. This file is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES # OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions # and limitations under the License. name: research-and-engineering-studio-vdi-windows description: An RES EC2 Image Builder component to install required RES software dependencies for Windows VDI. schemaVersion: 1.0 parameters: - AWSAccountID: type: string description: RES Environment AWS Account ID - RESEnvName: type: string description: RES Environment Name - RESEnvRegion: type: string description: RES Environment Region - RESEnvReleaseVersion: type: string description: RES Release Version phases: - name: build steps: - name: CreateRESBootstrapFolder action: CreateFolder onFailure: Abort maxAttempts: 3 inputs: - path: 'C:\Users\Administrator\RES\Bootstrap' overwrite: true - name: DownloadRESWindowsInstallPackage action: S3Download onFailure: Abort maxAttempts: 3 inputs: - source: 's3://{{ RESEnvName }}-cluster-{{ RESEnvRegion }}-{{ AWSAccountID }}/idea/vdc/res-ready-install-script-packages/windows/res_windows_install_{{ RESEnvReleaseVersion }}.tar.gz' destination: '{{ build.CreateRESBootstrapFolder.inputs[0].path }}\res_windows_install_{{ RESEnvReleaseVersion }}.tar.gz' expectedBucketOwner: '{{ AWSAccountID }}' - name: RunInstallScript action: ExecutePowerShell onFailure: Abort maxAttempts: 3 inputs: commands: - 'cd {{ build.CreateRESBootstrapFolder.inputs[0].path }}' - 'Tar -xf res_windows_install_{{ RESEnvReleaseVersion }}.tar.gz' - 'Import-Module .\virtual-desktop-host-windows\Install.ps1' - 'Install-WindowsEC2Instance' - name: Reboot action: Reboot onFailure: Abort maxAttempts: 3 inputs: delaySeconds: 0
  6. Crea cualquier etiqueta opcional y selecciona Crear componente.

Prepara tu receta EC2 de Image Builder

Una receta de EC2 Image Builder define la imagen base que se utilizará como punto de partida para crear una nueva imagen, junto con el conjunto de componentes que se añaden para personalizar la imagen y comprobar que todo funciona como se espera. Debe crear o modificar una receta para construir la AMI de destino con las dependencias de software RES necesarias. Para obtener más información sobre las recetas, consulte Administrar recetas.

RES es compatible con los siguientes sistemas operativos de imagen:

  • Amazon Linux 2 (x86 y ARM64)

  • Ubuntu 22.04.3 (x86)

  • RHEL 8 (x86) y 9 (x86)

  • Windows 2019, 2022 (x86)

Create a new recipe
  1. Abra la consola EC2 de Image Builder enhttps://console.aws.amazon.com/imagebuilder.

  2. En Recursos guardados, selecciona Recetas de imágenes.

  3. Seleccione Crear receta de imagen.

  4. Introduce un nombre único y un número de versión.

  5. Seleccione una imagen base compatible con RES.

  6. En Configuración de instancias, instale un agente SSM si no viene preinstalado. Introduzca la información en Datos de usuario y cualquier otro dato de usuario necesario.

    nota

    Para obtener información sobre cómo instalar un agente de SSM, consulte:

  7. Para recetas basadas en Linux, añada el componente de aws-cli-version-2-linux compilación gestionado por Amazon a la receta. Los scripts de instalación de RES lo utilizan AWS CLI para proporcionar acceso de VDI a los valores de configuración de los ajustes del clúster de DynamoDB. Windows no requiere este componente.

  8. Añada el componente EC2 Image Builder creado para su entorno Linux o Windows e introduzca los valores de parámetros necesarios. Los siguientes parámetros son entradas obligatorias: AWSAccount ID, RESEnv nombre, RESEnv región y RESEnvReleaseVersion.

    importante

    Para los entornos Linux, debe agregar estos componentes en orden y agregar primero el componente de aws-cli-version-2-linux compilación.

  9. (Recomendado) Añada el componente de simple-boot-test-<linux-or-windows> prueba gestionado por Amazon para comprobar que se puede lanzar la AMI. Se trata de una recomendación mínima. Puede seleccionar otros componentes de prueba que cumplan con sus requisitos.

  10. Complete las secciones opcionales si es necesario, añada cualquier otro componente que desee y elija Crear receta.

Modify a recipe

Si ya tiene una receta de EC2 Image Builder, puede usarla añadiendo los siguientes componentes:

  1. Para recetas basadas en Linux, añada el componente de aws-cli-version-2-linux compilación gestionado por Amazon a la receta. Los scripts de instalación de RES lo utilizan AWS CLI para proporcionar acceso de VDI a los valores de configuración de los ajustes del clúster de DynamoDB. Windows no requiere este componente.

  2. Añada el componente EC2 Image Builder creado para su entorno Linux o Windows e introduzca los valores de parámetros necesarios. Los siguientes parámetros son entradas obligatorias: AWSAccount ID, RESEnv nombre, RESEnv región y RESEnvReleaseVersion.

    importante

    Para los entornos Linux, debe agregar estos componentes en orden y agregar primero el componente de aws-cli-version-2-linux compilación.

  3. Complete las secciones opcionales si es necesario, añada cualquier otro componente que desee y elija Crear receta.

Configurar EC2 la infraestructura de Image Builder

Puede utilizar las configuraciones de infraestructura para especificar la EC2 infraestructura de Amazon que Image Builder utiliza para crear y probar su imagen de Image Builder. Para usarla con RES, puede elegir entre crear una nueva configuración de infraestructura o usar una existente.

Para configurar la infraestructura de Image Builder:
  1. Para el rol de IAM, introduzca el rol que configuró anteriormente. Prepare una función de IAM para acceder al entorno RES

  2. Para el tipo de instancia, elija un tipo con al menos 4 GB de memoria y que sea compatible con la arquitectura AMI básica que haya elegido. Consulte los tipos de EC2 instancias de Amazon.

  3. En el caso de los grupos de VPC, subredes y seguridad, debe permitir el acceso a Internet para descargar paquetes de software. También se debe permitir el acceso a la tabla de cluster-settings DynamoDB y al bucket de clústeres de Amazon S3 del entorno RES.

Configurar la canalización de imágenes de Image Builder

La canalización de imágenes de Image Builder ensambla la imagen base, los componentes para la creación y las pruebas, la configuración de la infraestructura y los ajustes de distribución. Para configurar una canalización de imágenes para RES-Ready AMIs, puede optar por crear una canalización nueva o utilizar una existente. Para obtener más información, consulte Creación y actualización de canalizaciones de imágenes AMI en la Guía del usuario de Image Builder.

Create a new Image Builder pipeline
  1. Abra la consola de Image Builder enhttps://console.aws.amazon.com/imagebuilder.

  2. En el panel de navegación, elija Image Pipelines.

  3. Seleccione Crear canalización de imágenes.

  4. Especifica los detalles de tu canalización introduciendo un nombre único, una descripción opcional, un cronograma y una frecuencia.

  5. En Elegir receta, elija Usar receta existente y seleccione la receta creada enPrepara tu receta EC2 de Image Builder. Comprueba que los detalles de la receta sean correctos.

  6. En Definir el proceso de creación de imágenes, elija el flujo de trabajo predeterminado o personalizado según el caso de uso. En la mayoría de los casos, los flujos de trabajo predeterminados son suficientes. Para obtener más información, consulte Configurar flujos de trabajo de imágenes para la canalización de EC2 Image Builder.

  7. En Definir la configuración de infraestructura, elija Elegir la configuración de infraestructura existente y seleccione la configuración de infraestructura creada enConfigurar EC2 la infraestructura de Image Builder. Compruebe que los detalles de su infraestructura sean correctos.

  8. En Definir la configuración de distribución, elija Crear la configuración de distribución mediante los valores predeterminados del servicio. La imagen de salida debe residir en el mismo lugar Región de AWS que su entorno RES. Si se utilizan los valores predeterminados del servicio, la imagen se creará en la región en la que se utilice Image Builder.

  9. Revisa los detalles de la canalización y selecciona Crear canalización.

Modify an existing Image Builder pipeline
  1. Para usar una canalización existente, modifique los detalles para usar la receta creada enPrepara tu receta EC2 de Image Builder.

  2. Elija Guardar cambios.

Ejecute la canalización de imágenes de Image Builder

Para producir la imagen de salida configurada, debe iniciar la canalización de imágenes. El proceso de creación puede tardar hasta una hora en función del número de componentes de la receta de la imagen.

Para ejecutar la canalización de imágenes:
  1. En las canalizaciones de imágenes, seleccione la canalización creada enConfigurar la canalización de imágenes de Image Builder.

  2. En Acciones, selecciona Ejecutar canalización.

Registre una nueva pila de software en RES

  1. Siga las instrucciones Pilas de software () AMIs para registrar una pila de software.

  2. Para el ID de AMI, introduzca el ID de AMI de la imagen de salida integradaEjecute la canalización de imágenes de Image Builder.