Citrix DaaS

Migrar cargas de trabajo entre ubicaciones de recursos mediante Image Portability Service

Image Portability Service simplifica la administración de imágenes en distintas plataformas. Las API de REST de Citrix Virtual Apps and Desktops sirven para automatizar la administración de recursos en un sitio de Citrix Virtual Apps and Desktops.

El flujo de trabajo de Image Portability comienza cuando usa Citrix Cloud para iniciar la migración de una imagen entre dos ubicaciones de recursos. Tras exportar la imagen, Image Portability Service le ayuda a transferir y preparar la imagen para que se ejecute en el hipervisor o la nube pública de destino. Por último, Citrix Provisioning o Machine Creation Services aprovisionan la imagen en el entorno de destino.

Componentes

Los componentes de Image Portability Service incluyen:

  • Servicios de Citrix Cloud
  • Citrix Credential Wallet
  • Dispositivo Citrix Connector
  • Máquina virtual de Compositing Engine
  • Scripts de ejemplo de PowerShell

Servicios de Citrix Cloud

La API de Citrix Cloud Services es un servicio de API de REST que interactúa con Image Portability Service. Con el servicio de API de REST, puede crear y supervisar trabajos de Image Portability. Por ejemplo, puede hacer una llamada a la API para iniciar un trabajo de Image Portability, como exportar un disco, y luego realizar llamadas para obtener el estado del trabajo.

Citrix Credential Wallet

El servicio Citrix Credential Wallet administra de forma segura las credenciales del sistema, lo que permite que Image Portability Service interactúe con sus activos. Por ejemplo, al exportar un disco de vSphere a un recurso compartido de SMB, Image Portability Service requiere credenciales para abrir una conexión con el recurso compartido de SMB para escribir en el disco. Si las credenciales se almacenan en Credential Wallet, Image Portability Service puede recuperar y usar esas credenciales.

Este servicio le ofrece la posibilidad de administrar completamente sus credenciales. La API de Cloud Services sirve de punto de acceso, lo que le permite crear, actualizar y eliminar credenciales.

Compositing Engine

Compositing Engine es el caballo de tiro de Image Portability Service. Compositing Engine (CE) es una virtual única que se crea al comienzo de un trabajo de exportación o preparación de Image Portability. Estas máquinas virtuales se crean en el mismo entorno en el que tiene lugar el trabajo. Por ejemplo, al exportar un disco desde vSphere, CE se crea en el servidor vSphere. Del mismo modo, cuando se ejecuta un trabajo de preparación en Azure, AWS o Google Cloud, CE se crea en Azure, AWS o Google, respectivamente. CE monta el disco en sí mismo y, a continuación, hace las manipulaciones necesarias. Al finalizar el trabajo de preparación o exportación, se eliminan la máquina virtual de CE y todos sus componentes.

Connector Appliance

El Connector Appliance, que ejecuta software de proveedor para administrar los recursos de IPS, se ejecuta en su entorno (tanto local como en la suscripción de Azure, AWS o Google Cloud) y actúa como controlador para trabajos individuales. Así, recibe instrucciones de trabajo del servicio en la nube y crea y administra las máquinas virtuales de Compositing Engine. La máquina virtual del Connector Appliance actúa como un punto de comunicación único y seguro entre los servicios en la nube y sus entornos. Implemente uno o más Connector Appliances en cada una de sus ubicaciones de recursos (locales, Azure, AWS o Google Cloud). Se implementa un Connector Appliance en cada ubicación de recursos por motivos de seguridad. Al ubicar conjuntamente el Connector Appliance y Compositing Engine, mejora en gran medida la estrategia de seguridad de la implementación, ya que todos los componentes y las comunicaciones se mantienen dentro de su ubicación de recursos.

Módulos de PowerShell

Proporcionamos una colección de módulos de PowerShell para su uso en scripts como punto de partida para que desarrolle su propia automatización personalizada. Los módulos suministrados se admiten tal cual, pero puede modificarlos si es necesario para su implementación.

La automatización de PowerShell utiliza los parámetros de configuración suministrados para crear una llamada REST al servicio de API de Citrix Cloud con el fin de iniciar el trabajo y, a continuación, proporcionarle actualizaciones periódicas a medida que este avanza.

Si prefiere desarrollar su propia solución de automatización, puede realizar llamadas al servicio en la nube directamente mediante su lenguaje de programación preferido. Consulte el portal de API para obtener información detallada sobre la configuración y el uso de los dispositivos de punto final de REST y los módulos de PowerShell de Image Portability Service.

Flujos de trabajo

Image Portability Service utiliza un flujo de trabajo de varias fases para preparar una imagen de catálogo maestra a partir de una ubicación de recursos local para su suscripción a la nube pública. El servicio exporta la imagen desde la plataforma de hipervisor local y usted la carga en su suscripción en la nube pública (nuestra utilidad de carga de PowerShell proporcionada puede ayudar a automatizar esta tarea). A continuación, Image Portability prepara la imagen para hacerla compatible con su plataforma de nube pública. Por último, la imagen se publica y está lista para implementarse como un nuevo catálogo de máquinas dentro de su ubicación de recursos en la nube.

Flujo de trabajo de Image Portability

