Citrix Virtual Apps and Desktops

Crea un catalogo AWS

In Creare cataloghi di macchine sono descritte le procedure guidate per la creazione di un catalogo di macchine. Le informazioni che seguono riguardano i dettagli specifici degli ambienti di virtualizzazione AWS.

Nota:

Prima di creare un catalogo di AWS, è necessario completare la creazione di una connessione ad AWS. Vedere Connessione ad AWS.

Limitazione

Da Citrix Virtual Apps and Desktops 2203 LTSR e versioni successive, il plug-in MCS AWS effettua una chiamata API AWS DescribeInstanceTypes e, se questa ha esito positivo, MCS utilizza il nome dell’inventario creato dalla risposta API.

Pertanto, quando si esegue l’aggiornamento da CVAD 1912 a 2203 o versione successiva, disabilitare l’autorizzazione DefineInstanceType su AWS, quindi aggiornare il catalogo esistente utilizzando il comando Set-ProvScheme in modo che corrisponda allo schema di denominazione AWS. Quindi, aggiungere nuovamente le autorizzazioni DescribeInstanceType una volta completato l’aggiornamento del catalogo e quando l’offerta del servizio corrisponde allo schema di denominazione AWS.

Impostazioni di rete durante la preparazione dell’immagine

Durante la preparazione dell’immagine, viene creata una macchina virtuale (VM) di preparazione basata sulla macchina virtuale originale. Questa macchina virtuale di preparazione è disconnessa dalla rete. Per disconnettere la rete dalla macchina virtuale di preparazione, viene creato un gruppo di sicurezza di rete per negare tutto il traffico in entrata e in uscita. Questo gruppo di sicurezza di rete persiste e viene riutilizzato. Il nome del gruppo di sicurezza di rete è Citrix.XenDesktop.IsolationGroup-GUID, dove GUID viene generato casualmente.

Configurare la tenancy AWS

AWS offre le seguenti opzioni di tenancy:

  • Tenacy condivisa (il tipo predefinito): più istanze di Amazon EC2 di clienti diversi potrebbero risiedere sullo stesso componente hardware fisico.
  • Tenancy dedicata: le istanze di EC2 vengono eseguite solo su hardware con altre istanze distribuite. Gli altri clienti non utilizzano lo stesso hardware.

È possibile utilizzare MCS per eseguire il provisioning di host AWS dedicati utilizzando PowerShell.

Configurare la tenancy dell’host AWS dedicato utilizzando PowerShell

È possibile creare un catalogo di macchine con tenancy host definita tramite PowerShell.

Un host dedicato Amazon [EC2] è un server fisico con capacità di istanza [EC2] completamente dedicata, che consente di utilizzare licenze software esistenti per socket o per macchina virtuale.

Gli host dedicati hanno un utilizzo preimpostato in base al tipo di istanza. Ad esempio, un singolo host dedicato allocato di tipi di istanza C4 Large è limitato all’esecuzione di 16 istanze. Per ulteriori informazioni, consultare il sito di AWS.

I requisiti per il provisioning sugli host AWS includono:

  • Un’immagine BYOL (Bring Your Own License) importata (AMI). Con host dedicati, utilizzare e gestire le licenze esistenti.
  • Un’allocazione di host dedicati con un utilizzo sufficiente per soddisfare le richieste di provisioning.
  • abilitare il posizionamento automatico.

Per effettuare il provisioning su un host dedicato in AWS tramite PowerShell, utilizzare il cmdlet New-ProvScheme con il parametro TenancyType impostato su Host.

Per ulteriori informazioni, consultare la documentazione per gli sviluppatori Citrix.

Acquisizione delle proprietà della macchina dalle AMI

Quando si crea un catalogo per il provisioning di macchine utilizzando Machine Creation Services (MCS) in AWS, si seleziona un’AMI per rappresentare l’immagine master/golden di quel catalogo. Da tale AMI, MCS utilizza una snapshot del disco. Nelle versioni precedenti, se si voleva avere ruoli o tag sulle macchine si utilizzava la console AWS per impostarli individualmente. Questa funzionalità è abilitata per impostazione predefinita.

Mancia:

