Citrix Virtual Apps and Desktops

Environnements de cloud Microsoft Azure Resource Manager

Suivez les instructions dans cet article si vous utilisez Microsoft Azure Resource Manager pour provisionner des machines virtuelles dans votre déploiement Citrix Virtual Apps and Desktops.

Nous supposons que vous connaissez les solutions suivantes :

Provisioning à la demande d’Azure

Avec le provisioning à la demande d’Azure, les VM sont créées uniquement lorsque Citrix Virtual Apps and Desktops initie une action d’alimentation, une fois que le provisioning est terminé.

Lorsque vous utilisez MCS pour créer des catalogues de machines dans Azure Resource Manager, la fonctionnalité de provisioning à la demande d’Azure :

  • Réduit vos coûts de stockage
  • Accélère la création de catalogues

Lorsque vous créez un catalogue MCS, le portail Azure affiche le groupe de sécurité réseau, les interfaces réseau, les images de base et les disques d’identité dans les groupes de ressources.

Le portail Azure n’affiche pas la VM tant que Citrix Virtual Apps and Desktops n’a pas initié une action d’alimentation pour celle-ci. Il existe deux types de machines présentant les différences suivantes :

  • Pour une machine regroupée, le disque du système d’exploitation et le cache en écriture différée existent uniquement lorsque la VM existe. Lorsque vous arrêtez une machine groupée dans la console, la machine virtuelle n’est pas visible dans le portail Azure. Cela peut entraîner des économies de stockage significatives si vous arrêtez régulièrement les machines (par exemple, en dehors des heures de travail).
  • Pour une machine dédiée, le disque du système d’exploitation est créé la première fois que la VM est démarrée. La machine virtuelle du portail Azure reste dans le stockage jusqu’à ce que l’identité de la machine soit supprimée. Lorsque vous arrêtez une machine dédiée dans la console, la machine virtuelle reste visible dans le portail Azure.

Connexion à Azure Resource Manager

La section Connexions et ressources décrit les assistants qui créent une connexion. Les informations suivantes traitent d’informations spécifiques aux connexions de Azure Resource Manager.

Notions importantes :

  • Citrix recommande d’utiliser le principal du service avec un rôle de contributeur. Consultez toutefois la section Autorisations minimales pour obtenir la liste des autorisations minimales.
  • Lorsque vous créez la première connexion, Azure vous invite à leur accorder les autorisations nécessaires. Vous devrez toujours vous authentifier pour les futures connexions, mais Azure mémorise votre accord préalable et n’affiche plus l’invite.
  • Les comptes utilisés pour l’authentification doivent être des co-administrateurs de l’abonnement.
  • Le compte utilisé pour l’authentification doit être un membre du répertoire de l’abonnement. Il existe deux types de comptes : « Professionnel ou école » et « compte Microsoft personnel ». Voir CTX219211 pour plus de détails.
  • Bien que vous puissiez utiliser un compte Microsoft existant en l’ajoutant en tant que membre du répertoire de l’abonnement, cela peut entraîner des complications si un accès invité à l’une des ressources du répertoire a précédemment été accordé à l’utilisateur. Dans ce cas, le répertoire peut contenir une entrée fictive qui ne lui accorde pas les autorisations nécessaires, et une erreur est renvoyée.

    Corrigez cela en supprimant les ressources du répertoire et en les rajoutant explicitement. Soyez toutefois prudent, car cela a des effets indésirables sur d’autres ressources auxquelles ce compte peut accéder.

  • Il existe un problème connu dans lequel certains comptes sont détectés en tant qu’invités du répertoire alors qu’ils en sont membres. Des configurations comme celle-ci se produisent généralement avec d’anciens comptes de répertoire établis. Solution : ajoutez un compte au répertoire, qui prend la valeur d’appartenance appropriée.
  • Les groupes de ressources sont des conteneurs de ressources qui peuvent contenir des ressources provenant de régions autres que leur propre région. Cela peut porter à confusion si vous vous attendez à ce que les ressources affichées dans la région d’un groupe de ressources soient disponibles.
  • Assurez-vous que votre réseau et sous-réseau sont suffisamment grands pour héberger le nombre de machines dont vous avez besoin. Cela nécessite une démarche prospective, mais Microsoft vous permet de spécifier les valeurs correctes, en fournissant des conseils sur la capacité de l’espace d’adressage.

Vous pouvez établir une connexion hôte à Azure de deux manières :

  • S’authentifier auprès d’Azure pour créer un principal de service
  • Utiliser les détails d’un principal de service créé précédemment pour se connecter à Azure

Créer un principal de service

Important :

Cette fonctionnalité n’est pas encore disponible pour les abonnements Azure Chine et Azure Allemagne.

Avant de commencer, authentifiez-vous auprès d’Azure. Assurez-vous que :

  • Vous disposez d’un compte utilisateur dans le locataire Azure Active Directory de votre abonnement.
  • Le compte d’utilisateur Azure AD est également un co-administrateur pour l’abonnement Azure que vous utiliserez pour les ressources de provisioning.
  • L’authentification nécessite des autorisations d’administrateur globales.

Lorsque vous vous authentifiez auprès d’Azure pour créer un principal de service, une application est enregistrée dans Azure. Une clé secrète (secret du client) est créée pour l’application enregistrée. L’application enregistrée utilise la clé pour s’authentifier auprès d’Azure AD. Veillez à modifier le secret client avant qu’il n’expire. Vous recevez une alerte sur la console avant l’expiration de la clé secrète.

Pour vous authentifier auprès d’Azure afin de créer un principal de service, procédez comme suit dans l’assistant Ajouter une connexion et des ressources :

  1. Sur la page Connexion, sélectionnez Créer une connexion, le type de connexion Microsoft Azure et votre environnement Azure.

  2. Sélectionnez les outils à utiliser pour créer les machines virtuelles, puis cliquez sur Suivant.

  3. Sur la page Détails de la connexion, entrez votre ID d’abonnement Azure et un nom pour la connexion. Lorsque vous entrez l’ID d’abonnement, le bouton Créer nouveau est activé.

    Remarque :

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

  4. Sélectionnez Créer, puis entrez le nom d’utilisateur et le mot de passe du compte Azure Active Directory.

  5. Sélectionnez Se connecter.

  6. Sélectionnez Accepter pour donner à Citrix Virtual Apps and Desktops les autorisations répertoriées. Citrix Virtual Apps and Desktops crée un principal de service qui lui permet de gérer les ressources Azure pour le compte d’utilisateur spécifié.

  7. Une fois que vous avez sélectionné Accepter, vous revenez à la page Connexion de l’assistant.

    Remarque :

    Une fois que vous vous êtes authentifié auprès d’Azure, les boutons Créer et Utiliser existant disparaissent. Le texte Connexion établie avec succès apparaît, avec une coche verte indiquant la connexion réussie à votre abonnement Azure.

  8. Sur la page Détails de la connexion, sélectionnez Suivant.

    Remarque :

    Vous ne pouvez pas passer à la page suivante tant que vous ne vous êtes pas correctement authentifié auprès d’Azure et n’avez pas consenti à accorder les autorisations requises.

  9. Configurez les ressources pour la connexion. Les ressources comprennent la région et le réseau.

    • Sur la page Région, sélectionnez une région.
    • Sur la page Réseau, procédez comme suit :
      • tapez un nom de ressource comportant entre 1 et 64 caractères pour vous aider à identifier la combinaison région/réseau. Un nom de ressource ne peut contenir que des espaces vides ni les caractères \/;:#.*?=<>|[]{}"'()'.
      • Sélectionnez une paire réseau virtuel/groupe de ressources (si vous avez plusieurs réseaux virtuels avec le même nom, le couplage du nom du réseau avec le groupe de ressources fournit des combinaisons uniques). Si la région que vous avez sélectionnée sur la page précédente ne dispose pas de réseaux virtuels, retournez à cette page et sélectionnez une région contenant des réseaux virtuels.
  10. Sur la page Résumé, affichez un résumé des paramètres et sélectionnez Terminer pour terminer votre configuration.

Utiliser les détails d’un principal de service créé précédemment pour se connecter à Azure

Pour créer un principal de service manuellement, connectez-vous à votre abonnement Azure Resource Manager et utilisez les applets de commande PowerShell fournies dans les sections suivantes.