Estos flujos de trabajo de alto nivel se basan en la configuración de aprovisionamiento de origen y destino de la imagen (Machine Creation o Citrix Provisioning). El flujo de trabajo elegido determina qué pasos de la tarea de Image Portability son necesarios.

Consulte la siguiente tabla para comprender qué tareas se requieren para cada uno de los flujos de trabajo de IPS admitidos.

Flujo de trabajo (de origen a destino) Exportar Cargar Preparar Publicar
MCS a MCS S S S N
PVS a MCS* N S S N
PVS a PVS en Azure/Google Cloud* N S S S
MCS a PVS en Azure/Google Cloud S S S S

*Se supone que tiene la imagen original como un disco virtual de Citrix Provisioning y no necesita exportarla directamente desde el hipervisor de la plataforma de origen.

Requisitos

Para empezar a trabajar con Image Portability, debe cumplir con los siguientes requisitos.

Una imagen del catálogo de máquinas de Citrix

IPS requiere el uso de imágenes que tengan una de las siguientes configuraciones probadas:

  • Windows Server 2016, 2019 y 2022H2

  • Windows 10 u 11

  • Aprovisionamiento mediante Machine Creation Services o Citrix Provisioning

  • Citrix Virtual Apps and Desktops VDA versión 1912CU6, 1912CU7, 2203CU1, 2203CU2, 2212, 2303 o 2305

  • Servicios de escritorio remoto habilitados para el acceso a la consola en Azure

Image Portability Service admite los siguientes hipervisores y plataformas en la nube:

Plataformas de origen:

  • VMware vSphere 7.0 y 8.0

  • XenServer/XenServer 8.2

  • Nutanix Prism Element 3.x

  • Microsoft Azure

  • Google Cloud Platform

Plataformas de destino:

  • VMware vSphere 8.0

  • Microsoft Azure

  • AWS

  • Google Cloud Platform

Un dispositivo Citrix Connector

Necesita un dispositivo Citrix Connector instalado y configurado en cada ubicación de recursos donde tenga pensado usar Image Portability. Por ejemplo, si usa portabilidad de imágenes para mover una imagen de vSphere a Azure, AWS y Google Cloud, necesita al menos cuatro dispositivos Citrix Connector:

Consulte Implementar Connector Appliances para obtener instrucciones detalladas.

Un recurso compartido de archivos de SMB (Windows)

Necesita un recurso compartido de archivos de SMB de Windows para el almacenamiento temporal de datos durante los trabajos de exportación alojados en la ubicación de recursos local en la que utiliza Image Portability Service. Asegúrese de que el espacio libre disponible en el recurso compartido es al menos el doble del tamaño configurado del sistema de archivos de la imagen.

Una máquina para ejecutar scripts de PowerShell

Compruebe que la máquina donde se ejecutan los scripts de PowerShell tiene lo siguiente:

  • PowerShell versión 5.1.

  • Una conexión de red rápida al recurso compartido de archivos de SMB. Puede ser la misma máquina que aloja el recurso compartido de archivos.

  • Una conexión de red rápida a las plataformas de nube pública en las que tiene pensado usar la funcionalidad Image Portability. Por ejemplo, Azure, AWS o Google Cloud.

    Consulte la sección Preparar una máquina para PowerShell para obtener más información sobre cómo descargar y configurar los módulos de Image Portability desde la Galería de PowerShell.

Su ID de cliente de Citrix Cloud

Asegúrese de tener una suscripción válida a Citrix DaaS.

Para continuar, necesita acceso a Citrix DaaS (antes denominado Citrix Virtual Apps and Desktops Service). Si no tiene acceso, póngase en contacto con su representante de Citrix.

Consulte la documentación de API Getting Started para obtener instrucciones sobre cómo crear y configurar un cliente de API para uso con portabilidad de imágenes.

Configuración y permisos requeridos de Azure

Para que Image Portability Service realice acciones en su recurso de Azure, debe otorgar permisos para ciertas capacidades de Azure a la entidad de servicio de Azure que utiliza Image Portability Service. Para obtener una lista detallada, consulte Permisos requeridos de Microsoft Azure.

Puede asignar el rol Colaborador a la entidad de servicio del recurso asociado. Si no, para asignar los permisos mínimos requeridos, puede crear roles personalizados con los permisos necesarios y asignarlos a la entidad principal del servicio limitada los recursos adecuados.

Consulte la documentación de Azure sobre cómo configurar los roles de seguridad para la entidad de servicio de Azure y cómo crear roles personalizados.

Configuración y permisos requeridos de Google Cloud

Para que Image Portability Service realice acciones en su proyecto de Google Cloud, debe otorgar permisos para ciertas capacidades a la entidad de servicio de Google Cloud que utiliza Image Portability Service.

Para obtener una lista detallada, consulte Permisos requeridos de Google Cloud.

Puede asignar estos permisos mediante los siguientes roles:

  • Editor de compilaciones en la nube
  • Administrador de procesos
  • Administrador de almacenamiento
  • Usuario de cuenta de servicio

Para obtener más información sobre cómo configurar los permisos de las cuentas de servicio, consulte la documentación de Google Cloud.

Amazon Web Services requiere permisos y configuración