Per utilizzare l’acquisizione delle proprietà delle istanze AWS, è necessario disporre di una macchina virtuale associata all’AMI.

Per migliorare questo processo, MCS legge le proprietà dall’istanza da cui è stata presa l’AMI e applica il ruolo di Identity Access Management (IAM) e i tag della macchina alle macchine di cui è stato eseguito il provisioning per un determinato catalogo. Quando si utilizza questa funzione facoltativa, il processo di creazione del catalogo trova l’istanza dell’origine AMI selezionata che legge un insieme limitato di proprietà. Queste proprietà vengono quindi archiviate in un modello di avvio AWS, utilizzato per il provisioning di macchine per quel catalogo. Qualsiasi macchina nel catalogo eredita le proprietà dell’istanza acquisita.

Le proprietà acquisite includono:

  • Ruoli IAM: applicati alle istanze di cui è stato eseguito il provisioning.
  • Tag: applicati alle istanze di cui è stato eseguito il provisioning, il relativo disco e le NIC. Questi tag vengono applicati alle risorse Citrix transitorie, tra cui: bucket e oggetti S3, AMI, snapshot e modelli di avvio.

Mancia:

Il tagging delle risorse Citrix temporanee è facoltativo e può essere configurato tramite la proprietà personalizzata AwsOperationalResourcesTagging.

Acquisire la proprietà dell’istanza AWS

È possibile utilizzare questa funzionalità specificando una proprietà personalizzata, AwsCaptureInstanceProperties, quando si crea uno schema di provisioning per una connessione di hosting AWS:

New-ProvScheme -CustomProperties "AwsCaptureInstanceProperties,true" …<parametri provscheme standard

Per ulteriori informazioni, consultare la documentazione per gli sviluppatori Citrix.

Nota:

La proprietà AwsCaptureInstanceProperties è deprecata. Consigliamo invece di utilizzare i profili macchina per specificare le proprietà della macchina per le VM.

Acquisizione delle proprietà della macchina dai profili della macchina

Quando si crea un catalogo per il provisioning delle macchine AWS tramite MCS, è possibile utilizzare un profilo macchina per preimpostare determinate impostazioni delle proprietà della macchina.

A tale scopo, attenersi alla seguente procedura:

  1. Memorizzare i profili macchina nella stessa zona di disponibilità delle risorse in cui si sta creando questo catalogo.
  2. Nella pagina Modello macchina della procedura guidata di creazione catalogo, seleziona Usa un profilo macchina. Vengono visualizzati i profili macchina che si trovano nella stessa zona disponibile delle risorse selezionate.
  3. Selezionare un profilo macchina in base alle proprie esigenze.

Nota:

Per acquisire le proprietà della macchina è possibile utilizzare un profilo macchina o un’AMI. In Web Studio, quando selezioni Usa un profilo macchina, l’opzione Applica le proprietà del modello macchina alle macchine virtuali viene automaticamente nascosta.

Applicare tag a una risorsa operativa AWS

Quando si crea un catalogo per il provisioning delle macchine in AWS utilizzando MCS, è possibile controllare se applicare il ruolo IAM e le proprietà dei tag a tali macchine. È inoltre possibile controllare se applicare tag delle macchine alle risorse operative.

Un’Amazon Machine Image (AMI) rappresenta un tipo di appliance virtuale utilizzata per creare una macchina virtuale all’interno dell’ambiente Amazon Cloud, comunemente denominato EC2. È possibile utilizzare un’AMI per distribuire servizi che utilizzano l’ambiente EC2. Quando si crea un catalogo per eseguire il provisioning di macchine utilizzando MCS per AWS, selezionare l’AMI che funge da immagine golden per quel catalogo.

Importante:

La creazione di cataloghi mediante l’acquisizione di una proprietà di istanza e di un modello di avvio è necessaria per utilizzare la codifica delle risorse operative.

Per creare un catalogo di AWS, è necessario innanzitutto creare un’AMI per l’istanza in cui si desidera collocare l’immagine golden. MCS legge i tag di quell’istanza e li incorpora nel modello di avvio. I tag del modello di avvio vengono quindi applicati a tutte le risorse Citrix create nell’ambiente AWS, tra cui:

  • Macchine virtuali
  • Dischi delle macchine virtuali
  • Interfacce di rete delle macchine virtuali
  • Bucket S3
  • Oggetti S3
  • Modelli di lancio
  • AMI

