Citrix Virtual Apps and Desktops

Créer un catalogue AWS

La section Créer des catalogues de machines décrit les assistants qui permettent de créer un catalogue de machines. Les informations suivantes couvrent les détails spécifiques aux environnements de virtualisation AWS.

Remarque :

Avant de créer un catalogue AWS, vous devez terminer la création d’une connexion à AWS. Voir Connexion à AWS.

Paramètre réseau lors de la préparation de l’image

Lors de la préparation de l’image, une machine virtuelle (machine virtuelle) de préparation est créée sur la base de la machine virtuelle d’origine. Cette machine virtuelle de préparation est déconnectée du réseau. Pour déconnecter le réseau de la machine virtuelle de préparation, un groupe de sécurité réseau est créé pour refuser tout trafic entrant et sortant. Ce groupe de sécurité réseau persiste et est réutilisé. Le nom du groupe de sécurité réseau est Citrix.XenDesktop.IsolationGroup-GUID où le GUID est généré de manière aléatoire.

Configurer la location AWS

AWS propose les options de location suivantes :

  • Location partagée (type par défaut) : plusieurs instances Amazon EC2 provenant de clients différents peuvent résider sur le même matériel physique.
  • Location dédiée : vos instances EC2 s’exécutent uniquement sur du matériel avec d’autres instances que vous avez déployées. Les autres clients n’utilisent pas le même matériel.

Vous pouvez utiliser MCS pour provisionner des hôtes AWS dédiés à l’aide de PowerShell.

Configurer la location d’hôte dédié AWS à l’aide de PowerShell

Un administrateur peut créer un catalogue de machines avec location d’hôte définie via PowerShell.

Un hôte Amazon [EC2] dédié est un serveur physique avec une capacité d’instance [EC2] entièrement dédiée, ce qui vous permet d’utiliser les licences logicielles par socket ou par machine virtuelle.

Les hôtes dédiés ont une utilisation prédéfinie basée sur le type d’instance. Par exemple, un hôte dédié alloué de types d’instance C4 Large ne peut pas exécuter plus de 16 instances. Consultez le site AWS pour plus d’informations.

La configuration requise pour le provisioning des hôtes AWS est la suivante :

  • Une image importée (AMI) BYOL (apportez votre propre licence). Avec des hôtes dédiés, utilisez et gérez vos licences existantes.
  • Une allocation d’hôtes dédiés avec une utilisation suffisante pour satisfaire les demandes de provisioning.
  • Activer le placement automatique.

Pour mettre à disposition un hôte dédié dans AWS à l’aide de PowerShell, utilisez l’applet de commande New-ProvScheme avec le paramètre TenancyType défini sur Host.

Pour plus d’informations, reportez-vous à la documentation de développeur Citrix.

Capturez les propriétés des machines à partir d’AMI

Lorsque vous créez un catalogue pour provisionner des machines à l’aide de Machine Creation Services (MCS) dans AWS, vous sélectionnez une AMI pour représenter l’image maître/principale de ce catalogue. À partir de cette AMI, MCS utilise un instantané du disque. Dans les versions précédentes, pour avoir des rôles ou des balises sur vos machines, vous utilisiez la console AWS pour les définir individuellement. Cette fonctionnalité est activée par défaut.

Conseil :

Pour utiliser la capture de propriétés d’instance AWS, une machine virtuelle doit être associée à l’AMI.

Pour améliorer ce processus, MCS lit les propriétés de l’instance à partir de laquelle l’AMI a été prise et applique le rôle IAM (Identity Access Management) et les balises de la machine aux machines provisionnées pour un catalogue donné. Lors de l’utilisation de cette fonctionnalité facultative, le processus de création du catalogue recherche l’instance source de l’AMI sélectionnée, en lisant un ensemble limité de propriétés. Ces propriétés sont ensuite stockées dans un modèle de lancement AWS, qui est utilisé pour provisionner des machines pour ce catalogue. Toute machine du catalogue hérite des propriétés d’instance capturées.

