Citrix DaaS

Esegue la migrazione dei carichi di lavoro da una posizione risorsa a un’altra utilizzando Image Portability Service

Image Portability Service semplifica la gestione delle immagini su più piattaforme. Le API REST di Citrix Virtual Apps and Desktops possono essere utilizzate per automatizzare l’amministrazione delle risorse all’interno di un sito Citrix Virtual Apps and Desktops.

Il flusso di lavoro di Image Portability inizia quando si utilizza Citrix Cloud per avviare la migrazione di un’immagine dalla posizione locale alla sottoscrizione nel cloud pubblico. Dopo aver preparato l’immagine, Image Portability Service aiuta a trasferire l’immagine nella sottoscrizione nel cloud pubblico e a prepararla per l’esecuzione. Infine, Citrix Provisioning o Machine Creation Services esegue il provisioning dell’immagine nella sottoscrizione nel cloud pubblico.

Componenti

I componenti di Image Portability Service includono:

  • Servizi Citrix Cloud
  • Citrix Credential Wallet
  • Citrix Connector Appliance
  • VM di Compositing Engine
  • Script di esempio di PowerShell

Servizi Citrix Cloud

L’API Citrix Cloud Services è un servizio API REST che interagisce con Image Portability Service. Utilizzando il servizio REST API, è possibile creare e monitorare i processi di Image Portability. Ad esempio, si effettua una chiamata API per avviare un processo di Image Portability, ad esempio per esportare un disco, e quindi per effettuare chiamate per ottenere lo stato del processo.

Citrix Credentials Wallet

Il servizio Citrix Credentials Wallet gestisce in modo sicuro le credenziali di sistema, consentendo a Image Portability Service di interagire con le risorse. Ad esempio, quando si esporta un disco da vSphere a una condivisione SMB, Image Portability Service richiede le credenziali per aprire una connessione alla condivisione SMB per scrivere il disco. Se le credenziali sono memorizzate nel Credential Wallet, Image Portability Service può recuperare e utilizzare tali credenziali.

Questo servizio dà la possibilità di gestire completamente le proprie credenziali. L’API dei servizi cloud funge da punto di accesso, offrendo la possibilità di creare, aggiornare ed eliminare le credenziali.

Compositing Engine

Il Compositing Engine esegue la maggior parte del lavoro in Image Portability Service. Il Compositing Engine (CE) è una singola macchina virtuale creata all’inizio di un processo di esportazione o preparazione di Image Portability. Queste VM vengono create nello stesso ambiente in cui si svolge il lavoro. Ad esempio, quando si esporta un disco da vSphere, il CE viene creato sul server vSphere. Allo stesso modo, quando si esegue un processo di preparazione in Azure, AWS o Google Cloud, il CE viene creato rispettivamente in Azure, AWS o Google. Il CE monta il disco su se stesso e quindi esegue le necessarie manipolazioni del disco. Al termine del processo di preparazione o esportazione, la macchina virtuale CE e tutti i suoi componenti vengono eliminati.

Connector Appliance

Il Connector Appliance, su cui è in esecuzione il software del provider per gestire le risorse IPS, viene eseguito nel tuo ambiente (sia in locale che nella sottoscrizione di Azure, AWS o Google Cloud) e funge da controller per i singoli processi. Riceve le istruzioni di processo dal servizio cloud e crea e gestisce le VM di Compositing Engine. La macchina virtuale Connector Appliance funge da unico punto di comunicazione sicuro tra i servizi cloud e gli ambienti. Distribuire uno o più Connector Appliance in ciascuna delle proprie posizioni di risorse (locale, Azure, AWS o Google Cloud). Un Connector Appliance viene distribuito in ogni posizione di risorse per motivi di sicurezza. Collocando Connector Appliance e Compositing Engine, il livello di sicurezza dell’implementazione aumenta notevolmente, poiché tutti i componenti e le comunicazioni vengono mantenuti all’interno della propria posizione delle risorse.

Moduli PowerShell

Forniamo una raccolta di moduli PowerShell da utilizzare all’interno degli script come punto di partenza per sviluppare la propria automazione personalizzata. I moduli forniti sono supportati così come sono, ma è possibile modificarli se ciò è necessario per la distribuzione.

L’automazione di PowerShell utilizza i parametri di configurazione forniti per comporre una chiamata REST al servizio API Citrix Cloud per avviare il processo e quindi fornire aggiornamenti periodici man mano che il processo procede.

