Citrix DaaS

Migration von Workloads zwischen Ressourcenstandorten mit Image Portability Service

Mit dem Image Portability Service können Sie Images einfacher plattformübergreifend verwalten. REST-APIs für Citrix Virtual Apps and Desktops ermöglichen die automatisierte Verwaltung von Ressourcen innerhalb einer Citrix Virtual Apps and Desktops-Site.

Der Image Portability-Workflow beginnt, wenn Sie Citrix Cloud verwenden, um die Migration eines Images zwischen zwei Ressourcenstandorten zu starten. Nach dem Export Ihres Images hilft Ihnen Image Portability Service bei der Übertragung und Vorbereitung des Images für die Ausführung auf dem Ziel-Hypervisor oder der Public Cloud. Schließlich stellt Citrix Provisioning oder Machine Creation Services das Image in der Zielumgebung bereit.

Komponenten

Image Portability Service enthält folgende Komponenten:

  • Citrix Cloud Services
  • Citrix Credential Wallet
  • Citrix Connector Appliance
  • Compositing Engine-VM
  • PowerShell-Beispielskripte

Citrix Cloud Services

Die Citrix Cloud Services API ist ein REST-API-Dienst für die Interaktion mit Image Portability Service. Mit dem REST-API-Dienst können Sie Image Portability-Aufträge erstellen und überwachen. Sie können zum Beispiel mit einem API-Aufruf einen Image Portability-Auftrag starten (beispielsweise zum Export eines Datenträgers) und dann mit weiteren Aufrufen den Auftragsstatus abfragen.

Citrix Credentials Wallet

Der Dienst Citrix Credentials Wallet dient zum sicheren Verwalten von Systemanmeldeinformationen und ermöglicht, das Image Portability Service mit Ihren Assets interagieren kann. Wenn Sie beispielsweise einen Datenträger aus vSphere in eine SMB-Freigabe exportieren, benötigt Image Portability Service die Anmeldeinformationen, um eine Verbindung zur SMB-Freigabe zu öffnen und den Datenträger zu schreiben. Wenn die Anmeldeinformationen in der Credential Wallet gespeichert sind, kann Image Portability Service diese Anmeldeinformationen abrufen und verwenden.

Mit diesem Service können Sie Ihre Anmeldeinformationen vollständig verwalten. Die Cloud Services API fungiert als Zugriffspunkt und bietet Ihnen die Möglichkeit, Anmeldeinformationen zu erstellen, zu aktualisieren und zu löschen.

Compositing Engine

Die Compositing Engine ist das Kernstück von Image Portability Service. Die Compositing Engine (CE) ist eine einzelne VM, die beim Start eines Export- oder Vorbereitungsauftrag mit Image Portability erstellt wird. Diese virtuellen Maschinen werden in derselben Umgebung erstellt, in der der Auftrag ausgeführt wird. Wenn Sie beispielsweise einen Datenträger aus vSphere exportieren, wird die CE auf dem vSphere-Server erstellt. Wenn Sie hingegen einen Vorbereitungsauftrag in Azure, AWS oder Google Cloud ausführen, wird die CE in Azure, AWS bzw. Google Cloud erstellt. Die CE stellt Ihren Datenträger in sich selbst bereit und bearbeitet ihn anschließend. Nach Abschluss des Vorbereitungs- oder Exportauftrags werden die CE-VM und alle zugehörigen Komponenten gelöscht.

Connector Appliance

Die Connector Appliance, die Anbietersoftware zum Verwalten von IPS-Ressourcen ausführt, wird in Ihrer Umgebung ausgeführt (sowohl on-premises als auch in Ihrem Azure-, AWS- oder Google Cloud-Abonnement) und fungiert als Controller für einzelne Aufträge. Das Gerät erhält Auftragsanweisungen vom Clouddienst und erstellt und verwaltet die VMs der Compositing Engine. Die Connector Appliance-VM fungiert als ein einziger, sicherer Kommunikationspunkt zwischen den Clouddiensten und Ihren Umgebungen. Stellen Sie mindestens eine Connector Appliance an jedem Ihrer Ressourcenstandorte bereit (on-premises, Azure, AWS oder Google Cloud). Aus Sicherheitsgründen wird an jedem Ressourcenstandort eine eigene Connector Appliance bereitgestellt. Durch Kombination der Connector Appliance mit der Compositing Engine erhöht sich die Sicherheitslage der Bereitstellung erheblich, da alle Komponenten und die Kommunikation innerhalb Ihres Ressourcenstandorts verbleiben.

PowerShell-Module

Wir bieten mehrere PowerShell-Module, die Sie in Skripts als Ausgangspunkt zum Entwickeln einer eigenen Automatisierung verwenden können. Die bereitgestellten Module werden im Originalzustand unterstützt, Sie können sie jedoch je nach Bedarf an Ihre Bereitstellung anpassen.

Die PowerShell-Automatisierung erstellt mithilfe bereitgestellter Konfigurationsparameter einen REST-Aufruf an den Citrix Cloud-API-Dienst, um den Auftrag zu starten, und sendet im Verlauf regelmäßige Updates.

Wenn Sie Ihre eigene Automatisierungslösung entwickeln möchten, können Sie Aufrufe an den Clouddienst direkt mit Ihrer bevorzugten Programmiersprache erstellen. Detaillierte Informationen zum Konfigurieren und Verwenden der REST-Endpunkte und PowerShell-Module für Image Portability Service finden Sie im API-Portal.

Workflows

Image Portability Service nutzt einen mehrstufigen Workflow, um ein Katalog-Masterimage von einem On-Premises-Ressourcenstandort für Ihre abonnierte öffentliche Cloud vorzubereiten. Das Image wird von der On-Premises-Hypervisorplattform exportiert und dann von Ihnen in die abonnierte öffentliche Cloud hochgeladen (Sie können dies mit unserem bereitgestellten PowerShell-Uploadprogramm automatisieren). Anschließend wird die Image-Kompatibilität mit der Plattform Ihrer öffentlichen Cloud vorbereitet. Zum Schluss wird das Image veröffentlicht und kann als neuer Maschinenkatalog in Ihrem Cloud-Ressourcenstandort bereitgestellt werden.