Les propriétés capturées incluent :

  • Rôles IAM : appliqués aux instances provisionnées
  • Balises : appliquées aux instances provisionnées, à leur disque et aux cartes réseau. Ces balises sont appliquées aux ressources Citrix transitoires, notamment : compartiment et objets S3, AMI, instantanés et modèles de lancement.

Conseil :

Le balisage des ressources Citrix transitoires est facultatif et est configurable à l’aide de la propriété personnalisée AwsOperationalResourcesTagging.

Capturer les propriétés d’instance AWS

Vous pouvez utiliser cette fonctionnalité en spécifiant une propriété personnalisée, AwsCaptureInstanceProperties, lors de la création d’un schéma de provisioning pour une connexion d’hébergement AWS :

New-ProvScheme -CustomProperties "AwsCaptureInstanceProperties,true" …<standard provscheme parameters

Pour plus d’informations, reportez-vous à la documentation de développeur Citrix.

Remarque :

AwsCaptureInstanceProperties est obsolète.

Capturez les propriétés des machines à partir de profils de machines

Lorsque vous créez un catalogue pour provisionner des machines AWS à l’aide de MCS, vous pouvez utiliser un profil de machine pour prédéfinir certains paramètres de propriétés de machine.

Pour ce faire, suivez cette procédure :

  1. Stockez les profils de machine dans la même zone de disponibilité que les ressources dans lesquelles vous créez ce catalogue.
  2. Sur la page Modèle de machine de l’assistant de création de catalogue, sélectionnez Utiliser un profil de machine. Les profils de machine situés dans la même zone de disponibilité que les ressources que vous avez sélectionnées s’affichent.
  3. Sélectionnez un profil de machine selon vos besoins.

Remarque :

Vous pouvez utiliser un profil de machine ou une AMI pour capturer les propriétés de la machine. Dans Web Studio, lorsque vous sélectionnez Utiliser un profil de machine, l’option Appliquer les propriétés du modèle de machine aux machines virtuelles est automatiquement masquée.

Baliser une ressource opérationnelle

Lorsque vous créez un catalogue pour provisionner des machines dans AWS à l’aide de MCS, vous pouvez contrôler si le rôle IAM et les propriétés de balise doivent être appliqués à ces machines. Vous pouvez également contrôler si vous souhaitez appliquer des balises de machine aux ressources opérationnelles.

Une image de machine Amazon (AMI) représente un type d’appliance virtuelle utilisée pour créer une machine virtuelle dans l’environnement Amazon Cloud, communément appelé EC2. Vous devez utiliser une AMI pour déployer des services qui utilisent l’environnement EC2. Lorsque vous créez un catalogue pour provisionner des machines à l’aide de MCS pour AWS, vous sélectionnez l’AMI en tant qu’image principale pour ce catalogue.

Important :

La création de catalogues en capturant une propriété d’instance et un modèle de lancement est nécessaire pour utiliser le balisage des ressources opérationnelles.

Pour créer un catalogue AWS, vous devez d’abord créer une AMI pour l’instance qui sera l’image principale. MCS lit les balises de cette instance et les incorpore dans le modèle de lancement. Les balises du modèle de lancement sont ensuite appliquées à toutes les ressources Citrix créées dans votre environnement AWS, notamment :

  • Machines virtuelles
  • Disques machine virtuelle
  • Interfaces réseau machine virtuelle
  • Compartiments S3
  • Objets S3
  • Modèles de lancement
  • AMI

Baliser une ressource opérationnelle

Pour utiliser PowerShell pour baliser des ressources :

  1. Ouvrez une fenêtre PowerShell à partir de l’hôte DDC.
  2. Exécutez la commande asnp citrix pour charger des modules PowerShell spécifiques à Citrix.

Pour baliser une ressource pour une machine virtuelle provisionnée, utilisez la nouvelle propriété personnalisée, AwsOperationalResourcesTagging. La syntaxe de cette propriété est la suivante :

New-ProvScheme -CustomProperties "AwsCaptureInstanceProperties,true; AwsOperationalResourcesTagging,true" …<standard provscheme parameters>

Autres ressources

Copier des balises sur des machine virtuelle