Se si desidera sviluppare la propria soluzione di automazione, è possibile effettuare chiamate al servizio cloud direttamente utilizzando il linguaggio di programmazione preferito. Consultare il portale API per informazioni dettagliate sulla configurazione e l’utilizzo degli endpoint REST e dei moduli PowerShell di Image Portability Service.

Flussi di lavoro

Image Portability Service utilizza un flusso di lavoro in più fasi per preparare un’immagine del catalogo principale da una posizione di risorse locale per la sottoscrizione al cloud pubblico. Il servizio esporta l’immagine dalla piattaforma hypervisor locale perché la si possa caricare nella propria sottoscrizione al cloud pubblico (la nostra utility di caricamento PowerShell fornita può aiutare ad automatizzare questa operazione). Quindi, Image Portability prepara l’immagine per renderla compatibile con la piattaforma cloud pubblica in uso. Infine, l’immagine è pubblicata e pronta per essere distribuita come nuovo catalogo di macchine all’interno della posizione delle risorse cloud.

Flusso di lavoro di Image Portability

Questi flussi di lavoro di alto livello si basano sulla configurazione di provisioning di origine e destinazione dell’immagine (Machine Creation o Citrix Provisioning). Il flusso di lavoro scelto determina quali passaggi del processo di Image Portability sono necessari.

Fare riferimento alla tabella seguente per comprendere quali processi sono necessari per ciascuno dei flussi di lavoro IPS supportati.

Flusso di lavoro (da origine a destinazione) Esportazione Caricamento Preparazione Pubblicazione
Da MCS a MCS Y Y Y N
Da PVS a MCS* N Y Y N
Da PVS a PVS su Azure/Google Cloud* N Y Y Y
Da MCS a PVS su Azure/Google Cloud Y Y Y Y

*Si suppone che si disponga dell’immagine originale come Citrix Provisioning vDisk e che non sia necessario esportarla direttamente dall’hypervisor della piattaforma di origine.

Requisiti

Per iniziare a utilizzare Image Portability, è necessario soddisfare i seguenti requisiti.

Un’immagine del catalogo macchine Citrix

IPS richiede l’utilizzo di immagini con una delle seguenti configurazioni testate:

  • Windows Server 2016, 2019 e 2022H2

  • Windows 10 o 11

  • Provisioning tramite Machine Creation Services o Citrix Provisioning

  • VDA Citrix Virtual Apps and Desktops versione 1912CU6, 1912CU7, 2203CU1, 2203CU2, 2212, 2303 o 2305

  • Servizi Desktop remoto abilitati per l’accesso alla console in Azure

Il servizio di portabilità delle immagini supporta i seguenti hypervisor e piattaforme cloud:

Piattaforme di origine:

  • VMware vSphere 7.0 e 8.0

  • Citrix Hypervisor/XenServer 8.2

  • Nutanix Prism Element 3.x

  • Microsoft Azure

  • Google Cloud Platform

Piattaforme di destinazione:

  • VMware vSphere 8.0

  • Microsoft Azure

  • AWS

  • Google Cloud Platform

Un Citrix Connector Appliance

È necessario che un Citrix Connector Appliance sia installato e configurato in ogni posizione delle risorse in cui si intende utilizzare Image Portability. Ad esempio, se si utilizza la portabilità delle immagini per spostare un’immagine da vSphere ad Azure, AWS e Google Cloud, occorrono almeno quattro Citrix Connector Appliance:

Per istruzioni dettagliate, vedere Distribuire Connector Appliances.

Una condivisione di file SMB (Windows)

È necessaria una condivisione di file SMB di Windows per l’archiviazione temporanea dei dati durante i processi di esportazione ospitati nella posizione delle risorse locale in cui si utilizza Image Portability Service. Assicurarsi che lo spazio libero disponibile sulla condivisione sia almeno il doppio delle dimensioni configurate del file system dell’immagine.

Una macchina per l’esecuzione di script PowerShell

Assicurarsi che la macchina che esegue gli script PowerShell abbia le seguenti caratteristiche:

  • PowerShell versione 5.1.

  • Una connessione di rete veloce alla condivisione di file SMB. Può essere la stessa macchina che ospita la condivisione di file.

  • Una connessione di rete veloce alle piattaforme cloud pubbliche in cui si prevede di utilizzare la funzionalità Image Portability. Ad esempio, Azure, AWS o Google Cloud.

    Vedere la sezione Preparare una macchina per PowerShell per i dettagli di come scaricare e configurare i moduli di Image Portability dalla PowerShell Gallery.

