Citrix DaaS

Migrer les charges de travail entre les emplacements de ressources à l’aide du service de portabilité des images

Le service de portabilité des images simplifie la gestion des images sur toutes les plateformes. Les API REST Citrix Virtual Apps and Desktops peuvent être utilisées pour automatiser l’administration des ressources au sein d’un site Citrix Virtual Apps and Desktops.

Le flux de travail de portabilité des images commence lorsque vous utilisez Citrix Cloud pour démarrer la migration d’une image entre deux emplacements de ressources. Après avoir exporté votre image, le service de portabilité des images vous aide à transférer et à préparer l’image en vue de son exécution sur l’hyperviseur ou le cloud public cible. Enfin, Citrix Provisioning ou Machine Creation Services provisionne l’image dans l’environnement cible.

Composants

Les composants du service de portabilité des images incluent :

  • Citrix Cloud Services
  • Citrix Credential Wallet
  • Appliance Connector Citrix
  • VM du moteur de composition
  • Exemples de scripts PowerShell

Citrix Cloud Services

L’API Citrix Cloud Services est un service d’API REST qui interagit avec le service de portabilité des images. À l’aide du service d’API REST, vous pouvez créer et surveiller les tâches de portabilité des images. Par exemple, vous effectuez un appel d’API pour démarrer une tâche de portabilité des images, comme exporter un disque, puis effectuez des appels pour obtenir l’état de la tâche.

Citrix Credentials Wallet

Le service Citrix Credentials Wallet gère en toute sécurité les informations d’identification système, ce qui permet au service de portabilité des images d’interagir avec vos ressources. Par exemple, lors de l’exportation d’un disque de vSphere vers un partage SMB, le service de portabilité des images a besoin d’informations d’identification pour ouvrir une connexion au partage SMB afin d’écrire sur le disque. Si les informations d’identification sont stockées dans le Credentials Wallet, le service de portabilité d’images peut récupérer et utiliser ces informations d’identification.

Ce service vous permet de gérer entièrement vos informations d’identification. L’API Cloud Services agit en tant que point d’accès, vous donnant la possibilité de créer, de mettre à jour et de supprimer des informations d’identification.

Moteur de composition

Le moteur de composition est le cœur du service de portabilité des images. Le moteur de composition (CE) est une machine virtuelle unique créée au début d’une tâche d’exportation ou de préparation de portabilité des images. Ces machines virtuelles sont créées dans le même environnement que celui dans lequel la tâche a lieu. Par exemple, lors de l’exportation d’un disque à partir de vSphere, le CE est créé sur le serveur vSphere. De même, lors de l’exécution d’une tâche de préparation dans Azure, AWS ou Google Cloud, le CE est créé dans Azure, AWS ou Google, respectivement. Le CE monte votre disque sur lui-même, puis effectue les manipulations nécessaires sur le disque. À la fin de la tâche de préparation ou d’exportation, la machine virtuelle CE et tous ses composants sont supprimés.

Appliance Connector

L’appliance Connector, qui exécute le logiciel du fournisseur pour gérer les ressources IPS, s’exécute dans votre environnement (à la fois sur site et dans votre abonnement Azure, AWS ou Google Cloud) et agit en tant que contrôleur pour les tâches individuelles. Elle reçoit les instructions de tâche du service cloud et crée et gère les machines virtuelles du moteur de composition. La machine virtuelle de l’appliance Connector agit comme un point de communication unique et sécurisé entre les services cloud et vos environnements. Déployez une ou plusieurs appliances Connector dans chacun de vos emplacements de ressources (sur site, Azure, AWS ou Google Cloud). Une appliance Connector est déployée sur chaque emplacement de ressources pour des raisons de sécurité. En co-localisant l’appliance Connector et le moteur de composition, vous augmentez considérablement la posture de sécurité du déploiement, car tous les composants et les communications sont conservés dans votre emplacement de ressources.

Modules PowerShell

Nous fournissons un ensemble de modules PowerShell à utiliser dans des scripts comme point de départ pour développer votre propre automatisation personnalisée. Les modules fournis sont pris en charge tels quels, mais vous pouvez les modifier si nécessaire pour votre déploiement.

L’automatisation PowerShell utilise les paramètres de configuration fournis pour composer un appel REST vers le service d’API Citrix Cloud afin de démarrer la tâche, puis vous fournir des mises à jour périodiques au fur et à mesure de l’avancement de la tâche.