Image Portability-Workflow

Diese allgemeinen Workflows basieren auf der konfigurierten Quell- und Zielbereitstellung des Images (Maschinenerstellungsdienste oder Citrix Provisioning). Der gewählte Workflow legt fest, welche Schritte für den Image Portability-Auftrag erforderlich sind.

In der folgenden Tabelle sehen Sie, welche Aufträge für jeden unterstützten IPS-Workflow erforderlich sind.

Workflow (Quelle zum Ziel) Exportieren Hochladen Vorbereiten Veröffentlichen
MCS zu MCS J J J N
PVS zu MCS* N J J N
PVS zu PVS J J J
MCS zu PVS J J J J

*Setzt voraus, dass das Ausgangsimage als vDisk für Citrix Provisioning vorliegt und Sie es nicht direkt aus dem Hypervisor der Quellplattform exportieren müssen.

Anforderungen

Zum Start von Image Portability müssen die folgenden Anforderungen erfüllt sein:

Ein Citrix Maschinenkatalog-Image

Für IPS müssen Images in einer der folgenden getesteten Konfigurationen verwendet werden:

  • Windows Server 2016, 2019 und 2022H2

  • Windows 10 oder 11

  • Provisioning mit MCS oder Citrix Provisioning erfolgt

  • Citrix Virtual Delivery Agent:
    • Die letzten beiden kumulativen Updates für 1912 und 2203 LTSR
    • Die letzten beiden aktuellen Releases
  • Remotedesktopdienste, für Konsolenzugriff in Azure aktiviert

Der Image Portability Service unterstützt die folgenden Hypervisors und Cloudplattformen:

Quellplattformen:

  • VMware vSphere 7.0 und 8.0

  • XenServer 8/Citrix Hypervisor 8.2

  • Nutanix AHV (nur Prism-Element)

  • Microsoft Azure

  • Google Cloud Platform

Zielplattformen:

  • VMware vSphere 8.0

  • XenServer 8/Citrix Hypervisor 8.2

  • Nutanix AHV (nur Prism-Element)

  • Microsoft Azure

  • AWS

  • Google Cloud Platform

Eine Citrix Connector Appliance

Sie benötigen an jedem Ressourcenstandort, an dem Sie Image Portability verwenden möchten, eine installierte und konfigurierte Citrix Connector Appliance. Um beispielsweise mit Image Portability ein Image von vSphere zu Azure, AWS bzw. Google Cloud zu verschieben, benötigen Sie mindestens vier Citrix Connector Appliances:

Detaillierte Anweisungen finden Sie unter Connector Appliances bereitstellen.

Eine SMB-Dateifreigabe (Windows)

Sie benötigen eine Windows SMB-Dateifreigabe zum Speichern der Ausgabe von Exportjobs. Der Share muss für die Compositing Engine-VM zugänglich sein, die an dem Ressourcenstandort erstellt wird, an dem Sie den Image Portability Service verwenden. Der verfügbare freie Speicherplatz auf der Freigabe muss mindestens doppelt so groß sein wie das konfigurierte Dateisystem Ihres Images.

Eine Maschine zum Ausführen von PowerShell-Skripts

Ihre Maschine, auf der die PowerShell-Skripts ausgeführt werden, muss über Folgendes verfügen:

  • PowerShell Version 5.1.

  • Eine schnelle Netzwerkverbindung zur SMB-Dateifreigabe. Dies kann dieselbe Maschine sein, die die Dateifreigabe hostet.

  • Eine schnelle Netzwerkverbindung zu den Plattformen der öffentlichen Cloud, wo Sie Image Portability verwenden möchten. Beispiele sind Azure, AWS und Google Cloud.

    Weitere Informationen zum Herunterladen und Konfigurieren der Image Portability-Module aus der PowerShell Gallery finden Sie im Abschnitt Vorbereiten einer Maschine für PowerShell.

Ihre Citrix Cloud-Kunden-ID

Sie müssen über ein gültiges Citrix DaaS-Abonnement verfügen.

Um fortzufahren, benötigen Sie Zugriff auf Citrix DaaS (ehemals Citrix Virtual Apps and Desktops Service). Wenden Sie sich an den zuständigen Citrix Mitarbeiter, wenn Sie keinen Zugriff haben.

Anweisungen zum Erstellen und Konfigurieren eines API-Clients für Image Portability finden Sie in der Einführung zu Citrix Cloud APIs.

Erforderliche Azure-Berechtigungen und -Konfiguration

Damit Image Portability Service Aktionen in Ihrer Azure-Ressource ausführen kann, müssen Sie dem von Image Portability Service verwendeten Azure-Dienstprinzipal Berechtigungen für bestimmte Azure-Funktionen erteilen. Eine ausführliche Liste finden Sie unter Erforderliche Microsoft Azure-Berechtigungen.

Sie können dem Dienstprinzipal in der zugehörigen Ressource die Rolle Mitwirkender zuweisen. Um die erforderlichen Mindestberechtigungen zuzuweisen, können Sie auch benutzerdefinierte Rollen mit den erforderlichen Berechtigungen erstellen und sie dem Dienstprinzipal mit den entsprechenden Ressourcen als Geltungsbereich zuweisen.

Informationen zum Konfigurieren von Sicherheitsrollen für Ihren Azure-Dienstprinzipal und zum Erstellen von benutzerdefinierten Rollen finden Sie in der Azure-Dokumentation.

Erforderliche Google Cloud-Berechtigungen und -Konfiguration

Damit Image Portability Service Aktionen in Ihrem Google Cloud-Projekt ausführen kann, erteilen Sie dem von Image Portability Service verwendeten Google Cloud-Dienstprinzipal Berechtigungen für bestimmte Funktionen erteilen.

Eine ausführliche Liste finden Sie unter Erforderliche Google Cloud-Berechtigungen.