Pré-requis :

  • SubscriptionId : SubscriptionID Azure Resource Manager pour l’abonnement sur lequel vous souhaitez provisionner les VDA.
  • ActiveDirectoryID : ID de locataire de l’application que vous avez enregistrée auprès d’Azure AD.
  • ApplicationName : nom de l’application à créer dans Azure AD.
  • ApplicationPassword : mot de passe de l’application. Vous utilisez ce mot de passe comme secret d’application lors de la création de la connexion hôte.

Pour créer un principal de service :

  1. Connectez-vous à votre abonnement Azure Resource Manager.

    Connect-AzAccount

  2. Sélectionnez l’abonnement Azure Resource Manager sur lequel vous souhaitez créer le principal de service.

    Select-AzSubscription -SubscriptionID $SubscriptionId

  3. Créez l’application dans votre locataire AD.

    $AzureADApplication = New-AzADApplication -DisplayName $ApplicationName -HomePage "https://localhost/$ApplicationName" -IdentifierUris https://$ApplicationName -Password $ApplicationPassword

  4. Créez un principal de service.

    New-AzADServicePrincipal -ApplicationId $AzureADApplication.ApplicationId

  5. Attribuez un rôle au principal de service.

    New-AzRoleAssignment -RoleDefinitionName Contributor -ServicePrincipalName $AzureADApplication.ApplicationId –scope /subscriptions/$SubscriptionId

  6. Dans la sortie de la fenêtre de la console PowerShell, notez la valeur ApplicationId. Vous fournissez cet ID lors de la création de la connexion hôte.

Dans l’assistant Ajouter une connexion et des ressources :

  1. Sur la page Connexion, sélectionnez Créer une connexion, le type de connexion Microsoft Azure et votre environnement Azure.

  2. Sélectionnez les outils à utiliser pour créer les machines virtuelles, puis cliquez sur Suivant.

  3. Sur la page Détails de la connexion, entrez votre ID d’abonnement Azure et un nom pour la connexion.

    Remarque :

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

  4. Sélectionnez Utiliser existant. Dans la fenêtre Détails du principal de service existant, entrez les paramètres suivants pour le principal de service existant. Une fois que vous avez saisi les détails, le bouton Enregistrer est activé. Sélectionnez Enregistrer. Vous ne pouvez pas avancer au-delà de cette page tant que vous n’avez pas fourni de détails valides.

    • ID d’abonnement. Saisissez votre identifiant d’abonnement Azure. Pour obtenir votre ID d’abonnement, connectez-vous au portail Azure et accédez à Abonnements > Vue d’ensemble.
    • ID Active Directory (ID du locataire). Entrez l’ID du répertoire (locataire) de l’application que vous avez enregistrée auprès d’Azure AD.
    • ID de l’application. Entrez l’ID d’application (client) de l’application que vous avez enregistrée auprès d’Azure AD.
    • Secret d’application. Créez une clé secrète (secret client). L’application enregistrée utilise la clé pour s’authentifier auprès d’Azure AD. Nous vous recommandons de modifier régulièrement les clés pour des raisons de sécurité. Assurez-vous d’enregistrer la clé car vous ne pouvez pas la récupérer ultérieurement.
    • Date d’expiration du secret. Entrez la date après laquelle le secret d’application expire. Vous recevez une alerte sur la console avant l’expiration de la clé secrète. Toutefois, si la clé secrète expire, des erreurs s’affichent.

      Remarque :

      Pour des raisons de sécurité, la période d’expiration ne peut pas dépasser deux ans.

    • URL d’authentification. Ce champ est automatiquement renseigné et n’est pas modifiable.
    • URL de gestion. Ce champ est automatiquement renseigné et n’est pas modifiable.
    • Suffixe de stockage. Ce champ est automatiquement renseigné et n’est pas modifiable.
  5. Après avoir sélectionné Enregistrer, vous revenez à la page Détails de la connexion . Sélectionnez Suivant pour passer à la page suivante.

  6. Configurez les ressources pour la connexion. Les ressources comprennent la région et le réseau.

    • Sur la page Région, sélectionnez une région.
    • Sur la page Réseau, procédez comme suit :
      • tapez un nom de ressource comportant entre 1 et 64 caractères pour vous aider à identifier la combinaison région/réseau. Un nom de ressource ne peut contenir que des espaces vides ni les caractères \/;:#.*?=<>|[]{}"'()'.
      • Sélectionnez une paire réseau virtuel/groupe de ressources (si vous avez plusieurs réseaux virtuels avec le même nom, le couplage du nom du réseau avec le groupe de ressources fournit des combinaisons uniques). Si la région que vous avez sélectionnée sur la page précédente ne dispose pas de réseaux virtuels, retournez à cette page et sélectionnez une région contenant des réseaux virtuels.
  7. Sur la page Résumé, affichez un résumé des paramètres et sélectionnez Terminer pour terminer votre configuration.

Créer un catalogue de machines à l’aide d’une image Azure Resource Manager

Une image est le modèle qui est utilisé pour créer les machines virtuelles dans un catalogue de machines. Avant de créer le catalogue de machines, créez une image dans Azure Resource Manager. Pour obtenir des informations générales sur les images, consultez la rubrique Créer des catalogues de machines.

L’utilisation d’un profil de machine avec lancement fiable comme type de sécurité est obligatoire lorsque vous sélectionnez une image ou un instantané pour lequel le lancement fiable est activé. Vous pouvez ensuite activer ou désactiver SecureBoot et vTPM en spécifiant leurs valeurs dans le profil de la machine. Le lancement fiable n’est pas pris en charge pour Shared Image Gallery. Pour plus d’informations sur le lancement fiable Azure, consultez Lancement fiable pour les machines virtuelles Azure.

Le catalogue de machines utilise les propriétés suivantes qui sont définies dans les propriétés personnalisées :

  • Zone de disponibilité
  • ID de groupe d’hôtes dédié
  • ID de jeu de chiffrement de disque
  • Type d’OS
  • Type de licence
  • Type de stockage

Si ces propriétés personnalisées ne sont pas définies explicitement, les valeurs de propriété sont définies à partir de la spécification du modèle ARM ou de la machine virtuelle, selon celle qui est utilisée comme profil de machine. De plus, si ServiceOffering n’est pas spécifié, il sera défini à partir du profil de la machine.

Remarque :

Si certaines propriétés sont absentes du profil de la machine et ne sont pas définies dans les propriétés personnalisées, les valeurs par défaut de ces propriétés sont appliquées le cas échéant.

La section suivante décrit certains scénarios New-ProvScheme et Set-ProvScheme lorsque toutes les propriétés sont définies pour CustomProperties ou que les valeurs sont dérivées de MachineProfile.