Applicare tag a una risorsa operativa

Per utilizzare PowerShell per etichettare le risorse:

  1. Aprire una finestra di PowerShell dall’host DDC.
  2. Eseguire il comando asnp citrix per caricare i moduli PowerShell specifici di Citrix.

Per contrassegnare una risorsa per una VM approvvigionata, utilizzare la nuova proprietà personalizzata AwsOperationalResourcesTagging. La sintassi di questa proprietà è la seguente:

New-ProvScheme -CustomProperties "AwsCaptureInstanceProperties,true; AwsOperationalResourcesTagging,true" …<standard provscheme parameters>

Passaggi successivi

Copia i tag sulle VM

È possibile copiare i tag sulle schede di rete e sui dischi (disco di identità, disco di cache di write back e disco del sistema operativo) specificati nel profilo macchina nelle VM appena create in un catalogo macchine MCS. È possibile specificare questi tag in una qualsiasi delle origini del profilo macchina (istanza VM AWS o versione modello di avvio AWS). Questa funzionalità è applicabile ai cataloghi di macchine e alle VM persistenti e non persistenti.

Nota:

  • Nella console AWS EC2, non è possibile visualizzare i valori Tag Network Interfaces sotto i Launch Template Version Resource Tags. Tuttavia, è possibile eseguire il comando PowerShell aws ec2 describe-launch-template-versions --launch-template-id lt-0bb652503d45dcbcd --versions 12 per visualizzare le specifiche del tag.
  • Se una sorgente di profilo macchina (versione VM o modello di avvio) ha due interfacce di rete (eni-1 ed eni-2), e eni-1 ha tag t1 ed eni-2 ha tag t2, la VM ottiene entrambi i tag delle interfacce di rete.

Creare un catalogo utilizzando un profilo macchina

Quando si crea un catalogo per il provisioning delle macchine utilizzando Machine Creation Services (MCS) in AWS, è ora possibile utilizzare un profilo macchina per acquisire le proprietà hardware da un’istanza EC2 (VM) o da una versione del modello di avvio e applicarle alle macchine di cui è stato effettuato il provisioning. Le proprietà acquisite possono includere, ad esempio, proprietà del volume EBS, tipo di istanza, ottimizzazione EBS e altre configurazioni AWS supportate. Quando si modifica il catalogo, il profilo macchina delle macchine di cui è stato effettuato il provisioning può essere modificato fornendo una macchina virtuale o un modello di avvio diverso.

Nota:

Le proprietà del volume EBS derivano solo dal profilo di una macchina.

Considerazioni importanti

Le considerazioni importanti durante la creazione di un catalogo di macchine MCS sono:

  • Se si aggiungono parametri di proprietà hardware della macchina nei comandi New-ProvScheme e Set-ProvScheme , i valori forniti nei parametri sovrascrivono i valori nel profilo della macchina.
  • Se si imposta AwsCaptureInstanceProperties su true e non si imposta la proprietà MachineProfile , vengono acquisiti solo i ruoli e i tag IAM.
  • Non è possibile impostare contemporaneamente AwsCaptureInstanceProperties e MachineProfile .

    **Nota:

    La proprietà AwsCaptureInstanceProperties è deprecata.

  • È necessario fornire esplicitamente i valori delle seguenti proprietà:

    • TenancyType
    • Gruppo di sicurezza
    • NIC o rete virtuale
  • Puoi abilitare AwsOperationalResourcesTagging solo se abiliti AwsCaptureInstanceProperties o specifichi un profilo macchina.

Le considerazioni importanti dopo la creazione di un catalogo di macchine MCS sono:

  • Solo le nuove macchine virtuali aggiunte al catalogo sono interessate dalla modifica.
  • Non è possibile trasformare un catalogo da basato su profili di macchina in non basato su profili macchina.

Creare un catalogo macchine utilizzando un profilo macchina

