Citrix Virtual Apps and Desktops

Créer un catalogue Google Cloud Platform

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 Google Cloud.

Remarque :

Avant de créer un catalogue Google Cloud Platform (GCP), vous devez terminer la création d’une connexion à GCP. Voir Connexion à des environnements Google Cloud.

Préparer une instance de machine virtuelle principale et un disque persistant

Conseil :

« Disque persistant » est le terme Google Cloud désignant un disque virtuel.

Pour préparer votre instance de machine virtuelle principale, créez et configurez une instance de machine virtuelle avec des propriétés correspondant à la configuration souhaitée pour les instances de VDA clonées dans votre catalogue de machines planifié. La configuration ne s’applique pas uniquement à la taille et au type d’instance. Elle inclut également des attributs d’instance tels que les métadonnées, les balises, les attributions de GPU, les balises réseau et les propriétés de compte de service.

Dans le cadre du processus de création d’images, MCS utilise votre instance de machine virtuelle principale pour créer le modèle d’instance Google Cloud. Le modèle d’instance est ensuite utilisé pour créer les instances de VDA clonées qui composent le catalogue de machines. Les instances clonées héritent des propriétés de l’instance de machine virtuelle principale (à l’exception des propriétés VPC, du sous-réseau et du disque persistant) à partir de laquelle le modèle d’instance a été créé.

Après avoir configuré les propriétés de l’instance de machine virtuelle principale en fonction de vos besoins spécifiques, démarrez l’instance, puis préparez le disque persistant pour l’instance.

Nous vous recommandons de créer manuellement un instantané du disque. Cela vous permet d’utiliser une convention d’appellation significative pour suivre les versions, vous offre plus d’options pour gérer les versions antérieures de votre image principale et vous permet de gagner du temps pour la création du catalogue de machines. Si vous ne créez pas votre propre instantané, MCS crée un instantané temporaire pour vous (qui est supprimé à la fin du processus de provisioning).

Créer un catalogue de machines

Vous pouvez créer un catalogue de machines de deux manières :

Créer un catalogue de machines à l’aide de Web Studio

Remarque :

Créez vos ressources avant de créer un catalogue de machines. Utilisez les conventions de dénomination établies par Google Cloud lors de la configuration des catalogues de machines. Pour plus d’informations, consultez Consignes de dénomination des buckets.

Suivez les instructions de la section Créer des catalogues de machines. Les informations suivantes sont uniques aux catalogues de Google Cloud.

  1. Connectez-vous à Web Studio et sélectionnez Catalogues de machines dans le volet de gauche.

  2. Sélectionnez Créer un catalogue de machines dans la barre d’actions.

  3. Sur la page Système d’exploitation, sélectionnez OS multi-session, puis sélectionnez Suivant.

    • Citrix Virtual Apps and Desktops prend également en charge l’OS mono-session.
  4. Sur la page Gestion des machines, sélectionnez des machines dont l’alimentation est gérée et les options Citrix Machine Creation Services, puis sélectionnez Suivant. S’il existe plusieurs ressources, sélectionnez-en une dans le menu.

  5. Sur la page Image principale, effectuez ces étapes selon vos besoins, puis cliquez sur Suivant.

    1. Sélectionnez un instantané ou une machine virtuelle comme image principale. Si vous souhaitez utiliser la fonctionnalité de location unique, veillez à sélectionner une image dont la propriété de groupe de nœuds est correctement configurée. Consultez la section Activer la sélection de zone.
    2. Pour utiliser une machine virtuelle existante comme profil de machine, sélectionnez Utiliser un profil de machine, puis sélectionnez la machine virtuelle.

      Remarque :

      Actuellement, les machines virtuelles de ce catalogue héritent de l’ID du jeu de chiffrement de disque, de la taille de la machine, du type de stockage et des paramètres de zone du profil de machine.

    3. Sélectionnez le niveau fonctionnel minimum pour le catalogue. Si vous souhaitez utiliser la fonctionnalité de location unique, veillez à sélectionner une image dont la propriété de groupe de nœuds est correctement configurée.
  6. Sur la page Types de stockage, sélectionnez le type de stockage utilisé pour contenir le système d’exploitation de ce catalogue de machines. Chacune des options de stockage suivantes présente des caractéristiques de prix et de performances uniques. (Un disque d’identité est toujours créé à l’aide du disque persistant standard zonal.)

    • Disque persistant standard
    • Disque persistant équilibré
    • Disque persistant SSD

    Pour plus d’informations sur les options de stockage Google Cloud, consultez https://cloud.google.com/compute/docs/disks/.

  7. Sur la page Machines virtuelles, spécifiez le nombre de machine virtuelle que vous souhaitez créer, affichez la spécification détaillée des machine virtuelle, puis sélectionnez Suivant. Si vous utilisez des groupes de nœuds à locataire unique pour les catalogues de machines, assurez-vous de sélectionner uniquement les zones où des nœuds à locataire unique réservés sont disponibles. Consultez la section Activer la sélection de zone.

  8. Sur la page Comptes d’ordinateur, sélectionnez un compte Active Directory, puis sélectionnez Suivant.

    • Si vous sélectionnez Créer des nouveaux comptes Active Directory, sélectionnez un domaine, puis entrez la séquence de caractères représentant le schéma de dénomination pour les comptes d’ordinateurs machine virtuelle provisionnés créés dans Active Directory. Le schéma d’attribution de nom de compte peut contenir entre 1 et 64 caractères et ne peut pas contenir d’espaces vides, ni de caractères non ASCII ou spéciaux.
    • Si vous sélectionnez Utiliser des comptes Active Directory existants, sélectionnez Parcourir pour accéder aux comptes d’ordinateur Active Directory existants pour les machines sélectionnées.
  9. Sur la page Informations d’identification du domaine, sélectionnez Entrer informations d’identification, tapez le nom d’utilisateur et le mot de passe, sélectionnez Enregistrer, puis Suivant.

    • Les informations d’identification que vous tapez doivent disposer d’autorisations pour effectuer des opérations de compte Active Directory.
  10. Sur la page Résumé, vérifiez les informations, spécifiez un nom pour le catalogue, puis sélectionnez Terminer.

    Remarque :

    Le nom du catalogue peut contenir entre 1 et 39 caractères, et ne peut pas contenir uniquement des espaces ou les caractères \ / ; : # . * ? = < > | [ ] { } " ' ( ) ' ).