Sie können diese Berechtigungen mit den folgenden Rollen zuweisen:

  • Cloud Build-Editor
  • Compute Admin
  • Speicher-Administrator
  • Dienstkontobenutzer

Weitere Informationen zum Konfigurieren von Dienstkontoberechtigungen finden Sie in der Google Cloud-Dokumentation.

Erforderliche Berechtigungen und Konfiguration für Amazon Web Services

Um Image Portability Service-Workflows mit einem Amazon Web Services (AWS)-Konto ausführen zu können, muss die entsprechende Identitäts- und Zugriffsverwaltungsidentität (IAM) die richtigen Berechtigungen haben.

Eine detaillierte Liste finden Sie unter Erforderliche AWS-Berechtigungen.

Einrichten von Image Portability Service

Schrittfolge zum Einrichten von Image Portability Service:

Connector Appliances bereitstellen

Image Portability benötigt Citrix Connector Appliances, um Image Portability-Aufträge zu erstellen. Connector Appliances unterstützen sichere Interaktionen mit Ihren on-premises vorhandenen und öffentlichen Cloud-Umgebungen. Die Connector Appliances senden Informationen zum Auftragsstatus und zum allgemeinen Dienstzustand an Image Portability Service.

Folgen Sie den Schritten in Connector Appliance für Cloudservices, um eine Connector Appliance in Ihrer Umgebung bereitzustellen und zu konfigurieren.

Beachten Sie beim Planen Ihrer Bereitstellung die erforderliche Hardwarekonfiguration und den Netzwerkportzugriff für das Connectorgerät.

Wenn Ihr Gerät bereitgestellt und registriert ist, werden die zum Aktivieren von Image Portability erforderlichen Komponenten automatisch installiert.

Maschine für PowerShell vorbereiten

Um Sie bei der Inbetriebnahme von Image Portability zu unterstützen, haben wir PowerShell-Module erstellt, die Sie anpassen und mit dem Service verwenden können.

In den folgenden Abschnitten wird beschrieben, wie Sie eine Maschine für die Ausführung der PowerShell-Skripts vorbereiten. Diese Skripts sind nur einige Beispiele. Sie können sie an Ihre Bedürfnisse anpassen oder erweitern.

Hinweis:

Verwenden Sie nach der Erstinstallation Update-Module, um das PowerShell-Modul zu aktualisieren.

PowerShell-Anforderungen

Zum Verwenden der PowerShell-Skripts benötigen Sie Folgendes:

  • Eine Windows-Maschine zum Ausführen der PowerShell-Skripts, die Image Portability-Aufträge steuern. Dabei gilt für die Maschine:

    • Die aktuelle Version von PowerShell ist installiert.

    • Sie besitzt eine Netzwerkverbindung mit 10 Gbit/s oder besser zur on-premises bereitgestellten SMB-Dateifreigabe und eine schnelle Verbindung zur öffentlichen Cloud (z. B. Azure, AWS oder Google Cloud).

    • Dies kann dieselbe Maschine sein, die die Dateifreigabe hostet.

    • Sie verwendet Windows 10, Windows Server 2019 oder Windows Server 2022 mit den neuesten Microsoft-Patches.

    • Sie kann eine Verbindung zu Microsoft PowerShell Gallery herstellen, um die erforderlichen PowerShell-Bibliotheken herunterzuladen.

Je nach verwendeter Windows-Version müssen Sie möglicherweise die Unterstützung für TLS 1.0/1.1 deaktivieren. Weitere Informationen finden Sie in der Supportdokumentation für Microsoft PowerShell Gallery TLS .

Standardmäßig authentifiziert PowerShell sich nicht automatisch über einen Proxyserver. Stellen Sie sicher, dass Sie Ihre PowerShell-Sitzung zur Verwendung des Proxyservers konfiguriert haben, gemäß den bewährten Methoden von Microsoft und Ihres Proxyanbieters.

Wenn beim Ausführen der PowerShell-Skripts Fehler aufgrund einer fehlenden oder alten Version von PowerShellGet auftreten, müssen Sie die neueste Version wie folgt installieren:

Install-Module -Name PowerShellGet -Force -Scope CurrentUser -AllowClobber
<!--NeedCopy-->

Installieren von Bibliotheken und Modulen

Image Portability Service nutzt Bibliotheken aus der Microsoft PowerShell Gallery, um Portabilitätsvorgänge durchzuführen.

Wichtig:

Verwenden Sie nach der Erstinstallation Update-Module, um neue Versionen zu installieren.

  1. Führen Sie den folgenden PowerShell-Befehl aus, um die neuesten Module herunterzuladen:

    Install-Module -Name "Citrix.Workloads.Portability","Citrix.Image.Uploader" -Scope CurrentUser
    <!--NeedCopy-->
    
    • Zum Ändern der Umgebungsvariable PATH:

      Drücken Sie Y und dann zum Akzeptieren die Eingabetaste.

    • Zum Installieren des NuGet-Anbieters:

      Drücken Sie Y und dann zum Akzeptieren die Eingabetaste.

    • Beim Verweis auf ein nicht vertrauenswürdiges Repository:

      Drücken Sie A (Ja für alle) und dann zum Fortfahren die Eingabetaste.

  2. Führen Sie folgenden Befehl aus, um sicherzustellen, dass alle erforderlichen Module heruntergeladen wurden:

    Get-InstalledModule -Name Citrix.*
    <!--NeedCopy-->
    

    Dieser Befehl gibt eine Ausgabe zurück, die der folgenden ähnelt:

    Name Repository Beschreibung
    Citrix.Image.Uploader PSGallery Befehle zum Hochladen einer VHD(x) in ein Azure-Speicherkonto, AWS oder GCP und Abrufen von Informationen über eine VHD(x)
    Citrix.Workloads.Portability PSGallery Eigenständiges Cmdlet für den Image-Auftrag von Citrix Image Portability Service

Aktualisieren von Modulen auf die neueste Version

Führen Sie den folgenden Befehl aus, um das Skript auf die neueste Version zu aktualisieren:

Update-Module -Name "Citrix.Workloads.Portability","Citrix.Image.Uploader" -Force
<!--NeedCopy-->

Installieren des Citrix Virtual Apps and Desktops Remote PowerShell SDK

Image Portability Service benötigt das Remote PowerShell SDK von Citrix Virtual Apps and Desktops, um Portabilitätsaufträge in Citrix Cloud zu erstellen und zu verwalten.

Laden Sie das Remote PowerShell SDK herunter und installieren Sie es auf Ihrer Maschine.

Installieren der plattformspezifischen Komponenten von Drittanbietern

Das Image Portability Service PowerShell-Modul installiert keine Abhängigkeiten von Drittanbietern. Daher können Sie die Installation auf die gewünschten Plattformen beschränken. Wenn Sie eine der folgenden Plattformen verwenden, befolgen Sie die entsprechenden Anweisungen für die Installation von Plattformabhängigkeiten:

VMware

Wenn Sie Image Portability-Aufträge erstellen, die mit Ihrer VMware-Umgebung kommunizieren, führen Sie den folgenden Befehl aus, um die erforderlichen VMware PowerShell-Module zu installieren.

Install-Module -Name VMWare.PowerCLI -Scope CurrentUser -AllowClobber -Force -SkipPublisherCheck
<!--NeedCopy-->
Amazon Web Services

Wenn Sie Image Portibility-Aufträge in AWS erstellen, laden Sie die AWS-Befehlszeilenschnittstelle herunter und installieren Sie sie. Führen Sie dann die folgenden Befehle aus, um die erforderlichen AWS PowerShell-Module zu installieren:

Install-Module -Name AWS.Tools.Installer
Install-AWSToolsModule AWS.Tools.EC2,AWS.Tools.S3
<!--NeedCopy-->
Azure

Wenn Sie Image Portability-Aufträge in Azure erstellen, laden Sie die Azure-Befehlszeilenprogramme herunter und installieren Sie sie. Führen Sie die Befehle dann aus, um die erforderlichen Azure PowerShell-Module zu installieren:

Install-Module -Name Az.Accounts -Scope CurrentUser -AllowClobber -Force
Install-Module -Name Az.Compute -Scope CurrentUser -AllowClobber -Force
<!--NeedCopy-->
Google Cloud

Wenn Sie Image Portibility-Aufträge in Google Cloud erstellen, laden Sie das Google Cloud SDK herunter und installieren Sie es auf Ihrer Maschine.

Deinstallation von Skripts und Modulen

Führen Sie die folgenden Befehle aus, um die von der Image Portability-Software verwendeten Module zu deinstallieren.

Hinweis:

Skripts und Komponenten von Drittanbietern werden bei der Deinstallation von IPS-Modulen nicht automatisch entfernt.

Zum Deinstallieren von Modulen:

Get-InstalledModule -Name "Citrix.Workloads.Portability","Citrix.Images.Uploader" | Uninstall-Module
<!--NeedCopy-->

Hinzufügen von Anmeldeinformationen zur Credential Wallet

Für vollständig automatisierte Szenarios können Sie in Image Portability Service eine interaktionsfreie Authentifizierung bei in Citrix Cloud, Ihrer öffentlichen Cloud und on-premises bereitgestellten Ressourcen konfigurieren. Image Portability Service verwendet zudem die in der Citrix Credential Wallet gespeicherten Anmeldeinformationen, sobald unsere APIs sich direkt bei Ihren on-premises oder in der öffentlichen Cloud bereitgestellten Ressourcen authentifizieren. Das Einrichten von Anmeldeinformationen, wie in diesem Abschnitt beschrieben, ist für das Ausführen von Export-, Vorbereitungs- und Veröffentlichungsaufträgen erforderlich.

Bei der Auftragsausführung benötigt Image Portability Service Zugriff auf Ressourcen, die Sie steuern können. Damit beispielsweise ein Datenträger von einem vSphere-Server in eine SMB-Freigabe exportiert werden kann, benötigt Image Portability Service die Anmeldeinformationen für beide Systeme. Zur Sicherung dieser Kontoinformationen verwendet Image Portability Service den Citrix Credential Wallet-Dienst. Dieser Dienst speichert Ihre Anmeldeinformationen mit einem benutzerdefinierten Namen in der Wallet. Wenn Sie dann einen Auftrag ausführen möchten, geben Sie den Namen der gewünschten Anmeldeinformationen an. Diese Anmeldeinformationen können jederzeit aktualisiert oder aus der Wallet gelöscht werden.

Anmeldeinformationen werden häufig für diese Plattformen gespeichert:

  • Microsoft Azure
  • AWS
  • Google Cloud
  • SMB-Freigabe
  • VMware vSphere
  • Nutanix AHV
  • XenServer

Informationen zum Verwalten von Anmeldeinformationen finden Sie im Entwickler-API-Portal im Abschnitt zu Image Portability Service-APIs und unter “Credentials Management”.

Verwendung von Image Portability Service

Um Images in On-Premises-Ressourcenstandorten für Ihre abonnierte öffentliche Cloud vorzubereiten, müssen Sie Image Portability-Aufträge in Citrix Cloud erstellen. Sie können einen Auftrag für direkte API-Aufrufe an den Dienst in Ihrem Skript oder Programm erstellen oder die PowerShell-Beispielmodule verwenden, die wir zur Automatisierung von API-Aufrufen entwickelt haben. Informationen zum Erstellen von IPS-Aufträgen über REST-APIs und PowerShell-Module finden Sie unter Image Portability Service Developer API Portal.

Maschinenkataloge mit Citrix Provisioning veröffentlichen

Der Image Portability Service (IPS) wird mit Machine Creation Services (MCS) in Azure, AWS, Google Cloud, Nutanix, vSphere und XenServer oder mit Citrix Provisioning (PVS) in Azure, Google Cloud, vSphere und XenServer verwendet. Sie können die hier beschriebenen PowerShell- und REST-Lösungen mit den Tools oder APIs Ihrer Plattform oder den Citrix DaaS-SDKs kombinieren, um einen nahtlosen und automatisierten Komplettworkflow für die Erstellung eines Maschinenkatalogs auf der Grundlage des vorbereiteten Images zu erstellen. Abhängig von der von Ihnen gewählten Cloudplattform können Zwischenschritte zwischen der IPS-Vorbereitung und der Erstellung eines Katalogs oder einer Zuordnung zu einem PVS-Ziel erforderlich sein.