Per creare un catalogo di macchine utilizzando un profilo macchina:

  1. Aprire una finestra di PowerShell.
  2. Eseguire il comando asnp citrix* per caricare i moduli PowerShell specifici di Citrix.
  3. Creare un pool di identità se non è già stato creato. Per esempio,

    New-AcctIdentityPool -IdentityPoolName idPool -NamingScheme ms## -Domain abcdf -NamingSchemeType Numerico
    <!--NeedCopy-->
    
  4. Eseguire il comando New-ProvScheme. Per esempio:

    Nuovo-ProvScheme -ProvisioningSchemeName demet-test-1
    -HostingUnitUid aa633238-9xxd-4cf6-80e8-232a758a1xx1
    -IdentityPoolUid 34d5b088-e312-416f-907d-16573xxxxxc4
    -CleanOnBoot
    -MasterImageVM 'XDHyp:\HostingUnits\cvad-test-scalestress\citrix-demet-ami.0 (ami-0ca813xxxxxx061ef).template'
    -MachineProfile 'XdHyp:\HostingUnits\cvad-test-scalestress\us-east-1a.availabilityzone\machine-profile-instance i (i-0xxxxxxxx).vm'
    <!--NeedCopy-->
    
  5. Completare la creazione del catalogo. Per ulteriori informazioni, vedere Citrix PowerShell SDK.

Per aggiornare il profilo macchina su un catalogo di cui inizialmente era stato effettuato il provisioning con un profilo macchina:

  1. Esegui il comando Set-ProvScheme . Per esempio,

    Set-ProvScheme `
    -ProvisioningSchemeUid "<ID" `
    -MachineProfile "XDHyp:\HostingUnits\abc\us-east-1a.availabilityzone\citrix-cvad-machineprofile-instance (i-0xxxxxxxx).vm"
    <!--NeedCopy-->
    

Creare un catalogo con la versione del modello di avvio

È possibile creare un catalogo di macchine MCS con una versione del modello di avvio come input per il profilo macchina. È inoltre possibile aggiornare l’input di un catalogo di profili di macchina da una macchina virtuale a una versione del modello di avvio e da una versione del modello di avvio a una macchina virtuale.

Sulla console AWS EC2, è possibile fornire le informazioni di configurazione dell’istanza di un modello di avvio insieme al numero di versione. Quando si specifica la versione del modello di avvio come input del profilo macchina durante la creazione o l’aggiornamento di un catalogo di macchine, le proprietà di quella versione del modello di avvio vengono copiate nelle VM dei VDA di cui è stato eseguito il provisioning.

Le seguenti proprietà possono essere fornite utilizzando l’input del profilo macchina o esplicitamente come parametri nei comandi New-ProvScheme o Set-ProvScheme. Se vengono forniti nei comandi New-ProvScheme o Set-ProvScheme , hanno la precedenza sui valori del profilo macchina di queste proprietà.

  • Offerta di servizi
  • Reti
  • Gruppi di sicurezza
  • Tipo di tenancy

Nota:

Se l’offerta del servizio non è fornita nel modello di avvio del profilo macchina o come parametro nel comando New-ProvScheme , viene visualizzato un errore appropriato.

