Migrare i carichi di lavoro tra le posizioni delle risorse utilizzando Image Portability Service
Image Portability Service semplifica la gestione delle immagini tra 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 tra due posizioni delle risorse. Dopo aver esportato l’immagine, Image Portability Service aiuta a trasferire e preparare l’immagine per l’esecuzione sull’hypervisor di destinazione o sul cloud pubblico. Infine, Citrix Provisioning o Machine Creation Services™ esegue il provisioning dell’immagine nell’ambiente di destinazione.
Componenti
I componenti di Image Portability Service includono:
- Servizi Citrix Cloud™
- Citrix Credential Wallet
- Citrix Connector™ Appliance
- VM del motore di composizione
- Script di esempio PowerShell
Servizi Citrix Cloud
Il servizio API di Citrix Cloud è un servizio API REST che interagisce con Image Portability Service. Utilizzando il servizio API REST, è possibile creare e monitorare i processi di Image Portability. Ad esempio, si effettua una chiamata API per avviare un processo di Image Portability, come l’esportazione di un disco, e quindi si effettuano chiamate per ottenere lo stato del processo.
Citrix Credential Wallet
Il servizio Citrix Credential Wallet gestisce in modo sicuro le credenziali di sistema, consentendo a Image Portability Service di interagire con le risorse. Ad esempio, durante l’esportazione di 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 archiviate nel Credential Wallet, Image Portability Service può recuperarle e utilizzarle.
Questo servizio offre la possibilità di gestire completamente le credenziali. L’API di Cloud Services funge da punto di accesso, offrendo la possibilità di creare, aggiornare ed eliminare le credenziali.
Motore di composizione
Il motore di composizione è il fulcro di Image Portability Service. Il motore di composizione (CE) è una singola VM 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 processo. Ad esempio, durante l’esportazione di 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 Cloud. Il CE monta il disco su se stesso, quindi esegue le manipolazioni necessarie sul disco. Al completamento del processo di preparazione o esportazione, la VM del CE e tutti i suoi componenti vengono eliminati.
Connector Appliance
Il Connector Appliance, che esegue il software del provider per gestire le risorse IPS, viene eseguito nel proprio ambiente (sia on-premise che nella propria sottoscrizione Azure, AWS o Google Cloud) e funge da controller per i singoli processi. Riceve le istruzioni del processo dal servizio cloud e crea e gestisce le VM del motore di composizione. La VM del Connector Appliance funge da punto di comunicazione unico e sicuro tra i servizi cloud e gli ambienti. Distribuire uno o più Connector Appliance in ciascuna delle posizioni delle risorse (on-premise, Azure, AWS o Google Cloud). Un Connector Appliance viene distribuito in ogni posizione delle risorse per motivi di sicurezza. Co-locando il Connector Appliance e il motore di composizione, la postura di sicurezza della distribuzione aumenta notevolmente, poiché tutti i componenti e le comunicazioni sono mantenuti all’interno della 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 necessario per la propria distribuzione.
L’automazione PowerShell utilizza i parametri di configurazione forniti per comporre una chiamata REST al servizio API di Citrix Cloud per avviare il processo e quindi fornire aggiornamenti periodici man mano che il processo progredisce.
Se si desidera sviluppare la propria soluzione di automazione, è possibile effettuare chiamate dirette al servizio cloud 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 multifase per preparare un’immagine del catalogo master da una posizione delle risorse on-premise per la propria sottoscrizione al cloud pubblico. Il servizio esporta l’immagine dalla piattaforma hypervisor on-premise e la si carica nella propria sottoscrizione al cloud pubblico (la nostra utility di caricamento PowerShell fornita può aiutare ad automatizzare questo processo). Quindi, Image Portability prepara l’immagine per essere compatibile con la piattaforma del cloud pubblico. Infine, l’immagine viene pubblicata ed è pronta per essere distribuita come nuovo catalogo di macchine all’interno della posizione delle risorse cloud.
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 richiesti.
Fare riferimento alla seguente tabella per comprendere quali processi sono richiesti per ciascuno dei flussi di lavoro IPS supportati.
Flusso di lavoro (da origine a destinazione) | Esporta | Carica | Prepara | Pubblica |
---|---|---|---|---|
MCS a MCS | S | S | S | N |
PVS a MCS* | N | S | S | N |
PVS a PVS | N/A | S | S | S |
MCS a PVS | S | S | S | S |
*Si presume che si disponga dell’immagine originale come vDisk di Citrix Provisioning e non sia necessario esportarla direttamente dalla piattaforma hypervisor 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 che abbiano una delle seguenti configurazioni testate:
-
Windows Server 2016, 2019 e 2022H2
-
Windows 10 o 11
-
Provisioning tramite Machine Creation Services o Citrix Provisioning
-
Citrix Virtual Delivery Agent
-
Servizi Desktop remoto abilitati per l’accesso alla console in Azure
Image Portability Service supporta i seguenti hypervisor e piattaforme cloud:
Piattaforme di origine:
-
VMware vSphere 7.0 e 8.0
-
XenServer 8/Citrix Hypervisor 8.2
-
Nutanix AHV (solo Prism Element)
-
Microsoft Azure
-
Google Cloud Platform
Piattaforme di destinazione:
-
VMware vSphere 8.0
-
XenServer 8/Citrix Hypervisor 8.2
-
Nutanix AHV (solo Prism Element)
-
Microsoft Azure
-
AWS
-
Google Cloud Platform
Un Citrix Connector Appliance
È necessario un Citrix Connector Appliance installato e configurato in ogni posizione delle risorse in cui si prevede di utilizzare Image Portability. Ad esempio, se si utilizza Image Portability per spostare un’immagine da vSphere ad Azure, AWS e Google Cloud, sono necessari almeno quattro Citrix Connector Appliance:
Vedere Distribuire Connector Appliance per istruzioni dettagliate.
Una condivisione file SMB (Windows)
È necessaria una condivisione file SMB di Windows per l’archiviazione dell’output dei processi di esportazione. La condivisione deve essere accessibile alla VM del motore di composizione che verrà creata nella posizione delle risorse in cui si utilizza Image Portability Service. Assicurarsi che lo spazio libero disponibile sulla condivisione sia almeno il doppio della dimensione configurata del file system dell’immagine.
Una macchina per l’esecuzione di script PowerShell
Assicurarsi che la macchina che esegue gli script PowerShell abbia quanto segue:
-
PowerShell versione 5.1.
-
Una connessione di rete veloce alla condivisione file SMB. Può essere la stessa macchina che ospita la condivisione 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 su come scaricare e configurare i moduli di Image Portability dalla PowerShell Gallery.
L’ID cliente di Citrix Cloud
Assicurarsi di disporre di una sottoscrizione Citrix DaaS valida.
Per continuare, è necessario l’accesso a Citrix DaaS (precedentemente servizio Citrix Virtual Apps™ and Desktops). Se non si dispone dell’accesso, contattare il proprio rappresentante Citrix.
Fare riferimento alla documentazione API Getting Started per istruzioni su come creare e configurare un client API da utilizzare con Image Portability.
Autorizzazioni e configurazione richieste per Azure
Affinché Image Portability Service possa eseguire azioni sulla risorsa Azure, è necessario concedere le autorizzazioni a determinate funzionalità di Azure all’entità servizio Azure utilizzata da Image Portability Service. Per l’elenco dettagliato, vedere Autorizzazioni richieste per Microsoft Azure.
È possibile assegnare il ruolo di Collaboratore all’entità servizio nella risorsa associata. Oppure, per assegnare le autorizzazioni minime richieste, è possibile creare ruoli personalizzati con le autorizzazioni richieste e assegnarli all’entità servizio con ambito alle risorse appropriate.
Vedere la documentazione di Azure per la configurazione dei ruoli di sicurezza per l’entità servizio Azure e per la creazione di ruoli personalizzati.
Autorizzazioni e configurazione richieste per Google Cloud
Affinché Image Portability Service possa eseguire azioni nel progetto Google Cloud, si concedono le autorizzazioni a determinate funzionalità all’entità servizio Google Cloud utilizzata da Image Portability Service.
Per l’elenco dettagliato, vedere Autorizzazioni richieste per Google Cloud.
È possibile assegnare queste autorizzazioni utilizzando i seguenti ruoli:
- Cloud Build Editor
- Compute Admin
- Storage Admin
- Service Account User
Vedere la documentazione di Google Cloud per maggiori informazioni sulla configurazione delle autorizzazioni dell’account di servizio.
Autorizzazioni e configurazione richieste per Amazon Web Services
Per eseguire i flussi di lavoro di Image Portability Service con un account Amazon Web Services (AWS), l’identità Identity and Access Management (IAM) deve disporre delle autorizzazioni corrette.
Per l’elenco dettagliato, vedere Autorizzazioni richieste per AWS.
Configurare Image Portability Service
Per configurare Image Portability Service:
- Distribuire Connector Appliance
- Preparare una macchina per PowerShell
- Aggiungere credenziali al Credential Wallet
Distribuire Connector Appliance
Image Portability richiede Citrix Connector Appliance per creare processi di Image Portability. I Connector Appliance aiutano a proteggere le interazioni con gli ambienti on-premise e cloud pubblici. I Connector Appliance comunicano con Image Portability Service per segnalare lo stato del processo e la salute generale del servizio.
Per distribuire e configurare Connector Appliance nel proprio ambiente, seguire i passaggi in Connector Appliance per i servizi cloud.
Prendere nota della configurazione hardware e dell’accesso alle porte di rete richieste per l’appliance durante la pianificazione della distribuzione.
Quando l’appliance è distribuita e registrata, i componenti necessari per abilitare Image Portability vengono installati automaticamente.
Preparare una macchina per PowerShell
Per aiutarvi a iniziare con Image Portability, abbiamo creato moduli PowerShell che potete personalizzare e utilizzare con il servizio.
Le sezioni seguenti descrivono come preparare una macchina per eseguire gli script PowerShell. Questi script sono solo alcuni esempi. Modificateli o migliorateli per soddisfare le vostre 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:
-
Una macchina Windows per eseguire gli script PowerShell che gestiscono i processi di Image Portability. La macchina:
-
Ha l’ultima versione di PowerShell.
-
Ha una connessione di rete da 10 Gbit/s o superiore alla condivisione file SMB on-premise e una connessione veloce al cloud pubblico (Azure, AWS o Google Cloud, ad esempio).
-
Può essere la stessa macchina che ospita la condivisione file.
-
È una macchina 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. Fare riferimento alla documentazione sul supporto TLS della Microsoft PowerShell Gallery per maggiori informazioni.
Per impostazione predefinita, PowerShell non si autentica automaticamente tramite un server proxy. Assicurarsi di aver configurato la sessione PowerShell per utilizzare il server proxy, secondo Microsoft e le migliori pratiche del fornitore del proxy.
Se si riscontrano errori durante l’esecuzione degli script PowerShell relativi a una versione mancante o obsoleta di PowerShellGet, è necessario installare l’ultima versione come segue:
Install-Module -Name PowerShellGet -Force -Scope CurrentUser -AllowClobber
<!--NeedCopy-->
Installare librerie e moduli
Image Portability Service si basa su librerie della Microsoft PowerShell Gallery per gestire le operazioni di portabilità.
Importante:
Dopo l’installazione iniziale, utilizzare Update-Module per installare nuove versioni.
-
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 d’ambiente PATH:
Premere Y e Invio per accettare.
-
Per installare il provider NuGet:
Premere Y e Invio per accettare.
-
Se viene segnalato un repository non attendibile:
Premere A (Sì a tutti) e Invio per continuare.
-
-
Confermare 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 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 all’ultima versione
Eseguire il seguente comando per aggiornare lo script all’ultima versione.
Update-Module -Name "Citrix.Workloads.Portability","Citrix.Image.Uploader" -Force
<!--NeedCopy-->
Installare l’SDK PowerShell remoto di Citrix Virtual Apps and Desktops
Image Portability Service richiede l’SDK PowerShell remoto di Citrix Virtual Apps and Desktops per creare e gestire i processi di portabilità all’interno di Citrix Cloud.
Scaricare e installare l’SDK PowerShell remoto sulla propria macchina.
Installare componenti di terze parti specifici della piattaforma
Il modulo PowerShell di Image Portability Service non installa dipendenze di terze parti. Pertanto, è possibile limitare l’installazione solo alle piattaforme di destinazione. 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 Image Portability che comunicano con l’ambiente VMware, eseguire il seguente comando per installare i moduli PowerShell VMware richiesti.
Install-Module -Name VMWare.PowerCLI -Scope CurrentUser -AllowClobber -Force -SkipPublisherCheck
<!--NeedCopy-->
Amazon Web Services
Se si stanno creando processi di Image Portability in AWS, scaricare e installare la AWS Command Line Interface, quindi eseguire questi comandi per installare i moduli PowerShell AWS 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 PowerShell Azure 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 processi di Image Portability in Google Cloud, scaricare e installare l’SDK di Google Cloud sulla propria macchina.
Disinstallare script e moduli
Eseguire i seguenti comandi per disinstallare i moduli utilizzati dal software Image Portability.
Nota:
Script e 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 al Credential Wallet
Per scenari di automazione end-to-end, è possibile configurare Image Portability Service per autenticarsi in modo non interattivo con Citrix Cloud, il cloud pubblico e le risorse on-premise. Inoltre, Image Portability Service utilizza le credenziali archiviate nel Citrix Credential Wallet ogni volta che le nostre API sono autenticate direttamente con le risorse on-premise e cloud pubbliche. L’impostazione delle credenziali come descritto in questa sezione è un passaggio obbligatorio per l’esecuzione dei processi di esportazione, preparazione e pubblicazione.
Durante l’esecuzione dei processi, Image Portability Service richiede l’accesso a risorse che è possibile controllare. Ad esempio, affinché Image Portability Service possa esportare un disco da un server vSphere a una condivisione SMB, il servizio necessita dell’accesso di login a entrambi i sistemi. Per proteggere queste informazioni sull’account, Image Portability Service utilizza il servizio Citrix Credential Wallet. Questo servizio archivia le credenziali nel wallet con un nome definito dall’utente. Quando si desidera eseguire un processo, fornire il nome della credenziale da utilizzare. Inoltre, queste credenziali possono essere aggiornate o eliminate dal wallet in qualsiasi momento.
Le credenziali sono spesso archiviate per queste piattaforme:
- Microsoft Azure
- AWS
- Google Cloud
- Condivisione SMB
- VMware vSphere
- Nutanix AHV
- XenServer®
Per gestire le credenziali, fare riferimento alle API di Image Portability Service e alla sezione Gestione credenziali del Portale API per sviluppatori.
Utilizzare Image Portability Service
La preparazione delle immagini nelle posizioni delle risorse on-premise per la sottoscrizione 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 al Portale API per sviluppatori di Image Portability Service per informazioni sull’utilizzo delle API REST e dei moduli PowerShell per creare processi IPS.
Pubblicare cataloghi macchine utilizzando Citrix Provisioning
Image Portability Service (IPS) viene utilizzato con Machine Creation Services (MCS) in Azure, AWS, Google Cloud, Nutanix, vSphere e XenServer, o con Citrix Provisioning (PVS) in Azure, Google Cloud, vSphere e XenServer. È possibile combinare le soluzioni PowerShell e REST descritte in questa guida con gli strumenti della propria piattaforma, le API della propria 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 macchine basato sull’immagine preparata. A seconda della piattaforma cloud scelta, potrebbero esserci passaggi intermedi richiesti tra il completamento di un processo di preparazione IPS e la creazione di un catalogo o l’assegnazione a una destinazione PVS.
AWS
Su AWS, IPS produce un volume EC2 EBS contenente l’immagine preparata (impostazione predefinita) o un’Amazon Machine Image (AMI) creata dall’immagine preparata. Vedere il Portale API per sviluppatori di Image Portability Service per informazioni su come creare un’AMI anziché il volume predefinito.
Si noti che MCS richiede un’AMI per la creazione del catalogo. IPS utilizza l’importazione di VM AWS per creare l’AMI e ciò ha determinati requisiti. Prima di utilizzare IPS per creare un’AMI, consultare la Guida per l’utente di VM Import/Export di AWS per i requisiti e assicurarsi che siano stati soddisfatti.
Azure
Su Azure, IPS produce dischi gestiti direttamente utilizzabili come immagini master MCS. Per assegnare l’immagine risultante alle destinazioni PVS, IPS fornisce un’operazione di “pubblicazione” per copiare il disco gestito in un file VHD(x) nel proprio archivio PVS.
Google Cloud
I processi di preparazione IPS su Google Cloud producono un disco. MCS richiede un modello di istanza di Google Cloud. Il processo per la creazione di un modello di istanza MCS da un disco è trattato in dettaglio in Preparare un’istanza VM master e un disco persistente.
Per le destinazioni PVS su Google Cloud, IPS fornisce un’operazione di “pubblicazione” per copiare il disco in un file VHD(x) nel proprio archivio PVS.
Automatizzare la configurazione VDA
Quando si prepara un’immagine gestita da Citrix che ha avuto origine on-premise, è 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 al volo durante la fase di preparazione del flusso di lavoro. I seguenti parametri di configurazione definiscono come il VDA opera nell’immagine migrata: InstallMisa, XdReconfigure e InstallMcsio. Vedere gli esempi PowerShell di Image Portability Service per definire questi parametri durante la creazione di processi IPS.
Configurazioni
-
La configurazione di InstallMisa su
true
consente a Image Portability Service di installare eventuali componenti VDA mancanti necessari per il provisioning dell’immagine tramite MCS. -
La configurazione di InstallMisa su
true
o InstallMcsio sutrue
richiede anche la configurazione di CloudProvisioningType suMcs
. -
Impostare InstallPvs sulla versione del server PVS in cui l’immagine viene distribuita. Quando InstallPvs è impostato, Image Portability Service (IPS) installa automaticamente la versione specificata del software del dispositivo di destinazione PVS nell’immagine durante i processi di preparazione. IPS supporta le ultime due build (versione base o aggiornamenti cumulativi) per le ultime due versioni Long-Term Service Release (LTSR) e Current Release (CR).
Per InstallMisa e InstallMcsio, si noti quanto segue:
-
Queste funzionalità sono supportate solo per le versioni LTSR e CR recenti del VDA.
-
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 del VDA, Image Portability installa la versione appropriata dei componenti richiesti, anche se i componenti VDA necessari non sono presenti.
-
Per le versioni non supportate del VDA, la riconfigurazione fallisce e viene registrato un messaggio se i componenti VDA necessari non sono presenti. Il processo di preparazione viene completato anche se la riconfigurazione del VDA non lo è.
XdReconfigure richiede uno dei seguenti valori: controllers
o site_guid
. Ecco esempi di parametri di configurazione che utilizzano ciascun valore:
Utilizzo di controllers:
XdReconfigure = @(
[pscustomobject]@{
ParameterName = 'controllers'
ParameterValue = 'elenco-separato-da-virgole-dei-fqdn-dei-vostri-cloud-connector'
}
)
<!--NeedCopy-->
dove ParameterValue è l’elenco dei FQDN dei nuovi DDC a cui si desidera puntare il VDA. È possibile specificare più DDC in un formato separato da virgole.
Utilizzo di site_guid:
XdReconfigure = @(
[pscustomobject]@{
ParameterName = 'site_guid'
ParameterValue = 'guid-del-sito-active-directory'
}
)
<!--NeedCopy-->
XdReconfigure accetta anche valori supportati quando si esegue il programma di installazione della riga di comando VDA con l’opzione di installazione /reconfigure, ad esempio XenDesktopVdaSetup.exe /reconfigure. Alcuni esempi di questi valori includono 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, fare riferimento alla documentazione VDA di Citrix DaaS.
La configurazione di InstallMcsio su true
installa automaticamente MCSIO sull’immagine. Per disabilitare l’installazione automatica di MCSIO sull’immagine, configurare InstallMcsio su false
.
Nota:
È possibile utilizzare
-DryRun
durante l’esecuzione dei comandi per convalidare la configurazione e le impostazioni di rete del connettore.
Riferimento
Questa sezione fornisce informazioni di riferimento tecniche, in base alle proprie esigenze.
Autorizzazioni richieste da Image Portability Services
Questa sezione descrive in dettaglio le autorizzazioni richieste da Image Portability Service su ciascuna delle piattaforme on-premise e cloud supportate.
Autorizzazioni richieste per Connector Appliance
Il Connector Appliance necessita dell’accesso ai seguenti URL per preparare le immagini in Image Portability Service:
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
ips-assets.layering.cloud.com
<!--NeedCopy-->
Autorizzazioni richieste per VMware vCenter
Le seguenti autorizzazioni vCenter sono necessarie per eseguire il processo di esportazione del disco IPS in un ambiente VMware. Queste autorizzazioni si trovano in Ruoli nella sezione Controllo accessi del pannello di amministrazione di vCenter.
- Operazioni crittografiche
- Accesso diretto
- Datastore
- Alloca spazio
- Sfoglia datastore
- Operazioni su file di basso livello
- Rimuovi file
- Cartella
- Crea cartella
- Elimina cartella
- Rete
- Assegna rete
- Risorsa
- Assegna macchina virtuale al pool di risorse
- Macchina virtuale
- Modifica configurazione
- Aggiungi disco esistente
- Aggiungi nuovo disco
- Rimuovi disco
- Modifica inventario
- Crea da esistente
- Crea nuovo
- Rimuovi
- Interazione
- Spegni
- Accendi
<!--NeedCopy-->
Autorizzazioni richieste per Microsoft Azure
Image Portability richiede che l’account di servizio Azure disponga delle seguenti autorizzazioni.
Quando viene specificato il gruppo di risorse da utilizzare per il motore di composizione (ovvero, nella proprietà resourceGroup in una richiesta REST o nel parametro -AzureVmResourceGroup quando si utilizzano i comandi PowerShell Citrix.Workloads.Portability), sono richieste 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 motore di composizione viene lasciato non specificato, sono richieste 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 richieste 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 richieste 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 VM Azure per cui il disco gestito risultante è adatto. È necessario selezionare un ceVmSku con la stessa famiglia e versione delle VM che si intende sottoporre a provisioning dall’immagine di output. Il valore predefinito diStandard_D2S_v3
è adatto per l’esecuzione su tutte le macchine della famiglia D v3. La specifica di SKU di macchine che non includono un disco temporaneo non è supportata.
Autorizzazioni richieste per Google Cloud
Image Portability richiede che l’account di 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.disks.useReadOnly
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.networks.list
compute.subnetworks.use
compute.zoneOperations.get
compute.zones.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 per AWS
Image Portability richiede di allegare un documento di policy JSON con la seguente configurazione all’utente Identity and Access Management (IAM):
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"ebs:CompleteSnapshot",
"ebs:PutSnapshotBlock",
"ebs:StartSnapshot",
"ec2:CreateImage",
"ec2:CreateSnapshot",
"ec2:CreateTags",
"ec2:DeleteImage",
"ec2:DeleteSnapshot",
"ec2:DeleteVolume",
"ec2:DeregisterImage",
"ec2:DescribeImages",
"ec2:DescribeImportImageTasks",
"ec2:DescribeInstances",
"ec2:DescribeRegions",
"ec2:DescribeSecurityGroups",
"ec2:DescribeSnapshots",
"ec2:DescribeSubnets",
"ec2:ImportImage",
"ec2:RebootInstances",
"ec2:RegisterImage",
"ec2:RunInstances",
"ec2:TerminateInstances",
"iam:GetRole"
],
"Effect": "Allow",
"Resource": "*"
}
]
}
<!--NeedCopy-->
Nota:
Potrebbe essere opportuno ridurre ulteriormente l’ambito della risorsa, se necessario.
Autorizzazioni richieste per Nutanix AHV
Image Portability richiede di essere un amministratore del cluster nella configurazione Nutanix AHV.
Autorizzazioni richieste per XenServer
Image Portability richiede di avere almeno il ruolo ‘VM Admin’ per il pool in cui si trova l’host XenServer.
Rete
Image Portability Service (IPS) crea una VM worker chiamata motore di composizione (CE) per eseguire le operazioni sulle immagini. Tutti i Connector Appliance nella posizione delle risorse associata devono essere in grado di comunicare tramite HTTPS con il CE. Tutte le comunicazioni tra un Connector Appliance (CA) e il CE sono avviate dal CA, ad eccezione di un’unica eccezione nel caso di vSphere in cui esiste una comunicazione HTTPS bidirezionale tra il CE e il CA.
Negli ambienti cloud (Azure, AWS, Google Cloud) il CE viene creato con un indirizzo IP privato. Quindi il CE deve trovarsi sulla stessa rete virtuale del CA o su una rete virtuale raggiungibile dal CA.
Inoltre, per i processi che coinvolgono file su una condivisione SMB (ad esempio, processi di esportazione), il CE deve trovarsi su una rete con connettività alla condivisione SMB.
Vedere la documentazione API di Image Portability Service per i dettagli su come specificare la rete da utilizzare per il CE in ogni piattaforma supportata.
Per i processi di ‘preparazione’, il sistema operativo contenuto nell’immagine viene avviato (sul CE) per eseguire la specializzazione e altre attività. Se l’immagine contiene agenti di gestione o sicurezza che si connettono a un server di controllo, questi processi possono interferire con il processo di preparazione.
Se viene specificata l’opzione di disconnessione dal dominio, la connettività di rete può influire sui risultati. Se la VM del motore di composizione può raggiungere il controller di dominio di Active Directory tramite la rete, la disconnessione rimuove l’account del computer dal dominio. Ciò interrompe l’appartenenza al dominio per la 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. Ciò può essere fatto tramite isolamento della sottorete o con regole firewall. Vedere Isolamento della rete per i dettagli.
In alcuni ambienti hypervisor on-premise l’hypervisor potrebbe essere configurato con un certificato server TLS, che non è attendibile dal set di autorità di certificazione radice attendibili del CA, o non corrisponde al nome host del server. Per tali situazioni, IPS fornisce proprietà di richiesta di processo che possono essere utilizzate per aggirare il problema. Vedere Certificati TLS per i dettagli.
Proxy di rete
Se il traffico di rete tra il CA e Internet attraversa un proxy che esegue l’ispezione TLS, potrebbe essere necessario aggiungere la Root Certificate Authority del proxy (ovvero, il certificato che il proxy utilizza per firmare i certificati TLS che genera) al set di autorità di certificazione radice del CA. Vedere Registrare il Connector Appliance con Citrix Cloud per ulteriori informazioni.
Isolamento della rete
-
Azure
In Azure, il CE viene per impostazione predefinita creato con un gruppo di sicurezza di rete (NSG) collegato alla sua NIC se l’entità servizio Azure utilizzata nell’operazione dispone delle autorizzazioni Azure necessarie 1.
- Microsoft.Network/networkSecurityGroups/join/action
- Microsoft.Network/networkSecurityGroups/read
-
Microsoft.Network/networkSecurityGroups/write
Altrimenti le seguenti autorizzazioni nell’ambito della sottoscrizione se non viene utilizzato alcun gruppo di risorse esplicito:
- Microsoft.Network/networkSecurityGroups/delete
- Microsoft.Network/networkSecurityGroups/join/action
- Microsoft.Network/networkSecurityGroups/read
- Microsoft.Network/networkSecurityGroups/write
Questo NSG è configurato per bloccare tutto il traffico in entrata/uscita dal CE ad eccezione di:
- SMB (porta 445) in uscita
- HTTPS (porta 443) in entrata
- quello richiesto per i servizi Azure interni
L’uso dell’NSG può essere forzato impostando la proprietà networkIsolation nella richiesta di processo su true. In questo caso, il processo fallisce se l’entità servizio utilizzata nell’operazione non dispone delle autorizzazioni necessarie. L’uso dell’NSG può essere disabilitato impostando la proprietà networkIsolation su false.
-
AWS
In AWS per ottenere l’isolamento della rete del CE, è possibile creare un gruppo o gruppi di sicurezza di rete che bloccano tutto il traffico indesiderato e quindi nella richiesta di processo, assegnare i gruppi di sicurezza all’istanza CE utilizzando il parametro di richiesta securityGroupIds che accetta un elenco di ID di gruppi di sicurezza come valore.
- Google Cloud
In Google Cloud per ottenere l’isolamento della rete del CE, è possibile creare regole firewall che bloccano tutto il traffico indesiderato e quindi applicare tali regole al CE tramite tag di rete. IPS crea il CE con il tag di rete compositing-engine ed è possibile assegnargli 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 server dell’hypervisor è firmato da un’autorità non attendibile dal CA, è possibile utilizzare due approcci alternativi per risolvere il problema.
- Specificare nella richiesta di processo un certificato Root Certificate Authority aggiuntivo da utilizzare nella verifica del certificato. Questo certificato deve essere la Root Certificate Authority utilizzata per firmare il certificato server dell’hypervisor.
- Specificare nella richiesta di processo l’impronta SHA-1 del certificato server dell’hypervisor. In questo caso la convalida del certificato viene eseguita verificando che l’impronta SHA-1 del certificato restituito dall’hypervisor corrisponda a quella fornita nella richiesta di processo. Questo metodo potrebbe non funzionare se esiste un proxy di intercettazione TLS tra il CE e l’hypervisor.
I parametri di richiesta di processo per quanto sopra, forniti rispettivamente di seguito per ciascuna piattaforma, sono:
- vSphere
- vCenterSslCaCertificate
- vCenterSslFingerprint
- Nutanix
- prismSslCaCertificate
- prismSslFingerprint
- XenServer
- xenSslCaCertificate
- xenSslFingerprint
Vedere la documentazione API di Image Portability Service per ulteriori dettagli.
Gli errori di convalida del certificato possono verificarsi anche quando c’è una mancata corrispondenza tra il nome host del server hypervisor e il nome host nel suo certificato. In questo caso, la corrispondenza del nome host può essere disabilitata impostando il seguente parametro su true nella richiesta di processo:
- vSphere
- vCenterSslNoCheckHostname
- Nutanix
- prismSslNoCheckHostname
- XenServer
- xenSslNoCheckHostname
Documentazione correlata
- Documentazione API di Image Portability Service
- Connector Appliance per i servizi cloud
- Documentazione di Google Cloud
- Account di servizio Google Cloud
- Registrazione e autenticazione delle app di Microsoft Azure
-
Se viene utilizzato un gruppo di risorse esplicito per l’operazione, le seguenti autorizzazioni nell’ambito del gruppo di risorse: ↩