Kataloge mit vorbereiteten Images in AWS EC2 erstellen
-
Erstellen Sie vorbereitete Images, und verwenden Sie diese, um einen MCS-Maschinenkatalog zu erstellen, indem Sie Folgendes verwenden:
- Studio
- PowerShell-Befehle
Die wichtigsten Schritte zum Erstellen eines MCS-Maschinenkatalogs mit dem vorbereiteten Image sind:
- Erstellen der Imagestruktur und der anfänglichen Imageversionen.
- Verwenden der Imageversion als vorbereitetes Image zum Erstellen eines Katalogs.
Imagestruktur und anfängliche Imageversion erstellen
Studio verwenden
Gehen Sie wie folgt vor, um eine Imagestruktur und die anfängliche Imageversion zu erstellen:
- Gehen Sie in Studio zum Knoten Images, und klicken Sie auf Imagestruktur erstellen. Klicken Sie auf der Seite Einführung auf Weiter.
- Geben Sie auf der Seite Imagestruktur den OS-Typ und den Sitzungstyp für die Imagestruktur an.
-
Wählen Sie auf der Seite Image die Ressourcen (nur die für die festgelegte Verbindung anwendbaren Ressourcen werden aufgelistet), ein Masterimage, das als Vorlage zum Erstellen der Imageversion verwendet werden soll, und ein Maschinenprofil zum Erfassen von Hardwareeigenschaften aus. Wählen Sie ein Maschinenprofil aus, um Hardwareeigenschaften von einer VM-Instanz oder einer Startvorlagenversion zu erfassen.
Hinweis:
- Vergewissern Sie sich vor der Auswahl eines Images, dass VDA 2311 oder höher auf dem Masterimage installiert ist und der MCSIO-Treiber auf dem VDA installiert ist.
- Der Instance Metadata Service (IMDS) V1 und V2 werden beide unterstützt.
- Wählen Sie auf der Seite Maschinenspezifikation eine Maschinengröße aus. Die Maschinengröße des Maschinenprofils (auf der Seite Image ausgewählt) ist standardmäßig ausgewählt.
- Wählen oder fügen Sie auf der Seite NICs NICs für das Vorbereitungsimage hinzu. Wählen Sie für jede NIC ein zugehöriges VPC-Subnetz aus.
- Geben Sie auf der Seite Versionsbeschreibung eine Beschreibung für die erstellte anfängliche Imageversion ein.
- Überprüfen Sie auf der Seite Zusammenfassung die Details der Imagestruktur und der erstellten anfänglichen Imageversion. Geben Sie einen Namen und eine Beschreibung für die Imagestruktur ein. Klicken Sie auf Fertig stellen.
Imageversionen erstellen
Imageversionen ermöglichen die Verwaltung verschiedener Iterationen oder Updates eines bestimmten Images. Diese Funktionalität ermöglicht es Ihnen, mehrere Versionen eines Images für verschiedene Zwecke zu verwalten.
Gehen Sie wie folgt vor, um Imageversionen aus der anfänglichen Imageversion zu erstellen:
Hinweis:
Die Hostingeinheit aller Imageversionen muss dieselbe sein.
- Gehen Sie zum Knoten Images, wählen Sie eine Imageversion oder eine Imagestruktur aus, und klicken Sie auf Imageversion erstellen.
- Auf der Seite Imagestruktur können Sie die Hostingeinheit ändern und das Masterimage sowie das Maschinenprofil für diese Imageversion neu auswählen.
- Wenn die Konfiguration der Imageversion von der anfänglich konfigurierten Imageversion abweichen soll, konfigurieren Sie die Einstellungen auf den Seiten Maschinenspezifikation und NICs des Dialogfelds Imageversion erstellen.
- Fügen Sie eine Beschreibung für die Imageversion hinzu. Klicken Sie auf Fertig stellen.
Hinweis:
Wenn die Erstellung der Imageversion aus irgendeinem Grund fehlschlägt, bietet die Registerkarte Problembehandlung unten eine Option zum Wiederholen.
PowerShell verwenden
Die detaillierten PowerShell-Befehle zum Erstellen einer Spezifikation für eine vorbereitete Imageversion lauten wie folgt:
-
Überprüfen Sie die verfügbaren Namen der Imagestruktur mit dem Befehl
Test-ProvImageDefinitionNameAvailable. Beispiel:Test-ProvImageDefinitionNameAvailable -ImageDefinitionName <string[]> <!--NeedCopy--> -
Erstellen Sie eine Imagestruktur mit dem Befehl
New-ProvImageDefinition. Beispiel:New-ProvImageDefinition -ImageDefinitionName image1 -OsType Windows -VdaSessionSupport MultiSession <!--NeedCopy--> -
Erstellen Sie eine neue Konfiguration für die Imagestruktur in der angegebenen Hostingverbindung mit dem Befehl
Add-ProvImageDefinitionConnection.Add-ProvImageDefinitionConnection -ImageDefinitionName image1 -HypervisorConnectionName test-conn <!--NeedCopy--> -
Erstellen Sie eine Imageversion mit dem Befehl
New-ProvImageVersion. Beispiel:New-ProvImageVersion -ImageDefinitionName image1 -Description "version 1" <!--NeedCopy--> -
Fügen Sie der Imageversion eine Master-Imageversionsspezifikation mit dem Befehl
Add-ProvImageVersionSpechinzu. Beispiel:Add-ProvImageVersionSpec -ImageDefinitionName image1 -ImageVersionNumber 1 -HostingUnitName aws -MasterImagePath "XDHyp:\HostingUnits\aws\win10-2411-ami (ami-00123456789abcdef).template”" <!--NeedCopy-->Hinweis:
Sie können nur eine Master-Imageversionsspezifikation zu einer Imageversion für eine Hostingeinheit hinzufügen.
-
Erstellen Sie eine Spezifikation für eine vorbereitete Imageversion aus der Master-Imageversionsspezifikation mit dem Befehl
New-ProvImageVersionSpec. Der ParameterSourceImageVersionSpecUidwird vom BefehlAdd-ProvImageVersionSpecabgeleitet. Beispiel:```
- New-ProvImageVersionSpec
- -SourceImageVersionSpecUid 00000000-0000-0000-0000-00000000000
-
-MachineProfile ‘XDHyp:\HostingUnits\aws\w2022-2411 (lt-00123456789abcdef).launchtemplate\lt-00123456789abcdef (1).launchtemplateversion’ -RunAsynchronously
```
Beispiel für den vollständigen Satz von PowerShell-Befehlen zum Erstellen einer Imagestruktur, einer Imageversion und einer Spezifikation für eine vorbereitete Imageversion:
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-->
Hinweis:
- Alle Imageversionsspezifikationen in einer Imagestruktur müssen zur selben Hostingeinheit gehören.
- Eine Imageversion kann nur eine Master-Imageversionsspezifikation und eine vorbereitete Imageversionsspezifikation haben.
- Alle Imageversionsspezifikationen müssen ein Maschinenprofil haben.
Vorbereitete Images über Verfügbarkeitszonen und Regionen hinweg freigeben
Sie können jetzt ein einzelnes vorbereitetes Image über verschiedene Verfügbarkeitszonen hinweg, die an verschiedene Hostingeinheiten gebunden sind, innerhalb derselben AWS-Region oder in verschiedenen Regionen für Ihre AWS EC2-Umgebungen freigeben. Dadurch können Sie ein vorbereitetes Image verwenden, um MCS-Maschinenkataloge in verschiedenen Verfügbarkeitszonen und Regionen zu erstellen und zu aktualisieren. Beim Freigeben über verschiedene AZs in verschiedenen Regionen wird die vorbereitete Imageversion von der ursprünglichen Region in die Zielregionen kopiert.
Sie können ein einzelnes vorbereitetes Image verwalten und es verwenden, um Maschinenkataloge über mehrere Verfügbarkeitszonen und Regionen hinweg zu erstellen und zu aktualisieren, die an verschiedene Hostingeinheiten gebunden sind. Dies reduziert Ihren Image-Verwaltungsaufwand erheblich, gewährleistet Konsistenz bei Bereitstellungen und optimiert den Bereitstellungsprozess. Sie können auch vorhandene Maschinenkataloge nahtlos mit vorbereiteten Images aus einer anderen Verfügbarkeitszone oder Region aktualisieren.
Anwendungsfälle
-
Zentralisierte Imageverwaltung: Sie erstellen ein vorbereitetes Image in einer Verfügbarkeitszone (z. B.
us-east-1a). Sie können dieses Image dann für andere Verfügbarkeitszonen wieus-east-1binnerhalb derselben AWS-Regionus-east-1oderus-west-1ain einer anderen Regionus-west-1freigeben. Dies ermöglicht es einem einzigen Image, mehrere Hostingeinheiten zu bedienen und vereinfacht die Wartung für Sie. -
Effiziente Katalogerstellung und -aktualisierung: Sie können ein in
AZ 1(z. B.us-east-1a) erstelltes vorbereitetes Image verwenden, um neue Kataloge inAZ 1zu erstellen. Nachdem Sie dieses Image fürAZ 2(z. B.us-east-1b) freigegeben haben, können Sie das freigegebene Image inAZ 2verwenden, um Kataloge inAZ 2zu erstellen und zu aktualisieren. - Bereitstellungen über Hostingeinheiten und Hostingverbindungen hinweg: Wenn Ihre Umgebung mehrere Hostingeinheiten unter denselben oder verschiedenen AWS-Regionen aufweist, können Sie vorbereitete Images effizient zwischen diesen Hostingeinheiten freigeben.
Einschränkungen
- Regionsspezifische Freigabe: Sie können vorbereitete Images nur über Verfügbarkeitszonen innerhalb derselben AWS-Region freigeben. Eine Freigabe über verschiedene AWS-Regionen oder verschiedene AWS-Konten hinweg ist in der aktuellen Implementierung nicht möglich.
Wichtige Überlegungen
- Löschreihenfolge: Um eine ursprüngliche vorbereitete Image-Versionsspezifikation zu löschen, müssen Sie zuerst alle ihre freigegebenen Image-Versionsspezifikationen löschen. Alternativ müssen Sie die ursprünglichen und freigegebenen Spezifikationen gleichzeitig löschen.
- Image-Versionsabhängigkeit: Wenn Sie eine Image-Version entfernen, müssen Sie zuerst alle Freigabekonfigurationen entfernen, die von dieser spezifischen Image-Version abhängen. Kataloge, die Sie aus dem ursprünglichen (nicht freigegebenen) Image erstellt haben, können intakt bleiben.
- Katalog-Abwärtskompatibilität: Sie können vorhandene Maschinenkataloge aktualisieren, die Sie vor der Einführung dieser Funktion bereitgestellt haben. Verwenden Sie vorbereitete Images, die Sie in einer anderen Verfügbarkeitszone oder Region erstellt haben, als der, in der Sie den Katalog ursprünglich bereitgestellt haben.
- Vollständiges Löschen: Wenn Sie ein vorbereitetes Image löschen, können Sie es in keiner Verfügbarkeitszone mehr verwenden, in der es freigegeben oder ursprünglich erstellt wurde. Darüber hinaus kann eine vorbereitete Image-Version erst gelöscht werden, wenn alle Kataloge, die an die vorbereitete Image-Version gebunden sind, zuerst gelöscht wurden.
Voraussetzungen
Bevor Sie diese Funktion konfigurieren oder verwenden, stellen Sie sicher, dass Sie die folgenden Bedingungen erfüllen:
- Ihre Umgebung muss eine AWS EC2-Umgebung sein.
- Sie müssen mehrere Hostingeinheiten (jede kann an verschiedene Verfügbarkeitszonen gebunden sein) und Hostverbindungen (jede kann an eine andere Region gebunden sein) unter demselben AWS-Konto konfigurieren.
Konfigurieren mit PowerShell
Sie können vorbereitete Images derzeit nur mithilfe von PowerShell-Befehlen über Verfügbarkeitszonen hinweg freigeben, die an verschiedene Hostingeinheiten gebunden sind.
Freigeben eines vorbereiteten Images
- Stellen Sie sicher, dass Sie die
ImageVersionSpecUiddes vorbereiteten Images haben, das Sie freigeben möchten. Sie können diese mitGet-ProvImageVersionSpecoder ähnlichenGet--Befehlen in PowerShell abrufen. - Bestimmen Sie den
HostingUnitNameder Verfügbarkeitszone (kann dieselbe oder eine andere Region sein), in der Sie das vorbereitete Image verfügbar machen möchten. Dies ist der Name der Hostingeinheit, die Sie für diese spezifische Verfügbarkeitszone konfiguriert haben. -
Führen Sie den Befehl
Add-ProvImageVersionSpecHostingUnitaus: Verwenden Sie den folgenden PowerShell-Befehl. Ersetzen Sie<ImageVersionSpecUid>durch die Uid Ihres Images und<targetHostingUnitName>durch den Namen der Hostingeinheit in der Zielverfügbarkeitszone, für die Sie die Image-Versionsspezifikation freigeben möchten:Add-ProvImageVersionSpecHostingUnit -ImageVersionSpecUid <ImageVersionSpecUid> -HostingUnitName <targetHostingUnitName> <!--NeedCopy--> - Nach erfolgreicher Ausführung sehen Sie den Status des Images in der Studio-Benutzeroberfläche, der anzeigt, dass es für die angegebene Hostingeinheit freigegeben wurde.
Freigabe eines vorbereiteten Images aufheben
-
- Stellen Sie sicher, dass Sie die
ImageVersionSpecUiddes vorbereiteten Images haben, dessen Freigabe Sie aufheben möchten.
- Stellen Sie sicher, dass Sie die
- Bestimmen Sie den
HostingUnitNameder Verfügbarkeitszone, aus der Sie das freigegebene Image entfernen möchten. -
Führen Sie den Befehl
Remove-ProvImageVersionSpecHostingUnitaus: Verwenden Sie den folgenden PowerShell-Befehl. Ersetzen Sie<ImageVersionSpecUid>durch die Uid Ihres Images und<targetHostingUnitName>durch den Namen der Hostingeinheit in der Zielverfügbarkeitszone, aus der Sie die Freigabe der Image-Versionsspezifikation entfernen möchten:Remove-ProvImageVersionSpecHostingUnit -ImageVersionSpecUid <ImageVersionSpecUid> -HostingUnitName <targetHostingUnitName> <!--NeedCopy-->
Erstellen eines Maschinenkatalogs
Verwenden von Studio
Erstellen eines Maschinenkatalogs über den Knoten „Images“
Verwenden Sie die Option Katalog erstellen im Knoten Images, um einen Katalog mithilfe der Image-Version zu erstellen.
Alternativ können Sie die Version beim Erstellen eines Katalogs im Knoten Machine Catalogs auswählen, indem Sie auf die Option für vorbereitete Images im Workflow zur Katalogerstellung verweisen. Siehe Erstellen eines Maschinenkatalogs über den Knoten „Machine Catalogs“.
Gehen Sie wie folgt vor, um einen MCS-Maschinenkatalog über den Knoten Images zu erstellen:
- Wählen Sie eine Image-Version aus und klicken Sie auf Katalog erstellen. Klicken Sie auf der Seite Einführung auf Weiter.
- Auf den Seiten Maschinenverwaltung und Image sind die Einstellungen basierend auf der ausgewählten Image-Version vorausgewählt. Geben Sie auf der Seite „Image“ eine Notiz für das ausgewählte vorbereitete Image ein.
- Schließen Sie die Einstellungen auf den folgenden Seiten ab.
- Überprüfen Sie auf der Seite Zusammenfassung die Details des Maschinenkatalogs. Geben Sie einen Namen und eine Beschreibung für den Maschinenkatalog ein. Klicken Sie auf Fertig stellen.
- Gehen Sie zum Knoten Machine Catalogs, um den erstellten Maschinenkatalog anzuzeigen.
Erstellen eines Maschinenkatalogs über den Knoten „Machine Catalogs“
Gehen Sie wie folgt vor, um einen MCS-Maschinenkatalog über den Knoten „Machine Catalogs“ zu erstellen:
- Klicken Sie im linken Navigationsbereich auf Machine Catalogs.
- Klicken Sie auf Maschinenkatalog erstellen. Die Seite Maschinenkatalog-Setup wird angezeigt.
- Wählen Sie auf der Seite Maschinentyp einen Maschinentyp für den Katalog aus, z. B. Multi-Session-OS.
-
Wählen Sie auf der Seite Maschinenverwaltung die folgenden Einstellungen aus:
- Wählen Sie Maschinen, die energieverwaltet sind (z. B. virtuelle Maschinen oder Blade-PCs) aus.
- Wählen Sie Citrix Provisioning-Technologie aus. Wählen Sie dann Citrix Machine Creation Services™ aus.
- Wählen Sie im Feld Ressourcen die Ressourcen (Verfügbarkeitszone) aus, die Sie beim Erstellen der Hostverbindung konfiguriert haben, und klicken Sie auf Weiter.
- Wählen Sie auf der Seite Desktop-Erfahrung entweder einen zufälligen oder statischen Desktop aus, den Benutzer beim Anmelden erhalten sollen. Wenn ein statischer Desktop ausgewählt ist, geben Sie zusätzlich an, ob Sie Änderungen, die der Benutzer auf der lokalen Festplatte vornimmt, speichern möchten (persistent oder nicht-persistent).
-
Klicken Sie auf der Seite Image auf Image auswählen, um ein vorbereitetes Image für den Maschinenkatalog auszuwählen. Wählen Sie die von Ihnen erstellte vorbereitete Version aus. Klicken Sie auf den Namen der Image-Version. Um weitere Details zur ausgewählten Image-Version anzuzeigen, klicken Sie auf die Versionsnummer, die unterstrichen ist. Klicken Sie auf Fertig.
Das mit dem vorbereiteten Image verknüpfte Maschinenprofil wird angezeigt, und seine Hardwareeigenschaften (z. B. Instanztyp, Mandantentyp, Netzwerkzuordnungen, Sicherheitsgruppen, Volume-Eigenschaften) werden verwendet, um Maschinen in den Katalogen zu erstellen. Um die Maschinenprofilquelle in eine andere VM- oder Startvorlagenversion zu ändern, klicken Sie auf die Schaltfläche „Bearbeiten“.
-
Auf der Seite Virtuelle Maschinen:
- Geben Sie die Anzahl der VMs für den Katalog ein.
- Die Standard-Maschinenspezifikation wird angezeigt, die auf dem Maschinenprofil basiert. Um sie zu ändern, wählen Sie das Bearbeitungssymbol aus und wählen Sie eine Maschinenspezifikation aus.
- Wählen Sie auf der Seite NICs die NICs (oder ENIs) für die VMs aus.
- Konfigurieren Sie auf der Seite Maschinenidentitäten ein lokales Active Directory oder Microsoft Entra Hybrid-Joined für die Maschinen im Katalog, indem Sie die Domäne auswählen und neue AD-Konten für die in diesem Maschinenkatalog zu erstellenden VMs erstellen. Die bereitgestellten VMs werden der ausgewählten Domäne beigetreten. Geben Sie das Kontenbenennungsschema für die neuen AD-Konten an, die für die VMs erstellt werden sollen. Klicken Sie auf Weiter.
- Klicken Sie auf der Seite Domänenanmeldeinformationen auf Anmeldeinformationen eingeben, um die Anmeldeinformationen für die ausgewählte Domäne anzugeben. Geben Sie bei Aufforderung einen Benutzernamen und ein Kennwort mit Administratorrechten ein. Sie können auch ein Dienstkonto verwenden, wenn Sie bereits zuvor Domänenanmeldeinformationen gespeichert haben, indem Sie unsere Produktdokumentation befolgen.
- Klicken Sie sich durch die verbleibenden Seiten bis zur Seite Zusammenfassung. Geben Sie einen Namen für den Maschinenkatalog ein und wählen Sie Fertig stellen, um den Maschinenkatalog zu erstellen.
Verwenden von PowerShell
Erstellen eines Katalogs mithilfe einer vorbereiteten Image-Versionsspezifikation und eines Maschinenprofils
-
Erstellen Sie einen nicht-persistenten MCS-Maschinenkatalog aus der vorbereiteten Image-Versionsspezifikation mithilfe des Befehls
New-ProvScheme. Zum Beispiel:New-ProvScheme -ProvisioningSchemeName <string> -ImageVersionSpecUid <Guid> -HostingUnitUid <Guid> -IdentityPoolUid <Guid> [-CleanOnBoot $true] [-MachineProfile <string>] [-ProvisioningSchemeType “MCS”] <!--NeedCopy--> -
Erstellen Sie einen persistenten MCS-Maschinenkatalog aus der vorbereiteten Image-Versionsspezifikation mithilfe des Befehls
New-ProvScheme. Zum Beispiel:New-ProvScheme -ProvisioningSchemeName <string> -ImageVersionSpecUid <Guid> -HostingUnitUid <Guid> -IdentityPoolUid <Guid> [-CleanOnBoot $false] [-MachineProfile <string>] [-ProvisioningSchemeType “MCS”] <!--NeedCopy-->
Beispiel für den vollständigen Satz von PowerShell-Befehlen zum Erstellen eines Katalogs:
$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-->