Si vous souhaitez développer votre propre solution d’automatisation, vous pouvez envoyer des appels directement au service cloud en utilisant le langage de programmation de votre choix. Consultez le portail des API pour obtenir des informations détaillées sur la configuration et l’utilisation des points de terminaison REST et des modules PowerShell du service de portabilité des images.

Workflows

Le service de portabilité des images utilise un flux de travail en plusieurs phases pour préparer une image de catalogue principal à partir d’un emplacement de ressources sur site pour votre abonnement à un cloud public. Le service exporte l’image à partir de la plate-forme de l’hyperviseur local et vous la téléchargez sur votre abonnement cloud (l’utilitaire de téléchargement PowerShell que nous fournissons peut vous aider à automatiser cela). Ensuite, la portabilité des images prépare l’image pour qu’elle soit compatible avec votre plateforme de cloud public. Enfin, l’image est publiée et prête à être déployée en tant que nouveau catalogue de machines au sein de votre emplacement de ressources cloud.

Flux de travail de portabilité des images

Ces flux de travail de haut niveau sont basés sur la configuration de provisioning source et cible de l’image (Machine Creation ou Citrix Provisioning). Le flux de travail choisi détermine les étapes des tâches de portabilité des images requises.

Reportez-vous au tableau suivant pour savoir quelles tâches sont requises pour chacun des flux de travail IPS pris en charge.

Flux de travail (de la source à la cible) Exporter Charger Préparer Publier
MCS vers MCS O O O N
PVS vers MCS* N O O N
PVS vers PVS sur Azure/Google Cloud* N O O O
MCS vers PVS sur Azure/Google Cloud O O O O

*Suppose que vous disposez de l’image d’origine en tant que Citrix Provisioning vDisk et que vous n’avez pas besoin de l’exporter directement hors de l’hyperviseur de la plate-forme source.

Exigences

Pour commencer à utiliser la portabilité des images, vous devez répondre aux exigences suivantes.

Une image du catalogue de machines Citrix

L’IPS nécessite l’utilisation d’images ayant l’une des configurations testées suivantes :

  • Windows Server 2016, 2019 et 2022H2

  • Windows 10 ou 11

  • Provisioning à l’aide de Machine Creation Services ou Citrix Provisioning

  • VDA Citrix Virtual Apps and Desktops version 1912CU6, 1912CU7, 2203CU1, 2203CU2, 2212, 2303 ou 2305

  • Services Bureau à distance activés pour l’accès à la console dans Azure

Le service de portabilité des images prend en charge les hyperviseurs et les plates-formes cloud suivants :

Plates-formes sources :

  • VMware vSphere 7.0 et 8.0

  • XenServer/XenServer 8.2

  • Nutanix Prism Element 3.x

  • Microsoft Azure

  • Google Cloud Platform

Plates-formes de destination :

  • VMware vSphere 8.0

  • Microsoft Azure

  • AWS

  • Google Cloud Platform

Appliance Connector Citrix

Vous devez disposer d’une appliance Connector Citrix installée et configurée dans chaque emplacement de ressources où vous prévoyez d’utiliser la portabilité des images. Par exemple, si vous utilisez la portabilité des images pour déplacer une image de vSphere vers Azure, AWS et Google Cloud, vous avez besoin d’au moins trois Citrix Connector Appliances :

Consultez Déployer des appliances Connector pour obtenir des instructions détaillées.

Un partage de fichiers SMB (Windows)

Vous avez besoin d’un partage de fichiers SMB Windows pour le stockage temporaire des données pendant les tâches d’exportation hébergées dans l’emplacement de ressources local où vous utilisez le service de portabilité des images. Assurez-vous que l’espace libre disponible sur le partage est au moins le double de la taille configurée du système de fichiers de votre image.

Une machine pour exécuter des scripts PowerShell

Assurez-vous que votre machine exécutant les scripts PowerShell présente les caractéristiques suivantes :

  • PowerShell version 5.1.

  • Une connexion réseau rapide au partage de fichiers SMB. Il peut s’agir de la machine qui héberge le partage de fichiers.

  • Une connexion réseau rapide aux plateformes de cloud public sur lesquelles vous prévoyez d’utiliser la fonctionnalité de portabilité des images. Par exemple, Azure, AWS ou Google Cloud.

    Consultez la section Préparer une machine pour PowerShell pour plus d’informations sur la façon de télécharger et de configurer les modules de portabilité des images à partir de la galerie PowerShell.

Votre numéro client Citrix Cloud