Per creare un catalogo utilizzando la versione del modello di avvio come input del profilo macchina:

  1. Aprire una finestra di PowerShell.
  2. Eseguire il comando asnp citrix* per caricare i moduli PowerShell specifici di Citrix.
  3. Ottenere l’elenco delle versioni del modello di avvio di un modello di avvio. Per esempio:

    XDHyp:\HostingUnits\test\test-mp-sard (lt-01xxxxx).launchtemplate> ls | Seleziona FullPath
    <!--NeedCopy-->
    
  4. Creare un pool di identità se non è già stato creato. Per esempio:

    New-AcctIdentityPool `
    -IdentityPoolName "abc11" `
    -NamingScheme "abc1-##" `
    -NamingSchemeType Numerico `
    -Domain "citrix-xxxxxx.local" `
    -ZoneUid "xxxxxxxx" `
    <!--NeedCopy-->
    
  5. Creare uno schema di provisioning con una versione del modello di avvio come input del profilo macchina. Per esempio:

    New-ProvScheme `
    -ProvisioningSchemeName "MPLT1" `
    -HostingUnitUid "c7f71f6a-3f45-4xxx-xxxx-xxxxxxxxxx" `
    -IdentityPoolUid "bf3a6ba2-1f80-4xxx-xxxx-xxxxxxxxx" `
    -MasterImageVM "XDHyp:\HostingUnits\xxxd-ue1a\apollo-non-persistent-vda-win2022 (ami-0axxxxxxxxxxx).template" `
    -CleanOnBoot `
    -MachineProfile "XDHyp:\HostingUnits\xxxx-ue1a\machineprofiletest (lt-01xxxxx).launchtemplate\lt-01xxxxx (1).launchtemplateversion"
    <!--NeedCopy-->
    

    È anche possibile ignorare parametri quali offerta di servizi, gruppi di sicurezza, tenancy e reti. Per esempio:

    New-ProvScheme `
    -ProvisioningSchemeName "MPLT1" `
    -HostingUnitUid " c7f71f6a-3f45-4xxx-xxxx-xxxxxxxxxx" `
    -IdentityPoolUid " bf3a6ba2-1f80-4xxx-xxxx-xxxxxxxxx" `
    -MasterImageVM "XDHyp:\HostingUnits\xxxd-ue1a\apollo-non-persistent-vda-win2022 (ami-0axxxxxxxxxxx).template" `
    -CleanOnBoot `
    -MachineProfile "XDHyp:\HostingUnits\xxxx-ue1a\machineprofiletest (lt-01xxxx).launchtemplate\lt-01xxxx (1).launchtemplateversion" `
    -ServiceOffering "XDHyp:\HostingUnits\xxxd-ue1a\T3 Istanza di grandi dimensioni.serviceoffering"
    <!--NeedCopy-->
    
  6. Registrare lo schema di provisioning come catalogo del broker. Per esempio:

    New-BrokerCatalog -Name "MPLT1" `
    -AllocationType Random `
    -Description "Catalogo profili macchina" `
    -ProvisioningSchemeId fe7df345-244e-4xxxx-xxxxxxxxx `
    -ProvisioningType Mcs `
    -SessionSupport MultiSession `
    -PersistUserChanges Ignora
    <!--NeedCopy-->
    
  7. Completare la creazione del catalogo. Per ulteriori informazioni, vedere Citrix PowerShell SDK

È inoltre possibile aggiornare l’input di un catalogo di profili di macchina da una macchina virtuale a una versione del modello di avvio e da una versione del modello di avvio a una macchina virtuale. Per esempio:

  • Per aggiornare l’input di un catalogo di profili macchina da una macchina virtuale a una versione del modello di avvio:

     Set-ProvScheme -ProvisioningSchemeName "CloudServiceOfferingTest" `
     -MachineProfile "XDHyp:\HostingUnits\xxxx-ue1a\machineprofiletest (lt-0bxxxxxxxxxxxx).launchtemplate\lt-0bxxxxxxxxxxxx (1).launchtemplateversion"
     <!--NeedCopy-->
    
  • Per aggiornare l’input di un catalogo di profili macchina da una versione del modello di avvio a una macchina virtuale:

     Set-ProvScheme -ProvisioningSchemeName "CloudServiceOfferingTest" `
     -MachineProfile "XDHyp:\HostingUnits\sard-ue1a\us-east-1a.availabilityzone\apollo-non-persistent-vda-win2022-2 (i-08xxxxxxxxx).vm"
     <!--NeedCopy-->
    

Filtrare le istanze di VM

Un’istanza AWS EC2 utilizzata come VM con profilo macchina deve essere compatibile affinché il catalogo macchine possa essere creato e funzionare correttamente. Per elencare le istanze AWS EC2 che possono essere utilizzate come VM di input del profilo macchina, è possibile utilizzare il comando Get-HypInventoryItem . Il comando può effettuare il paging e filtrare l’inventario delle VM disponibili su un’unità di hosting.

Paging:

Get-HypInventoryItem supporta due modalità di impaginazione:

  • La modalità di paging utilizza i parametri -MaxRecords e -Skip per restituire set di elementi:
    • -MaxRecords: Il valore predefinito è 1. Questo controlla quanti elementi restituire.
    • -Salta: Il valore predefinito è 0. Questo controlla quanti elementi saltare dall’inizio assoluto (o dalla fine assoluta) dell’elenco nell’hypervisor.
  • La modalità di scorrimento utilizza i parametri -MaxRecords, -ForwardDirectione -ContinuationToken per consentire lo scorrimento dei record:
    • -ForwardDirection: Il valore predefinito è Vero. Viene utilizzato insieme a -MaxRecords per restituire il set successivo di record corrispondenti o il set precedente di record corrispondenti.
    • -ContinuationToken: Restituisce gli elementi immediatamente successivi (o precedenti se ForwardDirection è false) ma escluso l’elemento specificato in ContinuationToken.

Esempi di paging:

  • Per restituire un singolo record del modello di macchina con il nome più basso. Il campo AdditionalData ha TotalItemsCount e TotalFilteredItemsCount:

     Modello Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx-test" -ResourceType
     <!--NeedCopy-->
    
  • Per restituire dieci record del modello di macchina con il nome più basso:

     Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx-test" -ResourceType modello -MaxRecords 10 | seleziona Nome
     <!--NeedCopy-->
    
  • Per restituire una matrice di record che termina con il nome più alto:

     Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx-test" -ResourceType modello -ForwardDirection $False -MaxRecords 10 | seleziona Nome
     <!--NeedCopy-->
    
  • Per restituire un array di record a partire dal modello macchina associato al ContinuationTokenspecificato:

     Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx-test" -ResourceType modello -ContinuationToken "ami-07xxxxxxxxxx" -MaxRecords 10
     <!--NeedCopy-->
    

Filtraggio:

I seguenti parametri opzionali aggiuntivi sono supportati per il filtraggio. È possibile combinare questi parametri con le opzioni di paging.

  • -ContainsName "my_name": Se la stringa specificata corrisponde a parte di un nome AMI, allora l’AMI viene inclusa nel risultato Ottieni . Per esempio:

     Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx-test" -ResourceType modello -MaxRecords 100 -ContainName 'apollo' | seleziona Nome
     <!--NeedCopy-->
    
  • -Tag '{ "Key0": "Value0", "Key1": "Value1", "Key2": "Value2" }': Se un’AMI ha almeno uno di questi tag, viene incluso nel risultato Ottieni . Per esempio:

     Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx-test" -ResourceType template -MaxRecords 100 -Tags '{"opex owner": "Non taggato"}' | select Nome
     <!--NeedCopy-->
    

    Nota:

    Sono supportati due valori di tag. Non taggato Il valore del tag corrisponde agli elementi che non hanno il tag specificato nel loro elenco di tag. Tutti i valori Il valore del tag corrisponde agli elementi che hanno il tag indipendentemente dal valore del tag. Altrimenti, la corrispondenza avviene solo se l’elemento contiene il tag e il valore è uguale a quello indicato nel filtro.

  • -Id "ami-0a2d913927e0352f3": Se l’AMI corrisponde all’ID specificato, viene inclusa nel risultato Ottieni . Per esempio:

     Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx-test" -ResourceType modello -Id ami-xxxxxxxxxxxxx
     <!--NeedCopy-->
    

Filtraggio in base al parametro AdditionalData:

Il parametro filtro AdditionalData elenca modelli o VM in base alla loro capacità, all’offerta di servizi o a qualsiasi proprietà presente in AdditionalData. Per esempio:

(Get-HypInventoryItem -ResourceType "launchtemplateversion" -LiteralPath "XDHyp:\HostingUnits\aws" -MaxRecords 200).AdditionalData
<!--NeedCopy-->

È anche possibile aggiungere un parametro -Warn per indicare le VM incompatibili. Le VM sono incluse con un campo AdditionalData denominato Warning. Per esempio:

(Get-HypInventoryItem -ResourceType "launchtemplateversion" -LiteralPath "XDHyp:\HostingUnits\aws" -MaxRecords 200 -Template "ami-015xxxxxxxxx" -Warn $true).AdditionalData
<!--NeedCopy-->

Ulteriori informazioni