AWS

IPS-Vorbereitungsaufträge in AWS produzieren ein Volume. Maschinenerstellungsdienste benötigen bei der Katalogerstellung ein Amazon Machine Image (AMI). Um ein AMI aus Ihrem migrierten Image zu generieren, müssen Sie zunächst einen Image-Snapshot aus dem generierten Volume erstellen und dann ein AMI auf der Grundlage dieses Snapshots. Hierfür können Sie die AWS-Befehlszeilenschnittstelle (CLI) verwenden:

> aws ec2 create-snapshot --volume-id <VolumeId>
> aws ec2 register-image --name <AmiName> --architecture 'x86_64' --root-device-name '/dev/sda1 --boot-mode uefi --ena-support --virtualization-type 'hvm' --block-device-mappings 'DeviceName=/dev/sda1,Ebs={SnapshotId=<SnapshotID>}'
<!--NeedCopy-->

<VolumeId> ist die Ausgabe des IPS-Vorbereitungsauftrags. Das resultierende AMI kann als MCS-Masterimage verwendet werden.

Ein PowerShell-Skriptmuster zur Automatisierung dieses Teils des Workflows ist im Modul Citrix.Workloads.Portability unter dem Namen New-IpsAwsImage.ps1 enthalten.

Azure

In Azure erstellt IPS verwaltete Datenträger, die direkt als MCS-Masterimage verwendet werden können. Um das resultierende Image PVS-Zielen zuzuweisen, bietet IPS einen “Veröffentlichen”-Vorgang, mit dem der verwaltete Datenträger in eine VHD(x)-Datei im PVS-Speicher kopiert wird.

Google Cloud

IPS-Vorbereitungsaufträge in Google Cloud produzieren einen Datenträger. MCS erfordert eine Google Cloud-Instanzvorlage. Der Prozess zum Erstellen einer MCS-Instanzvorlage aus einem Datenträger wird unter Vorbereiten einer Master-VM-Instanz und eines nichtflüchtigen Speichers ausführlich beschrieben.

Für PVS-Ziele in Google Cloud bietet IPS einen “Veröffentlichen”-Vorgang, mit dem der Datenträger in eine VHD(x)-Datei im PVS-Speicher kopiert wird.

Automatisieren der VDA-Konfiguration

Wenn Sie ein on-premises erstelltes und von Citrix verwaltetes Image vorbereiten, können Sie den VDA im Image neu konfigurieren, um ihn an die Zielumgebung anzupassen, für die das Image vorbereitet wird. Image Portability Service kann Änderungen der VDA-Konfiguration während der Vorbereitungsphase des Workflows sofort übernehmen. Die folgenden Konfigurationsparameter definieren, wie der VDA im migrierten Image arbeitet: InstallMisa, XdReconfigure und InstallMcsio. In den PowerShell-Beispielen für Image Portability Service finden Sie Informationen zur Definition dieser Parameter beim Erstellen von IPS-Jobs.

Konfigurationen

  • Wenn Sie InstallMisa auf true setzen, kann der Image Portability Service fehlende VDA-Komponenten installieren, die für das Provisioning des Images mit MCS erforderlich sind.

  • Bei Auswahl von true für InstallMisa oder true für InstallMcsio muss CloudProvisioningType auf Mcs gesetzt werden.

  • Wählen Sie für InstallPvs die Version des PVS-Servers, auf dem das Image bereitgestellt wird. Wenn InstallPvs festgelegt ist, installiert Image Portability Service (IPS) bei Vorbereitungsaufträgen automatisch die angegebene Version der PVS-Zielgerätesoftware im Image. IPS unterstützt die zwei neuesten Builds (Basisversion oder kumulative Updates (CUs)) für die letzten zwei Versionen von Long-Term Service Release (LTSR) und Aktuelles Release (CR).

Beachten Sie Folgendes für InstallMisa und InstallMcsio:

  • Diese Funktionen werden nur für aktuelle LTSR- und CR-Versionen des VDA unterstützt.

  • Wenn die erforderlichen Komponenten für den installierten VDA bereits vorhanden sind, werden keine Änderungen vorgenommen, selbst wenn die Parameter konfiguriert sind.

  • Bei unterstützten VDA-Versionen installiert Image Portability die entsprechende Version der erforderlichen Komponenten, selbst wenn die notwendigen VDA-Komponenten nicht vorhanden sind.

  • Bei nicht unterstützten VDA-Versionen schlägt die Neukonfiguration fehl und es wird eine Meldung protokolliert, falls die notwendigen VDA-Komponenten nicht vorhanden sind. Der Vorbereitungsauftrag wird abgeschlossen, auch wenn die Neukonfiguration des VDAs nicht erfolgt ist.

XdReconfigure erfordert einen der folgenden Werte: controllers oder site_guid. Hier sind Beispiele für Konfigurationsparameter, die die einzelnen Werte verwenden:

Mit controllers:

XdReconfigure = @(
    [pscustomobject]@{
        ParameterName = 'controllers'
        ParameterValue = 'comma-separated-list-of-your-cloud-connectors-fqdns'
    }
)
<!--NeedCopy-->

ParameterValue ist hierbei die Liste der FQDNs der neuen DDCs, auf die der VDA zeigen soll. Es können mehrere DDCs im kommagetrennten Format angegeben werden.

Mit site_guid:

XdReconfigure = @(
    [pscustomobject]@{
        ParameterName = 'site_guid'
        ParameterValue = 'active-directory-site-guid'
    }
)
<!--NeedCopy-->