La création du catalogue de machines peut prendre du temps. Pour vérifier que les machines sont créées sur les groupes de nœuds cibles, accédez à la console Google Cloud.

Importer des machines Google Cloud créées manuellement

Vous pouvez créer une connexion à Google Cloud, puis créer un catalogue contenant des machines Google Cloud. Vous pouvez ensuite mettre sous tension les machines Google Cloud manuellement via Citrix Virtual Apps and Desktops. Avec cette fonctionnalité, vous pouvez :

  • Importer des machines Google Cloud avec OS multi-session créées manuellement dans un catalogue de machines Citrix Virtual Apps and Desktops.
  • Supprimer les machines Google Cloud avec OS multi-session créées manuellement d’un catalogue Citrix Virtual Apps and Desktops.
  • Utiliser les fonctionnalités de gestion de l’alimentation Citrix Virtual Apps and Desktops existantes pour gérer l’alimentation des machines Google Cloud avec OS multi-session. Par exemple, définissez un programme de redémarrage pour ces machines.

Cette fonctionnalité ne nécessite aucune modification du workflow de provisioning Citrix Virtual Apps and Desktops existant, ni la suppression de toute fonctionnalité existante. Nous vous recommandons d’utiliser MCS pour provisionner des machines dans Web Studio au lieu d’importer des machines Google Cloud créées manuellement.

Cloud privé virtuel partagé

Les Virtual Private Cloud (VPC) partagés comprennent un projet hôte, à partir duquel les sous-réseaux partagés sont mis à disposition, et un ou plusieurs projets de service utilisant la ressource. Les VPC partagés sont des options souhaitables pour les installations de grande envergure, car ils fournissent un contrôle, une utilisation et une administration centralisés des ressources partagées de Google Cloud d’entreprise. Pour plus d’informations, consultez le site de la documentation Google.

Grâce à cette fonctionnalité, Machine Creation Services (MCS) prend en charge le provisioning et la gestion des catalogues de machines déployés sur des VPC partagés. Cette prise en charge, qui est fonctionnellement équivalente à celle actuellement fournie dans les VPC locaux, diffère par deux aspects :

  1. Vous devez accorder des autorisations supplémentaires au compte de service utilisé pour créer la connexion hôte. Ce processus permet à MCS d’accéder aux ressources VPC partagées et de les utiliser.
  2. Vous devez créer deux règles de pare-feu, une pour l’entrée et la sortie. Ces règles de pare-feu sont utilisées pendant le processus de mastering des images.

Nouvelles autorisations requises

Un compte de service Google Cloud avec des autorisations spécifiques est requis lors de la création de la connexion hôte. Ces autorisations supplémentaires doivent être accordées à tous les comptes de service utilisés pour créer des connexions d’hôte basées sur un VPC partagé.

Conseil :

Ces autorisations supplémentaires ne sont pas nouvelles pour Citrix Virtual Apps and Desktops. Elles sont utilisées pour faciliter la mise en œuvre de VPC locaux. Avec les VPC partagés, ces autorisations supplémentaires permettent l’accès à d’autres ressources VPC partagées.

Un maximum de quatre autorisations supplémentaires doivent être accordées au compte de service associé à la connexion hôte pour prendre en charge un VPC partagé :

  1. compute.firewalls.list - Cette autorisation est obligatoire. Elle permet à MCS de récupérer la liste des règles de pare-feu présentes sur le VPC partagé.
  2. compute.networks.list - Cette autorisation est obligatoire. Elle permet à MCS d’identifier les réseaux VPC partagés disponibles pour le compte de service.
  3. compute.subnetworks.list - Cette autorisation est facultative en fonction de la façon dont vous utilisez les VPC. Elle permet à MCS d’identifier les sous-réseaux dans les VPC partagés visibles. Cette autorisation est déjà requise lors de l’utilisation de VPC locaux, mais doit également être attribuée dans le projet Hôte VPC partagé.
  4. compute.subnetworks.use - Cette autorisation est facultative en fonction de la façon dont vous utilisez les VPC. Elle est nécessaire pour utiliser des ressources de sous-réseau dans les catalogues de machines provisionnées. Cette autorisation est déjà requise pour utiliser des VPC locaux, mais doit également être attribuée dans le projet hôte VPC partagé.

Lorsque vous utilisez ces autorisations, gardez à l’esprit qu’il existe différentes approches basées sur le type d’autorisation utilisé pour créer le catalogue de machines :

  • Autorisation au niveau du projet :
    • Permet l’accès à tous les VPC partagés au sein du projet hôte.
    • Nécessite que les autorisations #3 et #4 soient affectées au compte de service.
  • Autorisation au niveau du sous-réseau :
    • Permet l’accès à des sous-réseaux spécifiques dans le VPC partagé.
    • Les autorisations #3 et #4 sont intrinsèques à l’affectation au niveau du sous-réseau et n’ont donc pas besoin d’être affectées directement au compte de service.

Sélectionnez l’approche qui correspond aux besoins et aux normes de sécurité de votre organisation.

Conseil :

Pour plus d’informations sur les différences entre les autorisations au niveau du projet et au niveau du sous-réseau, consultez la documentation Google Cloud.

Règles de pare-feu

Lors de la préparation d’un catalogue de machines, une image de machine est préparée pour servir de disque système d’image principale pour le catalogue. Lors de ce processus, le disque est temporairement attaché à une machine virtuelle. Cette machine virtuelle doit s’exécuter dans un environnement isolé qui empêche tout le trafic réseau entrant et sortant. Pour cela, une paire de règles de pare-feu deny-all est utilisée : une pour le trafic d’entrée et une pour le trafic de sortie. Lors de l’utilisation de VCP locaux Google Cloud, MCS crée ce pare-feu sur le réseau local et l’applique à la machine pour le mastering. Une fois le mastering terminé, la règle de pare-feu est supprimée de l’image.