Il proprio ID cliente Citrix Cloud

Assicurarsi di avere una sottoscrizione Citrix DaaSvalida.

Per continuare, è necessario accedere a Citrix DaaS (in precedenza servizio Citrix Virtual Apps and Desktops). Se non si dispone dell’accesso, contattare il rappresentante Citrix.

Per istruzioni su come creare e configurare un client API da utilizzare con la portabilità delle immagini, consultare la documentazione sulla procedura introduttiva dell’API.

Autorizzazioni e configurazione richieste per Azure

Affinché il servizio di portabilità delle immagini esegua azioni nella propria risorsa Azure, è necessario concedere all’entità servizio di Azure utilizzata da Image Portability Service le autorizzazioni per determinate funzionalità di Azure. Per l’elenco dettagliato, vedere Autorizzazioni richieste per Microsoft Azure.

È possibile assegnare il ruolo Contributor all’entità del servizio nella risorsa associata. In alternativa, per assegnare le autorizzazioni minime richieste, è possibile creare ruoli personalizzati con le autorizzazioni richieste e assegnarli all’entità servizio con ambito corrispondente alle risorse appropriate.

Per informazioni sulla configurazione dei ruoli di sicurezza per l’entità servizio di Azure e per la creazione di ruoli personalizzati, vedere la documentazione di Azure.

Autorizzazioni e configurazione richieste da Google Cloud

Affinché il servizio di portabilità delle immagini esegua azioni nel progetto Google Cloud, concedere le autorizzazioni per determinate funzionalità all’entità servizio Google Cloud utilizzato da Image Portability Service.

Per l’elenco dettagliato, vedere Autorizzazioni richieste da Google Cloud.

È possibile assegnare queste autorizzazioni utilizzando i seguenti ruoli:

  • Editor Cloud Build
  • Amministratore Compute
  • Amministratore archiviazione
  • Utente account di servizio

Per ulteriori informazioni sulla configurazione delle autorizzazioni degli account di servizio, vedere ladocumentazione di Google Cloud.

Autorizzazioni e configurazione richieste per Amazon Web Services

Per eseguire i flussi di lavoro del servizio di portabilità delle immagini con un account Amazon Web Services (AWS), la rispettiva identità di Identity and Access Management (IAM) deve disporre delle autorizzazioni corrette.

Per un elenco dettagliato, vedere Autorizzazioni richieste da AWS.

Configurare Image Portability Service

Per configurare Image Portability Service:

Distribuire Connector Appliances

Per la portabilità delle immagini è necessario che i Citrix Connector Appliance creino processi di Image Portability. I Connector Appliance aiutano a proteggere le interazioni con gli ambienti cloud pubblici e locali. I Connector Appliance inviano comunicazioni di ritorno a Image Portability Service per creare report sullo stato del processo e sullo stato generale di integrità del servizio.

Per distribuire e configurare Connector Appliance nel tuo ambiente, seguire la procedura descritta in Connector Appliance per servizi cloud.

Prendere nota della configurazione hardware richiesta e dell’accesso alla porta di rete per l’appliance quando si pianifica la distribuzione.

Quando l’appliance viene distribuita e registrata, i componenti necessari per abilitare Image Portability vengono installati automaticamente.

Preparare una macchina per PowerShell

Per aiutarti a iniziare a utilizzare Image Portability, abbiamo creato moduli PowerShell personalizzabili utilizzabili con il servizio.

Le sezioni seguenti descrivono come preparare una macchina per l’esecuzione degli script PowerShell. Questi script sono solo alcuni esempi. È possibile modificarli o migliorarli in base alle proprie esigenze.

Nota:

Dopo l’installazione iniziale, utilizzare Update-Module per aggiornare il modulo PowerShell.

Requisiti di PowerShell

Per utilizzare gli script PowerShell, è necessario quanto segue:

  • Un computer Windows per eseguire gli script PowerShell che gestiscono i processi di portabilità delle immagini. La macchina:

    • Dispone dell’ultima versione di PowerShell.

    • Dispone di una connessione di rete da 10 Gb/s o superiore alla condivisione di file SMB locale e di una connessione veloce al cloud pubblico (Azure, AWS o Google Cloud, ad esempio).

    • Può essere la stessa macchina che ospita la condivisione di file.

    • È un computer che esegue Windows 10, Windows Server 2019 o Windows Server 2022, con le ultime patch Microsoft.

    • Può connettersi alla Microsoft PowerShell Gallery per scaricare le librerie PowerShell richieste.