XdReconfigure akzeptiert auch Werte, die unterstützt werden, wenn das Programm zur VDA-Installation über die Befehlszeile mit dem Switch /reconfigure ausgeführt wird, z. B. XenDesktopVdaSetup.exe /reconfigure. Mögliche Werte sind zum Beispiel wem_agent_port, wem_cached_data_sync_port, wem_cloud_connectors oder wem_server. Eine vollständige Liste der Befehlszeilenoptionen für die VDA-Neukonfiguration finden Sie in der Dokumentation zum Citrix DaaS-VDA.

Wenn InstallMcsio auf true konfiguriert ist, wird MCSIO automatisch auf dem Image installiert. Um die automatische MCSIO-Installation auf dem Image zu deaktivieren, konfigurieren Sie InstallMcsio auf false.

Hinweis:

Sie können bei der Ausführung Ihrer Befehle -DryRun verwenden, um Ihre Konfiguration und die Netzwerkeinstellungen der Connector Appliance zu überprüfen.

Referenz

In diesem Abschnitt finden Sie ausführliche technische Referenzinformationen, angepasst an Ihre Bedürfnisse.

Erforderliche Berechtigungen für Image Portability Service

Dieser Abschnitt erläutert die Berechtigungen, die von Image Portability Service auf den unterstützten On-Premises- und Cloud-Plattformen benötigt werden.

Erforderliche Connector Appliance-Berechtigungen

Die Connector Appliance benötigt Zugriff auf die folgenden URLs, um Images im Image Portability Service vorzubereiten:

api-ap-s.cloud.com
api-eu.cloud.com
api-us.cloud.com
credentialwallet.citrixworkspaceapi.net
graph.microsoft.com
login.microsoftonline.com
management.azure.com
*.blob.storage.azure.net
<!--NeedCopy-->

Erforderliche VMware vCenter-Berechtigungen

Die folgenden vCenter-Berechtigungen sind erforderlich, um den IPS-Auftrag zum Datenträgerexport in einer VMware-Umgebung auszuführen. Sie finden diese Berechtigungen unter Rollen im Abschnitt Zugriffssteuerung des vCenter-Verwaltungsbereichs.

-  Cryptographic operations
    -  Direct Access

-  Datastore
    -  Allocate space
    -  Browse datastore
    -  Low level file operations
    -  Remove file

-  Folder
    -  Create folder
    -  Delete folder

-  Network
    -  Assign network

-  Resource
    -  Assign virtual machine to resource pool

-  Virtual machine
    -  Change Configuration
        -  Add existing disk
        -  Add new disk
        -  Remove disk

    -  Edit Inventory
        -  Create from existing
        -  Create new
        -  Remove

    -  Interaction
        -  Power off
        -  Power on
<!--NeedCopy-->

Erforderliche Microsoft Azure-Berechtigungen

Zum Verwenden von Image Portability muss Ihr Azure-Dienstkonto über folgende Berechtigungen verfügen.

Wenn die Ressourcengruppe angegeben ist, die für die Compositing Engine verwendet werden soll (in der Eigenschaft resourceGroup in einer REST-Anforderung oder im Parameter -AzureVmResourceGroup, wenn die PowerShell-Befehle für Citrix.Workloads.Portability verwendet werden), sind die folgenden Berechtigungen im Geltungsbereich der Ressourcengruppe erforderlich.

Microsoft.Compute/disks/beginGetAccess/action
Microsoft.Compute/disks/endGetAccess/action
Microsoft.Compute/disks/delete
Microsoft.Compute/disks/read
Microsoft.Compute/disks/write
Microsoft.Compute/virtualMachines/delete
Microsoft.Compute/virtualMachines/powerOff/action
Microsoft.Compute/virtualMachines/read
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.Resources/deployments/operationStatuses/read
Microsoft.Resources/deployments/read
Microsoft.Resources/deployments/write
Microsoft.Resources/subscriptions/resourcegroups/read
<!--NeedCopy-->

Wenn die Ressourcengruppe, die für die Compositing Engine verwendet werden soll, nicht angegeben ist, sind die folgenden Berechtigungen im Geltungsbereich des Abonnements erforderlich.

Microsoft.Compute/disks/beginGetAccess/action
Microsoft.Compute/disks/endGetAccess/action
Microsoft.Compute/disks/read
Microsoft.Compute/disks/write
Microsoft.Compute/virtualMachines/powerOff/action
Microsoft.Compute/virtualMachines/read
Microsoft.Compute/virtualMachines/write
Microsoft.Network/networkInterfaces/join/action
Microsoft.Network/networkInterfaces/read
Microsoft.Network/networkInterfaces/write
Microsoft.Network/networkSecurityGroups/join/action
Microsoft.Network/networkSecurityGroups/read
Microsoft.Network/networkSecurityGroups/write
Microsoft.Resources/deployments/operationStatuses/read
Microsoft.Resources/deployments/read
Microsoft.Resources/deployments/write
Microsoft.Resources/subscriptions/resourceGroups/delete
Microsoft.Resources/subscriptions/resourceGroups/write
Microsoft.Authorization/roleAssignments/read
Microsoft.Authorization/roleDefinitions/read
<!--NeedCopy-->

Die folgenden Berechtigungen sind im Geltungsbereich der angegebenen Zielressourcengruppe erforderlich (d. h. der Ressourcengruppe, die in der Eigenschaft targetDiskResourceGroupName in einer REST-Anforderung angegeben ist oder im Parameter -TargetResourceGroup, wenn die PowerShell verwendet wird).

Microsoft.Compute/disks/beginGetAccess/action
Microsoft.Compute/disks/delete
Microsoft.Compute/disks/read
Microsoft.Compute/disks/write
Microsoft.Compute/snapshots/delete
Microsoft.Compute/snapshots/read
Microsoft.Compute/snapshots/write
<!--NeedCopy-->

Die folgenden Berechtigungen sind im Geltungsbereich der angegebenen Ressourcengruppe für das virtuelle Netzwerk erforderlich (d. h. der Ressourcengruppe, die in der Eigenschaft virtualNetworkResourceGroupName in einer REST-Anforderung angegeben ist oder im Parameter -AzureVirtualNetworkResourceGroupName, wenn die PowerShell verwendet wird).