Vérifiez que vous disposez d’un abonnement Citrix DaaS valide.

Pour continuer, vous devez accéder à Citrix DaaS (anciennement Citrix Virtual Apps and Desktops Service). Si vous n’y avez pas accès, contactez votre représentant Citrix.

Reportez-vous à la documentation API Getting Started pour obtenir des instructions sur la création et la configuration d’un client API à utiliser avec la portabilité des images.

Autorisations et configuration requises pour Azure

Pour que le service de portabilité des images effectue des actions dans votre ressource Azure, vous devez accorder des autorisations sur certaines fonctionnalités Azure au principal du service Azure utilisé par le service de portabilité des images. Pour obtenir la liste détaillée, consultez Autorisations requises par Microsoft Azure.

Vous pouvez attribuer le rôle Contributeur au principal de service dans la ressource associée. Ou, pour attribuer les autorisations minimales requises, vous pouvez créer des rôles personnalisés avec les autorisations requises et les attribuer au principal de service défini pour les ressources appropriées.

Reportez-vous à la documentation Azure pour configurer les rôles de sécurité pour votre principal de service Azure et pour créer des rôles personnalisés.

Autorisations et configuration requises pour Google Cloud

Pour que le service de portabilité des images effectue des actions dans votre projet Google Cloud, vous accordez des autorisations sur certaines fonctionnalités au principal du service Google Cloud utilisé par le service de portabilité des images.

Pour obtenir la liste détaillée, consultez Autorisations requises pour Google Cloud.

Vous pouvez attribuer ces autorisations à l’aide des rôles suivants :

  • Éditeur Cloud Build
  • Administrateur informatique
  • Administrateur de l’espace de stockage
  • Utilisateur du compte de service

Consultez la documentation Google Cloud pour plus d’informations sur la configuration des autorisations de compte de service.

Autorisations et configuration requises pour Amazon Web Services

Afin d’effectuer des flux de travail de service de portabilité des images avec un compte Amazon Web Services (AWS), l’utilisateur IAM (Identity and Access Management) doit disposer des autorisations appropriées.

Pour obtenir la liste détaillée, consultez la section Autorisations requises par AWS.

Configurer le service de portabilité des images

Pour configurer le service de portabilité des images, vous devez :

Déployer des appliances Connector

La portabilité des images nécessite que les appliances Citrix Connector créent des tâches de portabilité des images. Les appliances Connector permettent de sécuriser les interactions avec vos environnements cloud publics et locaux. Les appliances Connector communiquent avec le service de portabilité des images pour générer des rapports sur l’état de la tâche et l’état général du service.

Pour déployer et configurer une appliance Connector dans votre environnement, suivez les étapes décrites dans Appliance Connector pour les services cloud.

Notez la configuration matérielle et l’accès au port réseau requis pour l’appliance lors de la planification de votre déploiement.

Lorsque votre appliance est déployée et enregistrée, les composants nécessaires pour activer la portabilité des images sont automatiquement installés.

Préparer une machine pour PowerShell

Pour vous aider à démarrer et à utiliser la portabilité des images, nous avons créé des modules PowerShell que vous pouvez personnaliser et utiliser avec le service.

Les sections suivantes expliquent comment préparer une machine à exécuter les scripts PowerShell. Ces scripts ne sont que quelques exemples. Modifiez-les ou améliorez-les en fonction de vos besoins.

Remarque :

Après l’installation initiale, utilisez Update-Module pour mettre à jour le module PowerShell.

Configuration requise pour PowerShell

Pour utiliser les scripts PowerShell, vous devez disposer des éléments suivants :

  • Un ordinateur Windows pour exécuter les scripts PowerShell qui pilotent les tâches de portabilité des images. La machine :

    • Est dotée de la dernière version de PowerShell.

    • Dispose d’une connexion réseau de 10 Gbit/s au minimum au partage de fichiers SMB sur site et d’une connexion rapide à votre cloud public (Azure, AWS ou Google Cloud, par exemple).

    • Peut être la machine hébergeant le partage de fichiers.

    • Exécute Windows 10, Windows Server 2019 ou Windows Server 2022, avec les derniers correctifs Microsoft.

    • Peut se connecter à la galerie Microsoft PowerShell pour télécharger les bibliothèques PowerShell requises.

Selon votre version de Windows, vous devrez peut-être désactiver la prise en charge de TLS 1.0/1.1. Reportez-vous à la documentation sur la prise en charge de TLS dans Microsoft PowerShell Gallery pour plus d’informations.