Nous vous recommandons de limiter au minimum le nombre de nouvelles autorisations requises pour utiliser des VPC partagés. Les VPC partagés sont des ressources d’entreprise de plus haut niveau et ont généralement des protocoles de sécurité plus stricts. Pour cette raison, créez une paire de règles de pare-feu dans le projet hôte sur les ressources VPC partagées, une pour l’entrée et une pour la sortie. Attribuez-leur la priorité la plus élevée. Appliquez une nouvelle balise cible à chacune de ces règles, à l’aide de la valeur suivante :

citrix-provisioning-quarantine-firewall

Lorsque MCS crée ou met à jour un catalogue de machines, il recherche les règles de pare-feu contenant cette balise cible. Il examine ensuite les règles d’exactitude et les applique à la machine utilisée pour préparer l’image principale pour le catalogue. Si les règles de pare-feu sont introuvables ou si les règles sont trouvées mais que les règles ou leurs priorités sont incorrectes, un message similaire au suivant s’affiche :

"Unable to find valid INGRESS and EGRESS quarantine firewall rules for VPC <name> in project <project>. " Please ensure you have created 'deny all' firewall rules with the network tag 'citrix-provisioning-quarantine-firewall' and proper priority." "Refer to Citrix Documentation for details."

Configuration du VPC partagé

Avant d’ajouter le VPC partagé en tant que connexion hôte dans Web Studio, procédez comme suit pour ajouter des comptes de service à partir du projet dans lequel vous avez l’intention de provisionner :

  1. Créez un rôle IAM.
  2. Ajoutez le compte de service utilisé pour créer une connexion hôte CVAD au rôle IAM du projet hôte VPC partagé.
  3. Ajoutez le compte de service Cloud Build du projet dans lequel vous avez l’intention de provisionner au rôle IAM du projet hôte VPC partagé.
  4. Créez des règles de pare-feu.

Créer un rôle IAM

Déterminez le niveau d’accès du rôle : accès au niveau du projet ou modèle plus restreint avec accès au niveau du sous-réseau.

Accès au niveau du projet pour le rôle IAM. Pour le rôle IAM au niveau du projet, vous devez inclure les autorisations suivantes :

  • compute.firewalls.list
  • compute.networks.list
  • compute.subnetworks.list
  • compute.subnetworks.use

Pour créer un rôle IAM au niveau du projet :

  1. Dans la console Google Cloud, accédez à IAM et administration > Rôles.
  2. Sur la page Rôles, sélectionnez CRÉER UN RÔLE.
  3. Sur la page Créer un rôle, spécifiez le nom du rôle. Sélectionnez AJOUTER DES AUTORISATIONS.
    1. Sur la page Ajouter des autorisations, ajoutez des autorisations au rôle, individuellement. Pour ajouter une autorisation, tapez le nom de l’autorisation dans le champ Filtrer le tableau. Sélectionnez l’autorisation, puis sélectionnez AJOUTER.
    2. Sélectionnez Créer.

Rôle IAM au niveau du sous-réseau. Ce rôle omet l’ajout des autorisations compute.subnetworks.list et compute.subnetworks.use après avoir sélectionné CRÉER UN ROLE. Pour ce niveau d’accès IAM, les autorisations compute.firewalls.list et compute.networks.list doivent être appliquées au nouveau rôle.

Pour créer un rôle IAM au niveau du sous-réseau :

  1. Dans la console Google Cloud, accédez à Réseau VPC > VPC partagé. La page VPC partagé apparaît et affiche les sous-réseaux des réseaux VPC partagés contenus dans le projet hôte.
  2. Sur la page VPC partagé, sélectionnez le sous-réseau auquel vous souhaitez accéder.
  3. Dans l’angle supérieur droit, sélectionnez AJOUTER UN MEMBRE pour ajouter un compte de service.
  4. Sur la page Add members, procédez comme suit :
    1. Dans le champ New members, tapez le nom de votre compte de service, puis sélectionnez votre compte de service dans le menu.
    2. Sélectionnez le champ Sélectionner un rôle, puis Utilisateur de réseau Compute.
    3. Sélectionnez Enregistrer.
  5. Dans la console Google Cloud, accédez à IAM et administration > Rôles.
  6. Sur la page Rôles, sélectionnez CRÉER UN RÔLE.
  7. Sur la page Créer un rôle, spécifiez le nom du rôle. Sélectionnez AJOUTER DES AUTORISATIONS.
    1. Sur la page Ajouter des autorisations, ajoutez des autorisations au rôle, individuellement. Pour ajouter une autorisation, tapez le nom de l’autorisation dans le champ Filtrer le tableau. Sélectionnez l’autorisation, puis sélectionnez AJOUTER.
    2. Sélectionnez Créer.

Ajouter un compte de service au rôle IAM du projet hôte

Après avoir créé un rôle IAM, effectuez les étapes suivantes pour ajouter un compte de service pour le projet hôte :

  1. Dans la console Google Cloud, accédez au projet hôte, puis à IAM et administration > IAM.
  2. Sur la page IAM, sélectionnez AJOUTER pour ajouter un compte de service.
  3. Sur la page Ajouter des membres :
    1. Dans le champ New members, tapez le nom de votre compte de service, puis sélectionnez votre compte de service dans le menu.
    2. Sélectionnez un rôle, tapez le rôle IAM que vous avez créé, puis cliquez sur le rôle dans le menu.
    3. Sélectionnez Enregistrer.

Le compte de service est maintenant configuré pour le projet hôte.

Ajouter le compte de service Cloud Build au VPC partagé

Chaque abonnement Google Cloud comporte un compte de service nommé d’après le numéro d’ID du projet, suivi de cloudbuild.gserviceaccount. Par exemple : 705794712345@cloudbuild.gserviceaccount.