Para realizar flujos de trabajo de Image Portability Service con una cuenta de Amazon Web Services (AWS), la identidad de Administración de acceso e identidad (IAM) correspondiente debe tener los permisos correctos.

Para obtener la lista detallada, consulte Permisos necesarios de AWS.

Configurar Image Portability Service

Para configurar Image Portability Service, debe hacer lo siguiente:

Implementar Connector Appliances

Image Portability Service requiere dispositivos Citrix Connector para crear trabajos. Los Connector Appliances ayudan a proteger las interacciones con sus entornos locales y de nube pública. Los Connector Appliances se comunican de nuevo con Image Portability Service para informar sobre el estado del trabajo y el estado general del servicio.

Para implementar y configurar Connector Appliances en su entorno, siga los pasos que se indican en Connector Appliance para Cloud Services.

Tenga en cuenta la configuración de hardware y el acceso al puerto de red requeridos para el dispositivo cuando planifique la implementación.

Al implementar y registrar el dispositivo, los componentes necesarios para habilitar Image Portability se instalan automáticamente.

Preparar una máquina para PowerShell

Para ayudarle a ponerse en marcha con Image Portability, hemos creado módulos de PowerShell que puede personalizar y usar con el servicio.

En las siguientes secciones, se describe cómo preparar una máquina para ejecutar los scripts de PowerShell. Estos scripts son solo algunos ejemplos. Modifíquelos para que se adapten a sus necesidades.

Nota:

Después de la instalación inicial, use Update-Module para actualizar el módulo de PowerShell.

Requisitos de PowerShell

Para usar los scripts de PowerShell, necesita lo siguiente:

  • Una máquina Windows para ejecutar los scripts de PowerShell que procesan los trabajos de portabilidad de imágenes. La máquina:

    • Cuenta con la versión más reciente de PowerShell.

    • Tiene una conexión de red de 10 Gbs o más al recurso compartido de archivos SMB local y una conexión rápida a la nube pública (por ejemplo, Azure, AWS o Google Cloud).

    • Puede ser la misma máquina que aloja el recurso compartido de archivos.

    • Es una máquina que ejecuta Windows 10, Windows Server 2019 o Windows Server 2022, con los últimos parches de Microsoft.

    • Se puede conectar a la Galería de Microsoft PowerShell para descargar las bibliotecas de PowerShell necesarias.

Según la versión de Windows, es posible que deba inhabilitar la compatibilidad con TLS 1.0/1.1. Para obtener más información, consulte la documentación sobre compatibilidad con TLS de la Galería de Microsoft PowerShell.

De forma predeterminada, PowerShell no se autentica automáticamente a través de un servidor proxy. Asegúrese de haber configurado la sesión de PowerShell para que use su servidor proxy, según las prácticas recomendadas de Microsoft y de su proveedor de proxy.

Si observa errores al ejecutar los scripts de PowerShell relacionados con una versión antigua o ausente de PowerShellGet, deberá instalar la versión más reciente de la siguiente manera:

Install-Module -Name PowerShellGet -Force -Scope CurrentUser -AllowClobber
<!--NeedCopy-->

Instalar bibliotecas y módulos

Image Portability Service utiliza bibliotecas de la Galería de Microsoft PowerShell para procesar las operaciones de portabilidad.

Importante:

Después de la instalación inicial, use Update-Module para instalar nuevas versiones.

  1. Ejecute el siguiente comando de PowerShell para descargar los módulos más recientes:

    Install-Module -Name "Citrix.Workloads.Portability","Citrix.Image.Uploader" -Scope CurrentUser
    <!--NeedCopy-->
    
    • Para cambiar la variable de entorno PATH:

      Pulse Y e Intro para aceptar.

    • Para instalar el proveedor de NuGet:

      Pulse Y e Intro para aceptar.

    • Si se informa sobre un repositorio que no es de confianza:

      Pulse A (Sí a Todo) e Intro para continuar.

  2. Ejecute el siguiente comando para confirmar que se descargaron todos los módulos necesarios:

    Get-InstalledModule -Name Citrix.*
    <!--NeedCopy-->
    

    Este comando devuelve un resultado similar al siguiente:

    Nombre Repositorio Descripción
    Citrix.Image.Uploader PSGallery Comandos para cargar un VHD(x) en una cuenta de almacenamiento de Azure, AWS o GCP y obtener información sobre un VHD(x)
    Citrix.Workloads.Portability PSGallery Cmdlet independiente para el trabajo de imagen de Citrix Image Portability Service

Actualizar los módulos a la última versión

Ejecute el siguiente comando para actualizar el script a la última versión.

Update-Module -Name "Citrix.Workloads.Portability","Citrix.Image.Uploader" -Force
<!--NeedCopy-->

Instalar el SDK de PowerShell remoto de Citrix Virtual Apps and Desktops

Image Portability Service requiere el SDK de PowerShell remoto de Citrix Virtual Apps and Desktops para crear y administrar trabajos de portabilidad en Citrix Cloud.

Descargue e instale el SDK de PowerShell remoto en su máquina.

Instalar componentes de terceros específicos de la plataforma

El módulo PowerShell de Image Portability Service no instala dependencias de terceros. Por lo tanto, puede limitar la instalación solo a las plataformas a las que se dirige. Si utiliza una de las siguientes plataformas, siga las instrucciones correspondientes para la instalación de las dependencias de la plataforma:

VMware

Si va a crear trabajos de Image Portability que se comuniquen con su entorno de VMware, ejecute el siguiente comando para instalar los módulos de PowerShell necesarios para VMware.

Install-Module -Name VMWare.PowerCLI -Scope CurrentUser -AllowClobber -Force -SkipPublisherCheck
<!--NeedCopy-->
Amazon Web Services

Si piensa crear trabajos de portabilidad de imágenes en AWS, descargue e instale la interfaz de línea de comandos de AWS y, a continuación, ejecute estos comandos para instalar los módulos de PowerShell para AWS necesarios:

Install-Module -Name AWS.Tools.Installer
Install-AWSToolsModule AWS.Tools.EC2,AWS.Tools.S3
<!--NeedCopy-->
Azure

Si va a crear trabajos de Image Portability en Azure, descargue e instale las utilidades de línea de comandos de Azure y, a continuación, ejecute estos comandos para instalar los módulos de PowerShell necesarios para Azure:

Install-Module -Name Az.Accounts -Scope CurrentUser -AllowClobber -Force
Install-Module -Name Az.Compute -Scope CurrentUser -AllowClobber -Force
<!--NeedCopy-->
Google Cloud

Si va a crear trabajos de Image Portability en Google Cloud, descargue e instale el SDK de Google Cloud en su máquina.

Desinstalar scripts y módulos

Ejecute los siguientes comandos para desinstalar los módulos que utiliza el software Image Portability.

Nota:

Los scripts y componentes de terceros no se eliminan automáticamente al desinstalar módulos IPS.

Para desinstalar módulos:

Get-InstalledModule -Name "Citrix.Workloads.Portability","Citrix.Images.Uploader" | Uninstall-Module
<!--NeedCopy-->

Agregar credenciales a Credential Wallet

Para casos de automatización de extremo a extremo, puede configurar Image Portability Service de manera que se autentique de forma no interactiva con los recursos locales, de su nube pública y de Citrix Cloud. Además, Image Portability Service utiliza credenciales almacenadas en Citrix Credential Wallet cada vez que nuestras API se autentican directamente con sus recursos locales y en la nube pública. Establecer credenciales como se describe en esta sección es un paso obligatorio para ejecutar trabajos de exportación, preparación y publicación.

Al ejecutar trabajos, Image Portability Service requiere acceso a recursos que usted puede controlar. Por ejemplo, para que Image Portability Service exporte un disco desde un servidor de vSphere a un recurso compartido de SMB, el servicio necesita acceso de inicio de sesión a ambos sistemas. Para proteger esta información de cuenta, Image Portability Service utiliza el servicio Citrix Credential Wallet. Este servicio almacena sus credenciales en Wallet con un nombre definido por el usuario. Cuando quiera ejecutar un trabajo, proporcione el nombre de la credencial que se va a usar. Además, estas credenciales se pueden actualizar o eliminar de la cartera en cualquier momento.

A menudo, se almacenan credenciales para estas plataformas:

  • Microsoft Azure
  • AWS
  • Google Cloud
  • Recurso compartido de SMB
  • VMware vSphere
  • Nutanix AHV
  • XenServer

Para administrar credenciales, consulte la sección Administración de credenciales y API de Image Portability Service del Portal de API para desarrolladores.

Usar Image Portability Service

La preparación de imágenes en las ubicaciones de recursos locales en su suscripción a la nube pública requiere crear los trabajos de Image Portability en Citrix Cloud. Puede crear un trabajo para realizar llamadas de API directas al servicio dentro de su script o programa o con los módulos de PowerShell de ejemplo que hemos desarrollado para automatizar las llamadas de API. Consulte el Portal de API para desarrolladores de Image Portability Service para obtener información sobre el uso de API de REST y módulos de PowerShell para crear trabajos de IPS.

Publicar catálogos de máquinas con Citrix Provisioning

Image Portability Service (IPS) se usa con Machine Creation Services (MCS) en Azure, AWS y Google Cloud, o con Citrix Provisioning (PVS) en Azure o Google Cloud. Puede combinar las soluciones de PowerShell y REST que se describen en esta guía con las herramientas de su plataforma, las API de su plataforma o los SDK de Citrix DaaS para crear un flujo de trabajo integral y automatizado para crear un catálogo de máquinas basado en la imagen preparada. Según la plataforma de la nube que elija, es posible que se requieran pasos intermedios entre la finalización de un trabajo de preparación de IPS y la creación de un catálogo o una tarea para un destino de PVS.

AWS

Los trabajos de preparación de IPS en AWS producen un volumen. Machine Creation Services requiere una imagen de máquina de Amazon (AMI) durante la creación del catálogo. Para generar una AMI a partir de la imagen migrada, primero debe crear una instantánea de imagen a partir del volumen resultante y, a continuación, crear una AMI basada en esa instantánea. Esto se puede hacer con la interfaz de línea de comandos (CLI) de AWS:

> aws ec2 create-snapshot --volume-id <VolumeId>
> aws ec2 register-image --name <AmiName> --architecture 'x86_64' --root-device-name '/dev/sda1 --boot-mode uefi --ena-support --virtualization-type 'hvm' --block-device-mappings 'DeviceName=/dev/sda1,Ebs={SnapshotId=<SnapshotID>}'
<!--NeedCopy-->