A seconda della versione di Windows, potrebbe essere necessario disabilitare il supporto TLS 1.0/1.1. Per ulteriori informazioni, fare riferimento alla documentazione di supporto TLS di Microsoft PowerShell Gallery.

Per impostazione predefinita, PowerShell non esegue automaticamente l’autenticazione tramite un server proxy. Assicurarsi di aver configurato la sessione PowerShell per utilizzare il server proxy come richiesto da Microsoft e dalle best practice del fornitore di proxy.

Se durante l’esecuzione degli script PowerShell vengono visualizzati errori relativi a una versione mancante o precedente di PowerShellGet, è necessario installare la versione più recente come segue:

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

Installare le librerie e i moduli

Image Portability Service attinge alle librerie della Microsoft PowerShell Gallery per gestire le operazioni di portabilità.

Importante:

Dopo l’installazione iniziale, utilizzare Update-Module per installare le nuove versioni.

  1. Eseguire il seguente comando PowerShell per scaricare i moduli più recenti:

    Install-Module -Name "Citrix.Workloads.Portability","Citrix.Image.Uploader" -Scope CurrentUser
    <!--NeedCopy-->
    
    • Per modificare la variabile di ambiente PATH:

      Premere Y e Invio per accettare.

    • Per installare il provider NuGet:

      Premere Y e Invio per accettare.

    • Se si ricevono informazioni su un repository non attendibile:

      Premere A (Sì a tutti) e Invio per continuare.

  2. Verificare che tutti i moduli necessari siano stati scaricati eseguendo il comando:

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

    Questo comando restituisce un output simile al seguente:

    Nome Repository Descrizione
    Citrix.Image.Uploader PSGallery Comandi per caricare un VHD(x) in un account di archiviazione di Azure, AWS o GCP e ottenere informazioni su un VHD(x)
    Citrix.Workloads.Portability PSGallery Cmdlet autonomo per il processo di immagine di Citrix Image Portability Service

Aggiornare i moduli alla versione più recente

Eseguire il seguente comando per aggiornare lo script alla versione più recente.

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

Eseguire l’SDK Remote PowerShell di Citrix Virtual Apps and Desktops

Image Portability Service richiede che l’SDK Remote PowerShell di Citrix Virtual Apps and Desktops crei e gestisca i processi di portabilità all’interno di Citrix Cloud.

Scaricare e installare l’SDK Remote PowerShell sul proprio computer.

Installare componenti di terze parti specifici della piattaforma

Il modulo PowerShell Image Portability Service non installa dipendenze di terze parti. Pertanto, è possibile limitare l’installazione solo alle piattaforme a cui ci si rivolge. Se si utilizza una delle seguenti piattaforme, seguire le istruzioni pertinenti per l’installazione delle dipendenze della piattaforma:

VMware

Se si stanno creando processi di portabilità delle immagini che comunicano con l’ambiente VMware, eseguire il seguente comando per installare i moduli VMware PowerShell richiesti.

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

Se si stanno creando processi di Image Portability in Azure, scaricare e installare l’interfaccia della riga di comando AWS, quindi eseguire questi comandi per installare i moduli di AWS PowerShell richiesti:

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

Se si stanno creando processi di Image Portability in Azure, scaricare e installare le utilità della riga di comando di Azure, quindi eseguire questi comandi per installare i moduli di Azure PowerShell richiesti:

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

Se si stanno creando lavori di portabilità delle immagini in Google Cloud, scaricare e installare Google Cloud SDK sul proprio computer.

Disinstallare script e moduli

Eseguire i seguenti comandi per disinstallare i moduli utilizzati dal software Image Portability.

Nota:

Gli script e i componenti di terze parti non vengono rimossi automaticamente durante la disinstallazione dei moduli IPS.

Per disinstallare i moduli:

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

Aggiungere credenziali a Credential Wallet

Per gli scenari di automazione end-to-end, è possibile configurare Image Portability Service per l’autenticazione in modo non interattivo con Citrix Cloud, il cloud pubblico e le risorse locali. Inoltre, Image Portability Service utilizza le credenziali archiviate nel Citrix Credential Wallet ogni volta che le nostre API eseguono l’autenticazione diretta con le risorse cloud locali e pubbliche. L’impostazione delle credenziali come descritto in questa sezione è un passaggio obbligatorio per l’esecuzione di processi di esportazione, preparazione e pubblicazione.