Vous pouvez copier des balises des cartes d’interface réseau et des disques (disque d’identité, disque cache en écriture différée et disque du système d’exploitation) spécifiés dans le profil de la machine vers des machines virtuelles nouvellement créées dans un catalogue de machines MCS. Vous pouvez spécifier ces balises dans n’importe quelle source de profil de machine (instance AWS de machine virtuelle ou version du modèle de lancement AWS). Cette fonctionnalité s’applique aux catalogues de machines et de machine virtuelle persistants et non persistants.

Remarque :

  • Sur la console AWS EC2, vous ne pouvez pas voir les valeurs des interfaces réseau de balises sous les balises de ressource de version du modèle de lancement. Cependant, vous pouvez exécuter la commande PowerShell aws ec2 describe-launch-template-versions --launch-template-id lt-0bb652503d45dcbcd --versions 12 pour voir les spécifications des balises.
  • Si une source de profil de machine (version de machine virtuelle ou de modèle de lancement) possède deux interfaces réseau (eni-1 et eni-2) et que eni-1 possède la balise t1 et eni-2 la balise t2, la machine virtuelle obtient les balises des deux interfaces réseau.

Créer un catalogue à l’aide d’un profil de machine

Lorsque vous créez un catalogue pour provisionner des machines à l’aide de Machine Creation Services (MCS) dans AWS, vous pouvez désormais utiliser un profil de machine pour capturer les propriétés matérielles d’une instance EC2 (machine virtuelle) ou une version de modèle de lancement et les appliquer aux machines provisionnées. Les propriétés capturées peuvent inclure, par exemple, les propriétés du volume EBS, le type d’instance, l’optimisation EBS et d’autres configurations AWS prises en charge. Lors de la modification du catalogue, le profil des machines provisionnées peut être modifié en fournissant une machine virtuelle ou un modèle de lancement différent.

Remarque :

Les propriétés de volume EBS sont uniquement dérivées d’un profil de machine.

Remarques importantes

Points importants à prendre en considération lors de la création d’un catalogue de machines MCS :

  • Si vous ajoutez les paramètres des propriétés matérielles d’une machine dans les commandes New-ProvScheme et Set-ProvScheme, les valeurs fournies dans les paramètres remplacent les valeurs du profil de la machine.
  • Si vous définissez AwsCaptureInstanceProperties comme true et ne définissez pas la propriété MachineProfile, seuls les rôles et les balises IAM sont capturés.
  • Vous ne pouvez pas régler AwsCaptureInstanceProperties etMachineProfile en même temps.

    **Remarque :

    AwsCaptureInstanceProperties est obsolète.

  • Vous devez indiquer explicitement les valeurs des propriétés suivantes :

    • TenancyType
    • Groupe de sécurité
    • Carte d’interface réseau ou réseau virtuel
  • Vous ne pouvez activer AwsOperationalResourcesTagging que si vous activez AwsCaptureInstanceProperties ou spécifiez un profil de machine.

Points importants à prendre en considération après la création d’un catalogue de machines MCS :

  • Seules les nouvelles machines virtuelles ajoutées au catalogue sont concernées par la modification.
  • Vous ne pouvez pas redéfinir un catalogue reposant sur un profil de machine en tant que catalogue ne reposant pas sur un profil de machine.

Créer un catalogue de machines à l’aide d’un profil de machine

Pour créer un catalogue de machines à l’aide d’un profil de machine :

  1. Ouvrez une fenêtre PowerShell.
  2. Exécutez asnp citrix* pour charger des modules PowerShell propres à Citrix.
  3. Créez un pool d’identités s’il n’a pas déjà été créé. Par exemple,

    New-AcctIdentityPool -IdentityPoolName idPool -NamingScheme ms## -Domain abcdf -NamingSchemeType Numeric
    <!--NeedCopy-->
    
  4. Exécutez la commande New-ProvScheme. Par exemple :

    New-ProvScheme -ProvisioningSchemeName demet-test-1
    -HostingUnitUid aa633238-9xxd-4cf6-80e8-232a758a1xx1
    -IdentityPoolUid 34d5b088-e312-416f-907d-16573xxxxxc4
    -CleanOnBoot
    -MasterImageVM 'XDHyp:\HostingUnits\cvad-test-scalestress\citrix-demet-ami.0 (ami-0ca813xxxxxx061ef).template'
    -MachineProfile 'XdHyp:\HostingUnits\cvad-test-scalestress\us-east-1a.availabilityzone\machine-profile-instance i (i-0xxxxxxxx).vm'
    <!--NeedCopy-->
    
  5. Terminez la création du catalogue. Pour plus d’informations, accédez à cette page sur le SDK Citrix PowerShell.