<VolumeId> es el resultado del trabajo de preparación de IPS. La AMI resultante se puede utilizar como imagen maestra de MCS.

En el módulo Citrix.Workloads.Portability se proporciona un script de ejemplo de PowerShell para automatizar esta parte del flujo de trabajo como un script denominado New-IpsAwsImage.ps1.

Azure

En Azure, IPS produce discos administrados que se pueden utilizar directamente como imágenes maestras de MCS. Para asignar la imagen resultante a los destinos de PVS, IPS proporciona una operación “publish” para copiar el disco administrado en un archivo VHD(x) de su almacén de PVS.

Google Cloud

Los trabajos de preparación de IPS en Google Cloud producen un disco. MCS requiere una plantilla de instancias de Google Cloud. El proceso para crear una plantilla de instancias de MCS a partir de un disco se describe en detalle en Preparar la instancia de una VM maestra y un disco persistente.

Para los destinos de PVS en Google Cloud, IPS proporciona una operación “publish” para copiar el disco en un archivo VHD(x) de su almacén de PVS.

Automatizar la configuración de VDA

Al preparar una imagen administrada por Citrix originada localmente, puede reconfigurar el VDA dentro de la imagen para que admita el entorno de destino para el que se prepara la imagen. Image Portability Service puede aplicar cambios de configuración de VDA sobre la marcha durante la fase de preparación del flujo de trabajo. Los siguientes parámetros de configuración definen el funcionamiento del VDA en la imagen migrada: InstallMisa, XdReconfigure e InstallMcsio. Consulte los ejemplos de PowerShell de Image Portability Service para definir estos parámetros al crear trabajos de IPS.

Configuraciones

  • Si se configura InstallMisa en true, Image Portability Service puede instalar cualquier componente del VDA que falte y que sea necesario para aprovisionar la imagen mediante MCS.

  • Si se configura InstallMisa en true o InstallMcsio en true también es necesario configurar CloudProvisioningType en Mcs.

  • Establezca InstallPvs en la versión del servidor PVS en la que se está implementando la imagen. Al establecer InstallPvs, Image Portability Service (IPS) instala automáticamente la versión especificada del software del dispositivo de destino PVS en la imagen durante los trabajos de preparación. IPS admite las dos compilaciones más recientes (versión base o actualizaciones acumulativas) para las dos últimas versiones Long Term Service Releases (LTSR) y Current Release (CR).

Si se configura InstallPvs, también es necesario establecer CloudProvisioningType en Pvs.

Tanto para InstallMisa como para InstallMcsio, tenga en cuenta lo siguiente:

  • Estas funciones solo se admiten en las versiones LTSR y CR recientes del VDA.

  • Si los componentes necesarios ya están presentes para el VDA instalado, no tienen lugar cambios, incluso si los parámetros están configurados.

  • Para las versiones compatibles del VDA, Image Portability instala la versión adecuada de los componentes requeridos, incluso si los componentes necesarios del VDA no están presentes.

  • Para las versiones no compatibles del VDA, se produce un error en la reconfiguración y se registra un mensaje si los componentes necesarios del VDA no están presentes. El trabajo de preparación se completa incluso si la reconfiguración del VDA no lo hace.

XdReconfigure requiere uno de los valores siguientes: controllers o site_guid. A continuación, se muestran ejemplos de parámetros de configuración que utilizan cada valor:

Uso de controllers:

XdReconfigure = @(
    [pscustomobject]@{
        ParameterName = 'controllers'
        ParameterValue = 'comma-separated-list-of-your-cloud-connectors-fqdns'
    }
)
<!--NeedCopy-->

donde ParameterValue es la lista de FQDN de los nuevos DDC a los que quiere apuntar con el VDA. Se pueden especificar varios DDC en formato separado por comas.

Uso de site_guid:

XdReconfigure = @(
    [pscustomobject]@{
        ParameterName = 'site_guid'
        ParameterValue = 'active-directory-site-guid'
    }
)
<!--NeedCopy-->

XdReconfigure también acepta valores admitidos al ejecutar el instalador de línea de comandos del VDA con el modificador de instalación /reconfigure, por ejemplo, XenDesktopVdaSetup.exe /reconfigure. Algunos ejemplos de estos valores incluyen wem_agent_port, wem_cached_data_sync_port, wem_cloud_connectors o wem_server. Para obtener una lista completa de las opciones de línea de comandos de reconfiguración de VDA, consulte la documentación sobre VDA de Citrix DaaS.

Configure InstallMcsio en true para instalar automáticamente MCSIO en la imagen. Para inhabilitar la instalación automática de MCSIO en la imagen, configure InstallMcsio en false.

Nota:

Puede utilizar -DryRun mientras ejecuta los comandos para validar la configuración y los parámetros de red del Connector Appliance.

Referencia

En esta sección, se detalla la información de referencia técnica, en función de sus necesidades.

Permisos requeridos por Image Portability Service

En esta sección se detallan los permisos requeridos por Image Portability Services en cada una de las plataformas locales y en la nube compatibles.

Permisos necesarios para Connector Appliance