Quando si eseguono i processi, Image Portability Service richiede l’accesso a risorse di cui si ha il controllo. Ad esempio, affinché Image Portability Service esporti un disco da un server vSphere a una condivisione SMB, il servizio richiede l’accesso a entrambi i sistemi. Per proteggere queste informazioni sull’account, Image Portability Service utilizza il servizio Citrix Credential Wallet. Questo servizio memorizza le credenziali nel portafoglio con un nome definito dall’utente. Quando si desidera eseguire un processo, è necessario fornire il nome della credenziale da utilizzare. Inoltre, queste credenziali possono essere aggiornate o eliminate dal portafoglio in qualsiasi momento.

Vengono spesso archiviate credenziali per queste piattaforme:

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

Per gestire le credenziali, fare riferimento alla sezione Image Portability Service APIs and Credentials Management del Developer API Portal.

Utilizzare Image Portability Service

La preparazione delle immagini nelle posizioni di risorse locali nell’abbonamento al cloud pubblico richiede la creazione di processi di Image Portability all’interno di Citrix Cloud. È possibile creare un processo per effettuare chiamate API dirette al servizio all’interno dello script o del programma, oppure utilizzando i moduli PowerShell di esempio che abbiamo sviluppato per automatizzare le chiamate API. Fare riferimento a Image Portability Service Developer API Portal per informazioni sull’utilizzo delle API REST e dei moduli PowerShell per creare processi IPS.

Pubblicare cataloghi di macchine utilizzando Citrix Provisioning

Image Portability Service (IPS) viene utilizzato con Machine Creation Services (MCS) in Azure, AWS e Google Cloud o con Citrix Provisioning (PVS) in Azure o Google Cloud. È possibile combinare le soluzioni PowerShell e REST descritte in questa guida con gli strumenti della piattaforma, le API della piattaforma o gli SDK di Citrix DaaS per creare un flusso di lavoro end-to-end senza interruzioni e automatizzato per la creazione di un catalogo di macchine basato sull’immagine preparata. A seconda della piattaforma cloud scelta, possono essere necessari passaggi intermedi tra il completamento di un processo di preparazione IPS e la creazione di un catalogo o l’assegnazione a un target PVS.

AWS

IPS prepara i lavori su AWS e produce un volume. I Machine Creation Services richiedono un’Amazon Machine Image (AMI) durante la creazione del catalogo. Per generare un’AMI dall’immagine migrata, è prima necessario creare un’istantanea dell’immagine dal volume risultante, quindi creare un’AMI basata su quell’istantanea. Questa operazione può essere eseguita con l’interfaccia della riga di comando (CLI) di AWS:

> 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> è l’output del processo di preparazione IPS. L’AMI risultante può essere utilizzata come immagine master MCS.

È disponibile uno script di esempio di PowerShell per automatizzare questa parte del flusso di lavoro nel modulo Citrix.Workloads.Portability come script denominato New-ImsAwsImage.ps1.

Azure

In Azure, IPS produce dischi gestiti che sono direttamente utilizzabili come immagini master MCS. Per assegnare l’immagine risultante ai target PVS, IPS fornisce un’operazione di “pubblicazione” per copiare il disco gestito in un file VHD(x) nello store PVS.

Google Cloud

Gli IPS preparano i lavori su Google Cloud e producono un disco. MCS richiede un modello di istanza Google Cloud. Il processo per la creazione di un modello di istanza MCS da un disco è descritto in dettaglio in Preparare un’istanza di macchina virtuale master e un disco persistente.

Per i target PVS su Google Cloud, IPS fornisce un’operazione di “pubblicazione” per copiare il disco in un file VHD(x) nello store PVS.

Automatizzare la configurazione VDA

Quando si prepara un’immagine gestita da Citrix che ha avuto origine in locale, è possibile riconfigurare il VDA all’interno dell’immagine per supportare l’ambiente di destinazione per il quale l’immagine viene preparata. Image Portability Service può applicare le modifiche alla configurazione VDA in tempo reale durante la fase di preparazione del flusso di lavoro. Esistono tre parametri di configurazione che definiscono il funzionamento del VDA nell’immagine migrata: InstallMisa, InstallPvs e XdReconfigure. Definire questi parametri durante la creazione di processi IPS come segue:

InstallMisa = $true
<!--NeedCopy-->

La configurazione di InstallMisa su true consente a Image Portability Service di installare tutti i componenti VDA mancanti necessari per il provisioning dell’immagine utilizzando MCS.

La configurazione di InstallMisa su true richiede anche la configurazione di CloudProvisioningType su Mcs.

InstallPvs = '2206'
<!--NeedCopy-->