Vous pouvez déterminer le numéro d’ID de votre projet en sélectionnant Accueil et Tableau de bord dans la console Google Cloud :

Volet de navigation de la console Google Cloud

Recherchez le numéro de projet sous la zone Informations sur le projet de l’écran.

Procédez comme suit pour ajouter le compte de service Cloud Build au VPC partagé :

  1. Dans la console Google Cloud, accédez au projet hôte, puis à IAM et admin > IAM.
  2. Sur la page Autorisations, sélectionnez AJOUTER pour ajouter un compte.
  3. Sur la page Add members, procédez comme suit :
    1. Dans le champ Nouveaux membres, tapez le nom du compte de service Cloud Build, puis sélectionnez votre compte de service dans le menu.
    2. Sélectionnez le champ Sélectionner un rôle, tapez Computer Network User, puis sélectionnez le rôle dans le menu.
    3. Sélectionnez Enregistrer.

Créer des règles de pare-feu

Dans le cadre du processus de création d’image principale, MCS copie l’image machine sélectionnée et l’utilise pour préparer le disque système d’image principale pour le catalogue. Pendant la création d’image principale, MCS attache le disque à une machine virtuelle temporaire, qui exécute ensuite des scripts de préparation. Cette machine virtuelle doit s’exécuter dans un environnement isolé qui interdit tout trafic réseau entrant et sortant. Pour créer un environnement isolé, MCS nécessite deux règles de pare-feu deny all (une règle d’entrée et une règle de sortie). Par conséquent, créez deux règles de pare-feu dans le projet hôte comme suit :

  1. Dans la console Google Cloud, accédez au projet hôte, puis à Réseau VPC > Pare-feu.
  2. Sur la page Pare-feu, sélectionnez Créer une règle de pare-feu.
  3. Sur la page Créer une règle de pare-feu, procédez comme suit :
    • Nom. Tapez un nom pour la règle.
    • Réseau. Sélectionnez le réseau VPC partagé auquel la règle de pare-feu d’entrée s’applique.
    • Priorité. Plus la valeur est petite, plus la priorité de la règle est élevée. Nous recommandons une valeur peu élevée (par exemple, 10).
    • Sens du trafic. Sélectionnez Entrée.
    • Action en cas de correspondance. Sélectionnez Refuser.
    • Cibles. Utilisez Tags cibles spécifiés par défaut.
    • Tags cibles. Tapez citrix-provisioning-quarantine-firewall.
    • Filtre source. Utilisez Plages d’adresses IP par défaut.
    • Plages d’adresses IP sources. Tapez une plage qui correspond à tout le trafic. Tapez 0.0.0.0/0.
    • Protocoles et ports. Sélectionnez Tout refuser.
  4. Sélectionnez CRÉER pour créer la règle.
  5. Répétez les étapes 1 à 4 pour créer une autre règle. Pour Sens du trafic, sélectionnez Sortie.

Ajouter une connexion

Ajoutez une connexion aux environnements Google Cloud. Consultez la section Ajouter une connexion.

Activer la sélection de zone

Citrix Virtual Apps and Desktops prend en charge la sélection de zone. Avec la sélection de zone, vous spécifiez les zones dans lesquelles vous souhaitez créer des machines virtuelles. Avec la sélection de zone, les administrateurs peuvent placer des nœuds locataires uniques sur les zones de leur choix. Pour configurer la location unique, vous devez procéder comme suit sur Google Cloud :

  • Réserver un nœud à locataire unique Google Cloud
  • Créer l’image principale du VDA

Réservation d’un nœud à locataire unique Google Cloud

Pour réserver un nœud à locataire unique, reportez-vous à la documentation Google Cloud.

Important :

Un modèle de nœud est utilisé pour indiquer les caractéristiques de performance du système réservé dans le groupe de nœuds. Ces caractéristiques incluent le nombre de vGPU, la quantité de mémoire allouée au nœud et le type de machine utilisé pour les machines créées sur le nœud. Pour plus d’informations, consultez la documentation Google Cloud.

Création de l’image principale du VDA

Pour déployer des machines sur le nœud à locataire unique, vous devez prendre des mesures supplémentaires lors de la création d’une image de machine virtuelle principale. Les instances de machine sur Google Cloud ont une propriété appelée libellés d’affinité de nœuds. Les instances utilisées comme images principales pour les catalogues déployés sur le nœud à locataire unique nécessitent un libellé d’affinité de nœuds correspondant au nom du groupe de nœuds cible. Pour ce faire, gardez à l’esprit ce qui suit :

Remarque :

Si vous avez l’intention d’utiliser la location unique avec un VPC partagé, reportez-vous à la section Cloud privé virtuel partagé.

Définir un libellé d’affinité de nœuds lors de la création d’une instance

Pour définir le libellé d’affinité de nœuds :

  1. Dans la console Google Cloud, accédez à Compute Engine > Instances de machine virtuelle.

  2. Sur la page Instances de machine virtuelle, sélectionnez Créer une instance.

  3. Sur la page Création d’instance, tapez ou configurez les informations requises, puis sélectionnez Gestion, sécurité, disques, mise en réseau et location unique pour ouvrir le panneau des paramètres.

  4. Sous l’onglet Location unique, sélectionnez Parcourir pour afficher les groupes de nœuds disponibles dans le projet en cours. La page Nœud à locataire unique s’affiche avec une liste des groupes de nœuds disponibles.

  5. Sur la page Nœud à locataire unique, sélectionnez le groupe de nœuds applicable dans la liste, puis sélectionnez Sélectionner pour revenir à l’onglet Locataire unique. Le champ de libellés d’affinité de nœuds renseigne les informations que vous avez sélectionnées. Ce paramètre garantit que les catalogues de machines créés à partir de l’instance seront déployés dans le groupe de nœuds sélectionné.

  6. Sélectionnez Créer pour créer l’instance.

Définir un libellé d’affinité de nœuds pour une instance existante