Connector Appliance necesita acceso a estas URL para preparar las imágenes en Image Portability Service:

*.layering.cloud.com
credentialwallet.citrixworkspaceapi.net
graph.microsoft.com
login.microsoftonline.com
management.azure.com
*.blob.storage.azure.net
<!--NeedCopy-->

Permisos requeridos para VMware vCenter

Los siguientes permisos de vCenter son necesarios para ejecutar el trabajo de disco de exportación de IPS en un entorno de VMware. Estos permisos se encuentran en Roles, en la sección sobre control de acceso del panel de administración de vCenter.

-  Cryptographic operations
    -  Direct Access

-  Datastore
    -  Allocate space
    -  Browse datastore
    -  Low level file operations
    -  Remove file

-  Folder
    -  Create folder
    -  Delete folder

-  Network
    -  Assign network

-  Resource
    -  Assign virtual machine to resource pool

-  Virtual machine
    -  Change Configuration
        -  Add existing disk
        -  Add new disk
        -  Remove disk

    -  Edit Inventory
        -  Create from existing
        -  Create new
        -  Remove

    -  Interaction
        -  Power off
        -  Power on
<!--NeedCopy-->

Permisos requeridos para Microsoft Azure

Image Portability requiere que su cuenta de servicio de Azure tenga los siguientes permisos.

Cuando se especifica el grupo de recursos que se usará en el motor de composición (es decir, en la propiedad resourceGroup de una solicitud de REST o en el parámetro -AzureVmResourceGroup cuando se utilizan los comandos Citrix.Workloads.Portability de PowerShell), se requieren estos permisos en el ámbito del grupo de recursos.

Microsoft.Compute/disks/beginGetAccess/action
Microsoft.Compute/disks/endGetAccess/action
Microsoft.Compute/disks/delete
Microsoft.Compute/disks/read
Microsoft.Compute/disks/write
Microsoft.Compute/virtualMachines/delete
Microsoft.Compute/virtualMachines/powerOff/action
Microsoft.Compute/virtualMachines/read
Microsoft.Compute/virtualMachines/write
Microsoft.Network/networkInterfaces/delete
Microsoft.Network/networkInterfaces/join/action
Microsoft.Network/networkInterfaces/read
Microsoft.Network/networkInterfaces/write
Microsoft.Network/networkSecurityGroups/delete
Microsoft.Network/networkSecurityGroups/join/action
Microsoft.Network/networkSecurityGroups/read
Microsoft.Network/networkSecurityGroups/write
Microsoft.Resources/deployments/operationStatuses/read
Microsoft.Resources/deployments/read
Microsoft.Resources/deployments/write
Microsoft.Resources/subscriptions/resourcegroups/read
<!--NeedCopy-->

Si no se especifica el grupo de recursos que se usará en el motor de composición, se requieren estos permisos en el ámbito de la suscripción.

Microsoft.Compute/disks/beginGetAccess/action
Microsoft.Compute/disks/endGetAccess/action
Microsoft.Compute/disks/read
Microsoft.Compute/disks/write
Microsoft.Compute/virtualMachines/powerOff/action
Microsoft.Compute/virtualMachines/read
Microsoft.Compute/virtualMachines/write
Microsoft.Network/networkInterfaces/join/action
Microsoft.Network/networkInterfaces/read
Microsoft.Network/networkInterfaces/write
Microsoft.Network/networkSecurityGroups/join/action
Microsoft.Network/networkSecurityGroups/read
Microsoft.Network/networkSecurityGroups/write
Microsoft.Resources/deployments/operationStatuses/read
Microsoft.Resources/deployments/read
Microsoft.Resources/deployments/write
Microsoft.Resources/subscriptions/resourceGroups/delete
Microsoft.Resources/subscriptions/resourceGroups/write
Microsoft.Authorization/roleAssignments/read
Microsoft.Authorization/roleDefinitions/read
<!--NeedCopy-->

Se requieren estos permisos en el ámbito del grupo de recursos de destino especificado (es decir, el grupo de recursos especificado en la propiedad targetDiskResourceGroupName de una solicitud de REST o en el parámetro -TargetResourceGroup cuando se utiliza PowerShell).

Microsoft.Compute/disks/beginGetAccess/action
Microsoft.Compute/disks/delete
Microsoft.Compute/disks/read
Microsoft.Compute/disks/write
Microsoft.Compute/snapshots/delete
Microsoft.Compute/snapshots/read
Microsoft.Compute/snapshots/write
<!--NeedCopy-->

Se requieren estos permisos en el ámbito del grupo de recursos de la red virtual especificado (es decir, el grupo de recursos especificado en la propiedad virtualNetworkResourceGroupName de una solicitud de REST o en el parámetro -AzureVirtualNetworkResourceGroupName cuando se utiliza PowerShell).

Microsoft.Network/virtualNetworks/read
Microsoft.Network/virtualNetworks/subnets/join/action
<!--NeedCopy-->

Importante:

La opción ceVmSku de los trabajos “prepare” y “prepareAndPublish” controla el tipo de máquina virtual de Azure para la que es adecuado el disco administrado resultante. Debe seleccionar una ceVmSku con la misma familia y la misma versión que las máquinas virtuales que pretende aprovisionar a partir de la imagen de salida. El valor predeterminado de Standard_D2S_v3 es adecuado para ejecutarse en todas las máquinas de la familia v3 D. Con las SKU de máquinas virtuales de la versión 4 y más recientes, Microsoft ha hecho que el disco de recursos temporal adjunto a las máquinas virtuales sea opcional. Esto afecta a la correcta colocación de los archivos de paginación. Si piensa utilizar una SKU de máquina virtual sin un disco de recursos temporal para las máquinas que aprovisione mediante la imagen de salida, debe asegurarse de que su ceVmSku tampoco tenga un disco de recursos temporal. Si la ceVmSku es de un tipo con un disco de recursos temporal, IPS mueve el archivo de paginación de Windows a ese disco. Verá un cuadro de diálogo de advertencia cada vez que inicie sesión si utiliza un disco preparado de esta manera en una SKU que no tenga un disco de recursos temporal. Si la ceVmSku no tiene un disco temporal, el archivo de paginación se configura en el volumen raíz del sistema. Esto podría generar cargos de E/S no intencionados si utiliza una imagen preparada de esta manera en una SKU que incluya un disco de recursos temporal.

Permisos requeridos para Google Cloud

Image Portability requiere que su cuenta de servicio de Google Cloud tenga los siguientes permisos:

cloudbuild.builds.create
cloudbuild.builds.get
cloudbuild.builds.list
compute.disks.create
compute.disks.delete
compute.disks.get
compute.disks.list
compute.disks.setLabels
compute.disks.use
compute.globalOperations.get
compute.images.create
compute.images.delete
compute.images.get
compute.images.list
compute.images.setLabels
compute.images.useReadOnly
compute.instances.create
compute.instances.delete
compute.instances.get
compute.instances.setLabels
compute.instances.setMetadata
compute.instances.setServiceAccount
compute.instances.setTags
compute.instances.stop
compute.instances.updateDisplayDevice
compute.networks.get
compute.subnetworks.use
compute.subnetworks.useExternalIp
compute.zoneOperations.get
compute.zones.list
iam.serviceAccounts.actAs
iam.serviceAccounts.get
iam.serviceAccounts.list
resourcemanager.projects.get
storage.buckets.create
storage.buckets.delete
storage.buckets.get
storage.objects.create
storage.objects.delete
storage.objects.get
storage.objects.list
<!--NeedCopy-->

Permisos requeridos por AWS

La portabilidad de imágenes requiere adjuntar un documento de directiva JSON con esta configuración para el usuario de Administración de acceso e identidad (IAM):

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": [
                "ebs:StartSnapshot",
                "ebs:PutSnapshotBlock",
                "ebs:CompleteSnapshot",
                "ec2:CreateTags",
                "ec2:CreateImage",
                "ec2:DeleteSnapshot",
                "ec2:DeleteVolume",
                "ec2:DeregisterImage",
                "ec2:DescribeImages",
                "ec2:DescribeInstances",
                "ec2:DescribeRegions",
                "ec2:DescribeSecurityGroups",
                "ec2:DescribeSnapshots",
                "ec2:DescribeSubnets",
                "ec2:RebootInstances",
                "ec2:RegisterImage",
                "ec2:RunInstances",
                "ec2:TerminateInstances",
            ],
            "Effect": "Allow",
            "Resource": "*"
        }
    ]
}
<!--NeedCopy-->

Nota:

Es posible que quiera reducir aún más el ámbito del recurso, según sus necesidades.

Permisos necesarios para Nutanix AHV

Image Portability requiere que sea administrador de clústeres en su configuración de Nutanix AHV.

Permisos requeridos de XenServer

Image Portability requiere que tenga como mínimo el rol de “administrador de VM” para el grupo en el que se encuentra el host de XenServer.

Redes

Image Portability Service (IPS) crea una máquina virtual de trabajo denominada motor de composición (CE) para realizar operaciones de imagen. Todos los Connector Appliances de la ubicación de recursos asociada deben poder comunicarse a través de HTTPS con el CE. El Connector Appliance (CA) inicia todas las comunicaciones entre el CA y el CE, con la única excepción en el caso de vSphere, en el que existe una comunicación HTTPS bidireccional entre el CE y el CA.

En entornos de nube (Azure, AWS, Google Cloud), el CE se crea con una dirección IP privada. Por lo tanto, el CE debe estar en la misma red virtual que el CA o en una red virtual a la que el CA pueda acceder.

Además, para los trabajos que implican archivos en un recurso compartido de SMB (por ejemplo, trabajos de exportación), el CE debe estar en una red con conectividad al recurso compartido de SMB.

Consulte la documentación de la API de Image Portability Service para obtener detalles sobre cómo especificar la red que se utilizará para el CE en cada plataforma compatible.

Para los trabajos “prepare”, el sistema operativo que aparece en la imagen arranca (en el CE) para realizar tareas de especialización y otras tareas. Si la imagen contiene agentes de administración o seguridad que se comunican por teléfono con un servidor de control, estos procesos pueden interferir con el proceso de preparación.