La versione del server PVS con cui viene utilizzata l’immagine: (string, default $null). Ad esempio: 2206, 7.33 o 2203cu1 (richiesto se il tipo di provisioning è PVS).

Impostare InstallPvs sulla versione del server PVS in cui viene distribuita l’immagine. Quando InstallPvs è impostato, Image Portability Service installa automaticamente la versione specificata del software del dispositivo di destinazione PVS contenuto nell’immagine durante i processi di preparazione. IPS supporta le due build più recenti (versione base o aggiornamenti cumulativi) delle ultime due Long-Term Service Release (LTSR) e le versioni correnti (CR).

La configurazione di InstallPvs richiede inoltre che CloudProvisioningType sia configurato su Pvs.

Sia per InstallMisa che per InstallPvs, tenere presente quanto segue:

  • Solo le recenti versioni LTSR e CR del VDA supportano questa funzionalità.

  • Se i componenti necessari sono già presenti per il VDA installato, non vengono apportate modifiche, anche se i parametri sono configurati.

  • Per le versioni supportate di VDA, Image Portability installa la versione appropriata dei componenti richiesti, anche se non sono presenti i componenti VDA necessari.

  • Per le versioni non supportate del VDA, la riconfigurazione non riesce e viene registrato un messaggio se non sono presenti i componenti VDA necessari. Il processo di preparazione viene completato anche se la riconfigurazione VDA non è stata completata.

XdReconfigure richiede uno dei seguenti valori: controllers o site_guid. Ecco alcuni esempi di parametri di configurazione che utilizzano ciascun valore:

Utilizzando controller:

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

dove ParameterValue è l’elenco dei nomi di dominio completo dei nuovi DDC a cui si desidera puntare il VDA. È possibile specificare più DDC in un formato separato da virgole.

Utilizzando site_guid:

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

XdReconfigure accetta anche i valori supportati quando si esegue il programma di installazione dalla riga di comando VDA con lo switch di installazione /reconfigure, ad esempio XenDesktopVdaSetup.exe /reconfigure. Alcuni esempi di questi valori sono wem_agent_port, wem_cached_data_sync_port, wem_cloud_connectors o wem_server. Per un elenco completo delle opzioni della riga di comando di riconfigurazione VDA, legere la documentazione dei VDA Citrix DaaS.

Nota:

È possibile utilizzare -DryRun durante l’esecuzione dei comandi per convalidare la configurazione e le impostazioni di rete del dispositivo connettore.

Riferimenti

Questa sezione fornisce informazioni tecniche di riferimento, basate su ciò che occorre.

Autorizzazioni richieste dai servizi di Image Portability Services

Questa sezione descrive in dettaglio le autorizzazioni richieste da Image Portability Service su ciascuna delle piattaforme cloud e locali supportate.

Autorizzazioni richieste da Connector Appliance

Connector Appliance deve accedere ai seguenti URL per preparare le immagini nell’Image Portability Service:

*.layering.cloud.com
credentialwallet.citrixworkspaceapi.net
graph.microsoft.com
login.microsoftonline.com
management.azure.com
*.blob.storage.azure.net
<!--NeedCopy-->

Autorizzazioni richieste da VMware vCenter

Le seguenti autorizzazioni vCenter sono necessarie per eseguire il processo di esportazione del disco IPS in un ambiente VMware. Queste autorizzazioni sono disponibili in Roles (Ruoli) nella sezione Access Control (Controllo accessi) del pannello di amministrazione di vCenter.

-  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-->

Autorizzazioni richieste per Microsoft Azure

Image Portability richiede che l’account del servizio Azure disponga delle seguenti autorizzazioni.

Quando viene specificato il gruppo di risorse da utilizzare per il Compositing Engine (ovvero nella proprietà resourceGroup in una richiesta REST o nel parametro -AzureVmResourceGroup quando si utilizzano i comandi PowerShell Citrix.Workloads.Portability), sono necessarie le seguenti autorizzazioni nell’ambito del gruppo di risorse.

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-->

Quando il gruppo di risorse da utilizzare per il Compositing Engine non viene specificato, sono necessarie le seguenti autorizzazioni nell’ambito della sottoscrizione.

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-->

Le seguenti autorizzazioni sono necessarie nell’ambito del gruppo di risorse di destinazione specificato (ovvero il gruppo di risorse specificato nella proprietà targetDiskResourceGroupName in una richiesta REST o nel parametro -TargetResourceGroup quando si utilizza PowerShell).

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-->