Pour mettre à jour le profil de machine sur un catalogue initialement provisionné avec un profil de machine, procédez comme suit :

  1. Exécutez la commande Set-ProvScheme. Par exemple,

    Set-ProvScheme `
    -ProvisioningSchemeUid "<ID" `
    -MachineProfile "XDHyp:\HostingUnits\abc\us-east-1a.availabilityzone\citrix-cvad-machineprofile-instance (i-0xxxxxxxx).vm"
    <!--NeedCopy-->
    

Créer un catalogue avec la version du modèle de lancement

Vous pouvez créer un catalogue de machines MCS avec une version du modèle de lancement comme entrée de profil de machine. Vous pouvez également mettre à jour l’entrée d’un catalogue de profils de machines depuis une machine virtuelle vers une version de modèle de lancement et d’une version de modèle de lancement vers une machine virtuelle.

Sur la console AWS EC2, vous pouvez fournir les informations de configuration de l’instance d’un modèle de lancement ainsi que le numéro de version. Lorsque vous spécifiez la version du modèle de lancement en tant qu’entrée de profil de machine lors de la création ou de la mise à jour d’un catalogue de machines, les propriétés de cette version du modèle de lancement sont copiées sur les machines virtuelles VDA provisionnées.

Les propriétés suivantes peuvent être fournies à l’aide de l’entrée du profil de la machine ou explicitement sous forme de paramètres dans les commandes New-ProvScheme ou Set-ProvScheme. Si elles sont fournies dans les commandes New-ProvScheme ou Set-ProvScheme, elles ont la priorité sur les valeurs de profil machine de ces propriétés.

  • Offre de services
  • Réseaux
  • Groupes de sécurité
  • Type de location

Remarque :

Si l’offre de service n’est pas fournie dans le modèle de lancement du profil de la machine ou en tant que paramètre de la commande New-ProvScheme, vous obtenez une erreur appropriée.

