Créer un catalogue de machines à images préparées dans AWS EC2
Créez des images préparées et utilisez-les pour créer un catalogue de machines MCS à l’aide de :
- Studio
- Commandes PowerShell
Les étapes clés pour créer un catalogue de machines MCS à l’aide de l’image préparée sont les suivantes :
- Créez la définition d’image et les versions d’image initiales.
- Utilisez la version d’image comme image préparée pour créer un catalogue.
Créer une définition d’image et une version d’image initiale
Utiliser Studio
Pour créer une définition d’image et la version d’image initiale, procédez comme suit :
- Dans Studio, accédez au nœud Images, puis cliquez sur Créer une définition d’image. Cliquez sur Suivant sur la page Introduction.
- Sur la page Définition d’image, spécifiez le type de système d’exploitation et le type de session pour la définition d’image.
-
Sur la page Image, sélectionnez les Ressources (seules les ressources applicables à la connexion définie sont répertoriées), une image principale à utiliser comme modèle pour la création de la version d’image, et un profil de machine pour capturer les propriétés matérielles. Sélectionnez un profil de machine pour capturer les propriétés matérielles à partir d’une instance de machine virtuelle ou d’une version de modèle de lancement.
Remarque :
- Avant de sélectionner une image, vérifiez que l’image principale dispose du VDA 2311 ou version ultérieure et que le pilote MCSIO est installé sur le VDA.
- Les services de métadonnées d’instance (IMDS) V1 et V2 sont tous deux pris en charge.
- Sur la page Spécification de la machine, sélectionnez une taille de machine. La taille de machine du profil de machine (sélectionné sur la page Image) est sélectionnée par défaut.
- Sur la page Cartes réseau, sélectionnez ou ajoutez des cartes réseau pour l’image de préparation. Pour chaque carte réseau, sélectionnez un sous-réseau VPC associé.
- Sur la page Description de la version, saisissez une description pour la version d’image initiale créée.
- Sur la page Résumé, vérifiez les détails de la définition d’image et de la version d’image initiale créée. Saisissez un nom et une description pour la définition d’image. Cliquez sur Terminer.
Créer des versions d’image
Les versions d’image permettent la gestion de différentes itérations ou mises à jour d’une image particulière. Cette fonctionnalité vous permet de maintenir plusieurs versions d’une image à des fins différentes.
Pour créer des versions d’image à partir de la version d’image initiale, procédez comme suit :
Remarque :
L’unité d’hébergement de toutes les versions d’image doit être la même.
- Accédez au nœud Images, sélectionnez une version d’image ou une définition d’image, puis cliquez sur Créer une version d’image.
- Sur la page Définition d’image, vous pouvez modifier l’unité d’hébergement et resélectionner l’image principale et le profil de machine pour cette version d’image.
- Si vous souhaitez que la configuration de la version d’image soit différente de la version d’image configurée initialement, configurez les paramètres sur les pages Spécification de la machine et Cartes réseau de la boîte de dialogue Créer une version d’image.
- Ajoutez une description pour la version d’image. Cliquez sur Terminer.
Remarque :
Si la création de la version d’image échoue pour une raison quelconque, l’onglet Dépannage en bas de page propose une option Réessayer.
Utiliser PowerShell
Les commandes PowerShell détaillées pour créer une spécification de version d’image préparée sont les suivantes :
-
Vérifiez les noms de définition d’image disponibles à l’aide de la commande
Test-ProvImageDefinitionNameAvailable. Par exemple,Test-ProvImageDefinitionNameAvailable -ImageDefinitionName <string[]> <!--NeedCopy--> -
Créez une définition d’image à l’aide de la commande
New-ProvImageDefinition. Par exemple,New-ProvImageDefinition -ImageDefinitionName image1 -OsType Windows -VdaSessionSupport MultiSession <!--NeedCopy--> -
Créez une nouvelle configuration pour la définition d’image dans la connexion d’hébergement spécifiée à l’aide de la commande
Add-ProvImageDefinitionConnection.Add-ProvImageDefinitionConnection -ImageDefinitionName image1 -HypervisorConnectionName test-conn <!--NeedCopy--> -
Créez une version d’image à l’aide de la commande
New-ProvImageVersion. Par exemple,New-ProvImageVersion -ImageDefinitionName image1 -Description "version 1" <!--NeedCopy--> -
Ajoutez une spécification de version d’image principale à la version d’image à l’aide de la commande
Add-ProvImageVersionSpec. Par exemple,Add-ProvImageVersionSpec -ImageDefinitionName image1 -ImageVersionNumber 1 -HostingUnitName aws -MasterImagePath "XDHyp:\HostingUnits\aws\win10-2411-ami (ami-00123456789abcdef).template”" <!--NeedCopy-->Remarque :
Vous ne pouvez ajouter qu’une seule spécification de version d’image principale à une version d’image pour une unité d’hébergement.
-
Créez une spécification de version d’image préparée à partir de la spécification de version d’image principale à l’aide de la commande
New-ProvImageVersionSpec. Le paramètreSourceImageVersionSpecUidest dérivé de la commandeAdd-ProvImageVersionSpec. Par exemple,New-ProvImageVersionSpec -SourceImageVersionSpecUid 00000000-0000-0000-0000-00000000000 -MachineProfile 'XDHyp:\HostingUnits\aws\w2022-2411 (lt-00123456789abcdef).launchtemplate\lt-00123456789abcdef (1).launchtemplateversion' -RunAsynchronously <!--NeedCopy-->
Exemple de l’ensemble complet de commandes PowerShell pour créer une définition d’image, une version d’image et une spécification de version d’image préparée :
New-ProvImageDefinition -ImageDefinitionName image1 -OsType Windows -VdaSessionSupport MultiSession
Add-ProvImageDefinitionConnection -ImageDefinitionName image1 -HypervisorConnectionName aws-CustomProperties $CustomProperties
$imageVersion = New-ProvImageVersion -ImageDefinitionName image1 -Description "version 1"
$SourceImageVersionSpec = Add-ProvImageVersionSpec -ImageVersionUid $imageVersion.ImageVersionUid `
-HostingUnitUid $hostingunit.HostingUnitUid `
-MasterImagePath "XDHyp:\HostingUnits\aws\win10-2411-ami (ami-00123456789abcdef).template”
New-ProvImageVersionSpec -MachineProfile 'XDHyp:\HostingUnits\aws\w2022-2411 (lt-00123456789abcdef).launchtemplate\lt-00123456789abcdef (1).launchtemplateversion' -SourceImageVersionSpecUid $SourceImageVersionSpec.ImageVersionSpecUid
Add-ProvImageVersionSpecHostingUnit -ImageVersionSpecUid 00000000-0000-0000-0000-00000000000-HostingUnitName aws
$PreparedImageVersionSpec = Get-ProvImageVersionSpec -ImageVersionUid $imageVersion.ImageVersionUid | Where SourceImageVersionSpecUid-eq $SourceImageVersionSpec.ImageVersionSpecUid
<!--NeedCopy-->
Remarque :
- Toutes les spécifications de version d’image dans une définition d’image doivent appartenir à la même unité d’hébergement.
- Une version d’image ne peut avoir qu’une seule spécification de version d’image principale et une seule spécification de version d’image préparée.
- Toutes les spécifications de version d’image doivent avoir un profil de machine.
Partager des images préparées entre les zones de disponibilité
Vous pouvez désormais partager une seule image préparée entre différentes zones de disponibilité, liées à différentes unités d’hébergement, au sein de la même région AWS pour votre AWS EC2. Cela vous permet d’utiliser une image préparée pour créer et mettre à jour des catalogues de machines MCS dans diverses zones de disponibilité.
Vous pouvez maintenir une seule image préparée et l’utiliser pour créer et mettre à jour des catalogues de machines dans plusieurs zones de disponibilité liées à différentes unités d’hébergement. Cela réduit considérablement vos frais généraux de gestion d’images, assure la cohérence entre les déploiements et rationalise le processus de provisionnement. Vous pouvez également mettre à jour de manière transparente les catalogues de machines existants avec des images préparées provenant d’une autre zone de disponibilité.
Cas d’utilisation
-
Gestion centralisée des images : Vous créez une image préparée dans une zone de disponibilité (par exemple,
us-east-1a). Vous pouvez ensuite partager cette image avec d’autres zones de disponibilité commeus-east-1bouus-east-1cau sein de la même région AWSus-east-1. Cela permet à une seule image de servir plusieurs unités d’hébergement et vous simplifie la maintenance. -
Création et mises à jour efficaces des catalogues : Vous pouvez utiliser une image préparée créée dans
AZ 1(par exemple,us-east-1a) pour créer de nouveaux catalogues dansAZ 1. Après avoir partagé cette image avecAZ 2(par exemple,us-east-1b), vous pouvez ensuite utiliser l’image partagée dansAZ 2pour créer et mettre à jour des catalogues dansAZ 2. - Déploiement inter-unités d’hébergement : Si votre environnement comporte plusieurs unités d’hébergement sous la même région AWS et le même compte AWS, vous pouvez partager efficacement des images préparées entre ces unités d’hébergement.
Limitations
- Partage spécifique à la région : Vous ne pouvez partager des images préparées entre les zones de disponibilité qu’au sein de la même région AWS. Vous ne pouvez pas les partager entre différentes régions AWS ou différents comptes AWS dans l’implémentation actuelle.
Considérations importantes
- Ordre de suppression : Pour supprimer une spécification de version d’image préparée d’origine, vous devez d’abord supprimer toutes ses spécifications de version d’image partagées. Vous pouvez également supprimer les spécifications d’origine et partagées simultanément.
- Dépendance de la version d’image : Lorsque vous supprimez une version d’image, vous devez d’abord supprimer toutes les configurations de partage qui dépendent de cette version d’image spécifique. Les catalogues que vous avez créés à partir de l’image d’origine (non partagée) peuvent rester intacts.
- Rétrocompatibilité du catalogue : Vous pouvez mettre à jour les catalogues de machines existants que vous avez déployés avant l’introduction de cette fonctionnalité. Utilisez des images préparées que vous avez créées dans une zone de disponibilité différente de celle où vous avez initialement déployé le catalogue.
- Suppression complète : Lorsque vous supprimez une image préparée, vous ne pouvez plus l’utiliser dans aucune zone de disponibilité où vous l’avez partagée ou créée à l’origine. De plus, une version d’image préparée ne peut pas être supprimée tant que tous les catalogues liés à la version d’image préparée n’ont pas été supprimés.
Conditions préalables
Avant de configurer ou d’utiliser cette fonctionnalité, assurez-vous de remplir les conditions suivantes :
- Votre environnement doit être un environnement AWS EC2.
- Vous devez configurer plusieurs unités d’hébergement (chacune pouvant être liée à différentes zones de disponibilité) au sein de la même région AWS et sous le même compte AWS.
- Configurez l’autorisation IAM comme détaillé dans la section Autorisations IAM pour garantir le partage au sein du même compte AWS.
Autorisations IAM
Pour obtenir l’ID de compte de la connexion actuelle et garantir le partage au sein du même compte AWS, votre compte AWS doit inclure les autorisations IAM suivantes :
{
`"Effect": "Allow",`
`"Action": "iam:GetAccountSummary",`
`"Resource": "*"`
}
<!--NeedCopy-->
Configurer à l’aide de PowerShell
Vous pouvez partager des images préparées entre des zones de disponibilité liées à différentes unités d’hébergement en utilisant uniquement des commandes PowerShell actuellement.
Pour partager une image préparée
- Assurez-vous de disposer de l’
ImageVersionSpecUidde l’image préparée que vous souhaitez partager. Vous pouvez la récupérer à l’aide deGet-ProvImageVersionSpecou de commandesGet-similaires dans PowerShell. - Déterminez le
HostingUnitNamede la zone de disponibilité où vous souhaitez rendre l’image préparée disponible. Il s’agit du nom de l’unité d’hébergement que vous avez configurée pour cette zone de disponibilité spécifique. -
Exécutez la commande
Add-ProvImageVersionSpecHostingUnit: Utilisez la commande PowerShell suivante. Remplacez<ImageVersionSpecUid>par l’UID de votre image et<targetHostingUnitName>par le nom de l’unité d’hébergement dans la zone de disponibilité cible vers laquelle vous souhaitez partager la spécification de version d’image :Add-ProvImageVersionSpecHostingUnit -ImageVersionSpecUid <ImageVersionSpecUid> -HostingUnitName <targetHostingUnitName> <!--NeedCopy--> - Après une exécution réussie, vous pouvez voir le statut de l’image dans l’interface utilisateur de Studio, indiquant qu’elle a été partagée avec l’unité d’hébergement spécifiée.
Pour supprimer le partage d’une image préparée
- Assurez-vous de disposer de l’
ImageVersionSpecUidde l’image préparée dont vous souhaitez supprimer le partage. - Déterminez le
HostingUnitNamede la zone de disponibilité à partir de laquelle vous souhaitez supprimer l’image partagée. -
Exécutez la commande
Remove-ProvImageVersionSpecHostingUnit: Utilisez la commande PowerShell suivante. Remplacez<ImageVersionSpecUid>par l’UID de votre image et<targetHostingUnitName>par le nom de l’unité d’hébergement dans la zone de disponibilité cible à partir de laquelle vous souhaitez supprimer le partage de la spécification de version d’image :Remove-ProvImageVersionSpecHostingUnit -ImageVersionSpecUid <ImageVersionSpecUid> -HostingUnitName <targetHostingUnitName> <!--NeedCopy-->
Créer un catalogue de machines
Utiliser Studio
Créer un catalogue de machines à partir du nœud Images
Utilisez l’option Créer un catalogue dans le nœud Images pour créer un catalogue à l’aide de la version d’image.
Vous pouvez également sélectionner la version lors de la création d’un catalogue dans le nœud Catalogues de machines, en vous liant à l’option d’image préparée dans le flux de travail de création de catalogue. Consultez Créer un catalogue de machines à partir du nœud Catalogues de machines.
Pour créer un catalogue de machines MCS à partir du nœud Images, procédez comme suit :
- Sélectionnez une version d’image et cliquez sur Créer un catalogue. Cliquez sur Suivant sur la page Introduction.
- Sur les pages Gestion des machines et Image, les paramètres sont présélectionnés en fonction de la version d’image sélectionnée. Sur la page Image, saisissez une note pour l’image préparée sélectionnée.
- Remplissez les paramètres sur les pages suivantes.
- Sur la page Résumé, vérifiez les détails du catalogue de machines. Saisissez un nom et une description pour le catalogue de machines. Cliquez sur Terminer.
- Accédez au nœud Catalogues de machines pour voir le catalogue de machines créé.
Créer un catalogue de machines à partir du nœud Catalogues de machines
Pour créer un catalogue de machines MCS à partir du nœud Catalogues de machines, procédez comme suit :
- Cliquez sur Catalogues de machines dans le volet de navigation de gauche.
- Cliquez sur Créer un catalogue de machines. La page Configuration du catalogue de machines apparaît.
- Sur la page Type de machine, sélectionnez un type de machine pour le catalogue, par exemple, SE multi-session.
-
Sur la page Gestion des machines, sélectionnez les paramètres suivants :
- Sélectionnez Machines gérées par l’alimentation (par exemple, machines virtuelles ou PC lames).
- Sélectionnez Technologie de provisionnement Citrix. Ensuite, sélectionnez Citrix Machine Creation Services™.
- Dans le champ Ressources, sélectionnez les ressources (zone de disponibilité) que vous avez configurées lors de la création de la connexion d’hôte, puis cliquez sur Suivant.
- Sur la page Expérience de bureau, sélectionnez un bureau aléatoire ou statique que les utilisateurs doivent avoir lorsqu’ils se connectent. Si un bureau statique est sélectionné, spécifiez si vous souhaitez enregistrer les modifications apportées par l’utilisateur sur le disque local (persistant ou non persistant).
-
Sur la page Image, cliquez sur Sélectionner une image pour sélectionner une image préparée pour le catalogue de machines. Sélectionnez la version préparée que vous avez créée. Cliquez sur le nom de la version de l’image. Pour afficher plus de détails sur la version d’image sélectionnée, cliquez sur le numéro de version, qui est souligné. Cliquez sur Terminer.
Le profil de machine associé à l’image préparée apparaît et ses propriétés matérielles (par exemple, type d’instance, type de location, mappages réseau, groupes de sécurité, propriétés de volume) sont utilisées pour créer des machines dans les catalogues. Pour modifier la source du profil de machine vers une autre VM ou version de modèle de lancement, cliquez sur le bouton de modification.
-
Sur la page Machines virtuelles :
- Saisissez le nombre de VM pour le catalogue.
- La spécification de machine par défaut est affichée, basée sur le profil de machine. Pour la modifier, sélectionnez l’icône de modification et sélectionnez une spécification de machine.
- Sur la page Cartes réseau, sélectionnez les cartes réseau (ou ENI) pour les VM.
- Sur la page Identités de machine, configurez Active Directory sur site ou Microsoft Entra joint en mode hybride pour les machines du catalogue en sélectionnant le domaine et en créant de nouveaux comptes AD pour les VM à créer dans ce catalogue de machines. Les VM provisionnées sont jointes au domaine sélectionné. Spécifiez le schéma de nommage de compte pour les nouveaux comptes AD à créer pour les VM. Cliquez sur Suivant.
- Sur la page Informations d’identification du domaine, cliquez sur Saisir les informations d’identification pour fournir les informations d’identification du domaine sélectionné. Saisissez le nom d’utilisateur et le mot de passe de niveau administrateur lorsque vous y êtes invité. Vous pouvez également utiliser un compte de service si vous avez déjà enregistré des informations d’identification de domaine en suivant notre documentation produit.
- Parcourez les pages restantes jusqu’à la page Résumé. Saisissez un nom pour le catalogue de machines et sélectionnez Terminer pour créer le catalogue de machines.
Utiliser PowerShell
Créer un catalogue à l’aide d’une spécification de version d’image préparée et d’un profil de machine
-
Créez un catalogue de machines MCS non persistant à partir de la spécification de version d’image préparée à l’aide de la commande
New-ProvScheme. Par exemple,New-ProvScheme -ProvisioningSchemeName <string> -ImageVersionSpecUid <Guid> -HostingUnitUid <Guid> -IdentityPoolUid <Guid> [-CleanOnBoot $true] [-MachineProfile <string>] [-ProvisioningSchemeType “MCS”] <!--NeedCopy--> -
Créez un catalogue de machines MCS persistant à partir de la spécification de version d’image préparée à l’aide de la commande
New-ProvScheme. Par exemple,New-ProvScheme -ProvisioningSchemeName <string> -ImageVersionSpecUid <Guid> -HostingUnitUid <Guid> -IdentityPoolUid <Guid> [-CleanOnBoot $false] [-MachineProfile <string>] [-ProvisioningSchemeType “MCS”] <!--NeedCopy-->
Exemple de l’ensemble complet de commandes PowerShell pour créer un catalogue :
$Catalog = New-BrokerCatalog -AllocationType "Random" -IsRemotePC $False -MinimumFunctionalLevel "L7_20" -Name "awscatalog" -PersistUserChanges "Discard" -ProvisioningType "MCS" -Scope @() -SessionSupport "MultiSession"
$IdentityPool = New-AcctIdentityPool -AllowUnicode -Domain "domainname" -IdentityPoolName "awscatalog" -IdentityType "ActiveDirectory" -NamingScheme "aws##" -NamingSchemeType "Numeric" -Scope @()
$PreparedImageVersionSpec = Get-ProvImageVersionSpec -ImageDefinitionName image1 -ImageVersionNumber 1 -Filter "PreparationType -eq 'Mcs'"
$Task = New-ProvScheme -ProvisioningSchemeName awscatalog -ImageVersionSpecUid $PreparedImageVersionSpec.ImageVersionSpecUid -HostingUnitName aws -IdentityPoolName awscatalog -CleanOnBoot -Scope @() -SecurityGroup @() -MachineProfile 'XdHyp:\HostingUnits\cvad-test-scalestress\us-east-1a.availabilityzone\machine-profile-instance i (i-0xxxxxxxx).vm' -RunAsynchronously
Get-ProvTask -TaskId $Task.TaskId
$ProvScheme = Get-ProvScheme -ProvisioningSchemeName awscatalog
Set-BrokerCatalog -Name $Catalog.Name -ProvisioningSchemeId $ProvScheme.ProvisioningSchemeUid
<!--NeedCopy-->