Par défaut, PowerShell ne s’authentifie pas automatiquement via un serveur proxy. Assurez-vous d’avoir configuré votre session PowerShell pour utiliser votre serveur proxy, conformément aux meilleures pratiques de Microsoft et de votre fournisseur de proxy.

Si vous constatez des erreurs lors de l’exécution des scripts PowerShell relatives à une version manquante ou ancienne de PowerShellGet, vous devez installer la dernière version comme suit :

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

Installer des bibliothèques et des modules

Le service de portabilité des images s’appuie sur les bibliothèques de la galerie Microsoft PowerShell pour gérer les opérations de portabilité.

Important :

Après l’installation initiale, utilisez Update-Module pour installer les nouvelles versions.

  1. Exécutez la commande PowerShell suivante pour télécharger les derniers modules :

    Install-Module -Name "Citrix.Workloads.Portability","Citrix.Image.Uploader" -Scope CurrentUser
    <!--NeedCopy-->
    
    • Pour modifier la variable d’environnement PATH :

      Appuyez sur Y et sur Entrée pour accepter.

    • Pour installer le fournisseur NuGet :

      Appuyez sur Y et sur Entrée pour accepter.

    • Si vous êtes informé d’un référentiel non approuvé :

      Appuyez sur A (Yes to All) et sur Entrée pour continuer.

  2. Confirmez que tous les modules nécessaires ont été téléchargés en exécutant la commande :

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

    Cette commande renvoie une sortie similaire à la suivante :

    Nom Référentiel Description
    Citrix.Image.Uploader PSGallery Commandes pour télécharger un disque dur virtuel (x) sur un compte de stockage Azure, AWS ou GCP et obtenir des informations sur un disque dur virtuel (x)
    Citrix.Workloads.Portability PSGallery Cmdlet autonome pour la tâche image du service de portabilité des images Citrix

Mettre à jour les modules vers la dernière version

Exécutez la commande suivante pour mettre à jour le script vers la dernière version.

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

Installer le SDK Citrix Virtual Apps and Desktops Remote PowerShell

Le service de portabilité des images nécessite le SDK Citrix Virtual Apps and Desktops Remote PowerShell pour créer et gérer des tâches de portabilité dans Citrix Cloud.

Téléchargez et installez le SDK Remote PowerShell sur votre machine.

Installer des composants tiers spécifiques à la plateforme

Le module PowerShell du service de portabilité des images n’installe pas de dépendances tierces. Par conséquent, vous pouvez limiter l’installation aux seules plateformes que vous ciblez. Si vous utilisez l’une des plateformes suivantes, suivez les instructions correspondantes pour l’installation des dépendances de plate-forme :

VMware

Si vous créez des travaux de portabilité des images qui communiquent avec votre environnement VMware, exécutez la commande suivante pour installer les modules VMware PowerShell requis.

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

Si vous créez des travaux de portabilité des images dans AWS, téléchargez et installez l’interface de ligne de commande AWS, puis exécutez ces commandes pour installer les modules Azure PowerShell requis :

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

Si vous créez des travaux de portabilité des images dans Azure, téléchargez et installez les utilitaires de ligne de commande Azure, puis exécutez ces commandes pour installer les modules Azure PowerShell requis :

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

Si vous créez des tâches de portabilité des images dans Google Cloud, téléchargez et installez le SDK Google Cloud sur votre machine.

Désinstaller les scripts et les modules

Exécutez les commandes suivantes pour désinstaller les modules utilisés par le logiciel de portabilité des images.

Remarque :

Les scripts et composants tiers ne sont pas automatiquement supprimés lors de la désinstallation des modules IPS.

Pour désinstaller les modules :

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

Ajouter des informations d’identification à Credential Wallet

Pour les scénarios d’automatisation de bout en bout, vous pouvez configurer le service de portabilité des images pour s’authentifier de manière non interactive auprès de Citrix Cloud, de votre cloud public et des ressources locales. En outre, le service de portabilité des images utilise les informations d’identification stockées dans Citrix Credential Wallet chaque fois que nos API s’authentifient directement auprès de vos ressources locales et dans le cloud public. La définition des informations d’identification telle que décrite dans cette section est une étape obligatoire pour exécuter des tâches d’exportation, de préparation et de publication.

