Citrix DaaS™

Crear un catálogo de máquinas con imagen preparada 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 usando la imagen preparada son:

  1. Crea la definición de imagen y las versiones iniciales de la imagen.
  2. 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:

  1. Desde 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.
  2. 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.
  3. En la página Imagen, selecciona Recursos (solo se enumeran los recursos aplicables para 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 propiedades de hardware. Selecciona un perfil de máquina para capturar propiedades de hardware de una instancia de VM o de 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.
    • Los servicios de metadatos de instancia (IMDS) V1 y V2 son compatibles.
  4. 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.
  5. En la página NICs, selecciona o agrega NICs para la imagen de preparación. Para cada NIC, selecciona una subred de VPC asociada.
  6. En la página Descripción de la versión, introduce una descripción para la versión inicial de la imagen creada.
  7. 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.

  1. 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.
  2. 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.
  3. 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 NICs del cuadro de diálogo Crear versión de imagen.
  4. 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 Reintentar.

Usar PowerShell

Los comandos detallados de PowerShell para crear una especificación de versión de imagen preparada son los siguientes:

  1. Comprueba los nombres de definición de imagen disponibles usando el comando Test-ProvImageDefinitionNameAvailable. Por ejemplo,

    Test-ProvImageDefinitionNameAvailable -ImageDefinitionName <string[]>
    <!--NeedCopy-->
    
  2. Crea una definición de imagen usando el comando New-ProvImageDefinition. Por ejemplo,

    New-ProvImageDefinition -ImageDefinitionName image1 -OsType Windows -VdaSessionSupport MultiSession
    <!--NeedCopy-->
    
  3. Crea una nueva configuración para la definición de imagen en la conexión de alojamiento especificada usando el comando Add-ProvImageDefinitionConnection.

    Add-ProvImageDefinitionConnection -ImageDefinitionName image1 -HypervisorConnectionName test-conn
    <!--NeedCopy-->
    
  4. Crea una versión de imagen usando el comando New-ProvImageVersion. Por ejemplo,

    New-ProvImageVersion -ImageDefinitionName image1 -Description "version 1"
    <!--NeedCopy-->
    
  5. Agrega una especificación de versión de imagen maestra a la versión de imagen usando 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.

  6. Crea una especificación de versión de imagen preparada a partir de la especificación de versión de imagen maestra usando el comando New-ProvImageVersionSpec. El parámetro SourceImageVersionSpecUid se deriva del comando Add-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
    <!--NeedCopy-->
    

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

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 para tu AWS EC2. Esto te permite usar una imagen preparada para crear y actualizar catálogos de máquinas MCS en varias zonas de disponibilidad.

Puedes mantener una única imagen preparada y usarla para crear y actualizar catálogos de máquinas en varias zonas de disponibilidad 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 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 como us-east-1b o us-east-1c dentro de la misma región de AWS us-east-1. Esto permite que una sola imagen sirva a varias unidades de alojamiento y simplifica el mantenimiento para ti.
  • Creación y actualización eficientes de catálogos: Puedes usar una imagen preparada creada en AZ 1 (por ejemplo, us-east-1a) para crear nuevos catálogos en AZ 1. Después de compartir esta imagen con AZ 2 (por ejemplo, us-east-1b), puedes usar la imagen compartida en AZ 2 para crear y actualizar catálogos en AZ 2.
  • Implementación entre unidades de alojamiento: Si tu entorno tiene varias unidades de alojamiento bajo la misma región y cuenta de AWS, puedes compartir eficientemente 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 diferente de donde implementaste el catálogo originalmente.
  • Eliminación completa: Cuando eliminas una imagen preparada, ya no puedes usarla en ninguna zona de disponibilidad donde la compartiste o la 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 AWS EC2.
  • Debes configurar varias unidades de alojamiento (cada una puede estar vinculada a diferentes zonas de disponibilidad) dentro de la misma región de AWS y bajo la misma cuenta de AWS.
  • Configura los permisos de IAM como se detalla en la sección Permisos de IAM para garantizar el uso compartido en la misma cuenta de AWS.

Permisos de IAM

Para obtener el ID de cuenta de la conexión actual y garantizar el uso compartido en la misma cuenta de AWS, tu cuenta de AWS debe incluir los siguientes permisos de IAM:

{  
   `"Effect": "Allow",`  
    `"Action": "iam:GetAccountSummary",`  
    `"Resource": "*"`  
}
<!--NeedCopy-->

Configurar mediante 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

  1. Asegúrate de tener el ImageVersionSpecUid de la imagen preparada que quieres compartir. Puedes recuperarlo usando Get-ProvImageVersionSpec o comandos Get- similares en PowerShell.
  2. Determina el HostingUnitName de la zona de disponibilidad 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.
  3. 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 versión de imagen:

    Add-ProvImageVersionSpecHostingUnit -ImageVersionSpecUid <ImageVersionSpecUid> -HostingUnitName <targetHostingUnitName>
    <!--NeedCopy-->
    
  4. Después de una ejecución exitosa, 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

  1. Asegúrate de tener el ImageVersionSpecUid de la imagen preparada de la que quieres quitar el uso compartido.
  2. Determina el HostingUnitName de la zona de disponibilidad de la que quieres quitar la imagen compartida.
  3. 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 versión de 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 del catálogo. 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:

  1. Selecciona una versión de imagen y haz clic en Crear catálogo. Haz clic en Siguiente en la página Introducción.
  2. 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.
  3. Completa la configuración en las páginas siguientes.
  4. En la página Resumen, verifica 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.
  5. 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:

  1. Haz clic en Catálogos de máquinas en el panel de navegación izquierdo.
  2. Haz clic en Crear catálogo de máquinas. Aparece la página Configuración del catálogo de máquinas.
  3. En la página Tipo de máquina, selecciona un tipo de máquina para el catálogo, por ejemplo, SO multisesión.
  4. En la página Administración de máquinas, selecciona la siguiente configuración:

    1. Selecciona Máquinas con administración de energía (por ejemplo, máquinas virtuales o PC blade).
    2. Selecciona Tecnología de aprovisionamiento de Citrix. Luego, selecciona Citrix Machine Creation Services™.
    3. En el campo Recursos, selecciona los recursos (Zona de disponibilidad) que configuraste al crear la conexión de host y haz clic en Siguiente.
  5. En la página Experiencia de escritorio, selecciona si quieres que los usuarios tengan un escritorio aleatorio o estático 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).
  6. 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.

  7. En la página Máquinas virtuales:

    1. Introduce el número de VM para el catálogo.
    2. 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.
  8. En la página NIC, selecciona las NIC (o ENI) para las VM.
  9. En la página Identidades de máquina, configura Active Directory local o Microsoft Entra híbrido unido 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.
  10. 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.
  11. Haz clic en las páginas restantes hasta 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-->

Siguientes pasos

Más información

Crear un catálogo de máquinas con imagen preparada en AWS EC2