Scénarios New-ProvScheme

  • MachineProfile a toutes les propriétés et les propriétés CustomProperties ne sont pas définies. Exemple :

    New-ProvScheme -MachineProfile "XDHyp:\HostingUnits\azureunit\machineprofile.folder\azure.resourcegroup\mpA.vm"

    Les valeurs suivantes sont définies en tant que propriétés personnalisées pour le catalogue :

     Get-ProvScheme | select CustomProperties
     <CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
     <Property xsi:type="StringProperty" Name="StorageAccountType" Value="<mpA-value>"/>
     <Property xsi:type="StringProperty" Name="OSType" Value="<mpA-value>"/>
     <Property xsi:type="StringProperty" Name="LicenseType" Value="<mpA-value>"/>
     <Property xsi:type="StringProperty" Name="DiskEncryptionSetId" Value="<mpA-value>"/>
     <Property xsi:type="StringProperty" Name="DedicatedHostGroupId" Value="<mpA-value>"/>
     <Property xsi:type="StringProperty" Name="Zones" Value="<mpA-value>"/>
     </CustomProperties>
     <!--NeedCopy-->
    
  • MachineProfile a certaines propriétés et les propriétés CustomProperties ne sont pas définies. Exemple : MachineProfile a uniquement LicenseType et OSType.

    New-ProvScheme -MachineProfile "XDHyp:\HostingUnits\azureunit\machineprofile.folder\azure.resourcegroup\mpA.vm"

    Les valeurs suivantes sont définies en tant que propriétés personnalisées pour le catalogue :

     Get-ProvScheme | select CustomProperties
     <CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
     <Property xsi:type="StringProperty" Name="OSType" Value="<mpA-value>"/>
     <Property xsi:type="StringProperty" Name="LicenseType" Value="<mpA-value>"/>
     </CustomProperties>
     <!--NeedCopy-->
    
  • MachineProfile et CustomProperties définissent toutes les propriétés. Exemple :

    New-ProvScheme -MachineProfile "XDHyp:\HostingUnits\azureunit\machineprofile.folder\azure.resourcegroup\mpA.vm" -CustomProperties $CustomPropertiesA

    Les propriétés personnalisées sont prioritaires. Les valeurs suivantes sont définies en tant que propriétés personnalisées pour le catalogue :

     Get-ProvScheme | select CustomProperties
     <CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
     <Property xsi:type="StringProperty" Name="StorageAccountType" Value="<CustomPropertiesA-value>"/>
     <Property xsi:type="StringProperty" Name="OSType" Value="<CustomPropertiesA-value>"/>
     <Property xsi:type="StringProperty" Name="LicenseType" Value="<CustomPropertiesA-value>"/>
     <Property xsi:type="StringProperty" Name="DiskEncryptionSetId" Value="<CustomPropertiesA-value>"/>
     <Property xsi:type="StringProperty" Name="DedicatedHostGroupId" Value="<CustomPropertiesA-value>"/>
     <Property xsi:type="StringProperty" Name="Zones" Value="<CustomPropertiesA-value>"/>
     </CustomProperties>
     <!--NeedCopy-->
    
  • Certaines propriétés sont définies dans MachineProfile et certaines sont définies dans CustomProperties. Exemple :
    • CustomProperties définit LicenseType et StorageAccountType
    • MachineProfile définit LicenseType, OSType et Zones

    New-ProvScheme -MachineProfile "XDHyp:\HostingUnits\azureunit\machineprofile.folder\azure.resourcegroup\mpA.vm" -CustomProperties $CustomPropertiesA

    Les valeurs suivantes sont définies en tant que propriétés personnalisées pour le catalogue :

     Get-ProvScheme | select CustomProperties
     <CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
     <Property xsi:type="StringProperty" Name="StorageAccountType" Value="<CustomPropertiesA-value>"/>
     <Property xsi:type="StringProperty" Name="OSType" Value="<mpA-value>"/>
     <Property xsi:type="StringProperty" Name="LicenseType" Value="<CustomPropertiesA-value>"/>
     <Property xsi:type="StringProperty" Name="Zones" Value="<mpA-value>"/>
     </CustomProperties>
     <!--NeedCopy-->
    
  • Certaines propriétés sont définies dans MachineProfile et certaines sont définies dans CustomProperties. ServiceOffering n’est pas défini. Exemple :

    • CustomProperties définit StorageType
    • MachineProfile définit LicenseType
     New-ProvScheme -MachineProfile "XDHyp:\HostingUnits\azureunit\machineprofile.folder\azure.resourcegroup\mp.vm"
     -ServiceOffering "XDHyp:\HostingUnits\azureunit\serviceoffering.folder<explicit-machine-size>.serviceoffering"
     <!--NeedCopy-->
    

    Les valeurs suivantes sont définies en tant que propriétés personnalisées pour le catalogue :

     Get-ProvScheme | select ServiceOffering
     serviceoffering.folder<explicit-machine-size>.serviceoffering
    
     Get-ProvScheme | select CustomProperties
     <CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
     <Property xsi:type="StringProperty" Name="StorageAccountType" Value="explicit-storage-type"/>
     <Property xsi:type="StringProperty" Name="LicenseType" Value="value-from-machineprofile"/>
     </CustomProperties>
     <!--NeedCopy-->
    
  • Si OSType ne figure ni dans CustomProperties ni dans MachineProfile, alors :
    • La valeur est lue à partir de l’image principale.
    • Si l’image principale est un disque non géré, OSType est défini sur Windows.

    Exemple :

    New-ProvScheme -MachineProfile "XDHyp:\HostingUnits\azureunit\machineprofile.folder\azure.resourcegroup\mpA.vm" -MasterImageVM "XDHyp:\HostingUnits\azureunit\image.folder\linux-master-image.manageddisk"

    La valeur de l’image principale est écrite dans les propriétés personnalisées, dans ce cas Linux.

     Get-ProvScheme | select CustomProperties
    <CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
     <Property xsi:type="StringProperty" Name="OSType" Value="Linux"/>
     </CustomProperties>
     <!--NeedCopy-->
    

Scénarios Set-ProvScheme

  • Un catalogue existant avec :
    • CustomProperties pour StorageAccountType et OSType
    • MachineProfile mpA.vm qui définit les zones

    Mises à jour :

    • MachineProfile mpB.vm qui définit StorageAccountType
    • Un nouveau jeu de propriétés personnalisées $CustomPropertiesB qui définit LicenseType et OSType

    Set-ProvScheme -MachineProfile "XDHyp:\HostingUnits\azureunit\machineprofile.folder\azure.resourcegroup\mpB.vm" -CustomProperties $CustomPropertiesB

    Les valeurs suivantes sont définies en tant que propriétés personnalisées pour le catalogue :

     Get-ProvScheme | select CustomProperties
     <CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
     <Property xsi:type="StringProperty" Name="StorageAccountType" Value="<mpB-value>"/>
     <Property xsi:type="StringProperty" Name="OSType" Value="<CustomPropertiesB-value>"/>
     <Property xsi:type="StringProperty" Name="LicenseType" Value="<CustomPropertiesB-value>"/>
     </CustomProperties>
     <!--NeedCopy-->
    
  • Un catalogue existant avec :
    • CustomProperties pour StorageAccountType et OSType
    • MachineProfile mpA.vm qui définit StorageAccountType et LicenseType

    Mises à jour :

    • Un nouveau jeu de propriétés personnalisées $CustomPropertiesB qui définit StorageAccountType et OSType

    Set-ProvScheme -CustomProperties $CustomPropertiesB

    Les valeurs suivantes sont définies en tant que propriétés personnalisées pour le catalogue :

     Get-ProvScheme | select CustomProperties
     <CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
     <Property xsi:type="StringProperty" Name="StorageAccountType" Value="<CustomPropertiesB-value>"/>
     <Property xsi:type="StringProperty" Name="OSType" Value="<CustomPropertiesB-value>"/>
     <Property xsi:type="StringProperty" Name="LicenseType" Value="<mp-A-value>"/>
     </CustomProperties>
     <!--NeedCopy-->
    
  • Un catalogue existant avec :
    • CustomProperties pour StorageAccountType et OSType
    • MachineProfile mpA.vm qui définit les zones

    Mises à jour :

    • MachineProfile mpB.vm qui définit StorageAccountType et LicenseType
    • ServiceOffering n’est pas spécifié

    Set-ProvScheme -MachineProfile "XDHyp:\HostingUnits\azureunit\machineprofile.folder\azure.resourcegroup\mpB.vm"

    Les valeurs suivantes sont définies en tant que propriétés personnalisées pour le catalogue :

     Get-ProvScheme | select ServiceOffering
     serviceoffering.folder<value-from-machineprofile>.serviceoffering
    
     Get-ProvScheme | select CustomProperties
     <CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
     <Property xsi:type="StringProperty" Name="StorageAccountType" Value="<mpB-value>"/>
     <Property xsi:type="StringProperty" Name="OSType" Value="<prior-CustomProperties-value>"/>
     <Property xsi:type="StringProperty" Name="LicenseType" Value="<mpB-value>"/>
     </CustomProperties>
     <!--NeedCopy-->
    

Limitation Azure

Azure Resource Manager limite les demandes d’abonnements et de locataires, en acheminant le trafic en fonction de limites définies, adaptées aux besoins spécifiques du fournisseur. Pour plus d’informations, consultez la section Limitation des demandes Resource Manager sur le site Microsoft. Il existe des limites pour les abonnements et les locataires, où la gestion de nombreuses machines peut devenir problématique. Par exemple, un abonnement contenant un grand nombre de machines peut rencontrer des problèmes de performances liés aux opérations d’alimentation.

Conseil :

Pour plus d’informations, consultez la section Amélioration des performances Azure avec Machine Creation Services.

Pour aider à atténuer ces problèmes, vous pouvez supprimer la limitation interne de MCS pour utiliser une plus grande partie du quota de demandes disponible d’Azure.