Microsoft.Network/virtualNetworks/read
Microsoft.Network/virtualNetworks/subnets/join/action
<!--NeedCopy-->

Wichtig:

Die Option ceVmSku für die Aufträge “prepare” und “prepareAndPublish” steuert den Typ der Azure-VM, für die der erzeugte verwaltete Datenträger geeignet ist. Sie müssen eine ceVmSku mit der Familie und der Version auswählen die mit denen der VMs, die Sie aus dem Ausgabeimage bereitstellen möchten, identisch sind. Der Standardwert Standard_D2S_v3 eignet sich für die Ausführung auf allen Maschinen der v3 D-Familie. Die Angabe von Maschinen-SKUs, die keinen temporären Datenträger enthalten, wird nicht unterstützt.

Erforderliche Google Cloud-Berechtigungen

Zum Verwenden von Image Portability muss Ihr Google Cloud-Dienstkonto über folgende Berechtigungen verfügen:

cloudbuild.builds.create
cloudbuild.builds.get
cloudbuild.builds.list
compute.disks.create
compute.disks.delete
compute.disks.get
compute.disks.list
compute.disks.setLabels
compute.disks.use
compute.globalOperations.get
compute.images.create
compute.images.delete
compute.images.get
compute.images.list
compute.images.setLabels
compute.images.useReadOnly
compute.instances.create
compute.instances.delete
compute.instances.get
compute.instances.setLabels
compute.instances.setMetadata
compute.instances.setServiceAccount
compute.instances.setTags
compute.instances.stop
compute.instances.updateDisplayDevice
compute.networks.get
compute.subnetworks.use
compute.subnetworks.useExternalIp
compute.zoneOperations.get
compute.zones.list
iam.serviceAccounts.actAs
iam.serviceAccounts.get
iam.serviceAccounts.list
resourcemanager.projects.get
storage.buckets.create
storage.buckets.delete
storage.buckets.get
storage.objects.create
storage.objects.delete
storage.objects.get
storage.objects.list
<!--NeedCopy-->

Erforderliche Berechtigungen für AWS

Image Portibility erfordert, dass Sie ein JSON-Richtliniendokument mit der folgenden Konfiguration an den Identitäts- und Zugriffsverwaltungsbenutzer (IAM) anhängen:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": [
                "ebs:StartSnapshot",
                "ebs:PutSnapshotBlock",
                "ebs:CompleteSnapshot",
                "ec2:CreateTags",
                "ec2:CreateImage",
                "ec2:DeleteSnapshot",
                "ec2:DeleteVolume",
                "ec2:DeregisterImage",
                "ec2:DescribeImages",
                "ec2:DescribeInstances",
                "ec2:DescribeRegions",
                "ec2:DescribeSecurityGroups",
                "ec2:DescribeSnapshots",
                "ec2:DescribeSubnets",
                "ec2:RebootInstances",
                "ec2:RegisterImage",
                "ec2:RunInstances",
                "ec2:TerminateInstances",
            ],
            "Effect": "Allow",
            "Resource": "*"
        }
    ]
}
<!--NeedCopy-->

Hinweis:

Reduzieren Sie den Umfang der Ressource nach Bedarf weiter.

Für Nutanix AHV benötigte Genehmigungen

Für Image Portability müssen Sie in Ihrer Nutanix AHV-Konfiguration Cluster-Administrator sein.

Erforderliche Berechtigungen für XenServer

Für Image Portability benötigen Sie mindestens die Rolle “VM-Administrator” für den Pool, in dem sich der XenServer-Host befindet.

Netzwerke

Image Portability Service (IPS) erstellt eine Worker-VM (“Compositing Engine”, CE), um Image-Operationen durchzuführen. Alle Connector Appliances am zugewiesenen Ressourcenstandort müssen in der Lage sein, über HTTPS mit der Compositing Engine zu kommunizieren. Die gesamte Kommunikation zwischen einer Connector Appliance (CA) und der Compositing Engine wird von der Connector Appliance initiiert. Die einzige Ausnahme bildet vSphere, wo eine bidirektionale HTTPS-Kommunikation zwischen Compositing Engine und Connector Appliance besteht.

In Cloud-Umgebungen (Azure, AWS, Google Cloud) wird die Compositing Engine mit einer privaten IP-Adresse erstellt. Die CE muss daher in demselben virtuellen Netzwerk wie die Connector Appliance sein oder in einem virtuellen Netzwerk, das von der Connector Appliance aus erreichbar ist.

Darüber hinaus muss sich die Compositing Engine bei Aufträgen, die Dateien auf einer SMB-Freigabe enthalten (z. B. Exportaufträge), in einem Netzwerk mit Konnektivität zur SMB-Freigabe befinden.

Einzelheiten zum Festlegen des Netzwerks, das für die Compositing Engine auf jeder unterstützten Plattform zu verwenden ist, finden Sie in der Dokumentation zur Image Portability Service API.

Bei “prepare”-Aufträgen wird das im Image enthaltene Betriebssystem gestartet (auf der CE), um die Spezialisierung und andere Aufgaben auszuführen. Enthält das Image Verwaltungs- oder Sicherheitsagents, die einen Steuerserver anrufen, können diese Prozesse den Vorbereitungsprozess stören.

Wenn die Option zur Trennung von der Domäne angegeben wird, kann sich die Netzwerkverbindung auf die Ergebnisse auswirken. Kann die Compositing Engine-VM den Active Directory-Domänencontroller über das Netzwerk erreichen kann, entfernt die Option das Computerkonto aus der Domäne. Dadurch wird die Domänenmitgliedschaft der Quell-VM beendet, aus der das Image extrahiert wurde.

Daher empfehlen wir, das Netzwerk für den Betrieb von anderen Netzwerkressourcen zu isolieren. Dies kann durch Subnetzisolierung oder Firewallregeln umgesetzt werden. Weitere Informationen finden Sie unter Netzwerkisolation.