Pour définir le libellé d’affinité de nœuds :

  1. Dans la fenêtre du terminal Google Cloud Shell, utilisez la commande gcloud compute instances pour définir un libellé d’affinité de nœuds. Vous devez inclure les informations suivantes dans la commande gcloud :

    • Nom de la machine virtuelle. Par exemple, utilisez une machine virtuelle existante nommée s*2019-vda-base.*
    • Nom du groupe de nœuds. Utilisez le nom du groupe de nœuds que vous avez créé précédemment. Par exemple, mh-sole-tenant-node-group-1.
    • Zone dans laquelle réside l’instance. Par exemple, la machine virtuelle réside dans *us-east-1b* zone.

    Par exemple, tapez la commande suivante dans la fenêtre du terminal :

    • gcloud compute instances set-scheduling "s2019-vda-base" --node-group="mh-sole-tenant-node-group-1" --zone="us-east1-b"

    Pour plus d’informations sur la commande gcloud compute instances, consultez la documentation Google Developer Tools sur https://cloud.google.com/sdk/gcloud/reference/beta/compute/instances/set-scheduling.

  2. Accédez à la page Détails de l’instance de machine virtuelle et vérifiez que le champ Affinités des nœuds est rempli avec le libellé.

Créer un catalogue de machines

Après avoir défini le libellé d’affinité des nœuds, configurez le catalogue de machines.

Clés de chiffrement gérées par le client (CMEK)

Vous pouvez utiliser des clés de chiffrement gérées par le client (CMEK) pour les catalogues MCS. Lorsque vous utilisez cette fonctionnalité, vous attribuez le rôle CryptoKey Encrypter/Decrypter de Google Cloud Key Management Service à l’agent de service Compute Engine. Le compte Citrix Virtual Apps and Desktops doit disposer des autorisations correctes dans le projet où la clé est stockée. Pour plus d’informations, reportez-vous à la section Contribuer à la protection des ressources en utilisant des clés Cloud KMS.

Votre agent de service Compute Engine se présente sous la forme suivante : service-<Project _Number>@compute-system.iam.gserviceaccount.com. Ce formulaire est différent du compte de service Compute Engine par défaut.

Remarque :

Ce compte de service Compute Engine peut ne pas apparaître dans l’écran Autorisations IAM de Google Console. Dans ce cas, utilisez la commande gcloud décrite dans la section Contribuer à la protection des ressources en utilisant des clés Cloud KMS.

Attribuer des autorisations au compte Citrix Virtual Apps and Desktops

Les autorisations Google Cloud KMS peuvent être configurées de différentes manières. Vous pouvez fournir des autorisations KMS au niveau du projet ou des autorisations KMS au niveau des ressources. Pour plus d’informations, consultez la section Autorisations et rôles.

Autorisations au niveau du projet

L’une des options consiste à fournir au compte Citrix Virtual Apps and Desktops des autorisations au niveau du projet pour parcourir les ressources Cloud KMS. Pour ce faire, créez un rôle personnalisé et ajoutez les autorisations suivantes :

  • cloudkms.keyRings.list
  • cloudkms.keyRings.get
  • cloudkms.cryptokeys.list
  • cloudkms.cryptokeys.get

Attribuez ce rôle personnalisé à votre compte Citrix Virtual Apps and Desktops. Cela vous permet de parcourir les clés régionales du projet concerné dans l’inventaire.

Permissions au niveau des ressources

Pour l’autre option, les autorisations au niveau des ressources, dans la console Google Cloud, accédez à l’option cryptoKey que vous utilisez pour le provisioning MCS. Ajoutez le compte Citrix Virtual Apps and Desktops à un trousseau de clés ou à une clé que vous utilisez pour le provisionnement du catalogue.

Conseil :

Avec cette option, vous ne pouvez pas parcourir les clés régionales de votre projet dans l’inventaire car le compte Citrix Virtual Apps and Desktops ne dispose pas d’autorisations de liste au niveau du projet sur les ressources Cloud KMS. Toutefois, vous pouvez toujours provisionner un catalogue à l’aide de CMEK en spécifiant le bon cryptoKeyId dans les propriétés ProvScheme personnalisées, décrites ci-dessous.

Provisioning avec CMEK à l’aide de propriétés personnalisées

Lorsque vous créez votre schéma de provisioning via PowerShell, spécifiez une propriété CryptoKeyId dans ProvScheme CustomProperties. Par exemple :

'<CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <Property xsi:type="StringProperty" Name="CryptoKeyId" Value="<yourCryptoKeyId>" />
</CustomProperties>'
<!--NeedCopy-->

L’élément cryptoKeyId doit être au format suivant :

projectId:location:keyRingName:cryptoKeyName

Par exemple, si vous souhaitez utiliser la clé my-example-key du trousseau de clés my-example-key-ring dans la région us-east1 et le projet avec ID my-example-project-1, vos paramètres ProvScheme personnalisés ressembleraient à :

'<CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <Property xsi:type="StringProperty" Name="CryptoKeyId" Value="my-example-project-1:us-east1:my-example-key-ring:my-example-key" />
</CustomProperties>'
<!--NeedCopy-->

Tous les disques et images provisionnés avec MCS associés à ce schéma de provisioning utilisent cette clé de chiffrement gérée par le client.

Conseil :

Si vous utilisez des clés globales, l’emplacement des propriétés du client doit indiquer global et non le nom de la région, qui dans l’exemple ci-dessus est us-east1. Par exemple : <Property xsi:type="StringProperty" Name="CryptoKeyId" Value="my-example-project-1:global:my-example-key-ring:my-example-key" />.

Rotation des clés gérées par le client

Google Cloud ne prend pas en charge la rotation des clés sur des images ou des disques persistants existants. Une fois qu’une machine est provisionnée, elle est liée à la version clé utilisée au moment de sa création. Toutefois, une nouvelle version de la clé peut être créée et cette nouvelle clé est utilisée pour les machines ou les ressources nouvellement provisionnées créées lorsqu’un catalogue est mis à jour avec une nouvelle image principale.