Nous recommandons les paramètres optimaux suivants lors de la mise hors/sous tension de machines virtuelles dans les abonnements volumineux, par exemple ceux contenant 1,000 machines virtuelles :

  • Opérations simultanées absolues : 500
  • Nombre maximal de nouvelles opérations par minute : 2000
  • Nombre maximal d’opérations simultanées : 500

MCS prend en charge 500 opérations simultanées maximum par défaut. Vous pouvez également utiliser le SDK Remote PowerShell distant pour définir le nombre maximal d’opérations simultanées.

Utilisez la propriété PowerShell, MaximumConcurrentProvisioningOperations, pour spécifier le nombre maximal d’opérations de provisioning Azure simultanées. Lorsque vous utilisez cette propriété, prenez en compte des éléments suivants :

  • La valeur par défaut de MaximumConcurrentProvisioningOperations est 500.
  • Configurez le paramètre MaximumConcurrentProvisioningOperations à l’aide de la commande PowerShell Set-item.

Groupes de ressources Azure

Les groupes de ressources de provisioning d’Azure permettent de provisionner les VM qui fournissent des applications et bureaux aux utilisateurs. Vous pouvez ajouter des groupes de ressources Azure vides existants lorsque vous créez un catalogue de machines MCS, ou ils peuvent être créés pour vous. Pour plus d’informations sur les groupes de ressources Azure, consultez la documentation Microsoft.

Utilisation du groupe de ressources Azure

Le nombre de machines virtuelles, de disques gérés, d’instantanés et d’images par groupe de ressources Azure n’est pas limité. (La limitation de 240 machines virtuelles/800 disques gérés par groupe de ressources Azure a été supprimée.)

  • Lorsque vous utilisez le principal de service à étendue complète pour créer un catalogue de machines, MCS crée uniquement un groupe de ressources Azure et utilise ce groupe pour le catalogue.
  • Lorsque vous utilisez le principal de service à étendue limitée pour créer un catalogue de machines, vous devez fournir un groupe de ressources Azure précréé vide pour le catalogue.

Disques éphémères Azure

Un disque éphémère Azure vous permet de réutiliser le disque cache ou le disque temporaire pour stocker le disque d’OS d’une machine virtuelle compatible Azure. Cette fonctionnalité est utile pour les environnements Azure qui nécessitent un disque SSD plus performant sur un disque dur standard. Pour utiliser des disques éphémères, vous devez définir la propriété personnalisée UseEphemeralOsDisk sur true lors de l’exécution de New-ProvScheme.

Remarque :

Si la propriété personnalisée UseEphemeralOsDisk est définie sur false ou si une valeur n’est pas spécifiée, tous les VDA provisionnés continuent d’utiliser un disque d’OS provisionné.

Voici un exemple d’ensemble de propriétés personnalisées à utiliser dans le schéma de provisioning :

"CustomProperties": [
            {
                "Name": "UseManagedDisks",
                "Value": "true"
            },
            {
                "Name": "StorageType",
                "Value": "Standard_LRS"
            },
            {
                "Name": "UseSharedImageGallery",
                "Value": "true"
            },
            {
                "Name": "SharedImageGalleryReplicaRatio",
                "Value": "40"
            },
            {
                "Name": "SharedImageGalleryReplicaMaximum",
                "Value": "10"
            },
            {
                "Name": "LicenseType",
                "Value": "Windows_Server"
            },
            {
                "Name": "UseEphemeralOsDisk",
                "Value": "true"
            }
        ],
<!--NeedCopy-->

Comment créer des machines à l’aide de disques d’OS éphémères

Les disques d’OS éphémères sont contrôlés en fonction de la propriété UseEphemeralOsDisk du paramètre CustomProperties.

Remarques importantes sur les disques éphémères

Pour provisionner des disques d’OS éphémères en utilisant New-ProvScheme, tenez compte des contraintes suivantes :

  • La taille de machine virtuelle utilisée pour le catalogue doit prendre en charge les disques d’OS éphémères.
  • La taille du cache ou du disque temporaire associé à la taille de la VM doit être supérieure ou égale à la taille du disque d’OS.
  • La taille du disque temporaire doit être supérieure à la taille du disque de cache.

Tenez également compte de ces points lors des opérations suivantes :

  • Création du schéma de provisioning.
  • Modification du schéma de provisioning.
  • Mise à jour de l’image.

Optimisation du stockage MCS (Machine Creation Services) (E/S de MCS) et du disque d’OS éphémère

Le disque d’OS éphémère Azure et les E/S de MCS ne peuvent pas être activés en même temps.

Remarques importantes :

  • Vous ne pouvez pas créer un catalogue de machines avec le disque d’OS éphémère et les E/S de MCS activés en même temps.

  • Les paramètres PowerShell (UseWriteBackCache et UseEphemeralOsDisk) définis sur true dans New-ProvScheme ou Set-ProvScheme échouent avec le message d’erreur approprié.
  • Pour les catalogues de machines existants créés avec les deux fonctionnalités activées, vous pouvez toujours :
    • mettre un catalogue de machines à jour
    • ajouter ou supprimer des machines virtuelles
    • supprimer un catalogue de machines

Cryptage Azure côté serveur

Citrix Virtual Apps and Desktops et Citrix DaaS prennent en charge les clés de cryptage gérées par le client pour les disques gérés Azure via Azure Key Vault. Cette prise en charge vous permet de gérer vos exigences en matière d’organisation et de conformité en cryptant les disques gérés de votre catalogue de machines à l’aide de vos propres clés de cryptage. Pour plus d’informations, consultez Chiffrement côté serveur de stockage sur disque Azure.

Lors de l’utilisation de cette fonctionnalité pour les disques gérés :

  • Pour modifier la clé avec laquelle le disque est crypté, modifiez la clé actuelle dans DiskEncryptionSet. Toutes les ressources associées à la modification de DiskEncryptionSet doivent être cryptées avec la nouvelle clé.

  • Lorsque vous désactivez ou supprimez votre clé, toutes les machines virtuelles avec des disques utilisant cette clé s’arrêtent automatiquement. Après l’arrêt, les machines virtuelles ne sont pas utilisables, sauf si la clé est réactivée ou si vous attribuez une nouvelle clé. Tout catalogue utilisant la clé ne peut pas être mis sous tension et vous ne pouvez pas y ajouter de machines virtuelles.

Considérations importantes lors de l’utilisation de clés de cryptage gérées par le client

Tenez compte de ce qui suit lors de l’utilisation de cette fonctionnalité :

  • Toutes les ressources associées à vos clés gérées par le client (coffres de clés Azure, jeux de cryptage de disque, machines virtuelles, disques et instantanés) doivent résider dans le même abonnement et la même région.

  • Une fois que vous avez activé la clé de cryptage gérée par le client, vous ne pouvez pas la désactiver ultérieurement. Si vous souhaitez désactiver ou supprimer la clé de cryptage gérée par le client, copiez toutes les données sur un autre disque géré qui n’utilise pas la clé de cryptage gérée par le client.

  • Les disques créés à partir d’images personnalisées cryptées à l’aide du cryptage côté serveur et des clés gérées par le client doivent être cryptés à l’aide des mêmes clés gérées par le client. Ces disques doivent résider dans le même abonnement.

  • Les instantanés créés à partir de disques cryptés à l’aide du cryptage côté serveur et des clés gérées par le client doivent être cryptés à l’aide des mêmes clés gérées par le client.

  • Les disques, instantanés et images cryptés à l’aide de clés gérées par le client ne peuvent pas être transférés vers un autre groupe de ressources et un autre abonnement.

  • Les disques gérés, actuellement ou préalablement cryptés à l’aide d’Azure Disk Encryption, ne peuvent pas être cryptés à l’aide de clés gérées par le client.

  • Consultez le site Microsoft pour connaître les limitations des jeux de chiffrement de disque par région.

Remarque :

Consultez Démarrage rapide : Créer un coffre de clés avec le portail Azure pour plus d’informations sur la configuration du cryptage côté serveur Azure.

Clé de chiffrement gérée par le client Azure

Lors de la création d’un catalogue de machines, vous pouvez choisir de chiffrer les données sur les machines provisionnées dans le catalogue. Le chiffrement côté serveur à l’aide d’une clé de chiffrement gérée par le client vous permet de gérer le chiffrement au niveau du disque géré et de protéger les données sur les machines du catalogue. Un jeu de chiffrement de disque (Disk Encryption Set ou DES) représente une clé gérée par le client. Pour utiliser cette fonctionnalité, vous devez d’abord créer votre DES dans Azure. Un DES est dans le format suivant :

  • /subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/Sample-RG/providers/Microsoft.Compute/diskEncryptionSets/SampleEncryptionSet