Le seguenti autorizzazioni sono necessarie nell’ambito del gruppo di risorse di rete virtuale specificato (ovvero il gruppo di risorse specificato nella proprietà virtualNetworkResourceGroupName in una richiesta REST o nel parametro -AzureVirtualNetworkResourceGroupName quando si utilizza PowerShell).

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

Importante:

L’opzione ceVmSku per i processi “prepare” e ‘“prepareAndPublish”’ controlla il tipo di macchina virtuale di Azure a cui è adatto il disco gestito risultante. È necessario selezionare un ceVmSku con la stessa famiglia e versione delle VM di cui si intende effettuare il provisioning dall’immagine di output. Il valore predefinito di Standard_D2S_v3 è adatto all’esecuzione su tutte le macchine della famiglia v3 D. Con gli SKU di macchine virtuali v4 e più recenti, Microsoft ha reso opzionale il disco di risorse temporaneo collegato alle macchine virtuali. Ciò influisce sul corretto posizionamento dei file di paging. Se si intende utilizzare uno SKU VM senza un disco di risorse temporaneo per le macchine di cui si esegue il provisioning utilizzando l’immagine di output, è necessario assicurarsi che neanche il proprio ceVmSku abbia un disco di risorse temporaneo. Se il ceVmSku è di tipo dotato di un disco di risorse temporaneo, IPS sposta il file di paging di Windows su quel disco. Se si utilizza un disco preparato in questo modo su uno SKU che non dispone di un disco di risorse temporanee, viene visualizzata una finestra di avviso a ogni accesso. Se il ceVmSku non dispone di un disco temporaneo, il file di paging viene configurato nel volume principale del sistema. Ciò potrebbe comportare costi di I/O non intenzionali se si utilizza un’immagine preparata in questo modo su uno SKU che include un disco di risorse temporaneo.

Autorizzazioni richieste da Google Cloud

Image Portability richiede che l’account del servizio Google Cloud disponga delle seguenti autorizzazioni:

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-->

Autorizzazioni richieste da AWS

Image Portability richiede di allegare all’utente Identity and Access Management (IAM) un documento di criteri JSON con la seguente configurazione:

{
    "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-->

Nota:

Se necessario, potrebbe essere utile ridurre ulteriormente l’ambito della risorsa.

Autorizzazioni necessarie per Nutanix AHV

Per usufruire della portabilità delle immagini è necessario essere amministratore del cluster nella configurazione Nutanix AHV.

Autorizzazioni richieste per XenServer

Image Portability richiede almeno il ruolo di “mministratore VM” per il pool in cui si trova l’host XenServer.

Rete

Image Portability Service (IPS) crea una macchina virtuale di lavoro chiamata Compositing Engine (CE) per eseguire operazioni sulle immagini. Tutte le Connector Appliance che si trovano nella posizione risorsa/zona associata devono essere in grado di comunicare tramite HTTPS con la CE. Tutte le comunicazioni tra una Connector Appliance (CA) e la CE vengono avviate dalla CA con una singola eccezione per vSphere in cui esiste una comunicazione HTTPS bidirezionale tra CE e CA.

Negli ambienti cloud (Azure, AWS, Google Cloud) la CE viene creata con un indirizzo IP privato. Quindi la CE deve trovarsi sulla stessa rete virtuale della CA o su una rete virtuale raggiungibile dalla CA.

Inoltre, per i processi che coinvolgono file su una condivisione SMB (ad esempio, processi di esportazione), la CE deve trovarsi su una rete con connettività alla condivisione SMB.

Vedere la documentazione dell’API Image Portability Service per dettagli su come specificare la rete da utilizzare per la CE in ciascuna piattaforma supportata.

Per i processi di “preparazione”, il sistema operativo contenuto nell’immagine viene avviato (sulla CE) per eseguire operazioni di specializzazione e di altro tipo. Se l’immagine contiene agenti di gestione o di sicurezza che telefonano a un server di controllo, questi processi possono interferire con il processo di preparazione.

Se viene specificata l’opzione di annullamento dell’accesso al dominio, la connettività di rete può influire sui risultati. Se la VM del motore di composizione può raggiungere il controller di dominio Active Directory tramite la rete, l’annullamento dell’accesso rimuove l’account computer dal dominio. Questo interrompe l’appartenenza al dominio della VM di origine da cui è stata estratta l’immagine.

Pertanto, si consiglia di isolare la rete fornita per l’operazione da altre risorse di rete. Questa operazione può essere eseguita mediante l’isolamento della sottorete o con le regole del firewall. Vedere Isolamento della rete per i dettagli.

In alcuni ambienti hypervisor locali, l’hypervisor può essere configurato con un certificato del server TLS, che non è considerato attendibile dal set di autorità di certificazione root attendibili della CA o non corrisponde al nome host del server. In tali situazioni, IPS fornisce proprietà di richiesta di processo che possono essere utilizzate per risolvere il problema. Vedere Certificati TLS per i dettagli.

Proxy di rete

Se il traffico di rete tra la CA e Internet attraversa un proxy che esegue l’introspezione TLS, potrebbe essere necessario aggiungere l’autorità di certificazione radice del proxy (ovvero il certificato che il proxy utilizza per firmare i certificati TLS che genera) al set di autorità di certificazione root della CA. Per ulteriori informazioni, vedere Registrare il Connector Appliance con Citrix Cloud.

Isolamento della rete
  • Azure

    In Azure, per impostazione predefinita, la CE viene creata con un gruppo di sicurezza di rete (NSG) collegato alla relativa NIC se l’entità servizio di Azure usata nell’operazione dispone delle autorizzazioni Azure necessarie 1.

    Questo NSG è configurato per bloccare tutto il traffico in entrata/uscita dal CE con le seguenti eccezioni:

    • SMB (porta 445) in uscita
    • HTTPS (porta 443) in entrata
    • quello richiesto per i servizi interni di Azure

    L’uso di NSG può essere forzato impostando la proprietà networkIsolation nella richiesta di processo su true. In questo caso il processo ha esito negativo se l’entità principale del servizio utilizzata nell’operazione non dispone delle autorizzazioni necessarie. L’uso di NSG può essere disabilitato impostando la proprietà NetworkIsolation su false.

  • AWS

In AWS, per ottenere l’isolamento della rete della CE, è possibile creare uno o più gruppi di sicurezza di rete che bloccano tutto il traffico indesiderato e quindi, nella richiesta di processo, assegnare i gruppi di sicurezza all’istanza della CE utilizzando il parametro di richiesta securityGroupIds che accetta come valore un elenco di ID del gruppo di sicurezza.

  • Google Cloud

In Google Cloud per ottenere l’isolamento della rete della CE, è possibile creare regole firewall che bloccano tutto il traffico indesiderato e quindi applicare tali regole alla CE tramite tag di rete. IPS crea la CE con il Compositing Engine dei tag di rete ed è possibile assegnarle altri tag di rete utilizzando il parametro di richiesta di processo networkTags che accetta un elenco di tag come valore.

Certificati TLS

Se il certificato del server dell’hypervisor è firmato da un’autorità non considerata attendibile dalla CA, è possibile utilizzare due approcci alternativi per risolvere il problema.

  1. Specificare nella richiesta di lavoro un ulteriore certificato dell’autorità di certificazione radice da utilizzare nella verifica del certificato. Questo certificato deve essere l’autorità di certificazione radice utilizzata per firmare il certificato del server dell’hypervisor.
  2. Specificare nella richiesta di lavoro l’impronta digitale SHA-1 del certificato del server dell’hypervisor. In questo caso la convalida del certificato viene effettuata verificando che l’impronta digitale SHA-1 del certificato restituito dall’hypervisor corrisponda a quella fornita nella richiesta di lavoro. Tenere presente che questo metodo potrebbe non funzionare se è presente un proxy di intercettazione TLS tra CE e l’hypervisor.

I parametri delle richieste di processo relative a quanto sopra, indicati rispettivamente di seguito per ciascuna piattaforma, sono:

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

Vedere la documentazione dell’API di Image Portability Service per ulteriori dettagli.

Possono verificarsi errori di convalida dei certificati anche in caso di mancata corrispondenza tra il nome host del server hypervisor e il nome host contenuto nel relativo certificato. In questo caso la corrispondenza del nome host può essere disabilitata impostando il seguente parametro su true nella richiesta di lavoro:

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

Documentazione correlata

  1. If per l’operazione viene utilizzato un gruppo di risorse esplicito, le seguenti autorizzazioni nell’ambito del gruppo di risorse: - Microsoft.Network/networkSecurityGroups/join/action - Microsoft.Network/networkSecurityGroups/read - Microsoft.Network/networkSecurityGroups/write

    Otherwise the following permissions at the scope of the subscription if no explicit resource group is being used:

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

Esegue la migrazione dei carichi di lavoro da una posizione risorsa a un’altra utilizzando Image Portability Service