Si se especifica la opción “unjoin” del dominio, la conectividad de red puede afectar a los resultados. Si la máquina virtual del motor de composición puede contactar con el controlador de dominio de Active Directory a través de la red, “unjoin” quita la cuenta de equipo del dominio. Esto interrumpe la pertenencia al dominio de la máquina virtual de origen de la que se extrajo la imagen.

Por lo tanto, se recomienda aislar la red proporcionada para la operación de otros recursos de la red. Esto se puede hacer mediante el aislamiento de subredes o con reglas de firewall. Para obtener información más detallada, consulte Aislamiento de red.

En algunos entornos de hipervisor locales, el hipervisor puede configurarse con un certificado de servidor TLS, que no es de confianza para el conjunto de entidades de certificación raíz del CA o no coincide con el nombre de host del servidor. Para estos casos, IPS proporciona propiedades de solicitud de trabajo que sirven para solucionar el problema. Para obtener información más detallada, consulte Certificados TLS.

Proxies de red

Si el tráfico de red entre el CA e Internet atraviesa un proxy que realiza introspección TLS, podría ser necesario agregar la entidad de certificación raíz del proxy (es decir, el certificado que el proxy usa para firmar los certificados TLS que genera) al conjunto de entidades de certificación raíz del CA. Para obtener más información, consulte Registrar el Connector Appliance en Citrix Cloud.

Aislamiento de red
  • Azure

    En Azure, el CE se crea de forma predeterminada con un grupo de seguridad de red (NSG) conectado a su NIC si la entidad principal de servicio de Azure usada en la operación tiene los permisos de Azure necesarios 1.

    • Microsoft.Network/networkSecurityGroups/join/action
    • Microsoft.Network/networkSecurityGroups/read
    • Microsoft.Network/networkSecurityGroups/write

      En otro caso, los siguientes permisos en el ámbito de la suscripción si no se usa ningún grupo de recursos explícito:

      • Microsoft.Network/networkSecurityGroups/delete
      • Microsoft.Network/networkSecurityGroups/join/action
      • Microsoft.Network/networkSecurityGroups/read
      • Microsoft.Network/networkSecurityGroups/write

    Este NSG está configurado para bloquear todo el tráfico de entrada/salida del CE, excepto:

    • SMB (puerto 445) saliente
    • HTTPS (puerto 443) entrante
    • el que se requiere para los servicios internos de Azure

    El uso del NSG se puede forzar estableciendo la propiedad networkIsolation de la solicitud de trabajo en true. En este caso, el trabajo falla si la entidad principal de servicio usada en la operación no tiene los permisos necesarios. El uso del NSG se puede inhabilitar estableciendo la propiedad networkIsolation en false.

  • AWS

En AWS, para lograr el aislamiento de red del CE, puede crear uno o varios grupos de seguridad de red que bloqueen todo el tráfico no deseado y, a continuación, en la solicitud de trabajo, asignar los grupos de seguridad a la instancia de CE mediante el parámetro de solicitud securityGroupIds, que toma como valor una lista de identificadores de grupos de seguridad.

  • Google Cloud

En Google Cloud, para lograr el aislamiento de red del CE, puede crear reglas de firewall que bloqueen todo el tráfico no deseado y, a continuación, aplicarlas al CE mediante etiquetas de red. IPS crea el CE con la etiqueta de red compositing-engine y puede asignarle otras etiquetas de red mediante el parámetro de solicitud de trabajo networkTags, que toma una lista de etiquetas como valor.

Certificados TLS

Si el certificado del servidor del hipervisor está firmado por una entidad en la que el CA no confía, se pueden seguir dos enfoques alternativos para resolver el problema.

  1. Especificar en la solicitud de trabajo un certificado de entidad de certificación raíz adicional para usarlo en la verificación del certificado. Este certificado debe ser la entidad de certificación raíz usada para firmar el certificado del servidor del hipervisor.
  2. Especificar en la solicitud de trabajo la huella digital SHA-1 del certificado del servidor del hipervisor. En este caso, la validación del certificado se realiza verificando que la huella digital SHA-1 del certificado devuelto por el hipervisor coincide con la proporcionada en la solicitud de trabajo. Es posible que este método no funcione si hay un proxy de interceptación de TLS entre el CE y el hipervisor.

Los parámetros de las solicitud de trabajo para lo anterior, que se indican respectivamente a continuación para cada plataforma, son:

  • vSphere
    1. vCenterSslCaCertificate
    2. vCenterSslFingerprint
  • Nutanix
    1. prismSslCaCertificate
    2. prismSslFingerprint
  • XenServer
    1. xenSslCaCertificate
    2. xenSslFingerprint

Consulte la documentación de la API de Image Portability Service para obtener información más detallada.

Los errores de validación de certificados también pueden producirse cuando no coinciden el nombre de host del servidor del hipervisor y el nombre de host del certificado. En este caso, la coincidencia del nombre de host se puede inhabilitar configurando el siguiente parámetro en true en la solicitud de trabajo:

  • vSphere
    • vCenterSslNoCheckHostname
  • Nutanix
    • prismSslNoCheckHostname
  • XenServer
    • xenSslNoCheckHostname

Documentación relacionada

  1. If se utiliza un grupo de recursos explícito para la operación y después los siguientes permisos en el ámbito del grupo de recursos: 

Migrar cargas de trabajo entre ubicaciones de recursos mediante Image Portability Service