Sélectionnez un DES dans la liste. Le DES sélectionné doit se trouver dans le même abonnement et la même région que vos ressources. Si votre image est chiffrée avec un DES, utilisez le même DES lors de la création du catalogue de machines. Vous ne pouvez pas modifier le DES après avoir créé le catalogue.

Si vous créez un catalogue avec une clé de chiffrement et que vous désactivez ultérieurement le DES correspondant dans Azure, vous ne pouvez plus mettre les machines du catalogue sous tension ou y ajouter des machines.

Hôtes dédiés Azure

Vous pouvez utiliser MCS pour provisionner des machines virtuelles sur des hôtes dédiés Azure. Avant de provisionner des machines virtuelles sur des hôtes dédiés Azure :

  • Créez un groupe d’hôtes.
  • Créez des hôtes dans ce groupe d’hôtes.
  • Assurez-vous que la capacité des hôtes est suffisante pour la création de catalogues et de machines virtuelles.

Vous pouvez créer un catalogue de machines avec la location d’hôte définie à l’aide du script PowerShell suivant :

New-ProvScheme <otherParameters> -CustomProperties '<CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 <Property xsi:type="StringProperty" Name="HostGroupId" Value="myResourceGroup/myHostGroup" />
 ...other Custom Properties...
 </CustomProperties>
<!--NeedCopy-->

Lorsque vous utilisez MCS pour provisionner des machines virtuelles sur des hôtes dédiés Azure, tenez compte des éléments suivants :

  • Un hôte dédié est une propriété de catalogue et ne peut pas être modifié une fois le catalogue créé. La location dédiée n’est actuellement pas prise en charge sur Azure.
  • Un groupe d’hôtes Azure préconfiguré, dans la région de l’unité d’hébergement, est requis lors de l’utilisation du paramètre HostGroupId.
  • Le placement automatique Azure est requis. Cette fonctionnalité effectue une demande d’intégration à l’abonnement associé au groupe d’hôtes. Pour plus d’informations, consultez Échelle MV définie sur les hôtes dédiés Azure - Version préliminaire publique. Si le placement automatique n’est pas activé, MCS génère une erreur lors de la création du catalogue.

Utilisez Azure Shared Image Gallery en tant que référentiel d’images publiées pour les machines provisionnées MCS dans Azure. Vous pouvez stocker une image publiée dans la galerie pour accélérer la création et l’hydratation des disques du système d’exploitation, ce qui améliore les temps de démarrage et de lancement des applications pour les machines virtuelles non persistantes. Shared Image Gallery contient les trois éléments suivants :

  • Galerie : les images sont stockées ici. MCS crée une galerie pour chaque catalogue de machines.
  • Définition de l’image de la galerie : cette définition inclut des informations (type et état du système d’exploitation, région Azure) sur l’image publiée. MCS crée une définition d’image pour chaque image créée pour le catalogue.
  • Version d’image de la galerie:  chaque image de Shared Image Gallery peut avoir plusieurs versions, et chaque version peut avoir plusieurs réplicas dans différentes régions. Chaque réplica est une copie complète de l’image publiée.

Remarque :

La fonctionnalité Shared Image Gallery ne fonctionne qu’avec les disques gérés. Elle n’est pas disponible pour les anciens catalogues de machines.

Pour plus d’informations, consultez la rubrique Vue d’ensemble des galeries d’images partagées.

Utilisez la commande New-ProvScheme pour créer un schéma de provisioning avec la prise en charge de Shared Image Gallery. Utilisez la commande Set-ProvScheme pour activer ou désactiver cette fonctionnalité pour un schéma de provisioning et pour modifier le ratio de réplica et les valeurs maximales de réplicas.

Trois propriétés personnalisées ont été ajoutées aux schémas de provisioning pour prendre en charge la fonctionnalité Shared Image Gallery :

UseSharedImageGallery

  • Indique si vous souhaitez utiliser Shared Image Gallery pour stocker les images publiées. Si cette propriété est définie sur True, l’image est stockée en tant qu’image Shared Image Gallery, sinon l’image est stockée sous la forme d’un instantané.
  • Les valeurs valides sont True et False.
  • Si la propriété n’est pas définie, la valeur par défaut est False.

SharedImageGalleryReplicaRatio

  • Définit le ratio entre les machines et les réplicas de version d’image de la galerie.
  • Les valeurs valides sont des nombres entiers supérieurs à 0.
  • Si la propriété n’est pas définie, les valeurs par défaut sont utilisées. La valeur par défaut pour les disques du système d’exploitation persistants est de 1 000 ; la valeur par défaut pour les disques du système d’exploitation non persistants est de 40.

SharedImageGalleryReplicaMaximum

  • Définit le nombre maximal de réplicas pour chaque version d’image de la galerie.
  • Les valeurs valides sont des nombres entiers supérieurs à 0.
  • Si la propriété n’est pas définie, la valeur par défaut est 10.
  • Azure prend actuellement en charge jusqu’à 10 réplicas pour une version unique d’image de la galerie. Si la propriété est définie sur une valeur supérieure à celle prise en charge par Azure, MCS tente d’utiliser la valeur spécifiée. Azure génère une erreur, que MCS consigne, puis laisse le nombre de réplicas actuel inchangé.

Conseil :

Lors de l’utilisation de Shared Image Gallery pour stocker une image publiée pour les catalogues provisionnés MCS, MCS définit le nombre de réplicas de version d’image de galerie en fonction du nombre de machines dans le catalogue, du ratio de réplica et du maximum de réplicas. Le nombre de réplicas est calculé en divisant le nombre de machines du catalogue par le ratio de réplica (arrondi à la valeur entière la plus proche), puis en plafonnant la valeur au nombre maximal de réplicas. Par exemple, avec un ratio de réplica de 20 et un maximum de 5, 0 à 20 machines ont un réplica, 21—40 ont 2 réplicas, 41—60 ont 3 réplicas, 61 à 80 ont 4 réplicas, 81+ 5 réplicas.

Le catalogue de machines existant utilise Shared Image Gallery. Utilisez la commande Set-ProvScheme pour mettre à jour les propriétés personnalisées de toutes les machines existantes du catalogue et de toutes les futures machines :

Set-ProvScheme -ProvisioningSchemeName catalog-name -CustomProperties '<CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Property xsi:type="StringProperty" Name="StorageType" Value="Standard_LRS"/> <Property xsi:type="StringProperty" Name="UseManagedDisks" Value="True"/> <Property xsi:type="StringProperty" Name="UseSharedImageGallery" Value="True"/> <Property xsi:type="IntProperty" Name="SharedImageGalleryReplicaRatio" Value="30"/> <Property xsi:type="IntProperty" Name="SharedImageGalleryReplicaMaximum" Value="20"/></CustomProperties>'
<!--NeedCopy-->

Pour ce cas d’utilisation :

  1. Exécutez Set-ProvScheme avec l’indicateur UseSharedImageGallery défini sur True. Vous pouvez également inclure les propriétés SharedImageGalleryReplicaRatio et SharedImageGalleryReplicaMaximum.
  2. Mettez le catalogue à jour.
  3. Effectuez un cycle d’alimentation sur les machines pour forcer une mise à jour.

Par exemple :

Set-ProvScheme -ProvisioningSchemeName catalog-name -CustomProperties '<CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Property xsi:type="StringProperty" Name="StorageType" Value="Standard_LRS"/> <Property xsi:type="StringProperty" Name="UseManagedDisks" Value="True"/> <Property xsi:type="StringProperty" Name="UseSharedImageGallery" Value="True"/> <Property xsi:type="IntProperty" Name="SharedImageGalleryReplicaRatio" Value="30"/> <Property xsi:type="IntProperty" Name="SharedImageGalleryReplicaMaximum" Value="20"/></CustomProperties>'
<!--NeedCopy-->

Conseil :