Remarques importantes concernant les trousseaux de clés

Les trousseaux de clés ne peuvent pas être renommés ou supprimés. En outre, vous risquez d’entraîner des frais imprévus lors de leur configuration. Lorsque vous supprimez ou retirez un trousseau de clés, Google Cloud affiche un message d’erreur :

Sorry, you can't delete or rename keys or key rings. We were concerned about the security implications of allowing multiple keys or key versions over time to have the same resource name, so we decided to make names immutable. (And you can't delete them, because we wouldn't be able to do a true deletion--there would still have to be a tombstone tracking that this name had been used and couldn't be reused).
We're aware that this can make things untidy, but we have no immediate plans to change this.
If you want to avoid getting billed for a key or otherwise make it unavailable, you can do so by deleting all the key versions; neither keys nor key rings are billed for, just the active key versions within the keys.
<!--NeedCopy-->

Conseil :

Pour plus d’informations, consultez la section Modification ou suppression d’un trousseau de clés de la console.

Compatibilité de l’accès uniforme au niveau du bucket

Citrix Virtual Apps and Desktops est compatible avec la stratégie de contrôle Accès uniforme au niveau du bucket sur Google Cloud. Cette fonctionnalité augmente l’utilisation de la stratégie IAM qui accorde des autorisations à un compte de service pour permettre la manipulation des ressources, y compris des buckets de stockage. Avec le contrôle d’accès uniforme au niveau du bucket, Citrix Virtual Apps and Desktops vous permet d’utiliser une liste de contrôle d’accès (ACL) pour contrôler l’accès aux buckets de stockage ou aux objets qui y sont stockés. Consultez Accès uniforme au niveau du bucket pour obtenir des informations générales sur l’accès uniforme au niveau du bucket Google Cloud. Pour plus d’informations sur la configuration, voir Exiger un accès uniforme au niveau du bucket.

Créer un catalogue de machines à l’aide de PowerShell

Cette section explique comment créer des catalogues à l’aide de PowerShell :

Créer un catalogue avec disque de cache en écriture persistant

Pour configurer un catalogue avec un disque de cache en écriture différée persistant, utilisez le paramètre PowerShell New-ProvScheme CustomProperties.

Conseil :

Utilisez le paramètre PowerShell ici uniquement pour les connexions d’hébergement basées sur le cloud. Si vous souhaitez provisionner des machines à l’aide d’un disque de cache en écriture différée persistant pour une solution locale (par exemple, XenServer), PowerShell n’est pas nécessaire, car le disque persiste automatiquement.

Ce paramètre prend en charge une propriété supplémentaire, PersistWBC, utilisée pour déterminer la façon dont le disque de cache en réécriture persiste pour les machines provisionnées avec MCS. La propriété PersistWBC n’est utilisée que lorsque le paramètre UseWriteBackCache est spécifié et lorsque le paramètre WriteBackCacheDiskSize est défini pour indiquer qu’un disque est créé.

Remarque :

Ce comportement s’applique à Azure et GCP où le disque de cache en écriture MCSIO par défaut est supprimé et recréé lors du cycle d’alimentation. Vous pouvez choisir de persister le disque pour éviter la suppression et la recréation du disque de cache en réécriture MCSIO.

Lorsque la propriété PersistWBC est définie sur true, le disque de cache en réécriture n’est pas supprimé lorsque l’administrateur Citrix Virtual Apps and Desktops arrête la machine à l’aide de l’interface de gestion.

Lorsque la propriété PersistWBC est définie sur false, le disque de cache en réécriture est supprimé lorsque l’administrateur Citrix Virtual Apps and Desktops arrête la machine à l’aide de l’interface de gestion.

Remarque :

Si la propriété PersistWBC est omise, la propriété est false par défaut et le cache de réécriture est supprimé lors de l’arrêt de la machine à l’aide de l’interface de gestion.

Par exemple, utilisation du paramètre CustomProperties pour définir PersistWBC sur true :

<CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Property xsi:type="StringProperty" Name="UseManagedDisks" Value="true" />
<Property xsi:type="StringProperty" Name="StorageAccountType" Value="Premium_LRS" />
<Property xsi:type="StringProperty" Name="ResourceGroups" Value="benvaldev5RG3" />
<Property xsi:type="StringProperty" Name="PersistWBC" Value="true" />
</CustomProperties>
<!--NeedCopy-->

Remarque :

La propriété PersistWBC ne peut être définie qu’à l’aide de l’applet de commande PowerShell New-ProvScheme. La tentative de modification de CustomProperties pour un schéma de provisioning après la création n’a aucun impact sur le catalogue de machines et la persistance du disque de cache en réécriture lors de l’arrêt d’une machine.

Par exemple, définissez New-ProvScheme pour utiliser le cache en réécriture tout en définissant la propriété PersistWBC sur true :

New-ProvScheme
-CleanOnBoot
-CustomProperties "<CustomProperties xmlns=`"http://schemas.citrix.com/2014/xd/machinecreation`" xmlns:xsi=`"http://www.w3.org/2001/XMLSchema-instance`"><Property xsi:type=`"StringProperty`" Name=`"UseManagedDisks`" Value=`"true`" /><Property xsi:type=`"StringProperty`" Name=`"StorageAccountType`" Value=`"Premium_LRS`" /><Property xsi:type=`"StringProperty`" Name=`"ResourceGroups`" Value=`"benvaldev5RG3`" /><Property xsi:type=`"StringProperty`" Name=`"PersistWBC`" Value=`"true`" /></CustomProperties>"
-HostingUnitName "adSubnetScale1"
-IdentityPoolName "BV-WBC1-CAT1"
-MasterImageVM "XDHyp:\HostingUnits\adSubnetScale1\image.folder\GoldImages.resourcegroup\W10MCSIO-01_OsDisk_1_a940e6f5bab349019d57ccef65d2c7e3.manageddisk"
-NetworkMapping @{"0"="XDHyp:\HostingUnits\adSubnetScale1\virtualprivatecloud.folder\CloudScale02.resourcegroup\adVNET.virtualprivatecloud\adSubnetScale1.network"}
-ProvisioningSchemeName "BV-WBC1-CAT1"
-ServiceOffering "XDHyp:\HostingUnits\adSubnetScale1\serviceoffering.folder\Standard_D2s_v3.serviceoffering"
-UseWriteBackCache
-WriteBackCacheDiskSize 127
-WriteBackCacheMemorySize 256
<!--NeedCopy-->