Lors de l’exécution des tâches, le service de portabilité des images a besoin d’accéder à des ressources que vous pouvez contrôler. Par exemple, pour que le service de portabilité des images exporte un disque d’un serveur vSphere vers un partage SMB, le service a besoin d’un accès aux deux systèmes. Pour sécuriser ces informations de compte, le service de portabilité des images utilise le service Citrix Credential Wallet. Ce service stocke vos informations d’identification dans le service Wallet sous un nom défini par l’utilisateur. Lorsque vous souhaitez exécuter un travail, indiquez le nom des informations d’identification à utiliser. En outre, ces informations d’identification peuvent être mises à jour ou supprimées du service Wallet à tout moment.

Les informations d’identification sont souvent stockées pour ces plateformes :

  • Microsoft Azure
  • AWS
  • Google Cloud
  • Partage SMB
  • VMware vSphere
  • Nutanix AHV
  • XenServer

Pour gérer les informations d’identification, reportez-vous à la section API du service de portabilité des images et Credentials Management du portail Developer API.

Utiliser le service de portabilité des images

La préparation d’images dans vos emplacements de ressources locaux pour votre abonnement à un cloud public nécessite la création de travaux de portabilité des images au sein de Citrix Cloud. Vous pouvez créer une tâche pour envoyer des appels d’API directs au service au sein de votre script ou programme, ou en utilisant les exemples de modules PowerShell que nous avons développés pour automatiser les appels d’API. Pour plus d’informations sur l’utilisation des API REST et des modules PowerShell pour créer des tâches IPS, reportez-vous au portail Image Portability Service Developer API.

Publier des catalogues de machines à l’aide de Citrix Provisioning

Le service de portabilité des images (Image Portability Service, IPS) est utilisé avec Machine Creation Services (MCS) dans Azure, AWS et Google Cloud, ou avec Citrix Provisioning (PVS) dans Azure ou Google Cloud. Vous pouvez combiner les solutions PowerShell et REST décrites dans ce guide avec les outils de votre plateforme, les API de votre plate-forme ou les SDK Citrix DaaS pour créer un flux de travail de bout en bout transparent et automatisé permettant de créer un catalogue de machines basé sur l’image préparée. Selon la plate-forme cloud que vous avez choisie, des étapes intermédiaires peuvent être nécessaires entre la réalisation d’une tâche de préparation IPS et la création d’un catalogue ou d’une attribution à une cible PVS.

AWS

Les tâches de préparation IPS sur AWS produisent un volume. Machine Creation Services nécessite une Amazon Machine Image (AMI) lors de la création du catalogue. Pour générer une AMI à partir de votre image migrée, vous devez d’abord créer un instantané d’image à partir du volume obtenu, puis créer une AMI basée sur cet instantané. Cela peut être effectué à l’aide de l’interface de ligne de commande (CLI) 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> est le résultat de la tâche de préparation IPS. L’AMI qui en résulte peut être utilisée comme image principale MCS.

Un exemple de script PowerShell pour automatiser cette partie du flux de travail est fourni dans le module Citrix.Workloads.Portability sous la forme d’un script nommé New-IpsAwsImage.ps1.

Azure

Sur Azure, IPS produit des disques gérés qui sont directement utilisables en tant qu’images principales MCS. Pour attribuer l’image résultante à des cibles PVS, IPS propose une opération « publish » permettant de copier le disque géré dans un fichier VHD (x) de votre magasin PVS.

Google Cloud

Les tâches de préparation IPS sur Google Cloud produisent un disque. MCS nécessite un modèle d’instance Google Cloud. Le processus de création d’un modèle d’instance MCS à partir d’un disque est décrit en détail dans Préparer une instance de VM principale et un disque persistant.

Pour les cibles PVS sur Google Cloud, IPS propose une opération « publish » permettant de copier le disque dans un fichier VHD (x) de votre magasin PVS.

Automatiser la configuration du VDA

Lors de la préparation d’une image gérée par Citrix dont l’origine est locale, vous pouvez reconfigurer le VDA au sein de l’image pour prendre en charge l’environnement cible pour lequel l’image est en cours de préparation. Le service de portabilité des images peut appliquer les modifications de configuration du VDA à la volée pendant la phase de préparation du flux de travail. Les paramètres de configuration suivants définissent le mode de fonctionnement du VDA dans l’image migrée : InstallMisa, XdReconfigure et InstallMcsio. Consultez les exemples PowerShell du service de portabilité des images pour définir ces paramètres lors de la création de tâches de service de portabilité des images (IPS, Image Portability Service).