Les paramètres SharedImageGalleryReplicaRatio et SharedImageGalleryReplicaMaximum ne sont pas obligatoires. Une fois la commande Set-ProvScheme terminée, l’image Shared Image Gallery n’a pas encore été créée. Une fois que le catalogue est configuré pour utiliser la galerie, l’opération suivante de mise à jour du catalogue stocke l’image publiée dans la galerie. La commande de mise à jour du catalogue crée la galerie, l’image de la galerie et la version de l’image. Le cycle d’alimentation des machines les met à jour, et le nombre de réplicas est mis à jour, le cas échéant. À partir de ce moment, toutes les machines non persistantes existantes sont réinitialisées à l’aide de l’image Shared Image Gallery et toutes les machines nouvellement provisionnées sont créées à l’aide de l’image. L’ancien instantané est nettoyé automatiquement en quelques heures.

Pour ce cas d’utilisation :

  1. Exécutez Set-ProvScheme avec l’indicateur UseSharedImageGallery défini sur False ou non défini.
  2. Mettez le catalogue à jour.
  3. Effectuez un cycle d’alimentation sur les machines pour forcer une mise à jour.

Par exemple :

Set-ProvScheme -ProvisioningSchemeName catalog-name -CustomProperties '<CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Property xsi:type="StringProperty" Name="StorageType" Value="Standard_LRS"/> <Property xsi:type="StringProperty" Name="UseManagedDisks" Value="True"/> <Property xsi:type="StringProperty" Name="UseSharedImageGallery" Value="False"/></CustomProperties>'
<!--NeedCopy-->

Conseil :

Contrairement à la mise à jour d’un instantané vers un catalogue Shared Image Gallery, les données personnalisées de chaque machine ne sont pas encore mises à jour pour refléter les nouvelles propriétés personnalisées. Exécutez la commande suivante pour afficher les propriétés personnalisées Shared Image Gallery d’origine : Get-ProvVm -ProvisioningSchemeName catalog-name. Une fois la commande Set-ProvScheme terminée, l’instantané de l’image n’a pas encore été créé. Une fois que le catalogue est configuré pour ne pas utiliser la galerie, la prochaine opération de mise à jour du catalogue stocke l’image publiée sous forme d’instantané. À partir de ce moment, toutes les machines non persistantes existantes sont réinitialisées à l’aide de l’instantané et toutes les machines nouvellement provisionnées sont créées à partir de l’instantané. Le cycle d’alimentation des machines les met à jour, et les données de machine personnalisées sont mises à jour pour refléter que UseSharedImageGallery est défini sur False. Les anciennes ressources Shared Image Gallery (galerie, image et version) sont automatiquement nettoyées en quelques heures.

Provisionner des machines dans des zones de disponibilité spécifiées

Vous pouvez provisionner des machines dans une zone de disponibilité spécifique dans les environnements Azure. Vous pouvez pour cela utiliser PowerShell.

Remarque :

Si aucune zone n’est spécifiée, MCS laisse Azure placer les machines dans la région. Si plusieurs zones sont spécifiées, MCS distribue les machines de manière aléatoire dans ces zones.

Configuration des zones de disponibilité via PowerShell

À l’aide de PowerShell, vous pouvez afficher les éléments d’inventaire de l’offre en utilisant Get-Item. Par exemple, pour consulter l’offre de services de la région États-Unis de l’Est Standard_B1ls :

$serviceOffering = Get-Item -path "XDHyp:\Connections\my-connection-name\East US.region\serviceoffering.folder\Standard_B1ls.serviceoffering"
<!--NeedCopy-->

Pour afficher les zones, utilisez le paramètre AdditionalData de l’élément :

$serviceOffering.AdditionalData

Si les zones de disponibilité ne sont pas spécifiées, les machines sont provisionnées de la même façon.

Pour configurer les zones de disponibilité via PowerShell, utilisez la propriété personnalisée Zones disponible avec l’opération New-ProvScheme. La propriété Zones définit une liste de zones de disponibilité dans lesquelles provisionner les machines. Ces zones peuvent inclure une ou plusieurs zones de disponibilité. Par exemple, <Property xsi:type="StringProperty" Name="Zones" Value="1, 3"/> pour les zones 1 et 3.

Utilisez la commande Set-ProvScheme pour mettre à jour les zones d’un schéma de provisioning.

Si une zone non valide est fournie, le schéma de provisioning n’est pas mis à jour et un message d’erreur apparaît indiquant comment corriger la commande non valide.

Conseil :

Si vous spécifiez une propriété personnalisée non valide, le schéma de provisioning n’est pas mis à jour et un message d’erreur correspondant s’affiche.

Disque éphémère Azure

Les disques éphémères Azure vous permettent de réutiliser le disque cache ou temporaire pour stocker le disque d’OS d’une machine virtuelle compatible Azure. Cette fonctionnalité est utile pour les environnements Azure qui nécessitent un disque SSD plus performant sur un disque dur standard.

Remarque :

Les catalogues persistants ne prennent pas en charge les disques d’OS éphémères.

Les disques d’OS éphémères nécessitent que votre schéma de provisioning utilise des disques gérés et une galerie d’images partagées. Pour plus d’informations, consultez la rubrique Galerie d’images partagées Azure.

Utilisation de PowerShell pour configurer un disque éphémère

Pour configurer un disque d’OS éphémère Azure pour un catalogue, utilisez le paramètre UseEphemeralOsDisk dans Set-ProvScheme. Définissez la valeur du paramètre UseEphemeralOsDisk sur true.

Remarque :

Pour utiliser cette fonctionnalité, vous devez également activer les paramètres UseManagedDisks et UseSharedImageGallery.

Par exemple :

Set-ProvScheme -ProvisioningSchemeName catalog-name -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="UseSharedImageGallery" Value="true" />
<Property xsi:type="StringProperty" Name="UseEphemeralOsDisk" Value="true" />
</CustomProperties>'
<!--NeedCopy-->

Stockage d’un disque temporaire d’OS éphémère

Vous avez la possibilité de stocker un disque d’OS éphémère sur le disque temporaire de la machine virtuelle ou sur un disque de ressources. Cette fonctionnalité vous permet d’utiliser un disque d’OS éphémère avec une machine virtuelle qui ne possède pas de cache ou dont le cache est insuffisant. Ces machines virtuelles disposent d’un disque temporaire ou de ressources pour stocker un disque d’OS éphémère, tel que Ddv4.

Tenez compte des considérations suivantes :

  • Un disque éphémère est stocké soit sur le disque cache de la machine virtuelle, soit sur le disque temporaire (ressource) de la machine virtuelle. Le disque de cache est préféré au disque temporaire, sauf si le disque de cache n’est pas suffisamment grand pour le contenu du disque d’OS.
  • Pour les mises à jour, une nouvelle image plus grande que le disque cache mais plus petite que le disque temporaire entraîne le remplacement du disque d’OS éphémère par le disque temporaire de la machine virtuelle.

Conservation d’une machine virtuelle provisionnée lors des cycles d’alimentation

Indiquez si vous souhaitez conserver une machine virtuelle provisionnée lors des cycles d’alimentation. Utilisez le paramètre PowerShell New-ProvScheme CustomProperties. Ce paramètre prend en charge une propriété supplémentaire PersistVm, utilisée pour déterminer si une machine virtuelle provisionnée persiste en cas de cycle d’alimentation. Définissez la propriété PersistVm sur true pour conserver une machine virtuelle lorsqu’elle est mise hors tension, ou définissez la propriété sur false pour garantir que la machine virtuelle n’est pas conservée lorsqu’elle est mise hors tension.

Remarque :

La propriété PersistVm s’applique uniquement à un schéma de provisioning dont les propriétés CleanOnBoot et UseWriteBackCache sont activées. Si la propriété PersistVm n’est pas spécifiée pour les machines virtuelles non persistantes, elles sont supprimées de l’environnement Azure lorsqu’elles sont mises hors tension.

Dans l’exemple suivant, le paramètre New-ProvScheme CustomProperties définit la propriété PersistVm 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="StorageType" Value="Standard_LRS" />
<Property xsi:type="StringProperty" Name="PersistWBC" Value="false" />
<Property xsi:type="StringProperty" Name="PersistOsDisk" Value="true" />
<Property xsi:type="StringProperty" Name="PersistVm" Value="true" />
<Property xsi:type="StringProperty" Name="ResourceGroups" Value="demo-resourcegroup" />
<Property xsi:type="StringProperty" Name="LicenseType" Value="Windows_Client" />
</CustomProperties>
<!--NeedCopy-->

