Crear catálogos con imágenes preparadas en AWS EC2
-
Crea imágenes preparadas y úsalas para crear un catálogo de máquinas MCS mediante:
- Studio
- Comandos de PowerShell
Los pasos clave para crear un catálogo de máquinas MCS con la imagen preparada son:
- Crea la definición de imagen y las versiones iniciales de la imagen.
- Usa la versión de la imagen como imagen preparada para crear un catálogo.
Crear una definición de imagen y una versión inicial de la imagen
Usar Studio
Para crear una definición de imagen y la versión inicial de la imagen, haz lo siguiente:
- En Studio, ve al nodo Imágenes y haz clic en Crear definición de imagen. Haz clic en Siguiente en la página Introducción.
- En la página Definición de imagen, especifica el Tipo de SO y el Tipo de sesión para la definición de imagen.
-
En la página Imagen, selecciona Recursos (solo se muestran los recursos aplicables a la conexión establecida), una imagen maestra para usar como plantilla para crear la versión de la imagen y un perfil de máquina para capturar las propiedades de hardware. Selecciona un perfil de máquina para capturar las propiedades de hardware de una instancia de VM o una versión de plantilla de lanzamiento.
Nota:
- Antes de seleccionar una imagen, verifica que la imagen maestra tenga VDA 2311 o posterior instalado y que el controlador MCSIO esté instalado en el VDA.
- Se admiten tanto el Servicio de metadatos de instancia (IMDS) V1 como V2.
- En la página Especificación de máquina, selecciona un tamaño de máquina. El tamaño de máquina del perfil de máquina (seleccionado en la página Imagen) se selecciona de forma predeterminada.
- En la página NIC, selecciona o agrega NIC para la imagen de preparación. Para cada NIC, selecciona una subred de VPC asociada.
- En la página Descripción de la versión, introduce una descripción para la versión inicial de la imagen creada.
- En la página Resumen, comprueba los detalles de la definición de imagen y la versión inicial de la imagen creada. Introduce un nombre y una descripción para la definición de imagen. Haz clic en Finalizar.
Crear versiones de imagen
Las versiones de imagen permiten la gestión de diferentes iteraciones o actualizaciones de una imagen en particular. Esta funcionalidad te permite mantener varias versiones de una imagen para diferentes propósitos.
Para crear versiones de imagen a partir de la versión inicial de la imagen, haz lo siguiente:
Nota:
La unidad de alojamiento de todas las versiones de imagen debe ser la misma.
- Ve al nodo Imágenes, selecciona una versión de imagen o una definición de imagen y haz clic en Crear versión de imagen.
- En la página Definición de imagen, puedes cambiar la unidad de alojamiento y volver a seleccionar la imagen maestra y el perfil de máquina para esa versión de imagen.
- Si quieres que la configuración de la versión de imagen sea diferente de la versión de imagen configurada inicialmente, configura los ajustes en las páginas Especificación de máquina y NIC del cuadro de diálogo Crear versión de imagen.
- Agrega una descripción para la versión de imagen. Haz clic en Finalizar.
Nota:
Si la creación de la versión de imagen falla por cualquier motivo, la ficha Solucionar problemas en la parte inferior proporciona una opción de Reintentar.
Usar PowerShell
Los comandos detallados de PowerShell para crear una especificación de versión de imagen preparada son los siguientes:
-
Comprueba los nombres de definición de imagen disponibles con el comando
Test-ProvImageDefinitionNameAvailable. Por ejemplo,Test-ProvImageDefinitionNameAvailable -ImageDefinitionName <string[]> <!--NeedCopy--> -
Crea una definición de imagen con el comando
New-ProvImageDefinition. Por ejemplo,New-ProvImageDefinition -ImageDefinitionName image1 -OsType Windows -VdaSessionSupport MultiSession <!--NeedCopy--> -
Crea una nueva configuración para la definición de imagen en la conexión de alojamiento especificada con el comando
Add-ProvImageDefinitionConnection.Add-ProvImageDefinitionConnection -ImageDefinitionName image1 -HypervisorConnectionName test-conn <!--NeedCopy--> -
Crea una versión de imagen con el comando
New-ProvImageVersion. Por ejemplo,New-ProvImageVersion -ImageDefinitionName image1 -Description "version 1" <!--NeedCopy--> -
Agrega una especificación de versión de imagen maestra a la versión de imagen con el comando
Add-ProvImageVersionSpec. Por ejemplo,Add-ProvImageVersionSpec -ImageDefinitionName image1 -ImageVersionNumber 1 -HostingUnitName aws -MasterImagePath "XDHyp:\HostingUnits\aws\win10-2411-ami (ami-00123456789abcdef).template”" <!--NeedCopy-->Nota:
Solo puedes agregar una especificación de versión de imagen maestra a una versión de imagen para una unidad de alojamiento.
-
Crea una especificación de versión de imagen preparada a partir de la especificación de versión de imagen maestra con el comando
New-ProvImageVersionSpec. El parámetroSourceImageVersionSpecUidse deriva del comandoAdd-ProvImageVersionSpec. Por ejemplo,```
- New-ProvImageVersionSpec
- -SourceImageVersionSpecUid 00000000-0000-0000-0000-00000000000
-
-MachineProfile ‘XDHyp:\HostingUnits\aws\w2022-2411 (lt-00123456789abcdef).launchtemplate\lt-00123456789abcdef (1).launchtemplateversion’ -RunAsynchronously
```
Ejemplo del conjunto completo de comandos de Powershell para crear una definición de imagen, una versión de imagen y una especificación de versión de imagen preparada:
New-ProvImageDefinition -ImageDefinitionName image1 -OsType Windows -VdaSessionSupport MultiSession
Add-ProvImageDefinitionConnection -ImageDefinitionName image1 -HypervisorConnectionName aws-CustomProperties $CustomProperties
$imageVersion = New-ProvImageVersion -ImageDefinitionName image1 -Description "version 1"
$SourceImageVersionSpec = Add-ProvImageVersionSpec -ImageVersionUid $imageVersion.ImageVersionUid `
-HostingUnitUid $hostingunit.HostingUnitUid `
-MasterImagePath "XDHyp:\HostingUnits\aws\win10-2411-ami (ami-00123456789abcdef).template”
New-ProvImageVersionSpec -MachineProfile 'XDHyp:\HostingUnits\aws\w2022-2411 (lt-00123456789abcdef).launchtemplate\lt-00123456789abcdef (1).launchtemplateversion' -SourceImageVersionSpecUid $SourceImageVersionSpec.ImageVersionSpecUid
Add-ProvImageVersionSpecHostingUnit -ImageVersionSpecUid 00000000-0000-0000-0000-00000000000-HostingUnitName aws
$PreparedImageVersionSpec = Get-ProvImageVersionSpec -ImageVersionUid $imageVersion.ImageVersionUid | Where SourceImageVersionSpecUid-eq $SourceImageVersionSpec.ImageVersionSpecUid
<!--NeedCopy-->
Nota:
- Todas las especificaciones de versión de imagen en una definición de imagen deben pertenecer a la misma unidad de alojamiento.
- Una versión de imagen solo puede tener una especificación de versión de imagen maestra y una especificación de versión de imagen preparada.
- Todas las especificaciones de versión de imagen deben tener un perfil de máquina.
Compartir imágenes preparadas entre zonas de disponibilidad y regiones
Ahora puedes compartir una única imagen preparada entre diferentes zonas de disponibilidad, vinculadas a diferentes unidades de alojamiento, dentro de la misma región de AWS o en diferentes regiones para tus entornos de AWS EC2. Esto te permite usar una imagen preparada para crear y actualizar catálogos de máquinas MCS en varias zonas de disponibilidad y regiones. Al compartir entre diferentes AZ en diferentes regiones, la versión de la imagen preparada se copiará de la región original a las regiones de destino.
Puedes mantener una única imagen preparada y usarla para crear y actualizar catálogos de máquinas en varias zonas de disponibilidad y regiones vinculadas a diferentes unidades de alojamiento. Esto reduce significativamente la sobrecarga de gestión de imágenes, garantiza la coherencia en las implementaciones y agiliza el proceso de aprovisionamiento. También puedes actualizar sin problemas los catálogos de máquinas existentes con imágenes preparadas de una zona de disponibilidad o región diferente.
Casos de uso
-
Gestión centralizada de imágenes: Creas una imagen preparada en una zona de disponibilidad (por ejemplo,
us-east-1a). Luego puedes compartir esta imagen con otras zonas de disponibilidad comous-east-1bdentro de la misma región de AWSus-east-1ous-west-1aen una regiónus-west-1diferente. Esto permite que una única imagen sirva a varias unidades de alojamiento y simplifica el mantenimiento para ti. -
Creación y actualizaciones eficientes de catálogos: Puedes usar una imagen preparada creada en
AZ 1(por ejemplo,us-east-1a) para crear nuevos catálogos enAZ 1. Después de compartir esta imagen conAZ 2(por ejemplo,us-east-1b), puedes usar la imagen compartida enAZ 2para crear y actualizar catálogos enAZ 2. - Implementaciones entre unidades de alojamiento y conexiones de alojamiento: Si tu entorno tiene varias unidades de alojamiento en la misma región de AWS o en diferentes, puedes compartir eficientemente las imágenes preparadas entre estas unidades de alojamiento.
Limitaciones
- Uso compartido específico de la región: Solo puedes compartir imágenes preparadas entre zonas de disponibilidad dentro de la misma región de AWS. No puedes compartir entre diferentes regiones de AWS o diferentes cuentas de AWS en la implementación actual.
Consideraciones importantes
- Orden de eliminación: Para eliminar una especificación de versión de imagen preparada original, primero debes eliminar todas sus especificaciones de versión de imagen compartidas. Alternativamente, debes eliminar las especificaciones originales y compartidas simultáneamente.
- Dependencia de la versión de la imagen: Cuando quitas una versión de imagen, primero debes quitar cualquier configuración de uso compartido que dependa de esa versión de imagen específica. Los catálogos que creaste a partir de la imagen original (no compartida) pueden permanecer intactos.
- Retrocompatibilidad del catálogo: Puedes actualizar los catálogos de máquinas existentes que implementaste antes de la introducción de esta función. Usa imágenes preparadas que creaste en una zona de disponibilidad o región diferente de donde implementaste originalmente el catálogo.
- Eliminación completa: Cuando eliminas una imagen preparada, ya no puedes usarla en ninguna zona de disponibilidad donde la compartiste o creaste originalmente. Además, una versión de imagen preparada no se puede eliminar hasta que se eliminen primero todos los catálogos vinculados a esa versión de imagen preparada.
Requisitos previos
Antes de configurar o usar esta función, asegúrate de cumplir las siguientes condiciones:
- Tu entorno debe ser un entorno de AWS EC2.
- Debes configurar varias unidades de alojamiento (cada una puede estar vinculada a diferentes zonas de disponibilidad) y conexiones de host (cada una puede estar vinculada a una región diferente) en la misma cuenta de AWS.
Configurar con PowerShell
Actualmente, puedes compartir imágenes preparadas entre zonas de disponibilidad vinculadas a diferentes unidades de alojamiento usando solo comandos de PowerShell.
Para compartir una imagen preparada
- Asegúrate de tener el
ImageVersionSpecUidde la imagen preparada que quieres compartir. Puedes recuperarlo usandoGet-ProvImageVersionSpeco comandosGet-similares en PowerShell. - Determina el
HostingUnitNamede la zona de disponibilidad (puede ser la misma región o una diferente) donde quieres que la imagen preparada esté disponible. Este es el nombre de la unidad de alojamiento que configuraste para esa zona de disponibilidad específica. -
Ejecuta el comando
Add-ProvImageVersionSpecHostingUnit: Usa el siguiente comando de PowerShell. Reemplaza<ImageVersionSpecUid>con el Uid de tu imagen y<targetHostingUnitName>con el nombre de la unidad de alojamiento en la zona de disponibilidad de destino a la que quieres compartir la especificación de la versión de la imagen:Add-ProvImageVersionSpecHostingUnit -ImageVersionSpecUid <ImageVersionSpecUid> -HostingUnitName <targetHostingUnitName> <!--NeedCopy--> - Después de una ejecución correcta, puedes ver el estado de la imagen en la interfaz de usuario de Studio, lo que indica que la compartiste con la unidad de alojamiento especificada.
Para quitar el uso compartido de una imagen preparada
-
- Asegúrate de tener el
ImageVersionSpecUidde la imagen preparada de la que quieres quitar el uso compartido.
- Asegúrate de tener el
- Determina el
HostingUnitNamede la zona de disponibilidad de la que quieres quitar la imagen compartida. -
Ejecuta el comando
Remove-ProvImageVersionSpecHostingUnit: Usa el siguiente comando de PowerShell. Reemplaza<ImageVersionSpecUid>con el Uid de tu imagen y<targetHostingUnitName>con el nombre de la unidad de alojamiento en la zona de disponibilidad de destino de la que quieres quitar el uso compartido de la especificación de la versión de la imagen:Remove-ProvImageVersionSpecHostingUnit -ImageVersionSpecUid <ImageVersionSpecUid> -HostingUnitName <targetHostingUnitName> <!--NeedCopy-->
Crear un catálogo de máquinas
Usar Studio
Crear un catálogo de máquinas desde el nodo Imágenes
Usa la opción Crear catálogo en el nodo Imágenes para crear un catálogo usando la versión de la imagen.
Alternativamente, puedes seleccionar la versión al crear un catálogo en el nodo Catálogos de máquinas, vinculando a la opción de imagen preparada en el flujo de trabajo de creación de catálogos. Consulta Crear un catálogo de máquinas desde el nodo Catálogos de máquinas.
Para crear un catálogo de máquinas MCS desde el nodo Imágenes, haz lo siguiente:
- Selecciona una versión de imagen y haz clic en Crear catálogo. Haz clic en Siguiente en la página Introducción.
- En las páginas Administración de máquinas e Imagen, la configuración está preseleccionada según la versión de imagen seleccionada. En la página Imagen, introduce una nota para la imagen preparada seleccionada.
- Completa la configuración en las páginas siguientes.
- En la página Resumen, comprueba los detalles del catálogo de máquinas. Introduce un nombre y una descripción para el catálogo de máquinas. Haz clic en Finalizar.
- Ve al nodo Catálogos de máquinas para ver el catálogo de máquinas creado.
Crear un catálogo de máquinas desde el nodo Catálogos de máquinas
Para crear un catálogo de máquinas MCS desde el nodo Catálogos de máquinas, haz lo siguiente:
- Haz clic en Catálogos de máquinas en el panel de navegación izquierdo.
- Haz clic en Crear catálogo de máquinas. Aparece la página Configuración del catálogo de máquinas.
- En la página Tipo de máquina, selecciona un tipo de máquina para el catálogo, por ejemplo, SO multisesión.
-
En la página Administración de máquinas, selecciona la siguiente configuración:
- Selecciona Máquinas con administración de energía (por ejemplo, máquinas virtuales o PC blade).
- Selecciona Tecnología de aprovisionamiento de Citrix. Luego, selecciona Citrix Machine Creation Services™.
- En el campo Recursos, selecciona los recursos (Zona de disponibilidad) que configuraste al crear la conexión de host y haz clic en Siguiente.
- En la página Experiencia de escritorio, selecciona un escritorio aleatorio o estático que quieres que los usuarios tengan cuando inicien sesión. Si se selecciona un escritorio estático, especifica además si quieres guardar los cambios que el usuario realice en el disco local (persistente o no persistente).
-
En la página Imagen, haz clic en Seleccionar una imagen para seleccionar una imagen preparada para el catálogo de máquinas. Selecciona la versión preparada que creaste. Haz clic en el nombre de la versión de la imagen. Para ver más detalles sobre la versión de imagen seleccionada, haz clic en el número de versión, que está subrayado. Haz clic en Listo.
Aparece el perfil de máquina asociado a la imagen preparada y sus propiedades de hardware (por ejemplo, tipo de instancia, tipo de tenencia, asignaciones de red, grupos de seguridad, propiedades de volumen) se usan para crear máquinas en los catálogos. Para cambiar el origen del perfil de máquina a otra VM o versión de plantilla de lanzamiento, haz clic en el botón de edición.
-
En la página Máquinas virtuales:
- Introduce el número de VM para el catálogo.
- Se muestra la especificación de máquina predeterminada, que se basa en el perfil de máquina. Para cambiarla, selecciona el icono de edición y selecciona una especificación de máquina.
- En la página NICs, selecciona las NICs (o ENIs) para las VM.
- En la página Identidades de máquina, configura Active Directory local o Microsoft Entra híbrido para las máquinas del catálogo seleccionando el dominio y creando nuevas cuentas de AD para las VM que se crearán en este catálogo de máquinas. Las VM aprovisionadas se unen al dominio seleccionado. Especifica el esquema de nombres de cuenta para las nuevas cuentas de AD que se crearán para las VM. Haz clic en Siguiente.
- En la página Credenciales de dominio, haz clic en Introducir credenciales para proporcionar las credenciales del dominio seleccionado. Introduce el nombre de usuario y la contraseña de nivel de administrador cuando se te solicite. También puedes usar una cuenta de servicio si ya guardaste credenciales de dominio anteriormente siguiendo nuestra documentación del producto.
- Haz clic en las páginas restantes hasta llegar a la página Resumen. Introduce un nombre para el catálogo de máquinas y selecciona Finalizar para crear el catálogo de máquinas.
Usar PowerShell
Crear un catálogo usando una especificación de versión de imagen preparada y un perfil de máquina
-
Crea un catálogo de máquinas MCS no persistente a partir de la especificación de versión de imagen preparada usando el comando
New-ProvScheme. Por ejemplo,New-ProvScheme -ProvisioningSchemeName <string> -ImageVersionSpecUid <Guid> -HostingUnitUid <Guid> -IdentityPoolUid <Guid> [-CleanOnBoot $true] [-MachineProfile <string>] [-ProvisioningSchemeType “MCS”] <!--NeedCopy--> -
Crea un catálogo de máquinas MCS persistente a partir de la especificación de versión de imagen preparada usando el comando
New-ProvScheme. Por ejemplo,New-ProvScheme -ProvisioningSchemeName <string> -ImageVersionSpecUid <Guid> -HostingUnitUid <Guid> -IdentityPoolUid <Guid> [-CleanOnBoot $false] [-MachineProfile <string>] [-ProvisioningSchemeType “MCS”] <!--NeedCopy-->
Ejemplo del conjunto completo de comandos de PowerShell para crear un catálogo:
$Catalog = New-BrokerCatalog -AllocationType "Random" -IsRemotePC $False -MinimumFunctionalLevel "L7_20" -Name "awscatalog" -PersistUserChanges "Discard" -ProvisioningType "MCS" -Scope @() -SessionSupport "MultiSession"
$IdentityPool = New-AcctIdentityPool -AllowUnicode -Domain "domainname" -IdentityPoolName "awscatalog" -IdentityType "ActiveDirectory" -NamingScheme "aws##" -NamingSchemeType "Numeric" -Scope @()
$PreparedImageVersionSpec = Get-ProvImageVersionSpec -ImageDefinitionName image1 -ImageVersionNumber 1 -Filter "PreparationType -eq 'Mcs'"
$Task = New-ProvScheme -ProvisioningSchemeName awscatalog -ImageVersionSpecUid $PreparedImageVersionSpec.ImageVersionSpecUid -HostingUnitName aws -IdentityPoolName awscatalog -CleanOnBoot -Scope @() -SecurityGroup @() -MachineProfile 'XdHyp:\HostingUnits\cvad-test-scalestress\us-east-1a.availabilityzone\machine-profile-instance i (i-0xxxxxxxx).vm' -RunAsynchronously
Get-ProvTask -TaskId $Task.TaskId
$ProvScheme = Get-ProvScheme -ProvisioningSchemeName awscatalog
Set-BrokerCatalog -Name $Catalog.Name -ProvisioningSchemeId $ProvScheme.ProvisioningSchemeUid
<!--NeedCopy-->