Configurations

  • La configuration de InstallMisa sur true permet au service de portabilité des images d’installer tous les composants VDA manquants qui sont nécessaires pour provisionner l’image à l’aide de MCS.

  • La configuration d’InstallMisa sur true ou d’InstallMcsio sur true nécessite également la configuration de CloudProvisioningType sur Mcs.

  • Définissez InstallPvs sur la version du serveur PVS sur lequel l’image est déployée. Lorsque InstallPvs est défini, le service de portabilité des images (IPS) installe automatiquement la version spécifiée du logiciel de la machine cible PVS dans l’image pendant les tâches de préparation. IPS prend en charge les deux derniers builds (version de base ou mises à jour cumulatives) pour les deux dernières versions LTSR et CR.

La configuration de InstallPvs nécessite également que CloudProvisioningType soit configuré sur Pvs.

Pour InstallMisa et InstallMcsio, notez les points suivants :

  • Ces fonctionnalités ne sont prises en charge que pour les versions LTSR et CR récentes du VDA.

  • Si les composants nécessaires sont déjà présents pour le VDA installé, aucune modification n’est apportée, même si les paramètres sont configurés.

  • Pour les versions prises en charge du VDA, la portabilité des images installe la version appropriée des composants requis, même si les composants VDA nécessaires ne sont pas présents.

  • Pour les versions non prises en charge du VDA, la reconfiguration échoue et un message est généré si les composants VDA nécessaires ne sont pas présents. La tâche de préparation se termine même si la reconfiguration du VDA n’est pas terminée.

XdReconfigure nécessite l’une des valeurs suivantes : controllers ou site_guid. Voici des exemples de paramètres de configuration utilisant chaque valeur :

Utilisation de controllers :

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

ParameterValue est la liste des noms de domaine complets des nouveaux DDC vers lesquels vous souhaitez pointer le VDA. Plusieurs DDC peuvent être spécifiés dans un format séparé par des virgules.

Utilisation de site_guid :

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

XdReconfigure accepte également les valeurs prises en charge lors de l’exécution du programme d’installation de ligne de commande du VDA avec le commutateur d’installation /reconfigure, par exemple, XenDesktopVdaSetup.exe /reconfigure. Parmi ces valeurs, citons wem_agent_port, wem_cached_data_sync_port, wem_cloud_connectors ou wem_server. Pour obtenir la liste complète des options de ligne de commande de reconfiguration de VDA, reportez-vous à la documentation VDA Citrix DaaS.

Configurer InstallMcsio sur true installe automatiquement MCSIO sur l’image. Pour désactiver l’installation automatique de MCSIO sur l’image, configurez InstallMcsio sur false.

Remarque :

Lors de l’exécution de vos commandes, vous pouvez utiliser -DryRun pour valider votre configuration et les paramètres réseau de votre Connector Appliance.

Référence

Cette section détaille les informations de référence techniques, en fonction de vos besoins.

Autorisations requises par les services de portabilité des images

Cette section détaille les autorisations requises par le service de portabilité des images sur chacune des plateformes locales et cloud prises en charge.

Autorisations requises pour Connector Appliance

Connector Appliance doit accéder aux URL suivantes pour préparer des images dans le service de portabilité des images :

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

Autorisations requises pour VMware vCenter

Les autorisations vCenter suivantes sont nécessaires pour exécuter la tâche d’exportation sur disque IPS dans un environnement VMware. Ces autorisations se trouvent sous Rôles dans la section Contrôle d’accès du panneau d’administration 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-->

Autorisations requises pour Microsoft Azure

Le service de portabilité des images nécessite que votre compte de service Azure dispose des autorisations suivantes :

Lorsque le groupe de ressources à utiliser pour le moteur de composition est spécifié (c’est-à-dire dans la propriété resourceGroup dans une requête REST ou dans le paramètre -AzureVmResourceGroup lors de l’utilisation des commandes PowerShell Citrix.Workloads.Portability), les autorisations suivantes sont requises au niveau du groupe de ressources.

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

Lorsque le groupe de ressources à utiliser pour le moteur de composition n’est pas spécifié, les autorisations suivantes sont requises dans le cadre de l’abonnement.

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