Améliorer les performances de démarrage avec MCSIO

Vous pouvez améliorer les performances de démarrage des disques gérés par Azure et GCP lorsque MCSIO est activé. Utilisez la propriété personnalisée PersistOSDisk PowerShell dans la commande New-ProvScheme pour configurer cette fonctionnalité. Les options associées à New-ProvScheme incluent :

<CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Property xsi:type="StringProperty" Name="UseManagedDisks" Value="true" />
<Property xsi:type="StringProperty" Name="StorageAccountType" Value="Premium_LRS" />
<Property xsi:type="StringProperty" Name="Resource <!--NeedCopy-->
``````<!--NeedCopy-->
<!--NeedCopy-->
````````Groups" Value="benvaldev5RG3" />
<Property xsi:type="StringProperty" Name="PersistOsDisk" Value="true" />
</CustomProperties>
<!--NeedCopy-->

Pour activer cette fonctionnalité, définissez la propriété personnalisée PersistOSDisk sur true. Par exemple :

New-ProvScheme
-CleanOnBoot
-CustomProperties "<CustomProperties xmlns=`"http://schemas.citrix.com/2014/xd/machinecreation`" xmlns:xsi=`"http://www.w3.org/2001/XMLSchema-instance`"><Property xsi:type=`"StringProperty`" Name=`"UseManagedDisks`" Value=`"true`" /><Property xsi:type=`"StringProperty`" Name=`"StorageAccountType`" Value=`"Premium_LRS`" /><Property xsi:type=`"StringProperty`" Name=`"ResourceGroups`" Value=`"benvaldev5RG3`" /><Property xsi:type=`"StringProperty`" Name=`"PersistOsDisk`" Value=`"true`" /></CustomProperties>"
-HostingUnitName "adSubnetScale1"
-IdentityPoolName "BV-WBC1-CAT1"
-MasterImageVM "XDHyp:\HostingUnits\adSubnetScale1\image.folder\GoldImages.resourcegroup\W10MCSIO-01_OsDisk_1_a940e6f5bab349019d57ccef65d2c7e3.manageddisk"
-NetworkMapping @{"0"="XDHyp:\HostingUnits\adSubnetScale1\virtualprivatecloud.folder\CloudScale02.resourcegroup\adVNET.virtualprivatecloud\adSubnetScale1.network"}
-ProvisioningSchemeName "BV-WBC1-CAT1"
-ServiceOffering "XDHyp:\HostingUnits\adSubnetScale1\serviceoffering.folder\Standard_D2s_v3.serviceoffering"
-UseWriteBackCache
-WriteBackCacheDiskSize 127
-WriteBackCacheMemorySize 256
<!--NeedCopy-->

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

Lorsque vous créez un catalogue pour provisionner des machines à l’aide de Machine Creation Services (MCS), vous pouvez utiliser un profil de machine pour capturer les propriétés matérielles d’une machine virtuelle et les appliquer aux machines virtuelles nouvellement provisionnées dans le catalogue. Lorsque le paramètre MachineProfile n’est pas utilisé, les propriétés matérielles sont capturées à partir de la machine virtuelle ou de l’instantané de l’image principale. Certaines propriétés que vous définissez explicitement, par exemple StorageType, CatalogZones et CryptoKeyIs, ne sont pas prises en compte dans le profil de machine.

  • Pour créer un catalogue avec un profil de machine, utilisez la commande New-ProvScheme. Par exemple, New-ProvScheme –MachineProfile "path to VM". Si vous ne spécifiez pas le paramètre MachineProfile, les propriétés matérielles sont capturées à partir de la machine virtuelle de l’image principale.
  • Pour mettre à jour un catalogue avec un nouveau profil de machine, utilisez la commande Set-ProvScheme. Par exemple, Set-ProvScheme –MachineProfile "path to new VM". Cette commande ne modifie pas le profil de machine des machines virtuelles existantes dans le catalogue. Seules les machines virtuelles nouvellement créées ajoutées au catalogue ont le nouveau profil de machine.
  • Vous pouvez également mettre à jour l’image principale, mais lorsque vous mettez à jour l’image principale, les propriétés matérielles ne sont pas mises à jour. Si vous souhaitez mettre à jour les propriétés matérielles, vous devez mettre à jour le profil de machine à l’aide de la commande Set-ProvScheme. Ces modifications ne s’appliqueront qu’aux nouvelles machines du catalogue. Pour mettre à jour les propriétés matérielles d’une machine existante, vous pouvez utiliser la commande Set-ProvVMUpdateTimeWindow avec les paramètres -StartsNow et -DurationInMinutes -1.

    Remarque :

    • StartsNow indique que l’heure de démarrage planifiée est l’heure actuelle.
    • DurationInMinutes avec un nombre négatif (par exemple, —1) indique qu’il n’y a pas de limite supérieure dans le créneau planifié.

Créer un catalogue de machines avec un profil de machine en tant que modèle d’instance

Vous pouvez sélectionner un modèle d’instance GCP comme entrée pour le profil de la machine. Les modèles d’instance sont des ressources légères dans GCP et sont donc très rentables.