Dans l’exemple suivant, le paramètre New-ProvScheme CustomProperties préserve le cache en écriture en définissant PersistVM sur true :

 New-ProvScheme
 -AzureAdJoinType "None"
 -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=`"StorageType`" Value=`"Standard_LRS`" /><Property xsi:type=`"StringProperty`" Name=`"PersistWBC`" Value=`"false`" /><Property xsi:type=`"StringProperty`" Name=`"PersistOsDisk`" Value=`"true`" /><Property xsi:type=`"StringProperty`" Name=`"PersistVm`" Value=`"true`" /><Property xsi:type=`"StringProperty`" Name=`"ResourceGroups`" Value=`"demo-resourcegroup`" /><Property xsi:type=`"StringProperty`" Name=`"LicenseType`" Value=`"Windows_Client`" /></CustomProperties>"
 -HostingUnitName "demo"
 -IdentityPoolName "NonPersistent-MCSIO-PersistVM"
 -MasterImageVM "XDHyp:\HostingUnits\demo\image.folder\scale-test.resourcegroup\demo-snapshot.snapshot"
 -NetworkMapping @ {"0"="XDHyp:\HostingUnits\demo\virtualprivatecloud.folder\East US.region\virtualprivatecloud.folder\ji-test.resourcegroup\jitest-vnet.virtualprivatecloud\default.network"}
-ProvisioningSchemeName "NonPersistent-MCSIO-PersistVM"
 -ServiceOffering "XDHyp:\HostingUnits\demo\serviceoffering.folder\Standard_B2ms.serviceoffering" -UseWriteBackCache
 -WriteBackCacheDiskSize 127
 -WriteBackCacheMemorySize 256
 <!--NeedCopy-->

Conseil :

La propriété PersistVm détermine si une machine virtuelle provisionnée doit être conservée. La propriété PersistOsdisk détermine si le disque du système d’exploitation doit être conservé. Pour conserver une machine virtuelle provisionnée, conservez d’abord le disque du système d’exploitation. Vous ne pouvez pas supprimer le disque du système d’exploitation sans supprimer au préalable la machine virtuelle. Vous pouvez utiliser la propriété PersistOsdisk sans spécifier le paramètre PersistVm.

Types de stockage

Sélectionnez différents types de stockage pour les machines virtuelles dans des environnements Azure utilisant MCS. Pour les machines virtuelles cibles, MCS prend en charge :

  • Disque d’OS : SSD premium, SSD ou HDD
  • Disque de cache en écriture différée : SSD premium, SSD ou HDD

Lorsque vous utilisez ces types de stockage, tenez compte des points suivants :

  • Assurez-vous que votre machine virtuelle prend en charge le type de stockage sélectionné.
  • Si votre configuration utilise un disque éphémère Azure, vous ne voyez pas l’option pour le paramètre de disque de cache en écriture différée.

Conseil :

StorageType est configuré pour un type d’OS et un compte de stockage. WBCDiskStorageType est configuré pour le type de stockage Cache en écriture différée. Pour un catalogue normal, StorageType est requis. Si WBCDiskStorageType n’est pas configuré, StorageType est utilisé par défaut pour WBCDiskStorageType.

Si WBCDiskStorageType n’est pas configuré, StorageType est utilisé par défaut pour WBCDiskStorageType.

Configuration des types de stockage

Pour configurer les types de stockage pour VM, utilisez le paramètre StorageType dans New-ProvScheme. Définissez la valeur du paramètre StorageType sur l’un des types de stockage pris en charge.

Voici un exemple du paramètre CustomProperties dans un schéma de provisioning :

Set-ProvScheme -ProvisioningSchemeName catalog-name -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="StorageType" Value="Premium_LRS" />
<Property xsi:type="StringProperty" Name="LicenseType" Value="Windows_Client" />
</CustomProperties>'
<!--NeedCopy-->

Récupérer des informations sur les machines virtuelles Azure, les instantanés, le disque du système d’exploitation et la définition d’image de la galerie

Vous pouvez afficher des informations sur une machine virtuelle Azure, notamment le disque et le type de système d’exploitation, l’instantané et la définition de l’image de la galerie. Ces informations sont affichées pour les ressources de l’image principale lorsqu’un catalogue de machines est affecté. Utilisez cette fonctionnalité pour afficher et sélectionner une image Linux ou Windows. Une propriété PowerShell, TemplateIsWindowsTemplate, a été ajoutée au paramètre AdditionDatafield. Ce champ contient des informations spécifiques à Azure : type de machine virtuelle, disque du système d’exploitation, informations sur l’image de la galerie et informations sur le type de système d’exploitation. Si TemplateIsWindowsTemplate est défini sur True, cela indique que le type de système d’exploitation est Windows ; si TemplateIsWindowsTemplate est défini sur False, cela indique que le type de système d’exploitation est Linux.

Conseil :

Les informations affichées par la propriété PowerShell TemplateIsWindowsTemplate sont dérivées de l’API Azure. Dans certains cas, ce champ peut être vide. Par exemple, un instantané d’un disque de données ne contient pas le champ TemplateIsWindowsTemplate, car le type de système d’exploitation ne peut pas être récupéré à partir d’un instantané.

Par exemple, définissez le paramètre Azure VM AdditionData sur True pour le type de système d’exploitation Windows à l’aide de PowerShell :

PS C:\Users\username> (get-item XDHyp:\HostingUnits\mynetwork\image.folder\username-dev-testing-rg.resourcegroup\username-dev-tsvda.vm).AdditionalData
Key Value
ServiceOfferingDescription Standard_B2ms
HardDiskSizeGB 127
ResourceGroupName FENGHUAJ-DEV-TESTING-RG
ServiceOfferingMemory 8192
ServiceOfferingCores 2
TemplateIsWindowsTemplate True
ServiceOfferingWithTemporaryDiskSizeInMb 16384
SupportedMachineGenerations Gen1,Gen2
<!--NeedCopy-->

Azure Marketplace

Citrix Virtual Apps and Desktops et Citrix DaaS prennent en charge l’utilisation d’une image principale sur Azure qui contient des informations de plan pour créer un catalogue de machines. Pour plus d’informations, consultez Microsoft Azure Marketplace.

Conseil :

Certaines images disponibles sur Azure Marketplace, telles que l’image Windows Server standard, n’ajoutent pas d’informations de plan. La fonctionnalité Citrix DaaS est destinée aux images payantes.

Suivez la procédure décrite dans cette section pour afficher les images de Shared Image Gallery dans Citrix Studio. Ces images peuvent éventuellement être utilisées pour une image principale. Pour placer l’image dans Shared Image Gallery, créez une définition d’image dans une galerie.

Shared Image Gallery d'Azure Marketplace

Sur la page Options de publication, vérifiez les informations du plan d’achat.

Les champs d’informations sur le plan d’achat sont initialement vides. Renseignez ces champs avec les informations de plan d’achat utilisées pour l’image. Ne pas renseigner les informations du plan d’achat peut entraîner l’échec du processus de catalogue de machines.

Azure Marketplace vérifie les options de publication VDA

Après avoir vérifié les informations du plan d’achat, créez une version d’image dans la définition. Elle est utilisée comme image principale. Cliquez sur Ajouter une version :

Ajouter une version de VDA dans Azure Marketplace

Dans la section Détails de la version, sélectionnez l’instantané d’image ou le disque géré comme source :

Sélectionner des options de VDA dans Azure Marketplace

À propos des autorisations Azure

Cette section contient les autorisations minimales et générales requises pour Azure.

Autorisations minimales

Les autorisations minimales offrent un meilleur contrôle de la sécurité. Toutefois, les nouvelles fonctionnalités qui nécessitent des autorisations supplémentaires échoueront si seules des autorisations minimales sont utilisées.

Création d’une connexion hôte

Ajoutez une nouvelle connexion hôte à l’aide des informations obtenues auprès d’Azure.

"Microsoft.Network/virtualNetworks/read",
"Microsoft.Compute/virtualMachines/read",
"Microsoft.Compute/disks/read",
<!--NeedCopy-->

Gestion de l’alimentation des machines virtuelles

Mettez les instances de machine sous tension ou hors tension.

"Microsoft.Compute/virtualMachines/read",
"Microsoft.Resources/subscriptions/resourceGroups/read",
"Microsoft.Compute/virtualMachines/deallocate/action",
"Microsoft.Compute/virtualMachines/start/action",
"Microsoft.Compute/virtualMachines/restart/action",
<!--NeedCopy-->

Création, mise à jour ou suppression de machines virtuelles

Créez un catalogue de machines, puis ajoutez, supprimez, mettez à jour des machines et supprimez le catalogue de machines.

Voici la liste des autorisations minimales requises lorsque l’image principale est un disque géré ou que les instantanés se trouvent dans la même région que la connexion d’hébergement.

"Microsoft.Resources/subscriptions/resourceGroups/read",
"Microsoft.Resources/deployments/validate/action",
"Microsoft.Compute/virtualMachines/read",
"Microsoft.Compute/virtualMachines/write",
"Microsoft.Compute/virtualMachines/delete",
"Microsoft.Compute/virtualMachines/deallocate/action",
"Microsoft.Compute/snapshots/read",
"Microsoft.Compute/snapshots/write",
"Microsoft.Compute/snapshots/delete",
"Microsoft.Compute/snapshots/beginGetAccess/action",
"Microsoft.Compute/snapshots/endGetAccess/action",
"Microsoft.Compute/disks/read",
"Microsoft.Compute/disks/write",
"Microsoft.Compute/disks/delete",
"Microsoft.Compute/disks/beginGetAccess/action",
"Microsoft.Compute/disks/endGetAccess/action",
"Microsoft.Network/virtualNetworks/read",
"Microsoft.Network/virtualNetworks/subnets/join/action",
"Microsoft.Network/virtualNetworks/subnets/read",
"Microsoft.Network/networkSecurityGroups/read",
"Microsoft.Network/networkSecurityGroups/write",
"Microsoft.Network/networkSecurityGroups/delete",
"Microsoft.Network/networkSecurityGroups/join/action",
"Microsoft.Network/networkInterfaces/read",
"Microsoft.Network/networkInterfaces/write",
"Microsoft.Network/networkInterfaces/delete",
"Microsoft.Network/networkInterfaces/join/action",
<!--NeedCopy-->

Vous avez besoin des autorisations supplémentaires suivantes basées sur des autorisations minimales pour les fonctionnalités suivantes :

  • Si l’image principale est un disque dur virtuel dans un compte de stockage situé dans la même région que la connexion d’hébergement :

     "Microsoft.Storage/storageAccounts/read",
     "Microsoft.Storage/storageAccounts/listKeys/action",
     <!--NeedCopy-->
    
  • Si l’image principale est une ImageVersion de Shared Image Gallery :

     "Microsoft.Compute/galleries/read",
     "Microsoft.Compute/galleries/images/read",
     "Microsoft.Compute/galleries/images/versions/read",
     <!--NeedCopy-->
    
  • Si l’image principale est un disque géré. Les instantanés, ou VHD, se trouvent dans une région différente de la région de connexion d’hébergement :

     "Microsoft.Storage/storageAccounts/read",
     "Microsoft.Storage/storageAccounts/listKeys/action",
     "Microsoft.Storage/storageAccounts/write",
     "Microsoft.Storage/storageAccounts/delete",
     <!--NeedCopy-->
    
  • Si vous utilisez un groupe de ressources géré par Citrix :

     "Microsoft.Resources/subscriptions/resourceGroups/write",
     "Microsoft.Resources/subscriptions/resourceGroups/delete",
     <!--NeedCopy-->
    
  • Si vous placez l’image principale dans Shared Image Gallery :

     "Microsoft.Compute/galleries/write",
     "Microsoft.Compute/galleries/images/write",
     "Microsoft.Compute/galleries/images/versions/write",
     "Microsoft.Compute/galleries/read",
     "Microsoft.Compute/galleries/images/read",
     "Microsoft.Compute/galleries/images/versions/read",
     "Microsoft.Compute/galleries/delete",
     "Microsoft.Compute/galleries/images/delete",
     "Microsoft.Compute/galleries/images/versions/delete",
     <!--NeedCopy-->
    
  • Si vous utilisez la prise en charge des hôtes dédiés Azure :

     "Microsoft.Compute/hostGroups/read",
     "Microsoft.Compute/hostGroups/write",
     "Microsoft.Compute/hostGroups/hosts/read",
     <!--NeedCopy-->
    
  • Si vous utilisez le chiffrement côté serveur (SSE) avec des clés gérées par le client (CMK) :

     "Microsoft.Compute/diskEncryptionSets/read",
     <!--NeedCopy-->
    
  • Si vous déployez des machines virtuelles à l’aide de modèles ARM (profil de machine) :

     "Microsoft.Resources/deployments/write",
     "Microsoft.Resources/deployments/operationstatuses/read",
     "Microsoft.Resources/deployments/read",
     "Microsoft.Resources/deployments/delete",
     <!--NeedCopy-->
    

Création, mise à jour et suppression de machines dotées d’un disque non géré

Voici la liste des autorisations minimales requises lorsque l’image principale est un disque dur virtuel et utilise un groupe de ressources fourni par l’administrateur :

"Microsoft.Resources/subscriptions/resourceGroups/read",
"Microsoft.Storage/storageAccounts/delete",
"Microsoft.Storage/storageAccounts/listKeys/action",
"Microsoft.Storage/storageAccounts/read",
"Microsoft.Storage/storageAccounts/write",
"Microsoft.Compute/virtualMachines/deallocate/action",
"Microsoft.Compute/virtualMachines/delete",
"Microsoft.Compute/virtualMachines/read",
"Microsoft.Compute/virtualMachines/write",
"Microsoft.Resources/deployments/validate/action",
"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.Network/virtualNetworks/subnets/read",
"Microsoft.Network/virtualNetworks/read",
"Microsoft.Network/virtualNetworks/subnets/join/action"
<!--NeedCopy-->

Autorisation générale

Le rôle de contributeur dispose d’un accès complet pour gérer toutes les ressources. Cet ensemble d’autorisations ne vous empêche pas d’obtenir de nouvelles fonctionnalités.

L’ensemble d’autorisations suivant fournit la meilleure compatibilité à l’avenir, même s’il inclut plus d’autorisations que nécessaire avec l’ensemble de fonctionnalités actuel :

"Microsoft.Compute/diskEncryptionSets/read",
"Microsoft.Compute/disks/beginGetAccess/action",
"Microsoft.Compute/disks/delete",
"Microsoft.Compute/disks/endGetAccess/action",
"Microsoft.Compute/disks/read",
"Microsoft.Compute/disks/write",
"Microsoft.Compute/galleries/delete",
"Microsoft.Compute/galleries/images/delete",
"Microsoft.Compute/galleries/images/read",
"Microsoft.Compute/galleries/images/versions/delete",
"Microsoft.Compute/galleries/images/versions/read",
"Microsoft.Compute/galleries/images/versions/write",
"Microsoft.Compute/galleries/images/write",
"Microsoft.Compute/galleries/read",
"Microsoft.Compute/galleries/write",
"Microsoft.Compute/hostGroups/hosts/read",
"Microsoft.Compute/hostGroups/read",
"Microsoft.Compute/hostGroups/write",
"Microsoft.Compute/snapshots/beginGetAccess/action",
"Microsoft.Compute/snapshots/delete",
"Microsoft.Compute/snapshots/endGetAccess/action",
"Microsoft.Compute/snapshots/read",
"Microsoft.Compute/snapshots/write",
"Microsoft.Compute/virtualMachines/deallocate/action",
"Microsoft.Compute/virtualMachines/delete",
"Microsoft.Compute/virtualMachines/read",
"Microsoft.Compute/virtualMachines/restart/action",
"Microsoft.Compute/virtualMachines/start/action",
"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.Network/virtualNetworks/subnets/read",
"Microsoft.Network/virtualNetworks/read",
"Microsoft.Network/virtualNetworks/subnets/join/action",
"Microsoft.Resources/deployments/operationstatuses/read",
"Microsoft.Resources/deployments/read",
"Microsoft.Resources/deployments/validate/action",
"Microsoft.Resources/deployments/write",
"Microsoft.Resources/deployments/delete",
"Microsoft.Resources/subscriptions/resourceGroups/read",
"Microsoft.Resources/subscriptions/resourceGroups/write",
"Microsoft.Resources/subscriptions/resourceGroups/delete",
"Microsoft.Storage/storageAccounts/delete",
"Microsoft.Storage/storageAccounts/listKeys/action",
"Microsoft.Storage/storageAccounts/read",
"Microsoft.Storage/storageAccounts/write",
<!--NeedCopy-->

Informations supplémentaires