Les autorisations suivantes sont requises au niveau du groupe de ressources cible spécifié (c’est-à-dire le groupe de ressources spécifié dans la propriété targetDiskResourceGroupName dans une requête REST ou dans le paramètre -TargetResourceGroup lors de l’utilisation de 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-->

Les autorisations suivantes sont requises au niveau du groupe de ressources du réseau virtuel spécifié (c’est-à-dire le groupe de ressources spécifié dans la propriété virtualNetworkResourceGroupName dans une requête REST ou dans le paramètre -AzureVirtualNetworkResourceGroupName lors de l’utilisation de PowerShell).

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

Important :

L’ option ceVmSku pour les tâches « prepare » et « prepareAndPublish » contrôle le type de machine virtuelle Azure auquel le disque géré obtenu est adapté. Vous devez sélectionner un ceVmSku de la même famille et de la même version que les machines virtuelles que vous souhaitez provisionner à partir de l’image de sortie. La valeur par défaut de Standard_D2S_v3 convient à toutes les machines de la famille v3 D. Avec les SKU de machines virtuelles v4 et plus récents, Microsoft a rendu facultatif le disque de ressources temporaire attaché aux machines virtuelles. Cela affecte le placement correct du fichier d’échange. Si vous avez l’intention d’utiliser un SKU de machine virtuelle sans disque de ressources temporaire pour les machines que vous allez provisionner à l’aide de l’image de sortie, vous devez vous assurer que votre ceVmSku ne possède pas non plus de disque de ressources temporaire. Si le ceVmSku est de type doté d’un disque de ressources temporaire, IPS déplace le fichier d’échange Windows vers ce disque. Vous recevez une boîte de dialogue d’avertissement à chaque connexion si vous utilisez un disque préparé de cette manière sur un SKU sans disque de ressources temporaire. Si le ceVmSku ne possède pas de disque temporaire, le fichier d’échange est configuré sur le volume racine du système. Cela pourrait entraîner des frais d’E/S imprévus si vous utilisez une image préparée de cette manière sur un SKU qui inclut un disque de ressources temporaire.

Autorisations requises pour Google Cloud

La portabilité des images nécessite que votre compte de service Google Cloud dispose des autorisations suivantes :

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

Autorisations requises par AWS

La portabilité des images nécessite de joindre un document de stratégie JSON avec la configuration suivante à l’utilisateur IAM (Identity and Access Management) :

{
    "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-->

Remarque :

Vous pouvez réduire l’étendue de la ressource selon vos besoins.

Autorisations requises pour Nutanix AHV

La portabilité des images nécessite que vous soyez administrateur de cluster dans votre configuration Nutanix AHV.

Autorisations requises pour XenServer

La portabilité des images nécessite que vous disposiez au minimum du rôle « Administrateur de machine virtuelle » pour le pool dans lequel se trouve l’hôte XenServer.

Réseau

Le service de portabilité des images (Image Portability Service, IPS) crée une machine virtuelle de travail appelée moteur de composition (CE) pour effectuer des opérations sur les images. Tous les Connector Appliance situés dans l’emplacement de ressources associé doivent être capables de communiquer via HTTPS avec le CE. Toutes les communications entre un Connector Appliance (CA) et le CE sont initiées par le CA, sauf une seule exception dans le cas de vSphere où il existe une communication HTTPS bidirectionnelle entre le CE et le CA.

Dans les environnements cloud (Azure, AWS, Google Cloud), le CE est créé avec une adresse IP privée. Le CE doit donc se trouver sur le même réseau virtuel que le CA ou sur un réseau virtuel accessible depuis le CA.

En outre, pour les tâches impliquant des fichiers sur un partage SMB (par exemple, les tâches d’exportation), le CE doit se trouver sur un réseau connecté au partage SMB.

Consultez la documentation de l’API Image Portability Service pour savoir comment spécifier le réseau à utiliser pour le CE sur chaque plate-forme prise en charge.

Avec les tâches « prepare », le système d’exploitation contenu dans l’image est démarré (sur le CE) pour effectuer des tâches de spécialisation et d’autres tâches. Si l’image contient des agents de gestion ou de sécurité qui contactent un serveur de contrôle par téléphone, ces processus peuvent interférer avec le processus de préparation.

Si l’option de dissociation du domaine est spécifiée, la connectivité réseau peut affecter les résultats. Si la machine virtuelle du moteur de composition peut accéder au contrôleur de domaine Active Directory via le réseau, la dissociation supprime le compte d’ordinateur du domaine. Cela annule l’appartenance au domaine pour la machine virtuelle source à partir de laquelle l’image a été extraite.

Nous recommandons donc d’isoler le réseau fourni pour l’opération des autres ressources réseau. Cela peut se faire en isolant le sous-réseau ou en utilisant des règles de pare-feu. Voir Isolation du réseau pour plus de détails.

Dans certains environnements d’hyperviseur locaux, l’hyperviseur peut être configuré avec un certificat de serveur TLS, qui n’est pas approuvé par l’ensemble des certificats racines fiables de l’autorité de certification ou qui ne correspond pas au nom d’hôte du serveur. Dans de telles situations, IPS fournit des propriétés de demande de tâches qui peuvent être utilisées pour contourner le problème. Consultez les certificats TLS pour plus de détails.

Proxys réseau

Si le trafic réseau entre l’autorité de certification et Internet passe par un proxy qui effectue une introspection TLS, il peut être nécessaire d’ajouter à l’autorité de certification racine du proxy (c’est-à-dire le certificat que le proxy utilise pour signer les certificats TLS qu’il génère) à l’ensemble des autorités de certificat racine de l’autorité de certification. Consultez Enregistrer votre Connector Appliance auprès de Citrix Cloud pour plus d’informations.

Isolation du réseau
  • Azure

    Dans Azure, le CE est créé par défaut avec un groupe de sécurité réseau (NSG) attaché à sa carte réseau si le principal de service Azure utilisé dans l’opération dispose des autorisations Azure nécessaires 1.

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

      Sinon, les autorisations suivantes définies dans l’étendue de l’abonnement si aucun groupe de ressources explicite n’est utilisé :

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

    Ce NSG est configuré pour bloquer tout le trafic entrant/sortant du CE, à l’exception de :

    • SMB (port 445) sortant
    • HTTPS (port 443) entrant
    • requis pour les services Azure internes

    L’utilisation du NSG peut être forcée en définissant la propriété networkIsolation sur true dans la demande de tâche. Dans ce cas, la tâche échoue si le principal de service utilisé dans l’opération ne dispose pas des autorisations nécessaires. L’utilisation du NSG peut être désactivée en définissant la propriété networkIsolation sur false.

  • AWS

Dans AWS, pour isoler le CE sur le réseau, vous pouvez créer un ou plusieurs groupes de sécurité réseau qui bloquent tout trafic indésirable, puis, dans la demande de tâche, attribuer les groupes de sécurité à l’instance CE à l’aide du paramètre de demande securityGroupIds qui prend comme valeur une liste d’identifiants de groupes de sécurité.

  • Google Cloud

Dans Google Cloud, pour isoler le CE sur le réseau, vous pouvez créer des règles de pare-feu qui bloquent tout trafic indésirable, puis appliquer ces règles au CE via des balises réseau. IPS crée le CE avec la balise réseau compositing-engine et vous pouvez lui attribuer d’autres balises réseau à l’aide du paramètre de demande de tâche networkTags qui prend une liste de balises comme valeur.

Certificats TLS

Si le certificat de serveur de l’hyperviseur est signé par une autorité non approuvée par l’autorité de certification, deux approches alternatives peuvent être utilisées pour résoudre le problème.

  1. Spécifiez dans la demande de tâche un certificat d’autorité de certification racine supplémentaire à utiliser pour la vérification des certificats. Ce certificat doit être l’autorité de certification racine utilisée pour signer le certificat de serveur de l’hyperviseur.
  2. Spécifiez dans la demande de tâche l’empreinte SHA-1 du certificat de serveur de l’hyperviseur. Dans ce cas, la validation du certificat est effectuée en vérifiant que l’empreinte SHA-1 du certificat renvoyé par l’hyperviseur correspond à celle fournie dans la demande de tâche. Cette méthode peut ne pas fonctionner s’il existe un proxy d’interception TLS entre le CE et l’hyperviseur.

Les paramètres de demande de tâche pour ce qui précède, indiqués respectivement ci-dessous pour chaque plateforme, sont les suivants :

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

Pour plus d’informations, consultez la documentation de l’API du service de portabilité des images.

Des erreurs de validation de certificat peuvent également se produire en cas de non-concordance entre le nom d’hôte du serveur de l’hyperviseur et le nom d’hôte figurant dans son certificat. Dans ce cas, la correspondance des noms d’hôte peut être désactivée en définissant le paramètre suivant sur true dans la demande de tâche :

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

Documentation associée

  1. If Un groupe de ressources explicite est utilisé pour l’opération, puis les autorisations suivantes dans l’étendue du groupe de ressources : 

Migrer les charges de travail entre les emplacements de ressources à l’aide du service de portabilité des images