Pour créer un catalogue en utilisant la version du modèle de lancement comme entrée de profil de machine :

  1. Ouvrez une fenêtre PowerShell.
  2. Exécutez asnp citrix* pour charger des modules PowerShell propres à Citrix.
  3. Obtenez la liste des versions d’un modèle de lancement. Par exemple :

    XDHyp:\HostingUnits\test\test-mp-sard (lt-01xxxxx).launchtemplate> ls | Select FullPath
    <!--NeedCopy-->
    
  4. Créez un pool d’identités s’il n’a pas été créé. Par exemple :

    New-AcctIdentityPool `
    -IdentityPoolName "abc11" `
    -NamingScheme "abc1-##" `
    -NamingSchemeType Numeric `
    -Domain "citrix-xxxxxx.local" `
    -ZoneUid "xxxxxxxx" `
    <!--NeedCopy-->
    
  5. Créez un schéma de provisioning avec une version de modèle de lancement comme entrée de profil de machine. Par exemple :

    New-ProvScheme `
    -ProvisioningSchemeName "MPLT1" `
    -HostingUnitUid "c7f71f6a-3f45-4xxx-xxxx-xxxxxxxxxx" `
    -IdentityPoolUid "bf3a6ba2-1f80-4xxx-xxxx-xxxxxxxxx" `
    -MasterImageVM "XDHyp:\HostingUnits\xxxd-ue1a\apollo-non-persistent-vda-win2022 (ami-0axxxxxxxxxxx).template" `
    -CleanOnBoot `
    -MachineProfile "XDHyp:\HostingUnits\xxxx-ue1a\machineprofiletest (lt-01xxxxx).launchtemplate\lt-01xxxxx (1).launchtemplateversion"
    <!--NeedCopy-->
    

    Vous pouvez également remplacer des paramètres tels que l’offre de services, les groupes de sécurité, la location et les réseaux. Par exemple :

    New-ProvScheme `
    -ProvisioningSchemeName "MPLT1" `
    -HostingUnitUid " c7f71f6a-3f45-4xxx-xxxx-xxxxxxxxxx" `
    -IdentityPoolUid " bf3a6ba2-1f80-4xxx-xxxx-xxxxxxxxx" `
    -MasterImageVM "XDHyp:\HostingUnits\xxxd-ue1a\apollo-non-persistent-vda-win2022 (ami-0axxxxxxxxxxx).template" `
    -CleanOnBoot `
    -MachineProfile "XDHyp:\HostingUnits\xxxx-ue1a\machineprofiletest (lt-01xxxx).launchtemplate\lt-01xxxx (1).launchtemplateversion" `
    -ServiceOffering "XDHyp:\HostingUnits\xxxd-ue1a\T3 Large Instance.serviceoffering"
    <!--NeedCopy-->
    
  6. Enregistrez le schéma de provisioning en tant que catalogue de brokers. Par exemple :

    New-BrokerCatalog -Name "MPLT1" `
    -AllocationType Random `
    -Description "Machine profile catalog" `
    -ProvisioningSchemeId fe7df345-244e-4xxxx-xxxxxxxxx `
    -ProvisioningType Mcs `
    -SessionSupport MultiSession `
    -PersistUserChanges Discard
    <!--NeedCopy-->
    
  7. Terminez la création du catalogue. Pour plus d’informations, accédez à cette page sur le SDK Citrix PowerShell.

Vous pouvez également mettre à jour l’entrée d’un catalogue de profils de machines depuis une machine virtuelle vers une version de modèle de lancement et d’une version de modèle de lancement vers une machine virtuelle. Par exemple :

  • Pour mettre à jour l’entrée d’un catalogue de profils de machines depuis une machine virtuelle vers une version de modèle de lancement, procédez comme suit :

     Set-ProvScheme -ProvisioningSchemeName "CloudServiceOfferingTest" `
     -MachineProfile "XDHyp:\HostingUnits\xxxx-ue1a\machineprofiletest (lt-0bxxxxxxxxxxxx).launchtemplate\lt-0bxxxxxxxxxxxx (1).launchtemplateversion"
     <!--NeedCopy-->
    
  • Pour mettre à jour l’entrée d’un catalogue de profils de machines depuis une version de modèle de lancement vers une machine virtuelle, procédez comme suit :

     Set-ProvScheme -ProvisioningSchemeName "CloudServiceOfferingTest" `
     -MachineProfile "XDHyp:\HostingUnits\sard-ue1a\us-east-1a.availabilityzone\apollo-non-persistent-vda-win2022-2 (i-08xxxxxxxxx).vm"
     <!--NeedCopy-->
    

Filtrer les instances de machines virtuelles

Une instance EC2 AWS que vous utilisez comme machine virtuelle de profil de machine doit être compatible pour créer le catalogue de machines et qu’il fonctionne correctement. Pour répertorier les instances de EC2 AWS pouvant être utilisées comme machine virtuelle d’entrée de profil de machine, vous pouvez utiliser la commande Get-HypInventoryItem. La commande permet de consulter et de filtrer l’inventaire des machines virtuelles disponibles sur une unité d’hébergement.

Pagination :

Get-HypInventoryItem prend en charge deux modes de pagination :

  • Le mode de pagination utilise les paramètres -MaxRecords et -Skip pour renvoyer des ensembles d’éléments :
    • -MaxRecords : la valeur par défaut est 1. Ce paramètre permet de contrôler le nombre d’éléments à renvoyer.
    • -Skip : la valeur par défaut est 0. Ce paramètre permet de contrôler le nombre d’éléments à ignorer depuis le début absolu (ou la fin absolue) de la liste dans l’hyperviseur.
  • Le mode de défilement utilise les paramètres -MaxRecords, -ForwardDirection et -ContinuationToken pour permettre le défilement des enregistrements :
    • -ForwardDirection : la valeur par défaut est true. Ce paramètre est utilisé conjointement avec -MaxRecords pour renvoyer l’ensemble suivant ou l’ensemble précédent d’enregistrements correspondants.
    • -ContinuationToken : ce paramètre renvoie les éléments suivants (ou précédents si ForwardDirection est défini sur false), mais sans inclure l’élément indiqué dans ContinuationToken.

Exemples de pagination :

  • Pour renvoyer un seul enregistrement du modèle de machine portant le nom figurant en haut de la liste, procédez comme suit. Le champ AdditionalData contient TotalItemsCount et TotalFilteredItemsCount :

     Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx-test" -ResourceType template
     <!--NeedCopy-->
    
  • Pour renvoyer dix enregistrements du modèle de machine portant le nom figurant en bas de la liste, procédez comme suit :

     Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx-test" -ResourceType template -MaxRecords 10 | select Name
     <!--NeedCopy-->
    
  • Pour renvoyer un tableau d’enregistrements se terminant par le nom figurant en haut de la liste, procédez comme suit :

     Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx-test" -ResourceType template -ForwardDirection $False -MaxRecords 10 | select Name
     <!--NeedCopy-->
    
  • Pour renvoyer un tableau d’enregistrements à partir du modèle de machine associé à la valeur donnée ContinuationToken, procédez comme suit :

     Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx-test" -ResourceType template -ContinuationToken "ami-07xxxxxxxxxx" -MaxRecords 10
     <!--NeedCopy-->
    

Filtrage :

Les paramètres facultatifs supplémentaires suivants sont pris en charge pour le filtrage. Vous pouvez combiner ces paramètres avec les options de pagination.

  • -ContainsName "my_name" : si la chaîne donnée correspond à une partie du nom d’une AMI, l’AMI est incluse dans le résultat Get. Par exemple :

     Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx-test" -ResourceType template -MaxRecords 100 -ContainName ‘apollo’ | select Name
     <!--NeedCopy-->
    
  • -Tags '{ "Key0": "Value0", "Key1": "Value1", "Key2": "Value2" }' : si une AMI possède au moins l’une de ces balises, elle est incluse dans le résultat Get . Par exemple :

     Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx-test" -ResourceType template -MaxRecords 100 -Tags '{"opex owner": "Not tagged"}' | select Name
     <!--NeedCopy-->
    

    Remarque :

    Deux valeurs de balise sont prises en charge. La valeur de balise Not Tagged correspond aux éléments qui ne possèdent pas la balise spécifiée dans leur liste de balises. La valeur de balise All values correspond aux éléments qui possèdent la balise, quelle que soit la valeur de la balise. Dans le cas contraire, la correspondance ne se produit que si l’élément possède la balise et que si la valeur est égale à celle indiquée dans le filtre.

  • -Id "ami-0a2d913927e0352f3" : si l’AMI correspond à l’ID donné, elle est incluse dans le résultat Get. Par exemple :

     Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx-test" -ResourceType template -Id ami-xxxxxxxxxxxxx
     <!--NeedCopy-->
    

Filtrage avec le paramètre AdditionalData :

Le paramètre de filtre AdditionalData répertorie les modèles ou les machines virtuelles en fonction de leurs capacités, de leur offre de service ou de toute propriété figurant dans le paramètre AdditionalData. Par exemple :

(Get-HypInventoryItem -ResourceType "launchtemplateversion" -LiteralPath "XDHyp:\HostingUnits\aws" -MaxRecords 200).AdditionalData
<!--NeedCopy-->

Vous pouvez également ajouter un paramètre -Warn pour spécifier les machines virtuelles incompatibles. Les machines virtuelles sont incluses dans un champ AdditionalData nommé Warning. Par exemple :

(Get-HypInventoryItem -ResourceType "launchtemplateversion" -LiteralPath "XDHyp:\HostingUnits\aws" -MaxRecords 200 -Template "ami-015xxxxxxxxx" -Warn $true).AdditionalData
<!--NeedCopy-->

Informations supplémentaires