In einigen on-premises bereitgestellten Hypervisorumgebungen kann der Hypervisor mit einem TLS-Serverzertifikat konfiguriert sein, das von den vertrauenswürdigen Stammzertifizierungsstellen der Connector Appliance (CA) als nicht vertrauenswürdig eingestuft wird oder nicht mit dem Hostnamen des Servers übereinstimmt. In diesen Situationen bietet IPS Eigenschaften für Auftragsanforderungen, mit denen das Problem umgangen werden kann. Einzelheiten finden Sie unter TLS-Zertifikate.

Netzwerkproxys

Wenn der Netzwerkverkehr zwischen der ZS und dem Internet einen Proxy durchläuft, der eine TLS-Introspektion durchführt, kann es erforderlich sein, die Stammzertifizierungsstelle des Proxys (d. h. das Zertifikat, das der Proxy zum Signieren der von ihm generierten TLS-Zertifikate verwendet) zu den Stammzertifizierungsstellen der ZS hinzuzufügen. Weitere Informationen finden Sie unter Connector Appliance bei Citrix Cloud registrieren.

Netzwerkisolation
  • Azure

    In Azure wird die CE standardmäßig mit einer Netzwerksicherheitsgruppe (NSG) erstellt, die an die Netzwerkkarte angehängt ist, sofern der verwendete Azure-Dienstprinzipal über die erforderlichen Azure-Berechtigungen 1 verfügt.

    • Microsoft.Network/networkSecurityGroups/join/action
    • Microsoft.Network/networkSecurityGroups/read
    • Microsoft.Network/networkSecurityGroups/write

      Andernfalls gelten die folgenden Berechtigungen im Geltungsbereich des Abonnements, wenn keine explizite Ressourcengruppe verwendet wird:

      • Microsoft.Network/networkSecurityGroups/delete
      • Microsoft.Network/networkSecurityGroups/join/action
      • Microsoft.Network/networkSecurityGroups/read
      • Microsoft.Network/networkSecurityGroups/write

    Diese NSG ist so konfiguriert, dass sie den gesamten Ein-/Ausgangsverkehr der CE blockiert, mit Ausnahme von:

    • SMB (Port 445) ausgehend
    • HTTPS (Port 443) eingehend
    • für interne Azure-Dienste erforderlicher Datenverkehr

    Die Verwendung der NSG kann erzwungen werden, indem die Eigenschaft networkIsolation in der Auftragsanforderung auf true gesetzt wird. In diesem Fall schlägt der Auftrag fehl, wenn der für den Vorgang verwendete Dienstprinzipal nicht über die erforderlichen Berechtigungen verfügt. Die Verwendung der NSG kann deaktiviert werden, indem die Eigenschaft networkIsolation auf false gesetzt wird.

  • AWS

Um in AWS eine Netzwerkisolation der CE zu erreichen, können Sie eine oder mehrere Netzwerksicherheitsgruppen erstellen, die jeden unerwünschten Datenverkehr blockieren. Die Sicherheitsgruppen weisen Sie dann in der Auftragsanforderung der CE-Instanz zu, unter Verwendung des Anforderungsparameters SecurityGroupIDs, der eine Liste von Sicherheitsgruppen-IDs als Wert akzeptiert.

  • Google Cloud

Um in Google Cloud eine Netzwerkisolation der CE zu erreichen, können Sie Firewallregeln erstellen, die jeden unerwünschten Datenverkehr blockieren, und die Regeln über Netzwerktags auf die CE anwenden. IPS erstellt dann die CE mit dem Netzwerktag compositing-engine und Sie können weitere Netzwerktags mit dem Auftragsanforderungsparameter networkTags zuweisen, der eine Liste von Tags als Wert akzeptiert.

TLS-Zertifikate

Wenn das Serverzertifikat des Hypervisors von einer für die ZS nicht vertrauenswürdigen Authority signiert ist, gibt es zwei Möglichkeiten, das Problem zu beheben.

  1. Geben Sie in der Auftragsanforderung ein zusätzliches Zertifikat der Stammzertifizierungsstelle an, das bei der Zertifikatsprüfung zu verwenden ist. Dieses Zertifikat muss zur Stammzertifizierungsstelle gehören, die zum Signieren des Serverzertifikats des Hypervisors verwendet wird.
  2. Geben Sie in der Auftragsanforderung den SHA-1-Fingerabdruck des Serverzertifikats des Hypervisors an. In diesem Fall wird bei der Zertifikatsprüfung überprüft, ob der SHA-1-Fingerabdruck des vom Hypervisor zurückgegebenen Zertifikats mit dem Zertifikat in der Auftragsanforderung übereinstimmt. Diese Methode funktioniert möglicherweise nicht, wenn zwischen der CE und dem Hypervisor ein TLS-Abfangproxy installiert ist.

Die Auftragsanforderungsparameter für die obigen Verfahren sind wie folgt (angegeben pro Plattform):

  • vSphere
    1. vCenterSslCaCertificate
    2. vCenterSslFingerprint
  • Nutanix
    1. prismSslCaCertificate
    2. prismSslFingerprint
  • XenServer
    1. xenSslCaCertificate
    2. xenSslFingerprint

Weitere Informationen finden Sie in der Image Portability Service API-Dokumentation.

Fehler bei der Zertifikatsprüfung können auch auftreten, wenn der Hostname des Hypervisorservers und der Hostname im Zertifikat nicht übereinstimmen. In diesem Fall kann der Hostnamenabgleich deaktiviert werden, indem der folgende Parameter in der Auftragsanforderung auf true gesetzt wird:

  • vSphere
    • vCenterSslNoCheckHostname
  • Nutanix
    • prismSslNoCheckHostname
  • XenServer
    • xenSslNoCheckHostname

Zugehörige Dokumentation

  1. If Eine explizite Ressourcengruppe wird für den Vorgang verwendet, dann die folgenden Berechtigungen im Geltungsbereich der Ressourcengruppe: 

Migration von Workloads zwischen Ressourcenstandorten mit Image Portability Service