Créer un nouveau catalogue de machines avec un profil de machine en tant que modèle d’instance

  1. Ouvrez une fenêtre PowerShell.
  2. Exécutez asnp citrix* pour charger des modules PowerShell propres à Citrix.
  3. Recherchez un modèle d’instance dans votre projet GCP à l’aide de la commande suivante :

    cd XDHyp:\HostingUnits<HostingUnitName>\instanceTemplates.folder
    <!--NeedCopy-->
    
  4. Créez un nouveau catalogue de machines avec un profil de machine en tant que modèle d’instance à l’aide de la commande NewProvScheme :

    New-ProvScheme -ProvisioningSchemeName <CatalogName>  -HostingUnitName <HostingUnitName> -IdentityPoolName <identity pool name> -MasterImageVM
    XDHyp:\HostingUnits<HostingUnitName> \Base.vm\Base.snapshot -MachineProfile XDHyp:\HostingUnits<HostingUnitName>\instanceTemplates.folder\mytemplate.template
    <!--NeedCopy-->
    

    Pour plus d’informations sur la commande New-ProvScheme, consultez https://developer-docs.citrix.com/projects/citrix-daas-sdk/en/latest/MachineCreation/New-ProvScheme/.

  5. Terminez la création du catalogue de machines à l’aide des commandes PowerShell. Pour plus d’informations sur la création d’un catalogue à l’aide du SDK Remote PowerShell, consultez https://developer-docs.citrix.com/projects/citrix-virtual-apps-desktops-sdk/en/latest/creating-a-catalog/.

Modifier le profil de machine d’un catalogue de machines existant afin qu’il devienne un modèle d’instance

Les étapes détaillées pour modifier le profil de machine d’un catalogue de machines existant afin qu’il devienne un modèle d’instance sont les suivantes :

  1. Ouvrez une fenêtre PowerShell.
  2. Exécutez asnp citrix* pour charger des modules PowerShell propres à Citrix.
  3. Exécutez la commande suivante :

    Set-ProvScheme -ProvisioningSchemeName  <CatalogName> -MachineProfile XDHyp:\HostingUnits<HostingUnitName>\instanceTemplates.folder<TemplateName>.template
    <!--NeedCopy-->
    

    Pour plus d’informations sur la commande Set-ProvScheme, consultez https://developer-docs.citrix.com/projects/citrix-daas-sdk/en/latest/MachineCreation/Set-ProvScheme/.

Utiliser PowerShell pour créer un catalogue avec machine virtuelle protégée

Vous pouvez créer un catalogue de machines MCS avec des propriétés de machine virtuelle protégée. Une machine virtuelle protégée est renforcée par un ensemble de contrôles de sécurité qui fournissent une intégrité vérifiable de vos instances Compute Engine, en utilisant des fonctionnalités avancées de sécurité de plate-forme telles que le démarrage sécurisé, un module de plate-forme virtuelle de confiance, un microprogramme UEFI et la surveillance de l’intégrité.

MCS prend en charge la création du catalogue à l’aide du workflow de profil de machine. Si vous utilisez un workflow de profil de machine, vous devez activer les propriétés de machine virtuelle protégée d’une instance de machine virtuelle. Vous pouvez ensuite utiliser cette instance de machine virtuelle comme entrée de profil de machine.

Pour créer un catalogue de machines MCS avec machine virtuelle protégée à l’aide du workflow de profil de machine :

  1. Activez les options de machine virtuelle protégée d’une instance de machine virtuelle dans la console Google Cloud. Consultez Guide de démarrage rapide : activer les options de machine virtuelle protégée.
  2. Créez un catalogue de machines MCS avec un workflow de profil de machine à l’aide de l’instance de machine virtuelle.

    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éé.
    4. Exécutez la commande New-ProvScheme. Par exemple :

      New-ProvScheme -ProvisioningSchemeName <catalog-name>
      -HostingUnitName gcp-hostint-unit
      -MasterImageVM XDHyp:\HostingUnits\gcp-hostint-unit\catalog-vda.vm
      -MachineProfile XDHyp:\HostingUnits\gcp-hostint-unit\catalog-machine.vm
      <!--NeedCopy-->
      
  3. Terminez la création du catalogue de machines.

Pour mettre à jour le catalogue de machines avec un nouveau profil de machine :

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

    Set-ProvScheme -ProvisioningSchemeName <catalog-name>
    -MasterImageVM XDHyp:\HostingUnits<hostin-unit>\catalog-vda.vm
    -MachineProfile "DHyp:\HostingUnits<hostin-unit>\catalog-machine.vm
    <!--NeedCopy-->
    

Pour appliquer la modification effectuée dans Set-ProvScheme aux machines virtuelles existantes, exécutez la commande Set-ProvVMUpdateTimeWindow.

  1. Exécutez la commande Set-ProvVMUpdateTimeWindow. Par exemple :

    Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName my-catalog -VMName <List-Of-Vm-Names> -StartsNow -DurationInMinutes -1
    <!--NeedCopy-->
    
  2. Redémarrez les machines virtuelles.

Google Cloud Marketplace

Vous pouvez parcourir et sélectionner les images proposées par Citrix sur Google Cloud Marketplace pour créer des catalogues de machines. Actuellement, MCS prend uniquement en charge le workflow de profil de machine pour cette fonctionnalité.

Pour rechercher un produit Citrix VDA machine virtuelle via Google Cloud Marketplace, accédez à https://console.cloud.google.com/marketplace.

Vous pouvez utiliser une image personnalisée ou une image Citrix Ready sur Google Cloud Marketplace pour mettre à jour l’image d’un catalogue de machines.

Remarque :

Si le profil de la machine ne contient pas d’informations sur le type de stockage, la valeur est dérivée de propriétés personnalisées.

Les images prises en charge par Google Cloud Marketplace sont les suivantes :

  • Windows 2019 mono-session
  • Windows 2019 multi-session
  • Ubuntu

Exemple d’utilisation d’une image Citrix comme source pour créer un catalogue de machines :

New-ProvScheme -ProvisioningSchemeName GCPCatalog \
-HostingUnitName GcpHu -IdentityPoolName gcpPool -CleanOnBoot \
-MasterImageVM XDHyp:\HostingUnits\GcpHu\images.folder\citrix-daas-win2019-single-vda-v20220819.publicimage \
-MachineProfile XDHyp:\HostingUnits\GcpHu\Base.vm
<!--NeedCopy-->

Autres ressources

Informations supplémentaires