Microsoft Azure Resource Manager-Cloudumgebungen
Folgen Sie den Anleitungen in diesem Artikel, wenn Sie mit Microsoft Azure Resource Manager virtuelle Maschinen in Ihrer Citrix Virtual Apps and Desktops-Umgebung bereitstellen.
Es wird davon ausgegangen, dass Sie Kenntnisse in folgenden Bereichen besitzen:
- Azure Active Directory: https://docs.microsoft.com/en-in/azure/active-directory/fundamentals/active-directory-whatis/
- Einverständniserklärung: https://docs.microsoft.com/en-us/azure/active-directory/manage-apps/plan-an-application-integration
- Dienstprinzipal: https://docs.microsoft.com/en-us/azure/active-directory/develop/app-objects-and-service-principals/
Bedarfsgesteuertes Provisioning in Azure
Beim bedarfsgesteuerten Provisioning in Azure werden VMs nur erstellt, wenn Citrix Virtual Apps and Desktops nach Abschluss des Provisionings eine Einschaltaktion initiiert.
Wenn Sie Maschinenkataloge mit Maschinenerstellungsdiensten (MCS) in Azure Resource Manager erstellen, bietet das bedarfsgesteuerte Provisioning in Azure folgende Vorteile:
- Geringere Speicherkosten
- Schnellere Katalogerstellung
Wenn Sie einen MCS-Katalog erstellen, werden im Azure-Portal die Netzwerksicherheitsgruppe, Netzwerkschnittstellen, Basisimages und Identitätsdatenträger in den Ressourcengruppen angezeigt.
VMs werden erst dann im Azure-Portal angezeigt, wenn Citrix Virtual Apps and Desktops eine VM-Einschaltaktion startet. Es gibt zwei Arten von Maschinen mit den folgenden Unterschieden:
- Bei gepoolten Maschinen sind OS-Datenträger und Zurückschreibcache nur vorhanden, wenn die VM vorhanden ist. Wenn Sie eine gepoolte Maschine in der Konsole herunterfahren, ist die VM im Azure-Portal nicht sichtbar. Wenn Sie Maschinen routinemäßig herunterfahren (z. B. außerhalb der Arbeitszeit), sparen Sie erhebliche Speicherkosten.
- Bei dedizierten Maschinen wird der Betriebssystemdatenträger beim ersten Einschalten der VM erstellt. Die virtuelle Maschine im Azure-Portal bleibt im Speicher, bis die Maschinenidentität gelöscht wird. Wenn Sie eine dedizierte Maschine in der Konsole herunterfahren, ist die VM weiterhin im Azure-Portal sichtbar.
Verbindung mit Azure Resource Manager
Im Artikel Verbindungen und Ressourcen werden die Assistenten zum Erstellen einer Verbindung beschrieben. Die nachfolgenden Informationen gelten für Azure Resource Manager-Verbindungen.
Überlegungen:
- Citrix empfiehlt, den Dienstprinzipal mit der Rolle “Mitwirkender” zu verwenden. Beachten Sie jedoch die Liste der Mindestberechtigungen im Abschnitt Mindestberechtigungen.
- Beim Erstellen der ersten Verbindung fordert Azure Sie auf, die erforderlichen Berechtigungen zu erteilen. Sie müssen sich für zukünftige Verbindungen neu authentifizieren, Ihre Zustimmung wird jedoch in Azure gespeichert und die Aufforderung nicht wieder angezeigt.
- Für die Authentifizierung verwendete Konten müssen Co-Administrator des Abonnements sein.
- Das für die Authentifizierung verwendete Konto muss Mitglied des Verzeichnisses des Abonnements sein. Es gibt zwei Arten von Konten, auf die Sie achten sollten: “Arbeitsplatz oder Schule” und “Persönliches Microsoft-Konto”. Weitere Informationen finden Sie unter CTX219211.
-
Sie können zwar ein bestehendes Microsoft-Konto als Mitglied des Abonnementverzeichnisses hinzufügen und verwenden, doch kann es zu Komplikationen kommen, wenn dem Konto zuvor Gastzugriff auf eine der Verzeichnisressourcen gewährt worden war. In diesem Fall besitzt das Konto möglicherweise einen Platzhaltereintrag im Verzeichnis, der nicht die erforderlichen Berechtigungen gewährt, und es wird ein Fehler zurückgegeben.
Entfernen Sie zur Behebung die Ressourcen aus dem Verzeichnis und fügen Sie sie wieder hinzu. Dabei ist jedoch Vorsicht geboten, denn dies hat unbeabsichtigte Auswirkungen auf andere Ressourcen, auf die das Konto zugreifen kann.
- Es gibt ein bekanntes Problem, bei dem bestimmte Konten, die eigentlich Mitglieder sind, als Verzeichnisgäste erkannt werden. Diese Konfiguration gibt es normalerweise bei älteren Verzeichniskonten. Fügen Sie als Workaround dem Verzeichnis jeweils ein Konto hinzu, das den richtigen Mitgliedschaftswert erhält.
- Ressourcengruppen sind Container für Ressourcen und können Ressourcen aus ihrer eigenen und aus anderen Regionen enthalten. Dies kann Verwirrung auslösen, wenn Sie erwarten, dass die in der Region einer Ressourcengruppe angezeigten Ressourcen verfügbar sind.
- Stellen Sie sicher, dass Ihr Netzwerk und Subnetz groß genug zum Hosten der benötigten Maschinenzahl ist. Dies erfordert einiges an Vorausschau, doch Microsoft kann Ihnen bei der Wahl der richtigen Werte und der Planung der erforderlichen Adressraumkapazität helfen.
Sie können eine Hostverbindung mit Azure auf zweierlei Weise herstellen:
- Authentifizierung bei Azure zum Erstellen eines Dienstprinzipals
- Verwenden der Informationen eines zuvor erstellten Dienstprinzipals für die Verbindung mit Azure
Erstellen eines Dienstprinzipals
Wichtig:
Dieses Feature ist für deutsche und chinesische Azure-Abonnements noch nicht verfügbar.
Authentifizieren Sie sich zunächst bei Azure. Stellen Sie Folgendes sicher:
- Sie haben ein Benutzerkonto des Azure Active Directory-Mandanten Ihres Abonnements.
- Das Azure Active Directory-Benutzerkonto ist Co-Administrator des Azure-Abonnements, das Sie für die Bereitstellung von Ressourcen verwenden möchten.
- Sie haben globale Administrator-, Anwendungsadministrator- oder Anwendungsentwicklerberechtigungen für die Authentifizierung. Diese Berechtigungen können widerrufen werden, wenn Sie eine Hostverbindung erstellt haben. Weitere Informationen zu Rollen finden Sie unter Integrierte Azure AD-Rollen.
Wenn Sie sich bei Azure authentifizieren, um einen Dienstprinzipal zu erstellen, wird eine Anwendung in Azure registriert. Für die registrierte Anwendung wird ein geheimer Clientschlüssel erstellt. Die registrierte Anwendung verwendet den geheimen Clientschlüssel zur Authentifizierung bei Azure AD. Stellen Sie sicher, dass Sie den geheimen Clientschlüssel ändern, bevor er abläuft. Sie erhalten eine Warnung in der Konsole, bevor der geheime Schlüssel abläuft.
Um sich bei Azure zu authentifizieren und einen Dienstprinzipal zu erstellen, führen Sie im Assistenten zum Hinzufügen von Verbindung und Ressourcen die folgenden Schritte aus:
-
Wählen Sie auf der Seite Verbindung die Option Neue Verbindung erstellen, als Verbindungstyp Microsoft Azure und Ihre Azure-Umgebung.
-
Wählen Sie die Tools, die zum Erstellen der virtuellen Maschinen verwendet werden sollen, und wählen Sie dann Weiter.
-
Geben Sie auf der Seite Verbindungsdetails die ID Ihres Azure-Abonnements und einen Namen für die Verbindung ein. Nachdem Sie die Abonnement-ID eingegeben haben, wird die Schaltfläche Neu erstellen verfügbar.
Hinweis:
Der Verbindungsname muss aus 1–64 Zeichen bestehen, er darf nicht ausschließlich aus Leerzeichen bestehen und folgende Zeichen nicht enthalten:
\/;:#.*?=<>|[]{}"'()'
-
Wählen Sie Neu erstellen und geben Sie den Benutzernamen und das Kennwort des Azure Active Directory-Kontos ein.
-
Wählen Sie Anmelden.
-
Wählen Sie Akzeptieren, um Citrix Virtual Apps and Desktops die aufgelisteten Berechtigungen zu erteilen. In Citrix Virtual Apps and Desktops wird ein Dienstprinzipal erstellt, der die Verwaltung von Azure-Ressourcen für den angegebenen Benutzer ermöglicht.
-
Nachdem Sie Akzeptieren gewählt haben, kehren Sie auf die Seite Verbindung im Assistenten zurück.
Hinweis:
Nachdem Sie sich bei Azure authentifiziert haben, werden die Schaltflächen Neu erstellen und Vorhandene verwenden ausgeblendet. Der Text Verbindung erfolgreich und ein grünes Häkchen zeigen die erfolgreiche Verbindung mit Ihrem Azure-Abonnement an.
-
Wählen Sie Weiter auf der Seite Verbindungsdetails.
Hinweis:
Sie können im Assistenten erst fortfahren, wenn Sie sich bei Azure authentifiziert und die Erteilung der erforderlichen Berechtigungen akzeptiert haben.
-
Konfigurieren Sie Ressourcen für die Verbindung. Ressourcen umfassen Region und Netzwerk.
- Wählen Sie auf der Seite Region eine Region aus.
- Gehen Sie auf der Seite Netzwerk wie folgt vor:
- Geben Sie einen Ressourcennamen zur Identifizierung der Kombination aus Region und Netzwerk ein. Der Name muss aus 1–64 Zeichen bestehen. Der Ressourcenname darf nicht ausschließlich aus Leerzeichen bestehen und folgende Zeichen nicht enthalten:
\/;:#.*?=<>|[]{}"'()'
. - Wählen Sie eine Kombination aus virtuellem Netzwerk und Ressourcengruppe. (Wenn Sie mehrere virtuelle Netzwerke mit dem gleichen Namen haben, erzielen Sie durch die Kombination aus Netzwerknamen und Ressourcengruppe Einmaligkeit.) Wenn die auf der vorherigen Seite ausgewählte Region keine virtuellen Netzwerke enthält, kehren Sie zu der Seite zurück und wählen Sie eine Region, die virtuelle Netzwerke enthält.
- Geben Sie einen Ressourcennamen zur Identifizierung der Kombination aus Region und Netzwerk ein. Der Name muss aus 1–64 Zeichen bestehen. Der Ressourcenname darf nicht ausschließlich aus Leerzeichen bestehen und folgende Zeichen nicht enthalten:
-
Überprüfen Sie auf der Seite Zusammenfassung die Einstellungen und wählen Sie Fertig stellen, um die Einrichtung abzuschließen.
Verwenden der Informationen eines zuvor erstellten Dienstprinzipals für die Verbindung mit Azure
Zum manuellen Erstellen eines Dienstprinzipals stellen Sie eine Verbindung mit Ihrem Azure Resource Manager-Abonnement her und verwenden Sie die in den nachfolgenden Abschnitten aufgeführten PowerShell-Cmdlets.
Voraussetzungen:
-
SubscriptionId: Azure Resource Manager-
SubscriptionID
des Abonnements, für das Sie VDAs bereitstellen möchten. - ActiveDirectoryID: Mandanten-ID der Anwendung ein, die Sie bei Azure AD registriert haben.
- ApplicationName: Name der Anwendung, die in Azure AD erstellt werden soll.
Führen Sie zum Erstellen eines Dienstprinzipals folgende Schritte aus:
-
Stellen Sie eine Verbindung mit Ihrem Azure Resource Manager-Abonnement her.
Connect-AzAccount
-
Wählen Sie das Azure Resource Manager-Abonnement, in dem Sie den Dienstprinzipal erstellen möchten.
Get-AzSubscription -SubscriptionId $subscriptionId | Select-AzSubscription
-
Erstellen Sie die Anwendung im AD-Mandanten.
$AzureADApplication = New-AzADApplication -DisplayName $ApplicationName
-
Erstellen Sie einen Dienstprinzipal.
New-AzADServicePrincipal -ApplicationId $AzureADApplication.AppId
-
Weisen Sie dem Dienstprinzipal eine Rolle zu.
New-AzRoleAssignment -RoleDefinitionName Contributor -ServicePrincipalName $AzureADApplication.AppId –scope /subscriptions/$SubscriptionId
-
Notieren Sie die im Ausgabefenster der PowerShell-Konsole angezeigte Anwendungs-ID (ApplicationId). Sie müssen diese ID beim Erstellen der Hostverbindung angeben.
Führen Sie im Assistenten Verbindung und Ressourcen hinzufügen folgende Schritte aus:
-
Wählen Sie auf der Seite Verbindung die Option Neue Verbindung erstellen, als Verbindungstyp Microsoft Azure und Ihre Azure-Umgebung.
-
Wählen Sie die Tools, die zum Erstellen der virtuellen Maschinen verwendet werden sollen, und wählen Sie dann Weiter.
-
Geben Sie auf der Seite Verbindungsdetails die ID Ihres Azure-Abonnements und einen Namen für die Verbindung ein.
Hinweis:
Der Verbindungsname muss aus 1–64 Zeichen bestehen, er darf nicht ausschließlich aus Leerzeichen bestehen und folgende Zeichen nicht enthalten:
\/;:#.*?=<>|[]{}"'()'
-
Wählen Sie Vorhandene verwenden. Geben Sie im Fenster Vorhandene Dienstprinzipaldetails die folgenden Einstellungen für den bestehenden Dienstprinzipal ein. Nachdem Sie die Details eingegeben haben, ist die Schaltfläche Speichern aktiviert. Wählen Sie Speichern. Sie können erst fortfahren, wenn Sie gültige Angaben gemacht haben.
- Abonnement-ID. Geben Sie Ihre Azure-Abonnement-ID ein. Um Ihre Abonnement-ID zu erhalten, melden Sie sich beim Azure-Portal an und gehen Sie zu Abonnements > Übersicht.
- Active Directory-ID (Mandanten-ID). Geben Sie die Verzeichnis-ID (Mandanten-ID) der Anwendung ein, die Sie bei Azure AD registriert haben.
- Anwendungs-ID. Geben Sie die Anwendungs-ID (Client-ID) der Anwendung ein, die Sie bei Azure AD registriert haben.
- Anwendungsgeheimnis. Erstellen Sie einen geheimen Clientschlüssel. Die registrierte Anwendung verwendet den Schlüssel zur Authentifizierung bei Azure AD. Es wird empfohlen, Schlüssel aus Sicherheitsgründen regelmäßig zu ändern. Speichern Sie den Schlüssel unbedingt, da Sie ihn später nicht abrufen können.
-
Ablaufdatum des Geheimnisses. Geben Sie das Datum ein, nach dem das Anwendungsgeheimnis abläuft. Sie erhalten eine Warnung in der Konsole, bevor der geheime Schlüssel abläuft. Wenn der geheime Schlüssel abläuft, erhalten Sie Fehler.
Hinweis:
Aus Sicherheitsgründen darf das Ablaufdatum nicht mehr als zwei Jahre in der Zukunft liegen.
- Authentifizierungs-URL. Dieses Feld wird automatisch ausgefüllt und kann nicht bearbeitet werden.
- Verwaltungs-URL. Dieses Feld wird automatisch ausgefüllt und kann nicht bearbeitet werden.
-
Speichersuffix. Dieses Feld wird automatisch ausgefüllt und kann nicht bearbeitet werden.
Für die Erstellung eines MCS-Katalogs in Azure ist Zugriff auf die folgenden Endpunkte erforderlich. Durch Zugriff auf diese Endpunkte wird die Konnektivität zwischen Ihrem Netzwerk und dem Azure-Portal und seinen Diensten optimiert.
- Authentifizierungs-URL: https://login.microsoftonline.com/
- Verwaltungs-URL: https://management.azure.com/. Dies ist eine Anforderungs-URL für Azure Resource Manager-Anbieter-APIs. Der Endpunkt für die Verwaltung hängt von der Umgebung ab. Für Azure Global ist dies beispielsweise https://management.azure.com/, und für Azure US Government ist es https://management.usgovcloudapi.net/.
- Speichersuffix: https://*.core.windows.net./. Dieses (*) ist ein Platzhalterzeichen für das Speichersuffix. Beispiel:
https://demo.table.core.windows.net/
.
-
Nachdem Sie Speichern gewählt haben, wird die Seite Verbindungsdetails wieder angezeigt. Wählen Sie Weiter, um mit der nächsten Seite fortzufahren.
-
Konfigurieren Sie Ressourcen für die Verbindung. Ressourcen umfassen Region und Netzwerk.
- Wählen Sie auf der Seite Region eine Region aus.
- Gehen Sie auf der Seite Netzwerk wie folgt vor:
- Geben Sie einen Ressourcennamen zur Identifizierung der Kombination aus Region und Netzwerk ein. Der Name muss aus 1–64 Zeichen bestehen. Der Ressourcenname darf nicht ausschließlich aus Leerzeichen bestehen und folgende Zeichen nicht enthalten:
\/;:#.*?=<>|[]{}"'()'
. - Wählen Sie eine Kombination aus virtuellem Netzwerk und Ressourcengruppe. (Wenn Sie mehrere virtuelle Netzwerke mit dem gleichen Namen haben, erzielen Sie durch die Kombination aus Netzwerknamen und Ressourcengruppe Einmaligkeit.) Wenn die auf der vorherigen Seite ausgewählte Region keine virtuellen Netzwerke enthält, kehren Sie zu der Seite zurück und wählen Sie eine Region, die virtuelle Netzwerke enthält.
- Geben Sie einen Ressourcennamen zur Identifizierung der Kombination aus Region und Netzwerk ein. Der Name muss aus 1–64 Zeichen bestehen. Der Ressourcenname darf nicht ausschließlich aus Leerzeichen bestehen und folgende Zeichen nicht enthalten:
-
Überprüfen Sie auf der Seite Zusammenfassung die Einstellungen und wählen Sie Fertig stellen, um die Einrichtung abzuschließen.
Erstellen eines Maschinenkatalogs unter Verwendung eines Azure Resource Manager-Images
Ein Image kann ein Datenträger, ein Snapshot oder eine Imageversion einer Imagedefinition in Azure Compute Gallery sein, das zum Erstellen der VMs in einem Maschinenkatalog verwendet wird. Erstellen Sie vor dem Erstellen des Maschinenkatalogs ein Image in Azure Resource Manager. Allgemeine Informationen über Images finden Sie im Artikel Erstellen von Maschinenkatalogen.
Die Verwendung eines Maschinenprofils mit vertrauenswürdigem Start als Sicherheitstyp ist obligatorisch, wenn Sie ein Image oder einen Snapshot auswählen, für das bzw. den der vertrauenswürdige Start aktiviert ist. Sie können dann SecureBoot und vTPM aktivieren oder deaktivieren, indem Sie die zugehörigen Werte im Maschinenprofil angeben. Informationen zum vertrauenswürdigen Start in Azure finden Sie unter Vertrauenswürdiger Start für virtuelle Azure-Maschinen.
Der Maschinenkatalog verwendet die folgenden Eigenschaften, die in den benutzerdefinierten Eigenschaften definiert sind:
- Verfügbarkeitszone
- ID der dedizierten Hostgruppe
- ID des Datenträgerverschlüsselungssatzes
- Betriebssystemtyp
- Lizenztyp
- Speichertyp
Wenn diese benutzerdefinierten Eigenschaften nicht explizit definiert sind, werden die Eigenschaftswerte über die ARM-Vorlagenspezifikation oder VM festgelegt, je nachdem, was als Maschinenprofil verwendet wird. Wenn ServiceOffering
nicht angegeben ist, wird der Wert über das Maschinenprofil festgelegt.
Hinweis:
Wenn einige der Eigenschaften im Maschinenprofil fehlen und nicht in den benutzerdefinierten Eigenschaften definiert sind, werden die Standardwerte der Eigenschaften angewendet, soweit zutreffend.
Im folgenden Abschnitt werden einige Szenarios für New-ProvScheme
und Set-ProvScheme
beschrieben, wenn für CustomProperties
entweder alle Eigenschaften definiert sind oder Werte aus dem MachineProfile abgeleitet werden.
New-ProvScheme-Szenarios
-
Im MachineProfile sind alle Eigenschaften definiert und CustomProperties sind nicht definiert. Beispiel:
New-ProvScheme -MachineProfile "XDHyp:\HostingUnits\azureunit\machineprofile.folder\azure.resourcegroup\mpA.vm"
Die folgenden Werte werden als benutzerdefinierte Eigenschaften für den Katalog festgelegt:
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-->
-
Im MachineProfile sind einige Eigenschaften definiert und CustomProperties sind nicht definiert. Beispiel: Im MachineProfile sind nur LicenseType und OsType festgelegt.
New-ProvScheme -MachineProfile "XDHyp:\HostingUnits\azureunit\machineprofile.folder\azure.resourcegroup\mpA.vm"
Die folgenden Werte werden als benutzerdefinierte Eigenschaften für den Katalog festgelegt:
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-->
-
Sowohl im MachineProfile als auch in CustomProperties sind alle Eigenschaften definiert. Beispiel:
New-ProvScheme -MachineProfile "XDHyp:\HostingUnits\azureunit\machineprofile.folder\azure.resourcegroup\mpA.vm" -CustomProperties $CustomPropertiesA
Benutzerdefinierte Eigenschaften haben Priorität. Die folgenden Werte werden als benutzerdefinierte Eigenschaften für den Katalog festgelegt:
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-->
- Einige Eigenschaften sind im MachineProfile definiert und einige Eigenschaften sind in CustomProperties definiert. Beispiel:
- CustomProperties definieren LicenseType und StorageAccountType
- MachineProfile definiert LicenseType, OsType und Zonen
New-ProvScheme -MachineProfile "XDHyp:\HostingUnits\azureunit\machineprofile.folder\azure.resourcegroup\mpA.vm" -CustomProperties $CustomPropertiesA
Die folgenden Werte werden als benutzerdefinierte Eigenschaften für den Katalog festgelegt:
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-->
-
Einige Eigenschaften sind im MachineProfile definiert und einige Eigenschaften sind in CustomProperties definiert. Darüber hinaus ist ServiceOffering nicht definiert. Beispiel:
- CustomProperties definieren StorageType
- MachineProfile definiert LicenseType
New-ProvScheme -MachineProfile "XDHyp:\HostingUnits\azureunit\machineprofile.folder\azure.resourcegroup\mp.vm" -ServiceOffering "XDHyp:\HostingUnits\azureunit\serviceoffering.folder<explicit-machine-size>.serviceoffering" <!--NeedCopy-->
Die folgenden Werte werden als benutzerdefinierte Eigenschaften für den Katalog festgelegt:
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-->
- Wenn der OsType weder in CustomProperties noch im MachineProfile definiert ist, gilt Folgendes:
- Der Wert wird aus dem Masterimage gelesen.
- Ist das Masterimage ein nicht verwalteter Datenträger, ist der OsType auf Windows eingestellt.
Beispiel:
New-ProvScheme -MachineProfile "XDHyp:\HostingUnits\azureunit\machineprofile.folder\azure.resourcegroup\mpA.vm" -MasterImageVM "XDHyp:\HostingUnits\azureunit\image.folder\linux-master-image.manageddisk"
Der Wert aus dem Masterimage wird in die benutzerdefinierten Eigenschaften geschrieben, in diesem Fall 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-->
Set-ProvScheme-Szenarios
- Ein vorhandener Katalog mit:
- CustomProperties für
StorageAccountType
und OsType - MachineProfile
mpA.vm
, das Zonen definiert
Updates:
- MachineProfile mpB.vm, das StorageAccountType definiert
- Ein neuer Satz von benutzerdefinierten Eigenschaften $CustomPropertiesB, der LicenseType und OsType definiert
Set-ProvScheme -MachineProfile "XDHyp:\HostingUnits\azureunit\machineprofile.folder\azure.resourcegroup\mpB.vm" -CustomProperties $CustomPropertiesB
Die folgenden Werte werden als benutzerdefinierte Eigenschaften für den Katalog festgelegt:
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-->
- CustomProperties für
- Ein vorhandener Katalog mit:
- CustomProperties für S
torageAccountType
und OsType - MachineProfile
mpA.vm
, das StorageAccountType und LicenseType definiert
Updates:
- Ein neuer Satz von benutzerdefinierten Eigenschaften $CustomPropertiesB, der StorageAccountType und OsType definiert.
Set-ProvScheme -CustomProperties $CustomPropertiesB
Die folgenden Werte werden als benutzerdefinierte Eigenschaften für den Katalog festgelegt:
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-->
- CustomProperties für S
- Ein vorhandener Katalog mit:
- CustomProperties für
StorageAccountType
und OsType - MachineProfile
mpA.vm
, das Zonen definiert
Updates:
- Ein MachineProfile mpB.vm, das StorageAccountType und LicenseType definiert
-
ServiceOffering
ist nicht angegeben
Set-ProvScheme -MachineProfile "XDHyp:\HostingUnits\azureunit\machineprofile.folder\azure.resourcegroup\mpB.vm"
Die folgenden Werte werden als benutzerdefinierte Eigenschaften für den Katalog festgelegt:
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-->
- CustomProperties für
Azure-Datenträgerverschlüsselung auf dem Host
Sie können einen MCS-Maschinenkatalog mit Verschlüsselung auf dem Host erstellen. Derzeit unterstützen die Maschinenerstellungsdienste (MCS) nur den Maschinenprofilworkflow für dieses Feature. Sie können eine VM oder eine Vorlagenspezifikation als Eingabe für ein Maschinenprofil verwenden.
Bei diesem Verschlüsselungsverfahren werden Daten nicht über den Azure-Speicher verschlüsselt. Die Daten werden auf dem Hostserver verschlüsselt und dann verschlüsselt durch den Azure-Speicherserver geleitet. Es kommt also zu einer End-to-End-Verschlüsselung der Daten.
Einschränkungen:
Die Azure-Datenträgerverschlüsselung auf dem Host:
- wird nicht für alle Azure-Maschinengrößen unterstützt.
- ist nicht kompatibel mit der Azure-Datenträgerverschlüsselung.
Erstellen eines Maschinenkatalogs mit Verschlüsselung auf dem Host:
- Prüfen Sie, ob die Verschlüsselung auf dem Host für Ihr Abonnement aktiviert ist. Weitere Informationen hierzu finden Sie unter https://learn.microsoft.com/en-us/rest/api/resources/features/get?tabs=HTTP/. Wenn das Feature nicht aktiviert ist, müssen Sie es für das Abonnement aktivieren. Informationen zur Aktivierung des Features für Ihr Abonnement finden Sie unter https://learn.microsoft.com/en-us/azure/virtual-machines/disks-enable-host-based-encryption-portal?tabs=azure-powershell#prerequisites/.
-
Prüfen Sie, ob die Verschlüsselung auf dem Host für die vorliegende Azure-VM-Größe unterstützt wird. Führen Sie dazu in einem PowerShell-Fenster einen der folgenden Befehle aus:
PS XDHyp:\Connections<your connection>\east us.region\serviceoffering.folder> <!--NeedCopy-->
PS XDHyp:\HostingUnits<your hosting unit>\serviceoffering.folder> <!--NeedCopy-->
-
Erstellen Sie eine VM oder Vorlagenspezifikation als Eingabe für das Maschinenprofil, im Azure-Portal mit aktivierter Verschlüsselung auf dem Host.
- Wenn Sie eine VM erstellen möchten, wählen Sie eine VM-Größe, die die Verschlüsselung auf dem Host unterstützt. Nach dem Erstellen der VM ist die VM-Eigenschaft Encryption at host aktiviert.
- Wenn Sie eine Vorlagenspezifikation verwenden möchten, weisen Sie dem Parameter
Encryption at Host
den Wert true untersecurityProfile
zu.
-
Erstellen Sie einen MCS-Maschinenkatalog mit Maschinenprofilworkflow, indem Sie eine VM oder Vorlagenspezifikation auswählen.
- Datenträger/Betriebssystemdatenträger: Die Verschlüsselung erfolgt über einen kundenseitig verwalteten Schlüssel und einen plattformseitig verwalteten Schlüssel.
- Kurzlebiger Betriebssystemdatenträger: Die Verschlüsselung erfolgt nur über einen plattformseitig verwalteten Schlüssel.
- Cache-Datenträger: Die Verschlüsselung erfolgt über einen kundenseitig verwalteten Schlüssel und einen plattformseitig verwalteten Schlüssel.
Sie können den Maschinenkatalog mithilfe von “Vollständige Konfiguration” oder über PowerShell-Befehle erstellen.
Um einen Maschinenkatalog über PowerShell-Befehle zu erstellen, wobei der Verschlüsselungsschlüssel kundenseitig verwaltet wird, führen Sie folgende Schritte aus:
- Öffnen Sie ein PowerShell-Fenster.
- Führen Sie
asnp citrix*
aus, um die Citrix-spezifischen PowerShell-Module zu laden. - Geben Sie
cd xdhyp:/
ein. - Geben Sie
cd .\HostingUnits\(your hosting unit)
ein. - Geben Sie cd diskencryptionset.folder ein.
- Geben Sie dir ein, um die Liste der Datenträgerverschlüsselungssets abzurufen.
- Kopieren Sie die ID eines Datenträgerverschlüsselungssets.
-
Erstellen Sie die Zeichenfolge einer benutzerdefinierten Eigenschaft, die die ID des Datenträgerverschlüsselungssets enthält. Beispiel:
$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=`"Standard_LRS`" /> <Property xsi:type=`"StringProperty`" Name=`"persistWBC`" Value=`"False`" /> <Property xsi:type=`"StringProperty`" Name=`"PersistOsDisk`" Value=`"false`" /> <Property xsi:type=`"StringProperty`" Name=`"UseManagedDisks`" Value=`"true`" /> <Property xsi:type=`"StringProperty`" Name=`"DiskEncryptionSetId`" Value=`"/subscriptions/0xxx4xxx-xxb-4bxx-xxxx-xxxxxxxx/resourceGroups/abc/providers/Microsoft.Compute/diskEncryptionSets/abc-des`"/> </CustomProperties> <!--NeedCopy-->
-
Erstellen Sie einen Identitätspool, falls noch nicht vorhanden. Beispiel:
New-AcctIdentityPool -IdentityPoolName idPool -NamingScheme ms## -Domain def.local -NamingSchemeType Numeric <!--NeedCopy-->
-
Führen Sie den Befehl New-ProvScheme aus. Beispiel:
New-ProvScheme -CleanOnBoot -HostingUnitName "name" -IdentityPoolName "name" -InitialBatchSizeHint 1 -MasterImageVM "XDHyp:\HostingUnits\azure-res2\image.folder\def.resourcegroup\def.snapshot" -NetworkMapping @{"0"="XDHyp:\HostingUnits\azure-res2\virtualprivatecloud.folder\def.resourcegroup\def-vnet.virtualprivatecloud\subnet1.network"} -ProvisioningSchemeName "name" -ServiceOffering "XDHyp:\HostingUnits\azure-res2\serviceoffering.folder\Standard_DS2_v2.serviceoffering" -MachineProfile "XDHyp:\HostingUnits<adnet>\machineprofile.folder<def.resourcegroup><machine profile vm.vm>" -CustomProperties $customProperties <!--NeedCopy-->
- Beenden Sie die Erstellung des Maschinenkatalogs.
Azure-Drosselung
Azure Resource Manager drosselt Anforderungen von Abonnements und Mandanten durch das Routing von Datenverkehr gemäß Grenzwerten, die auf die spezifischen Anforderungen des Anbieters zugeschnitten sind. Weitere Informationen finden Sie auf der Website von Microsoft unter Drosseln von Resource Manager-Anforderungen. Es gibt Grenzwerte für Abonnements und Mandanten, wenn die Verwaltung zahlreicher Maschinen problematisch werden kann. Beispielsweise können bei einem Abonnement mit zahlreichen Maschinen Leistungsprobleme im Zusammenhang mit Energievorgängen auftreten.
Tipp:
Weitere Informationen finden Sie unter Verbessern der Azure-Leistung mit Maschinenerstellungsdiensten.
Zur Lösung solcher Probleme können Sie die interne MCS-Drosselung entfernen, um das Azure-Anforderungskontingent stärker zu nutzen.
Für große Abonnements (z. B. mit 1000 oder mehr VMs) empfehlen wir die folgenden optimalen Einstellungen für das Ein- und Ausschalten von VMs:
- Absolute gleichzeitige Operationen: 500
- Maximale neue Operationen pro Minute: 2000
- Maximale Gleichzeitigkeit von Operationen: 500
MCS unterstützt standardmäßig maximal 500 gleichzeitige Vorgänge. Alternativ können Sie mit dem Remote PowerShell SDK die maximale Anzahl gleichzeitiger Vorgänge festlegen.
Geben Sie über die PowerShell-Eigenschaft MaximumConcurrentProvisioningOperations
die maximale Anzahl gleichzeitiger Azure-Provisioningvorgänge an. Beachten Sie Folgendes bei der Verwendung dieser Eigenschaft:
- Der Standardwert von
MaximumConcurrentProvisioningOperations
ist 500. - Konfigurieren Sie den Parameter
MaximumConcurrentProvisioningOperations
mit dem PowerShell-BefehlSet-item
.
Azure-Ressourcengruppen
Azure Provisioning-Ressourcengruppen sind eine Methode des Provisionings von VMs, über die Benutzern Anwendungen und Desktops bereitgestellt werden. Wenn Sie einen MCS-Maschinenkatalog erstellen, können Sie vorhandene, leere Azure-Ressourcengruppen hinzufügen oder neue erstellen. Informationen zu Azure-Ressourcengruppen finden Sie in der Dokumentation von Microsoft.
Verwendung von Azure-Ressourcengruppen
Es gibt keine Beschränkung für die Anzahl der virtuellen Maschinen, verwalteten Datenträger, Snapshots und Images pro Azure-Ressourcengruppe. (Die Beschränkung auf 240 VMs pro 800 verwaltete Datenträger pro Azure-Ressourcengruppe wurde entfernt.)
- Wenn Sie zum Erstellen eines Maschinenkatalogs einen Dienstprinzipal mit vollem Gültigkeitsbereich verwenden, erstellen die Maschinenerstellungsdienste nur eine Azure-Ressourcengruppe und verwenden nur diese Gruppe für den Katalog.
- Wenn Sie zum Erstellen eines Maschinenkatalogs einen Dienstprinzipal mit eingeschränktem Gültigkeitsbereich verwenden, müssen Sie eine leere, vorab erstellte Azure-Ressourcengruppe für den Katalog angeben.
Kurzlebige Azure-Datenträger
Ein kurzlebiger Azure-Datenträger ermöglicht die Umnutzung des Cachedatenträgers oder temporären Datenträgers zum Speichern des Betriebssystemdatenträgers für eine virtuelle Azure-Maschine. Dies ist nützlich für Azure-Umgebungen, die anstelle von Standard-HDD-Datenträgern leistungsstärkere SSD-Datenträger erfordern. Zur Verwendung kurzlebiger Datenträger müssen Sie die benutzerdefinierte Eigenschaft UseEphemeralOsDisk
bei der Ausführung von New-ProvScheme
auf true festlegen.
Hinweis:
Wenn die benutzerdefinierte Eigenschaft
UseEphemeralOsDisk
auf false festgelegt oder kein Wert angegeben wird, verwenden alle bereitgestellten VDAs weiterhin einen bereitgestellten Betriebssystemdatenträger.
Nachfolgend finden Sie Beispiele benutzerdefinierter Eigenschaften zur Verwendung im Provisioningschema:
"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-->
Erstellen von Maschinen mit kurzlebigem Betriebssystemdatenträger
Kurzlebige Betriebssystemdatenträger werden über die Eigenschaft UseEphemeralOsDisk
des Parameters CustomProperties
gesteuert.
Wichtige Überlegungen für kurzlebige Datenträger
Berücksichtigen Sie die folgenden Einschränkungen, wenn Sie das Provisioning kurzlebiger Betriebssystemdatenträger mit New-ProvScheme
durchführen:
- Die für den Katalog verwendete VM-Größe muss kurzlebige Betriebssystemdatenträger unterstützen.
- Der einer VM-Größe zugeordnete Cachedatenträger oder temporäre Datenträger muss größer oder genauso groß sein wie der Betriebssystemdatenträger.
- Der temporäre Datenträger muss größer als der Cachedatenträger sein.
Berücksichtigen Sie diese Punkte auch bei folgenden Aufgaben:
- Erstellen des Provisioningschemas.
- Ändern des Provisioningschemas.
- Aktualisieren des Images.
Kurzlebige Azure-Betriebssystemdatenträger und MCS-Speicheroptimierung (MCS-E/A)
Kurzlebige Azure-Betriebssystemdatenträger und MCS-E/A können nicht gleichzeitig aktiviert werden.
Wichtige Punkte:
-
Sie können keinen Maschinenkatalog mit gleichzeitig aktiviertem kurzlebigem Betriebssystemdatenträger und MCS-E/A erstellen.
- Die PowerShell-Parameter (
UseWriteBackCache
undUseEphemeralOsDisk
) schlagen mit entsprechender Fehlermeldung fehl, wenn Sie sie inNew-ProvScheme
oderSet-ProvScheme
auf true festlegen. - Bei bestehenden Maschinenkatalogen, für die bei der Erstellung beide Features aktiviert wurden, ist weiterhin Folgendes möglich:
- Aktualisieren des Maschinenkatalogs
- Hinzufügen oder Löschen von VMs
- Löschen des Maschinenkatalogs
Azure-serverseitige Verschlüsselung
Citrix Virtual Apps and Desktops und Citrix DaaS unterstützen vom Kunden verwaltete Schlüssel für verwaltete Azure-Datenträger über Azure Key Vault. Mit dieser Unterstützung können Sie Ihre Unternehmens- und Compliance-Anforderungen verwalten, indem Sie die verwalteten Datenträger des Maschinenkatalogs mit Ihrem eigenen Schlüssel verschlüsseln. Weitere Informationen finden Sie unter Serverseitige Verschlüsselung von Azure Disk Storage.
Bei Verwendung dieses Features für verwaltete Datenträger gilt Folgendes:
-
Um den Schlüssel zu ändern, mit dem ein Datenträger verschlüsselt ist, ändern Sie den aktuellen Schlüssel im
DiskEncryptionSet
. Alle demDiskEncryptionSet
zugeordneten Ressourcen werden dann mit dem neuen Schlüssel verschlüsselt. -
Wenn Sie den Schlüssel deaktivieren oder löschen, werden alle VMs mit Datenträgern, die den Schlüssel verwenden, automatisch heruntergefahren. Nach dem Herunterfahren können die VMs erst wieder verwendet werden, wenn Sie den Schlüssel wieder aktivieren oder einen neuen Schlüssel zuweisen. Kataloge, die den Schlüssel verwenden, können nicht aktiviert werden und Sie können solchen Katalogen keine VMs hinzufügen.
Wichtige Überlegungen bei der Verwendung vom Kunden verwalteter Schlüssel
Beachten Sie die folgenden Punkte bei der Verwendung dieses Features:
-
Alle zu von Kunden verwalteten Schlüsseln gehörenden Ressourcen (Azure Key Vaults, Datenträgerverschlüsselungssätze, VMs, Datenträger und Snapshots) müssen demselben Abonnement und derselben Region angehören.
-
Ein einmal aktivierter kundenverwalteter Schlüssel kann nicht mehr deaktiviert werden. Wenn Sie einen kundenverwalteten Schlüssel deaktivieren oder entfernen möchten, kopieren Sie alle Daten auf einen anderen verwalteten Datenträger, für den der Schlüssel nicht verwendet wird.
-
Datenträger, die aus verschlüsselten benutzerdefinierten Images mit serverseitiger Verschlüsselung und einem kundenverwalteten Schlüssel erstellt wurden, müssen mit demselben kundenverwalteten Schlüssel verschlüsselt werden. Diese Datenträger müssen im selben Abonnement sein.
-
Snapshots von Datenträgern, die mit serverseitiger Verschlüsselung und einem kundenverwalteten Schlüssel verschlüsselt wurden, müssen mit demselben kundenverwalteten Schlüssel verschlüsselt werden.
-
Datenträger, Snapshots und Images, die mit kundenverwalteten Schlüsseln verschlüsselt wurden, können nicht in anderen Ressourcengruppen oder Abonnements verschoben werden.
-
Verwaltete Datenträger, die mit Azure Disk Encryption verschlüsselt sind oder es zuvor einmal waren, können nicht mit kundenverwalteten Schlüsseln verschlüsselt werden.
-
Auf der Microsoft-Website finden Sie Informationen zu Limits für Datenträgerverschlüsselungssätze pro Region.
Hinweis:
Weitere Informationen zum Konfigurieren der Azure-serverseitigen Verschlüsselung finden Sie unter Schnellstart: Key Vault-Erstellung mit dem Azure-Portal .
Vom Kunden verwalteter Schlüssel für Azure
Beim Erstellen eines Maschinenkatalogs können Sie wählen, ob Daten auf den im Katalog bereitzustellenden Maschinen verschlüsselt werden sollen. Die serverseitige Verschlüsselung mit einem vom Kunden verwalteten Schlüssel ermöglicht die Verwaltung der Verschlüsselung auf der Ebene verwalteter Datenträger und das Schützen von Daten auf den Maschinen im Katalog. Ein Datenträgerverschlüsselungssatz (DES) repräsentiert einen vom Kunden verwalteten Schlüssel. Um das Feature zu nutzen, müssen Sie zuerst einen DES in Azure erstellen. Ein DES hat folgendes Format:
/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/Sample-RG/providers/Microsoft.Compute/diskEncryptionSets/SampleEncryptionSet
Wählen Sie einen DES aus der Liste aus. Der ausgewählte DES muss sich im selben Abonnement und in derselben Region wie Ihre Ressourcen befinden. Wenn Ihr Image mit einem DES verschlüsselt ist, verwenden Sie beim Erstellen des Maschinenkatalogs denselben DES. Sie können den DES nicht mehr ändern, wenn Sie den Katalog erstellt haben.
Wenn Sie einen Katalog mit einem Schlüssel erstellen und später den entsprechenden DES in Azure deaktivieren, können Sie die Maschinen im Katalog nicht mehr einschalten und diesem keine Maschinen mehr hinzufügen.
Dedizierte Azure-Hosts
Sie können mit MCS das Provisioning von VMs auf dedizierten Azure-Hosts ausführen. Vor dem Provisioning von VMs auf dedizierten Azure-Hosts führen Sie folgende Schritte aus:
- Erstellen Sie eine Hostgruppe.
- Erstellen Sie Hosts in der Hostgruppe.
- Vergewissern Sie sich, dass genügend Hostkapazität für die Erstellung von Katalogen und virtuellen Maschinen reserviert ist.
Sie können einen Katalog mit Maschinen erstellen, deren Host-Tenancy über das folgende PowerShell-Skript definiert wird:
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-->
Wenn Sie mit MCS virtuelle Maschinen auf dedizierten Azure-Hosts bereitstellen, berücksichtigen Sie Folgendes:
- Ein dedizierter Host ist eine Katalogeigenschaft und kann nach der Katalogerstellung nicht mehr geändert werden. Dedizieren für Mandanten wird derzeit in Azure nicht unterstützt.
- Bei Verwendung des Parameters
HostGroupId
ist eine vorkonfigurierte Azure-Hostgruppe in der Region der Hostingeinheit erforderlich. - Die automatische Platzierung in Azure ist erforderlich. Das Feature beantragt das Onboarding des mit der Hostgruppe verknüpften Abonnements. Weitere Informationen finden Sie unter VM Scale Set on Azure Dedicated Hosts - Public Preview. Wenn die automatische Platzierung nicht aktiviert ist, tritt in MCS bei der Katalogerstellung ein Fehler auf.
Azure Shared Image Gallery
Verwenden Sie die Azure Shared Image Gallery als Repository mit veröffentlichten Images für per MCS bereitgestellte Maschinen in Azure. Sie können ein veröffentlichtes Image in der Image Gallery speichern, um die Erstellung und Hydration von Betriebssystemdatenträgern zu beschleunigen und die OS- und Anwendungsstartzeiten nicht persistenter VMs zu verbessern. Shared Image Gallery enthält die folgenden drei Elemente:
- Gallery: Hier werden Images gespeichert. MCS erstellt je eine Gallery für jeden Maschinenkatalog.
- Imagedefinition: Diese Definition enthält Informationen zum veröffentlichten Image (Betriebssystemtyp/-zustand, Azure-Region). MCS erstellt eine Imagedefinition für jedes Image, das für den Katalog erstellt wurde.
- Imageversion: Jedes Image in einer Shared Image Gallery kann mehrere Versionen haben, und jede Version kann mehrere Replikate in verschiedenen Regionen haben. Jedes Replikat ist eine vollständige Kopie des veröffentlichten Images.
Hinweis:
Die Shared Image Gallery-Funktion ist nur mit verwalteten Datenträgern kompatibel. Sie ist nicht für Legacy-Maschinenkataloge verfügbar.
Weitere Informationen finden Sie unter Übersicht über Azure Shared Image Gallery.
Maschinenkatalog mit Azure Compute Gallery-Image erstellen
Als Image zum Erstellen eines Maschinenkatalogs können Sie Images auswählen, die Sie in der Azure Compute Gallery erstellt haben.
Damit diese Images angezeigt werden, müssen Sie folgende Schritte ausführen:
- Konfigurieren Sie eine Citrix Virtual Apps and Desktops-Site.
- Stellen Sie eine Verbindung mit Azure Resource Manager her.
- Erstellen Sie im Azure-Portal eine Ressourcengruppe. Weitere Informationen finden Sie unter Erstellen einer Azure Shared Image Gallery über das Portal.
- Erstellen Sie in der Ressourcengruppe eine Azure Compute Gallery.
- Erstellen Sie in der Azure Compute Gallery eine Imagedefinition.
- Erstellen Sie in der Imagedefinition eine Imageversion.
Verwenden Sie folgende PowerShell-Befehle, um einen Maschinenkatalog mit einem Image aus der Azure Compute Gallery zu erstellen oder zu aktualisieren:
- Öffnen Sie ein PowerShell-Fenster.
- Führen Sie
asnp citrix*
aus, um die Citrix-spezifischen PowerShell-Module zu laden. -
Wählen Sie eine Ressourcengruppe und listen Sie dann alle Kataloge in der Ressourcengruppe auf.
Get-ChildItem -LiteralPath @("XDHyp:\HostingUnits\testresource\image.folder\sharedImageGalleryTest.resourcegroup") <!--NeedCopy-->
-
Wählen Sie einen Katalog und listen Sie dann alle Imagedefinitionen des Katalogs auf.
Get-ChildItem -LiteralPath @("XDHyp:\HostingUnits\testresource\image.folder\sharedImageGalleryTest.resourcegroup\sharedImageGallery.sharedimagegallery") <!--NeedCopy-->
-
Wählen Sie eine Imagedefinition und listen Sie dann alle Imageversionen der Imagedefinition auf.
Get-ChildItem -LiteralPath @("XDHyp:\HostingUnits\testresource\image.folder\sharedImageGalleryTest.resourcegroup\sharedImageGallery.sharedimagegallery\sigtestimage.imagedefinition") <!--NeedCopy-->
- Zum Erstellen und Aktualisieren eines MCS-Katalogs verwenden Sie die folgenden Elemente:
- Ressourcengruppe
- Katalog
- Katalogimagedefinition
- Katalogimageversion
Informationen zum Erstellen eines Katalogs mit dem Remote PowerShell SDK finden Sie unter https://developer-docs.citrix.com/projects/citrix-virtual-apps-desktops-sdk/en/latest/creating-a-catalog/.
Shared Image Gallery konfigurieren
Mit dem Befehl New-ProvScheme
erstellen Sie ein Provisioningschema mit Unterstützung für Shared Image Gallery. Verwenden Sie den Befehl Set-ProvScheme
, um dieses Feature für ein Provisioningschema zu aktivieren bzw. deaktivieren und um die Replikatquote und die Anzahl maximaler Replikate zu ändern.
Zu Unterstützung der Shared Image Gallery-Funktion wurden Provisioningschemata um drei benutzerdefinierte Eigenschaften erweitert:
UseSharedImageGallery
- Legt fest, ob die Shared Image Gallery zum Speichern der veröffentlichten Images verwendet wird. Bei Auswahl von True wird das Image als Shared Image Gallery-Image gespeichert. Andernfalls wird es als Snapshot gespeichert.
- Gültige Werte sind True und False.
- Der Standardwert bei nicht definierter Eigenschaft ist False.
SharedImageGalleryReplicaRatio
- Definiert das Verhältnis von Maschinen zu Replikaten der Galerie-Imageversion.
- Gültige Werte sind ganze Zahlen größer als 0.
- Bei nicht definierter Eigenschaft werden Standardwerte verwendet. Der Standardwert für persistente Betriebssystemdatenträger beträgt 1000 und der Standardwert für nicht-persistente Betriebssystemdatenträger beträgt 40.
SharedImageGalleryReplicaMaximum
- Definiert die Anzahl maximaler Replikate für jede Galerie-Imageversion.
- Gültige Werte sind ganze Zahlen größer als 0.
- Der Standardwert bei nicht definierter Eigenschaft ist 10.
- Azure unterstützt derzeit bis zu 10 Replikate pro Galerie-Imageversion. Wenn diese Eigenschaft auf einen Wert festgelegt ist, der den Azure-Höchstwert übersteigt, versucht MCS, den angegebenen Wert zu verwenden. Azure generiert einen Fehler, der von MCS protokolliert wird, und die aktuelle Replikatanzahl wird unverändert beibehalten.
Tipp:
Wenn Sie die Shared Image Gallery zum Speichern eines veröffentlichten Images für Kataloge verwenden, die mit MCS bereitgestellt werden, legt MCS die Anzahl der Galerie-Imageversionsreplikate basierend auf der Anzahl der Maschinen im Katalog, der Replikatquote und der Anzahl maximaler Replikate fest. Zur Berechnung der Replikatanzahl wird die Maschinenanzahl im Katalog durch die Replikatquote dividiert (und auf den nächsten Ganzzahlwert aufgerundet) und dann gemäß der Anzahl maximaler Replikate begrenzt. Ein Beispiel: Bei eine Replikatquote von 20 und einem Höchstwert von 5 wird für 0–20 Maschinen ein Replikat erstellt, für 21–40 Maschinen 2 Replikate, für 41–60 Maschinen 3 Replikate, für 61–80 Maschinen 4 Replikate und für 81 Maschinen (und mehr) 5 Replikate.
Anwendungsfall: Aktualisieren der Shared Image Gallery-Replikatquote und der Anzahl maximaler Replikate
Der vorhandene Maschinenkatalog verwendet Shared Image Gallery. Verwenden Sie den Befehl Set-ProvScheme
, um die benutzerdefinierten Eigenschaften für alle vorhandenen Maschinen im Katalog und alle zukünftigen Maschinen zu aktualisieren:
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-->
Anwendungsfall: Konvertieren eines Snapshot-Katalogs in einen Shared Image Gallery-Katalog
Führen Sie für diesen Anwendungsfall folgende Schritte aus:
- Führen Sie
Set-ProvScheme
aus, wobei der FlagUseSharedImageGallery
auf True gesetzt ist. Fügen Sie optional die EigenschaftenSharedImageGalleryReplicaRatio
undSharedImageGalleryReplicaMaximum
hinzu. - Aktualisieren Sie den Katalog.
- Starten Sie die Maschinen neu, um ein Update zu erzwingen.
Beispiel:
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-->
Tipp:
Die Parameter
SharedImageGalleryReplicaRatio
undSharedImageGalleryReplicaMaximum
sind nicht erforderlich. Nachdem der BefehlSet-ProvScheme
abgeschlossen ist, wurde das Shared Image Gallery-Image noch nicht erstellt. Sobald der Katalog für die Verwendung der Galerie konfiguriert ist, speichert das nächste Katalogupdate das veröffentlichte Image in der Galerie. Der Befehl zum Katalogupdate erstellt die Galerie, das Galerie-Image und die Imageversion. Durch den Neustart der Maschinen werden sie aktualisiert, und es wird gegebenenfalls die Replikatanzahl aktualisiert. Alle vorhandenen nicht-persistenten Maschinen werden dann mit dem Shared Image Gallery-Image zurückgesetzt, und alle neu bereitgestellten Maschinen werden mit diesem Image erstellt. Der alte Snapshot wird innerhalb weniger Stunden automatisch bereinigt.
Anwendungsfall: Konvertieren eines Shared Image Gallery-Katalogs in einen Snapshot-Katalog
Führen Sie für diesen Anwendungsfall folgende Schritte aus:
- Führen Sie
Set-ProvScheme
aus, wobei der FlagUseSharedImageGallery
auf False gesetzt oder nicht definiert ist. - Aktualisieren Sie den Katalog.
- Starten Sie die Maschinen neu, um ein Update zu erzwingen.
Beispiel:
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-->
Tipp:
Im Gegensatz zum Update von einem Snapshot-Katalog auf einen Shared Image Gallery-Katalog sind die benutzerdefinierten Daten für jede Maschine noch nicht auf die neuen benutzerdefinierten Eigenschaften aktualisiert. Führen Sie den folgenden Befehl aus, um die ursprünglichen benutzerdefinierten Shared Image Gallery-Eigenschaften anzuzeigen:
Get-ProvVm -ProvisioningSchemeName catalog-name
. Nach Abschluss des BefehlsSet-ProvScheme
ist der Imagesnapshot noch nicht erstellt. Sobald konfiguriert ist, dass der Katalog nicht mehr die Galerie verwendet, speichert das nächste Katalogupdate das veröffentlichte Image als Snapshot. Alle vorhandenen nicht-persistenten Maschinen werden dann mit dem Snapshot zurückgesetzt, und alle neu bereitgestellten Maschinen werden aus dem Snapshot erstellt. Durch Neustart werden die Maschinen aktualisiert. Die benutzerdefinierten Maschinendaten werden dabei aktualisiert und zeigen an, dassUseSharedImageGallery
auf False gesetzt ist. Die alten Shared Image Gallery-Assets (Galerie, Image und Version) werden automatisch innerhalb weniger Stunden bereinigt.
Provisioning von Maschinen in spezifischen Verfügbarkeitszonen
Sie können das Provisioning von Maschinen auch in spezifischen Verfügbarkeitszonen in Azure-Umgebungen ausführen. Das ist mit PowerShell möglich.
Hinweis:
Wenn keine Zonen angegeben werden, lässt MCS Azure die Maschinen innerhalb der Region platzieren. Werden mehrere Zonen angegeben, verteilt MCS die Maschinen nach dem Zufallsprinzip in den Zonen.
Konfigurieren von Verfügbarkeitszonen über PowerShell
Mit Get-Item
in PowerShell können Sie die Elemente des Angebots anzeigen. Um beispielsweise das Serviceangebot Eastern US Standard_B1ls
anzuzeigen:
$serviceOffering = Get-Item -path "XDHyp:\Connections\my-connection-name\East US.region\serviceoffering.folder\Standard_B1ls.serviceoffering"
<!--NeedCopy-->
Zum Anzeigen der Zonen verwenden Sie den Parameter AdditionalData
:
$serviceOffering.AdditionalData
Werden keine Verfügbarkeitszone angegeben, bleibt die Art und Weise, wie Maschinen bereitgestellt werden, unverändert.
Um Verfügbarkeitszonen über PowerShell zu konfigurieren, verwenden Sie die benutzerdefinierte Eigenschaft Zones von New-ProvScheme
. Die Eigenschaft Zones definiert eine Liste von Verfügbarkeitszonen für das Provisioning von Maschinen. Diese Zonen können eine oder mehrere Verfügbarkeitszonen enthalten. Beispiel: <Property xsi:type="StringProperty" Name="Zones" Value="1, 3"/>
für die Zonen 1 und 3.
Verwenden Sie den Befehl Set-ProvScheme
, um die Zonen für ein Provisioningschema zu aktualisieren.
Wird eine ungültige Zone angegeben, wird das Provisioningschema nicht aktualisiert und eine Fehlermeldung mit Anweisungen zur Korrektur des ungültigen Befehls angezeigt.
Tipp:
Wenn Sie eine ungültige benutzerdefinierte Eigenschaft angeben, wird das Provisioningschema nicht aktualisiert und eine Fehlermeldung angezeigt.
Kurzlebiger Azure-Datenträger
Kurzlebige Azure-Datenträger ermöglichen die Umnutzung des Cachedatenträgers oder temporären Datenträgers zum Speichern des Betriebssystemdatenträgers für eine virtuelle Azure-Maschine. Dies ist nützlich für Azure-Umgebungen, die anstelle von Standard-HDD-Datenträgern leistungsstärkere SSD-Datenträger erfordern.
Hinweis:
Persistente Kataloge unterstützen keine kurzlebigen Betriebssystemdatenträger.
Kurzlebige Betriebssystemdatenträger erfordern ein Provisioningschema mit verwalteten Datenträgern und Shared Image Gallery. Weitere Informationen finden Sie unter Azure Shared Image Gallery.
Konfigurieren eines kurzlebigen Datenträgers mit PowerShell
Verwenden Sie zum Konfigurieren eines kurzlebigen Azure-Betriebssystemdatenträgers den Parameter UseEphemeralOsDisk
in Set-ProvScheme
. Setzen Sie den Wert des Parameters UseEphemeralOsDisk
auf true.
Hinweis:
Um dieses Feature zu nutzen, müssen Sie auch die Parameter
UseManagedDisks
undUseSharedImageGallery
aktivieren.
Beispiel:
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-->
Speichern einer temporären kurzlebigen OS-Datenträgers
Sie können einen kurzlebigen OS-Datenträger auf dem Temp- bzw. Ressourcendatenträger der VM speichern. So können Sie einen kurzlebigen OS-Datenträger mit VMs verwenden, die über keinen oder nur unzureichenden Cache verfügen. Solche VMs verfügen über einen Temp- bzw. Ressourcendatenträger zum Speichern eines kurzlebigen OS-Datenträgers (z. B. Ddv4
).
Beachten Sie Folgendes:
- Kurzlebige Datenträger werden entweder auf dem VM-Cachedatenträger oder auf dem temporären bzw. Ressourcendatenträger der VM gespeichert. Die Cachedatenträger ist dem temporären Datenträger vorzuziehen, es sei denn, der Cachedatenträger ist zu klein für den Inhalt des Betriebsystemdatenträgers.
- Entsteht bei Updates ein neues Image, das größer als der Cachedatenträger und kleiner als der Temp-Datenträger ist, wird der kurzlebige OS-Datenträger durch den Temp-Datenträger der VM ersetzt.
Beibehalten einer bereitgestellten virtuellen Maschine bei Energiezyklen
Wählen Sie aus, ob eine bereitgestellte virtuelle Maschine bei Energiezyklen (Neustarts) beibehalten werden soll. Verwenden Sie den PowerShell-Parameter New-ProvScheme CustomProperties
. Dieser Parameter unterstützt die zusätzliche Eigenschaft PersistVm
, mit der festgelegt wird, ob eine bereitgestellte virtuelle Maschine bei Energiezyklen beibehalten werden soll. Setzen Sie die Eigenschaft PersistVm
auf true, um eine virtuelle Maschine beim Ausschalten beizubehalten, oder setzen Sie die Eigenschaft auf false, um die virtuelle Maschine beim Ausschalten nicht beizubehalten.
Hinweis:
Die Eigenschaft
PersistVm
gilt nur für ein Provisioningschema mit aktivierten EigenschaftenCleanOnBoot
undUseWriteBackCache
. Wenn die EigenschaftPersistVm
für nicht persistente virtuelle Maschinen nicht festgelegt ist, werden die Maschinen nach dem Ausschalten aus der Azure-Umgebung gelöscht.
Im folgenden Beispiel ist die Eigenschaft PersistVm
im Parameter New-ProvScheme CustomProperties
auf true gesetzt:
<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-->
Im folgenden Beispiel behält der Parameter New-ProvScheme CustomProperties
den Zurückschreibcache bei, indem PersistVM
auf true gesetzt ist:
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-->
Tipp:
Die Eigenschaft
PersistVm
legt fest, ob eine bereitgestellte virtuelle Maschine beibehalten werden soll. Die EigenschaftPersistOsdisk
legt fest, ob der Betriebssystemdatenträger beibehalten werden soll. Um eine bereitgestellte virtuelle Maschine beizubehalten, müssen Sie zuerst den Betriebssystemdatenträger beibehalten. Löschen Sie den Betriebssystemdatenträger nur, wenn Sie zuvor die virtuelle Maschine löschen. Sie können die EigenschaftPersistOsdisk
verwenden, ohne den ParameterPersistVm
festzulegen.
Speichertypen
Wählen Sie Speichertypen für virtuelle Maschinen in Azure-Umgebungen, die MCS verwenden. Für Ziel-VMs unterstützt MCS Folgendes:
- OS-Datenträger: SSD Premium, SSD oder HDD
- Zurückschreibcache-Datenträger: SSD Premium, SSD oder HDD
Berücksichtigen Sie bei Verwendung dieser Speichertypen Folgendes:
- Ihre VM muss den ausgewählten Speichertyp unterstützen.
- Wenn Ihre Konfiguration einen kurzlebigen Azure-Datenträger enthält, wird keine Option für die Einstellung des Zurückschreibcache-Datenträgers angeboten.
Tipp:
StorageType
ist für einen Betriebssystemspeichertyp und mit Speicherkonto konfiguriert.WBCDiskStorageType
ist für den Zurückschreibcache konfiguriert. Für einen normalen Katalog istStorageType
erforderlich. WennWBCDiskStorageType
nicht konfiguriert ist, wirdStorageType
als Standard fürWBCDiskStorageType
verwendet.
Wenn WBCDiskStorageType nicht konfiguriert ist, wird StorageType als Standard für WBCDiskStorageType verwendet.
Konfigurieren von Speichertypen
Verwenden Sie den Parameter StorageType
in New-ProvScheme
, um Speichertypen für VMs zu konfigurieren. Stellen Sie den Wert des Parameters StorageType
auf einen der unterstützten Speichertypen ein.
Im Folgenden finden Sie einen Beispielsatz für den Parameter CustomProperties
in einem Provisioningschema:
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-->
Speichertyps beim Herunterfahren einer VM zu einer niedrigeren Ebene ändern
Sie können Speicherkosten sparen, indem Sie den Speichertyp eines verwalteten Datenträgers auf eine niedrigere Ebene umstellen, wenn Sie eine VM herunterfahren. Verwenden Sie dazu die benutzerdefinierte Eigenschaft StorageTypeAtShutdown
.
Der Speichertyp des Datenträgers ändert sich in eine niedrigere Ebene (wie in der benutzerdefinierten Eigenschaft StorageTypeAtShutdown
angegeben), wenn Sie die VM herunterfahren. Nach dem Einschalten der VM ändert sich der Speichertyp in den ursprünglichen Speichertyp zurück (wie in der benutzerdefinierten Eigenschaft StorageType
oder WBCDiskStorageType
angegeben).
Wichtig:
Der Datenträger ist erst vorhanden, wenn die VM mindestens einmal eingeschaltet wurde. Daher können Sie den Speichertyp nicht ändern, wenn Sie die VM zum ersten Mal einschalten.
Anforderungen
- Gilt für einen verwalteten Datenträger. Dies bedeutet, dass Sie die benutzerdefinierte Eigenschaft
UseManagedDisks
auf “true” festlegen. - Gilt für einen persistenten und nicht persistenten Katalog mit einem persistenten OS-Datenträger. Dies bedeutet, dass Sie die benutzerdefinierte Eigenschaft
persistOsDisk
auf “true” festlegen. - Gilt für einen nicht persistenten Katalog mit einem persistenten WBC-Datenträger. Dies bedeutet, dass Sie die benutzerdefinierte Eigenschaft
persistWBC
auf “true” festlegen.
Einschränkung
- Gemäß Vorgaben von Microsoft können Sie den Datenträgertyp nur zweimal pro Tag ändern. Siehe Microsoft-Dokumentation. Gemäß Citrix erfolgt das
StorageType
-Update immer dann, wenn eine Aktion zum Starten oder Aufheben der Zuordnung für die VM erfolgt. Beschränken Sie daher die Anzahl der Energieaktionen pro VM auf zwei pro Tag. Beispiel: eine Energieaktion morgens zum VM-Start und eine abends, um die Zuordnung der VM aufzuheben.
Speichertyp auf eine niedrigere Ebene ändern
Bevor Sie mit den Schritten fortfahren, lesen Sie die Abschnitte Anforderungen und Einschränkungen.
-
Fügen Sie die benutzerdefinierte Eigenschaft
StorageTypeAtShutdown
hinzu, legen Sie den Wert auf Standard_LRS (HDD) fest und erstellen Sie einen Katalog mitNew-ProvScheme
. Informationen zum Erstellen eines Katalogs mit PowerShell finden Sie unter https://developer-docs.citrix.com/projects/citrix-virtual-apps-desktops-sdk/en/latest/creating-a-catalog/.Hinweis:
Wenn
StorageTypeAtShutdown
einen anderen Wert als leer hat oder Standard_LRS (HDD) ist, schlägt der Vorgang fehl.Beispiel für das Festlegen benutzerdefinierter Eigenschaften beim Erstellen eines persistenten Katalogs:
$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="ResourceGroups" Value="" /> <Property xsi:type="StringProperty" Name="LicenseType" Value="Windows_Client" /> <Property xsi:type="StringProperty" Name="SchemaVersion" Value="2" /> <Property xsi:type="StringProperty" Name="OsType" Value="Windows" /> <Property xsi:type="StringProperty" Name="StorageTypeAtShutdown" Value="Standard_LRS" /> </CustomProperties>' <!--NeedCopy-->
Beispiel für das Festlegen benutzerdefinierter Eigenschaften beim Erstellen eines nicht persistenten Katalogs:
$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="WbcDiskStorageType" Value="Standard_SSD_LRS" /> <Property xsi:type="StringProperty" Name="ResourceGroups" Value="" /> <Property xsi:type="StringProperty" Name="LicenseType" Value="Windows_Client" /> <Property xsi:type="StringProperty" Name="SchemaVersion" Value="2" /> <Property xsi:type="StringProperty" Name="OsType" Value="Windows" /> <Property xsi:type="BooleanProperty" Name="persistWBC" Value=true /> <Property xsi:type="BooleanProperty" Name="persistOsDisk" Value=true /> <Property xsi:type="StringProperty" Name="StorageTypeAtShutdown" Value="Standard_LRS" /> </CustomProperties>' <!--NeedCopy-->
Hinweis:
Wenn Sie ein Maschinenprofil verwenden, hat die benutzerdefinierte Eigenschaft Vorrang vor der in
MachineProfile
definierten Eigenschaft. - Fahren Sie die VM herunter und überprüfen Sie den Speichertyp der VM im Azure-Portal. Der Speichertyp des Datenträgers ändert sich in eine niedrigere Ebene, wie in der benutzerdefinierten Eigenschaft
StorageTypeAtShutdown
angegeben. - Schalten Sie die VM ein. Der Speichertyp des Datenträgers ändert sich zurück zu dem aufgeführten Speichertyp:
- Benutzerdefinierte Eigenschaft
StorageType
für OS-Datenträger - Benutzerdefinierte Eigenschaft
WBCDiskStorageType
für WBC-Datenträger, nur wenn Sie sie inCustomProperties
angeben. Andernfalls ändert er sich zurück zum unterStorageType
angegebenen Speichertyp.
- Benutzerdefinierte Eigenschaft
StorageTypeAtShutdown
auf einen vorhandenen Katalog anwenden
Bevor Sie mit den Schritten fortfahren, lesen Sie die Abschnitte Anforderungen und Einschränkungen.
Verwenden Sie Set-ProvScheme
, um eine VM zu einem vorhandenen Katalog hinzuzufügen. Das Feature gilt für neue VMs, die nach dem Ausführen von Set-ProvScheme
hinzugefügt wurden. Die vorhandenen Maschinen sind nicht betroffen.
Beispiel für das Festlegen benutzerdefinierter Eigenschaften beim Hinzufügen einer VM zu einem vorhandenen Katalog:
$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="WbcDiskStorageType" Value="Standard_SSD_LRS" />
<Property xsi:type="StringProperty" Name="ResourceGroups" Value="" />
<Property xsi:type="StringProperty" Name="LicenseType" Value="Windows_Client" />
<Property xsi:type="StringProperty" Name="SchemaVersion" Value="2" />
<Property xsi:type="StringProperty" Name="OsType" Value="Windows" />
<Property xsi:type="BooleanProperty" Name="persistWBC" Value=true />
<Property xsi:type="BooleanProperty" Name="persistOsDisk" Value=true />
<Property xsi:type="StringProperty" Name="StorageTypeAtShutdown" Value="Standard_LRS" />
</CustomProperties>'
$ProvScheme = Get-Provscheme -ProvisioningSchemeName $CatalogName
Set-ProvScheme -ProvisioningSchemeName $ProvScheme.ProvisioningSchemeName -CustomProperties $customProperties
<!--NeedCopy-->
Speichertyp vorhandener VMs beim Herunterfahren in niedrigere Ebene ändern
Bevor Sie mit den Schritten fortfahren, lesen Sie die Abschnitte Anforderungen und Einschränkungen.
Sie können Speicherkosten sparen, indem Sie den Speichertyp vorhandener VMs beim Herunterfahren der VMs in eine niedrigere Ebene ändern. Verwenden Sie dazu die benutzerdefinierte Eigenschaft StorageTypeAtShutdown
.
Führen Sie folgende Schritte aus, um den Speichertyp vorhandener Maschinen in einem Katalog beim Herunterfahren der VMs in eine niedrigere Ebene zu ändern:
- Öffnen Sie ein PowerShell-Fenster.
- Führen Sie
asnp citrix*
aus, um die Citrix-spezifischen PowerShell-Module zu laden. - Führen Sie
Get-Provscheme -ProvisioningSchemeName $CatalogName
aus. -
Ändern Sie die Zeichenfolge der benutzerdefinierten Eigenschaften.
$customProperties = '<CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Property xsi:type="StringProperty" Name="StorageTypeAtShutdown" Value="Standard_LRS" /> </CustomProperties>' <!--NeedCopy-->
-
Aktualisieren Sie das Provisioningschema des vorhandenen Katalogs. Das Update gilt für neue VMs, die nach dem Ausführen von
Set-ProvScheme
hinzugefügt wurden.Set-ProvScheme -ProvisioningSchemeName $CatalogName -CustomProperties $customProperties <!--NeedCopy-->
-
Aktualisieren Sie die vorhandenen VMs, um
StorageTypeAtShutdown
zu aktivieren.Request-ProvVMUpdate -ProvisioningSchemeName $CatalogName <!--NeedCopy-->
- Beim nächsten Einschalten der Maschinen wird die Eigenschaft
StorageTypeAtShutdown
der Maschinen aktualisiert. Der Speichertyp ändert sich beim nächsten Herunterfahren. -
Führen Sie den folgenden Befehl aus, um den Wert
StorageTypeAtShutdown
für jede VM in einem Katalog anzuzeigen:Get-ProvVM -ProvisioningSchemeName <catalog-name> | foreach { $vmName = $_.VMName; $storageTypeAtShutdown = ($_.CustomVmData | ConvertFrom-Json).StorageTypeAtShutdown.DiskStorageAccountType; return New-Object psobject -Property @{ "VMName" = $vmName; "StorageTypeAtShutdown" = $storageTypeAtShutdown } } <!--NeedCopy-->
Einschaltverhalten beim Fehlschlagen der Änderung des Speichertyps anpassen
Beim Einschalten kann der Speichertyp eines verwalteten Datenträgers aufgrund eines Fehlers in Azure möglicherweise nicht in den gewünschten Typ geändert werden. In diesen Szenarien würde die VM ausgeschaltet bleiben, und Sie würden eine Fehlermeldung erhalten. Sie können die VM dann entweder einschalten (auch wenn der Speicher nicht auf den konfigurierten Typ wiederhergestellt werden kann) oder die VM ausgeschaltet lassen.
-
Wenn Sie die benutzerdefinierte Eigenschaft
FailSafeStorageType
als true konfigurieren (Standardeinstellung) oder sie in den BefehlenNew-ProvScheme
oderSet-ProvScheme
nicht angeben:- Beim Einschalten wird die VM mit dem falschen Speichertyp eingeschaltet.
- Beim Herunterfahren bleibt die VM mit dem falschen Speichertyp ausgeschaltet.
-
Wenn Sie die benutzerdefinierte Eigenschaft
FailSafeStorageType
in den BefehlenNew-ProvScheme
oderSet-ProvScheme
als falsch konfigurieren:- Beim Einschalten bleibt die VM mit dem falschen Speichertyp ausgeschaltet.
- Beim Herunterfahren bleibt die VM mit dem falschen Speichertyp ausgeschaltet.
Erstellen eines Maschinenkatalogs:
- Öffnen Sie ein PowerShell-Fenster.
- Führen Sie
asnp citrix*
aus, um die Citrix-spezifischen PowerShell-Module zu laden. - Erstellen Sie einen Identitätspool, falls noch nicht vorhanden.
-
Fügen Sie die benutzerdefinierte Eigenschaft in
New-ProvScheme
hinzu. Beispiel:New-ProvScheme -HostingUnitName "Azure-Resources-1" -IdentityPoolName "name" -InitialBatchSizeHint 1 -MasterImageVM "XDHyp:\HostingUnits\Azure-Resources-1\image.folder\abc.resourcegroup\def.snapshot" -NetworkMapping @{"0"="XDHyp:\HostingUnits\Azure-Resources-1\ght.folder\abc.resourcegroup\abc-vnet.virtualprivatecloud\default.network"} -ProvisioningSchemeName "name" -ServiceOffering "XDHyp:\HostingUnits\Azure-Resources-1\serviceoffering.folder\Standard_DS2_v2.serviceoffering" -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=`"Premium_LRS`" /> <Property xsi:type=`"StringProperty`" Name=`"StorageTypeAtShutdown`" Value=`"Standard_LRS`" /> <Property xsi:type=`"StringProperty`" Name=`"FailSafeStorageType`" Value=`"true`" /> </CustomProperties>" <!--NeedCopy-->
- Erstellen Sie den Maschinenkatalog. Informationen zum Erstellen eines Katalogs mit dem Remote PowerShell SDK finden Sie unter https://developer-docs.citrix.com/projects/citrix-virtual-apps-desktops-sdk/en/latest/creating-a-catalog/.
Aktualisieren Sie einen vorhandenen Maschinenkatalog, sodass er die benutzerdefinierte Eigenschaft FailSafeStorageType
enthält. Dieses Update wirkt sich nicht auf bestehende VMs aus.
- Aktualisieren Sie die benutzerdefinierte Eigenschaft im Befehl
Set-ProvScheme
. Beispiel:
Set-ProvScheme -ProvisioningSchemeName <String> -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=`"Premium_LRS`" />
<Property xsi:type=`"StringProperty`" Name=`"IdentityDiskStorageType`" Value=`"Premium_LRS`" />
<Property xsi:type=`"StringProperty`" Name=`"FailSafeStorageType`" Value=`"false`" />
</CustomProperties>"
<!--NeedCopy-->
Führen Sie den Befehl Request-ProvVMUpdate
aus, um die in Set-ProvScheme vorgenommene Änderung auf die vorhandenen VMs anzuwenden.
-
Führen Sie den Befehl Request-ProvVMUpdate aus. Beispiel:
Request-ProvVMUpdate -ProvisioningSchemeName <String> -VMName <List-Of-Vm-Names> <!--NeedCopy-->
-
Starten Sie die VMs neu.
Aktualisieren bereitgestellter Maschinen auf das aktuelle Provisioningschema
Mit dem Befehl Set-ProvScheme
ändern Sie das Provisioningschema. Dies wirkt sich jedoch nicht auf vorhandene Maschinen aus. Mit dem PowerShell-Befehl Request-ProvVMUpdate
können Sie das aktuelle Provisioningschema auf eine oder mehrere persistente oder nicht persistente Maschine(n) anwenden. Derzeit können Sie in Azure ServiceOffering
, MachineProfile
und die folgenden benutzerdefinierten Eigenschaften aktualisieren:
StorageType
WBCDiskStorageType
IdentityDiskStorageType
LicenseType
DedicatedHostGroupId
PersistWBC
PersistOsDisk
PersistVm
Hinweis:
Sie können nur die benutzerdefinierten Eigenschaften
StorageType
,WBCDiskStorageType
undIdentityDiskStorageType
eines Katalogs mit verwaltetem Datenträger in Azure-Umgebungen aktualisieren. Sie können Folgendes aktualisieren:
- Eine einzelne VM
- Eine Liste bestimmter VMs oder alle VMs, die mit der ID eines Provisioningschemas verknüpft sind.
- Eine Liste bestimmter VMs oder alle VMs, die mit dem Namen eines Provisioningschemas (Maschinenkatalogname) verknüpft sind.
Nachdem Sie die folgenden Änderungen am Provisioningschema vorgenommen haben, wird die VM-Instanz für persistente Kataloge in Azure neu erstellt:
- Ändern Sie
MachineProfile
. - Entfernen Sie
LicenseType
. - Entfernen Sie
DedicatedHostGroupId
.
Hinweis:
Der Betriebssystemdatenträger vorhandener Maschinen samt Daten bleibt unverändert, und es wird eine neue VM mit dem Datenträger verbunden. Schrittfolge zum Aktualisieren der vorhandenen VMs:
-
Prüfen Sie die Konfiguration der vorhandenen Maschinen. Beispiel:
Get-ProvScheme | select ProvisioningSchemeName, ProvisioningSchemeVersion <!--NeedCopy-->
-
Aktualisieren Sie das Provisioningschema. Beispiel:
-
VM zur Eingabe des Maschinenprofils verwenden:
Set-ProvScheme -ProvisioningSchemeName "my-catalog" -MachineProfile "XDHyp:\HostingUnits<hosting-unit>\machineprofile.folder<resource-group>.resourcegroup<virtual-machine>.vm" <!--NeedCopy-->
-
Vorlagenspezifikation zur Eingabe des Maschinenprofils verwenden:
Set-ProvScheme -ProvisioningSchemeName "my-catalog" -MachineProfile "XDHyp:\HostingUnits<hosting-unit>\machineprofile.folder<resource-group>.resourcegroup<template-spec>.templatespec<template-spec-version>.templatespecversion" -ServiceOffering "XDHyp:\HostingUnits<hosting-unit>\serviceoffering.folder<service-offering>.serviceoffering" <!--NeedCopy-->
-
Nur Dienstangebot verwenden:
Set-ProvScheme -ProvisioningSchemeName "my-catalog" -ServiceOffering "XDHyp:\HostingUnits<hosting-unit>\serviceoffering.folder<service-offering>.serviceoffering" <!--NeedCopy-->
-
-
Überprüfen Sie, ob die aktuelle Eigenschaft der VM mit dem aktuellen Provisioningschema übereinstimmt und ob eine Aktualisierungsaktion auf der VM aussteht. Beispiel:
Get-ProvVM | select VMName, ProvisioningSchemeUpdateRequested, ProvisioningSchemeVersion <!--NeedCopy-->
Sie können auch Maschinen einer bestimmten Version finden. Beispiel:
Get-ProvVM -Filter "ProvisioningSchemeVersion -eq 1" | select VMName, ProvisioningSchemeVersion <!--NeedCopy-->
-
Aktualisieren Sie vorhandene Maschinen.
-
Aktualisieren Sie alle vorhandenen Maschinen. Beispiel:
Request-ProvVMUpdate –ProvisioningSchemeName "my-catalog" <!--NeedCopy-->
-
Aktualisieren Sie eine Liste bestimmter Maschinen. Beispiel:
Request-ProvVMUpdate -ProvisioningSchemeName "my-catalog" -VMName "vm1","vm2" <!--NeedCopy-->
-
Aktualisieren Sie Maschinen basierend auf der Ausgabe von Get-ProvVM. Beispiel:
Get-ProvVM -ProvisioningSchemeName "my-catalog" | Request-ProvVMUpdate <!--NeedCopy-->
-
-
Suchen Sie Maschinen mit einem geplanten Update. Beispiel:
Get-ProvVM -Filter "ProvisioningSchemeUpdateAfter" | select VMName, ProvisioningSchemeUpdateAfter <!--NeedCopy-->
-
Starten Sie die Maschinen neu. Beim nächsten Einschalten werden Eigenschaftsänderungen auf die vorhandenen Maschinen angewendet. Sie können den aktualisierten Status mit dem folgenden Befehl überprüfen. Beispiel:
Get-ProvVM | select VMName, ProvisioningSchemeUpdateRequested, ProvisioningSchemeVersion <!--NeedCopy-->
Konfigurationsupdates planen
Mit dem PowerShell-Befehl Schedule-ProvVMUpdate
können Sie ein Zeitfenster für die Konfigurationsupdates der vorhandenen, von MCS bereitgestellten Maschinen festlegen. Während dieses Zeitfensters wird dann bei jedem Einschalten oder Neustart ein geplantes Update des Provisioningschemas auf eine Maschine angewendet.
Wenn Sie Request-ProvVMUpdate
und Schedule-ProvVMUpdate
ausführen, wird der zuletzt ausgeführte Befehl wirksam.
Hinweis:
Schedule-ProvVMUpdate
besitzt alle Funktionen vonRequest-ProvVMUpdate
und mehr.Schedule-ProvVMUpdate
wird zukünftigRequest-ProvVMUpdate
ersetzen.
Mit Cancel-ProvVMUpdate
können Sie das Konfigurationsupdate auch vor dem geplanten Zeitpunkt abbrechen.
Sie können das Konfigurationsupdate für Folgendes planen:
- Eine einzelne VM
- Mehrere VMs, die ID oder Namen eines Provisioningschemas zugeordnet sind
- Ein gesamter Katalog, der ID oder Namen eines Provisioningschemas zugeordnet ist
Planen des Konfigurationsupdates:
- Erstellen Sie mit der Oberfläche “Vollständige Konfiguration” oder PowerShell einen Katalog.
- Öffnen Sie ein PowerShell-Fenster.
- Führen Sie
asnp citrix*
aus, um Citrix-spezifische PowerShell-Module zu laden. -
Prüfen Sie die Konfiguration der vorhandenen Maschinen. Beispiel:
Get-ProvScheme | select ProvisioningSchemeName, ProvisioningSchemeVersion <!--NeedCopy-->
-
Aktualisieren Sie das Provisioningsschema, um eine benutzerdefinierte Eigenschaft, ein Maschinenprofil oder ein Dienstangebot zu aktualisieren. Beispiel:
Set-ProvScheme –ProvisioningSchemeName "my-catalog" – MachineProfile"XDHyp:\HostingUnits<hosting-unit>\machineprofileinstance.vm" <!--NeedCopy-->
-
Prüfen Sie, ob Folgendes gilt:
- Die aktuelle Eigenschaft der VM entspricht dem aktuellen Provisioningsschema. Und:
- Es gibt eine ausstehende Aktualisierungsaktion auf der VM.
Beispiel:
Get-ProvVM | select VMName, ProvisioningSchemeUpdateRequested, ProvisioningSchemeUpdateUntil, ProvisioningSchemeVersion <!--NeedCopy-->
-
Führen Sie
Schedule-ProvVMUpdate
aus, um eine VM beim nächsten Start im geplanten Zeitfenster planmäßig auf die neuesten Provisioningeinstellungen zu aktualisieren. Beispiel:-
Update mit der aktuellen Uhrzeit als Startzeit planen:
Schedule-ProvVMUpdate -ProvisioningSchemeName " my-catalog " -VMName "vm1" -StartsNow -DurationInMinutes 120 <!--NeedCopy-->
-
Update an einem Wochenende planen:
Schedule-ProvVMUpdate -ProvisioningSchemeName " my-catalog " -VMName "vm1" -StartTimeInUTC "10/15/2022 9:00am" -DurationInMinutes (New –TimeSpan –Days 2).TotalMinutes <!--NeedCopy-->
Hinweis:
-
VMName
ist optional. Wenn nicht angegeben, wird das Update für den gesamten Katalog geplant. - Verwenden Sie statt
StartTimeInUTC
den BefehlStartsNow
, um anzugeben, dass die geplante Startzeit der aktuellen Uhrzeit entspricht. -
DurationInMinutes
ist optional. Der Standardwert ist 120 Minuten. Eine negative Zahl (z. B. -1) gibt an, dass es im Zeitfenster des Zeitplans keine Obergrenze gibt.
-
-
Überprüfen Sie den Updatestatus.
Get-ProvVM | select VMName, ProvisioningSchemeUpdateRequested, ProvisioningSchemeUpdateUntil, ProvisioningSchemeVersion <!--NeedCopy-->
-
Schalten Sie die VM ein. Wenn Sie die Maschine nach dem geplanten Zeitfenster einschalten, wird das Konfigurationsupdate nicht durchgeführt. Wenn Sie die Maschine innerhalb des geplanten Zeitfensters einschalten,
-
Wenn die Maschine ausgeschaltet ist und
- Sie die Maschine nicht einschalten, wird das Konfigurationsupdate nicht angewendet.
- Sie die Maschine einschalten, wird das Konfigurationsupdate angewendet.
-
Wenn die Maschine eingeschaltet ist und
- Sie die Maschine nicht neu starten, wird das Konfigurationsupdate nicht angewendet.
- Sie die Maschine neu starten, wird das Konfigurationsupdate angewendet.
-
Sie können ein Konfigurationsupdate auch für eine einzelne VM, mehrere VMs oder einen gesamten Katalog abbrechen. Konfigurationsupdate abbrechen:
-
Führen Sie
Cancel-ProvVMUpdate
aus. Beispiel:-
Das für eine einzelne VM geplante Konfigurationsupdate abbrechen:
Cancel-ProvVMUpdate -ProvisioningSchemeName " my-catalog " -VMName "vm1" <!--NeedCopy-->
-
Das für mehrere VMs geplante Konfigurationsupdate abbrechen:
Cancel-ProvVMUpdate -ProvisioningSchemeName "my-catalog" -VMName "vm1","vm2" <!--NeedCopy-->
Hinweis:
Die VMs müssen aus demselben Katalog stammen.
-
Abrufen von Informationen für Azure-VMs, Snapshots, Betriebssystemdatenträger und Katalogimagedefinition
Sie können Informationen für eine Azure-VM anzeigen, einschließlich Betriebssystemdatenträger und -typ, Snapshot und Katalogimagedefinition. Diese Informationen werden für Ressourcen im Masterimage angezeigt, wenn ein Maschinenkatalog zugewiesen wird. Verwenden Sie diese Funktion, um entweder ein Linux- oder ein Windows-Image anzuzeigen und auszuwählen. Eine PowerShell-Eigenschaft, TemplateIsWindowsTemplate
, wurde dem Parameter AdditionDatafield
hinzugefügt. Dieses Feld enthält Azure-spezifische Informationen: VM-Typ, Betriebssystemdatenträger, Informationen zum Katalogimage und Informationen zum Betriebssystemtyp. Die Einstellung von TemplateIsWindowsTemplate
auf True zeigt an, dass der Betriebssystemtyp Windows ist; die Einstellung von TemplateIsWindowsTemplate
auf False zeigt an, dass der Betriebssystemtyp Linux ist.
Tipp:
Die von der PowerShell-Eigenschaft
TemplateIsWindowsTemplate
angezeigten Informationen werden von der Azure-API abgeleitet. In einigen Fällen ist dieses Feld möglicherweise leer. Beispiel: Ein Snapshot von einem Datenträger enthält das FeldTemplateIsWindowsTemplate
nicht, da der Betriebssystemtyp nicht aus einem Snapshot abgerufen werden kann.
Beispiel: Legen Sie den AdditionData
-Parameter der Azure-VM für den Betriebssystemtyp Windows mit PowerShell auf True fest:
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-->
Maschinenkataloge mit vertrauenswürdigem Start
Zur problemlosen Erstellung eines Maschinenkatalogs mit vertrauenswürdigem Start verwenden Sie:
- Ein Maschinenprofil mit vertrauenswürdigem Start
- Eine VM-Größe, die vertrauenswürdigen Start unterstützt
- Eine Windows-VM-Version, die vertrauenswürdigen Start unterstützt Derzeit unterstützen Windows 10, Windows Server 2016, 2019 und 2022 den vertrauenswürdigen Start.
Wichtig:
Ein vertrauenswürdiger Start erfordert die Erstellung neuer VMs. Sie können den vertrauenswürdigen Start nicht auf vorhandenen VMs aktivieren, die ursprünglich ohne erstellt wurden.
Führen Sie den folgenden Befehl aus, um den Bestand des Citrix DaaS-Angebots anzuzeigen und zu ermitteln, ob die VM-Größe den vertrauenswürdigen Start unterstützt:
- Öffnen Sie ein PowerShell-Fenster.
- Führen Sie asnp citrix* aus, um die Citrix-spezifischen PowerShell-Module zu laden.
-
Führen Sie den folgenden Befehl aus:
$s = (ls XDHyp:\HostingUnits<name of hosting unit>\serviceoffering.folder"<VM size>.serviceoffering) <!--NeedCopy-->
- Führen Sie
$s | select -ExpandProperty Additionaldata
aus. -
Prüfen Sie den Wert des Attributs
SupportsTrustedLaunch
.- Wenn
SupportsTrustedLaunch
der True ist, unterstützt die VM-Größe den vertrauenswürdigen Start. - Wenn
SupportsTrustedLaunch
Falseist, unterstützt die VM-Größe den vertrauenswürdigen Start nicht.
- Wenn
Bei Azure-PowerShell können Sie den folgenden Befehl verwenden, um die VM-Größen zu ermitteln, die den vertrauenswürdigen Start unterstützen:
(Get-AzComputeResourceSku | where {$_.Locations.Contains($region) -and ($_.Name -eq "<VM size>") })[0].Capabilities
<!--NeedCopy-->
Die folgenden Beispiele veranschaulichen, welche von dem Azure PowerShell-Befehl zurückgegebenen VMs den vertrauenswürdigen Start unterstützen.
-
Beispiel 1: Wenn die Azure-VM nur Generation 1 unterstützt, unterstützt die VM keinen vertrauenswürdigen Start. Daher wird
TrustedLaunchDisabled
nicht angezeigt, wenn Sie den Azure PowerShell-Befehl ausgeführt haben. -
Beispiel 2: Wenn die Azure-VM nur Generation 2 unterstützt und der Wert von
TrustedLaunchDisabled
Trueist, unterstützt die Generation 2-VM-Größe den vertrauenswürdigen Start nicht. -
Beispiel 3: Wenn die Azure-VM nur Generation 2 unterstützt und
TrustedLaunchDisabled
nicht angezeigt wird, wenn Sie den Azure PowerShell-Befehl ausgeführt haben, unterstützt die Generation 2-VM-Größe den vertrauenswürdigen Start.
Weitere Informationen zum vertrauenswürdigen Start für virtuelle Azure-Maschinen finden Sie in dem Microsoft-Dokument Vertrauenswürdiger Start für Azure-VMs.
Fehler beim Erstellen von Maschinenkatalogen mit vertrauenswürdigem Start
Beim Erstellen eines Maschinenkatalogs mit vertrauenswürdigem Start treten in den folgenden Szenarien Fehler auf:
Szenario | Fehler |
---|---|
Sie wählen beim Erstellen eines nicht verwalteten Katalogs ein Maschinenprofil aus. | MachineProfileNotSupportedForUnmanagedCatalog |
Sie wählen beim Erstellen eines Katalogs mit einem nicht verwalteten Datenträger als Masterimage ein Maschinenprofil, das den vertrauenswürdigen Start unterstützt. | SecurityTypeNotSupportedForUnmanagedDisk |
Sie wählen beim Erstellen eines verwalteten Katalogs mit einer Masterimagequelle, deren Sicherheitstyp “vertrauenswürdiger Start” ist, kein Maschinenprofil aus. | MachineProfileNotFoundForTrustedLaunchMasterImage |
Sie wählen ein Maschinenprofil aus, dessen Sicherheitstyp sich von dem des Masterimages unterscheidet. | SecurityTypeConflictBetweenMasterImageAndMachineProfile |
Sie wählen eine VM-Größe, die den vertrauenswürdigen Start nicht unterstützt, verwenden aber beim Erstellen eines Katalogs ein Masterimage, das den vertrauenswürdigen Start unterstützt. | MachineSizeNotSupportTrustedLaunch |
Azure Marketplace
Citrix Virtual Apps and Desktops und Citrix DaaS unterstützen die Verwendung eines Masterimages mit Abonnementinformationen zum Erstellen von Maschinenkatalogen in Azure. Weitere Informationen finden Sie unter Microsoft Azure Marketplace.
Tipp:
Manchen Images im Azure-Marketplace (z. B. Standard-Windows Server-Image) sind keine Abonnementinformationen angefügt. Das Citrix DaaS-Feature ist für kostenpflichtige Images vorgesehen.
Vergewissern Sie sich, dass das in der Shared Image Gallery erstellte Image Azure-Abonnementinformationen enthält
Gehen Sie wie in diesem Abschnitt beschrieben vor, um Images in der Shared Image Gallery in Web Studio anzuzeigen. Diese Images können für ein Masterimage verwendet werden. Um das Image in einer Shared Image Gallery abzulegen, erstellen Sie in der Gallery eine Imagedefinition.
Überprüfen Sie auf der Seite Veröffentlichungsoptionen die Informationen zum Abonnement.
Die Informationsfelder sind zunächst leer. Füllen Sie diese Felder mit den Abonnementinformationen für das Image aus. Werden die Informationen nicht angegeben, kann der Maschinenkatalogprozess fehlschlagen.
Nach dem Prüfen der Abonnementinformationen erstellen Sie eine Imageversion in der Definition. Diese wird als Masterimage verwendet. Klicken Sie auf Add Version:
Wählen Sie im Abschnitt Version details den Image-Snapshot oder verwalteten Datenträger als Quelle aus:
Informationen zu Azure-Berechtigungen
Dieser Abschnitt enthält die für Azure erforderlichen Mindestberechtigungen und allgemeinen Berechtigungen.
Mindestberechtigungen
Mindestberechtigungen ermöglichen eine bessere Sicherheitskontrolle. Was ist neu, die zusätzliche Berechtigungen erfordern, schlagen jedoch fehl, wenn nur die Mindestberechtigungen verwendet werden.
Hostverbindung erstellen
Fügen Sie eine neue Hostverbindung unter Verwendung der von Azure abgerufenen Informationen hinzu.
"Microsoft.Network/virtualNetworks/read",
"Microsoft.Compute/virtualMachines/read",
"Microsoft.Compute/disks/read",
<!--NeedCopy-->
Energieverwaltung virtueller Maschinen
Schalten Sie die Maschineninstanzen ein oder aus.
"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-->
Erstellen, Aktualisieren oder Löschen von VMs
Nach dem Erstellen eines Maschinenkatalogs können Sie Maschinen hinzufügen, löschen und aktualisieren und den Maschinenkatalog löschen.
Die folgende Liste umfasst notwendige Mindestberechtigungen, wenn das Masterimage ein verwalteter Datenträger ist oder wenn sich Snapshots in derselben Region wie die Hostverbindung befinden.
"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-->
Für die folgenden Features benötigen Sie zusätzlich zu den Mindestberechtigungen die folgenden Berechtigungen:
-
Wenn das Masterimage eine virtuelle Festplatte (VHD) in einem Speicherkonto ist, das sich in derselben Region wie die Hostverbindung befindet:
"Microsoft.Storage/storageAccounts/read", "Microsoft.Storage/storageAccounts/listKeys/action", <!--NeedCopy-->
-
Wenn das Masterimage eine ImageVersion aus der Shared Image Gallery ist:
"Microsoft.Compute/galleries/read", "Microsoft.Compute/galleries/images/read", "Microsoft.Compute/galleries/images/versions/read", <!--NeedCopy-->
-
Wenn das Masterimage ein verwalteter Datenträger ist. Snapshots, oder die virtuelle Festplatte ist nicht in derselben Region wie die Hostverbindung:
"Microsoft.Storage/storageAccounts/read", "Microsoft.Storage/storageAccounts/listKeys/action", "Microsoft.Storage/storageAccounts/write", "Microsoft.Storage/storageAccounts/delete", <!--NeedCopy-->
-
Wenn Sie eine von Citrix verwaltete Ressourcengruppe verwenden:
"Microsoft.Resources/subscriptions/resourceGroups/write", "Microsoft.Resources/subscriptions/resourceGroups/delete", <!--NeedCopy-->
-
Wenn Sie das Masterimage in der Shared Image Gallery ablegen:
"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-->
-
Wenn Sie dedizierte Azure-Hosts unterstützen:
"Microsoft.Compute/hostGroups/read", "Microsoft.Compute/hostGroups/write", "Microsoft.Compute/hostGroups/hosts/read", <!--NeedCopy-->
-
Wenn Sie die serverseitige Verschlüsselung (SSE) mit vom Kunden verwalteten Schlüsseln (CMK) verwenden:
"Microsoft.Compute/diskEncryptionSets/read", <!--NeedCopy-->
-
Wenn Sie VMs mit ARM-Vorlagen (Maschinenprofil) bereitstellen:
"Microsoft.Resources/deployments/write", "Microsoft.Resources/deployments/operationstatuses/read", "Microsoft.Resources/deployments/read", "Microsoft.Resources/deployments/delete", <!--NeedCopy-->
-
Wenn Sie die Azure-Vorlagenspezifikation als Maschinenprofil verwenden:
"Microsoft.Resources/templateSpecs/read", "Microsoft.Resources/templateSpecs/versions/read", <!--NeedCopy-->
Erstellen, Aktualisieren und Löschen von Maschinen mit nicht verwaltetem Datenträger
Die folgende Liste umfasst notwendige Mindestberechtigungen, wenn das Masterimage eine VHD ist und die vom Administrator bereitgestellte Ressourcengruppe verwendet wird:
"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-->
Allgemeine Berechtigung
Die Rolle “Mitwirkender” erhält Vollzugriff zur Verwaltung aller Ressourcen. Dieser Satz von Berechtigungen hindert Sie nicht daran, Was ist neu zu erhalten.
Die folgenden Berechtigungen bieten die beste Kompatibilität für die zukünftige Verwendung, obwohl sie mehr Berechtigungen umfassen, als für aktuelle Features erforderlich sind:
"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",
"Microsoft.Resources/templateSpecs/read",
"Microsoft.Resources/templateSpecs/versions/read",
<!--NeedCopy-->
Weitere Informationen
- Verbindungen und Ressourcen
- Maschinenkataloge erstellen
- CTX219211: Set up a Microsoft Azure Active Directory account
- CTX219243: Grant XenApp and XenDesktop access to your Azure subscription
- CTX219271: Deploy hybrid cloud using site-to-site VPN
In diesem Artikel
- Bedarfsgesteuertes Provisioning in Azure
- Verbindung mit Azure Resource Manager
- Erstellen eines Maschinenkatalogs unter Verwendung eines Azure Resource Manager-Images
- Azure-Datenträgerverschlüsselung auf dem Host
- Azure-Drosselung
- Azure-Ressourcengruppen
- Azure-serverseitige Verschlüsselung
- Dedizierte Azure-Hosts
- Azure Shared Image Gallery
- Provisioning von Maschinen in spezifischen Verfügbarkeitszonen
- Kurzlebiger Azure-Datenträger
- Beibehalten einer bereitgestellten virtuellen Maschine bei Energiezyklen
- Speichertypen
- Aktualisieren bereitgestellter Maschinen auf das aktuelle Provisioningschema
- Konfigurationsupdates planen
- Abrufen von Informationen für Azure-VMs, Snapshots, Betriebssystemdatenträger und Katalogimagedefinition
- Maschinenkataloge mit vertrauenswürdigem Start
- Azure Marketplace
- Informationen zu Azure-Berechtigungen
- Weitere Informationen