Connessione a istanze gestite di Amazon WorkSpaces Core
Creare e gestire connessioni e risorse descrive le procedure guidate per la creazione di una connessione. Le seguenti informazioni riguardano i dettagli specifici delle istanze gestite di Amazon WorkSpaces Core.
-
Prerequisiti
-
Eseguire le seguenti operazioni prima di creare una connessione alle istanze gestite di Amazon WorkSpaces Core:
- Completare la configurazione di AWS come posizione delle risorse. Vedere Ambienti di virtualizzazione AWS.
- Definire la policy delle autorizzazioni IAM dell’utente o del ruolo IAM affinché Citrix® possa gestire le risorse AWS per suo conto.
- Creare un ruolo collegato al servizio.
Definire le autorizzazioni IAM
Prima di creare una connessione host, è necessario definire correttamente una policy delle autorizzazioni IAM per un utente o un ruolo IAM che conceda a Citrix le autorizzazioni appropriate per il provisioning e la gestione delle risorse nel proprio account AWS per suo conto. Utilizzare le informazioni contenute in questa sezione per definire le autorizzazioni IAM per Citrix DaaS sulle istanze gestite di Amazon WorkSpaces Core. Il servizio IAM di Amazon consente agli account di avere più utenti, che possono essere ulteriormente organizzati in gruppi. Questi utenti possono possedere autorizzazioni diverse per controllare la loro capacità di eseguire operazioni associate all’account. Per ulteriori informazioni sulle autorizzazioni IAM, consultare il riferimento della policy JSON IAM.
Nota:
Poiché Citrix esegue il provisioning e la gestione delle risorse e dell’automazione nel proprio account AWS per suo conto, la configurazione delle policy delle autorizzazioni IAM basate su tag specifici o convenzioni di denominazione delle risorse non è supportata.
Per applicare la policy delle autorizzazioni IAM a un nuovo gruppo di utenti:
- Accedere alla console di gestione AWS e selezionare il servizio IAM dall’elenco a discesa.
- Selezionare Create a New Group of Users (Crea un nuovo gruppo di utenti).
- Digitare un nome per il nuovo gruppo di utenti e selezionare Continue (Continua).
- Nella pagina Permissions (Autorizzazioni), scegliere Custom Policy (Policy personalizzata).
- Digitare un nome per la Permissions policy (Policy delle autorizzazioni).
- Nella sezione Policy Document (Documento della policy), immettere le autorizzazioni pertinenti.
Dopo aver immesso le informazioni sulla policy, selezionare Continue (Continua) per completare l’applicazione della policy delle autorizzazioni IAM al gruppo di utenti. Agli utenti del gruppo vengono concesse le autorizzazioni per eseguire solo le azioni richieste per Citrix DaaS.
Importante:
Utilizzare il testo della policy fornito nell’esempio presente in questo articolo per elencare le azioni che un Citrix DaaS utilizza per eseguire azioni all’interno di un account AWS senza limitare tali azioni a risorse specifiche. Citrix consiglia di utilizzare l’esempio a scopo di test. Per gli ambienti di produzione, si potrebbe scegliere di aggiungere ulteriori restrizioni sulle risorse.
Aggiungere autorizzazioni IAM
Aggiungere le autorizzazioni nella sezione IAM della console di gestione AWS:
- Nel pannello Summary (Riepilogo), selezionare la scheda Permissions (Autorizzazioni).
-
- Selezionare Add permissions (Aggiungi autorizzazioni).
-
- Nella schermata Add Permissions to (Aggiungi autorizzazioni a), concedere le autorizzazioni.
- Nella sezione JSON, includere le autorizzazioni AWS richieste per il proprio ambiente.
Creare un ruolo collegato al servizio
Per ciascuno dei propri account AWS da cui Citrix chiamerà le API Core V2, creare un ruolo collegato al servizio (SLR).
I passaggi per creare il ruolo:
- Aprire un’interfaccia a riga di comando (CLI) nella console di gestione AWS.
-
Eseguire il seguente comando nella CLI:
aws iam create-service-linked-role --aws-service-name workspaces-instances.amazonaws.com <!--NeedCopy-->
È anche possibile configurare il ruolo collegato al servizio utilizzando la console di gestione di Amazon WorkSpaces Core. Vedere Creazione di un ruolo collegato al servizio (console).
Creare una connessione
È possibile creare una connessione alle istanze gestite di Amazon WorkSpaces Core utilizzando:
- Studio
-
Nota:
-
-
Controllare le restrizioni del server proxy o del firewall e assicurarsi che i seguenti indirizzi siano raggiungibili:
https://*.amazonaws.comehttps://*.api.aws. Inoltre, assicurarsi che tutti gli indirizzi menzionati in Connettività del servizio Citrix Gateway siano raggiungibili. -
-
Se questi non sono raggiungibili, potrebbe causare un errore durante la creazione o l’aggiornamento della connessione host.
-
Creare una connessione utilizzando Studio
- Accedere alla pagina Hosting > Aggiungi connessione e risorse.
-
Nella pagina Connessione, seguire questi passaggi per configurare la connessione:
- Selezionare Crea una nuova connessione.
- In Zona, selezionare la posizione delle risorse configurata per l’ambiente AWS.
- Selezionare Amazon WorkSpaces Core come tipo di connessione.
-
Selezionare Usa chiave di accesso utente IAM o Usa ruolo IAM.
Per la chiave di accesso utente IAM, fornire la propria chiave API e la chiave segreta per l’utente IAM che dispone della policy di autorizzazioni IAM appropriata affinché Citrix possa gestire le risorse nel proprio account AWS.
Per il ruolo IAM, assicurarsi di aver assegnato un ruolo IAM all’istanza di Citrix Cloud Connector con la policy di autorizzazioni IAM appropriata affinché Citrix possa gestire le risorse nel proprio account AWS. Vedere la guida all’autenticazione basata sui ruoli per maggiori informazioni.
- Per instradare le richieste API ad AWS tramite i Citrix Cloud Connector, selezionare la casella di controllo Usa il proxy di sistema sui Citrix Cloud Connector. Ciò garantisce che la connettività AWS funzioni correttamente quando i Cloud Connector non hanno accesso diretto a Internet.
- Immettere un nome per la connessione e fare clic su Avanti.
- Nella pagina Posizione macchina virtuale, specificare la posizione in cui devono essere sottoposte a provisioning le VM. Selezionare la regione cloud, il VPC e la zona di disponibilità (o zona locale) per la creazione di nuove VM.
-
Nella pagina Rete:
- Immettere un nome per le risorse selezionate in precedenza nella zona di disponibilità (o zona locale).
- Selezionare una o più sottoreti nel VPC configurato nel menu precedente.
- Fare clic sulle pagine rimanenti fino alla pagina Riepilogo.
- Fare clic su Fine per creare la connessione host alle istanze gestite di Amazon WorkSpaces Core.
Considerazioni importanti
Quando si crea una connessione tramite Studio:
- Definire le autorizzazioni IAM appropriate affinché Citrix possa gestire le risorse AWS.
- Se si utilizza una chiave di accesso utente IAM affinché Citrix possa gestire le risorse AWS, è necessario fornire i valori della chiave API e della chiave segreta. È possibile esportare il file della chiave contenente tali valori da AWS e quindi importarli. È inoltre necessario fornire la regione, la zona di disponibilità, il nome VPC, gli indirizzi di sottorete, il nome di dominio, i nomi dei gruppi di sicurezza e le credenziali.
- Se si utilizza un ruolo IAM affinché Citrix possa gestire le risorse AWS, è necessario assicurarsi di assegnare un ruolo con le autorizzazioni IAM appropriate a tutti i Cloud Connector. Guida all’autenticazione basata sui ruoli per maggiori informazioni.
- Il file delle credenziali per l’account AWS root (recuperato dalla console AWS) non è formattato allo stesso modo dei file delle credenziali scaricati per gli utenti AWS standard. Pertanto, Citrix DaaS non può utilizzare il file per popolare i campi della chiave API e della chiave segreta. Assicurarsi di utilizzare i file delle credenziali di AWS Identity Access Management (IAM).
- La zona può essere una zona di disponibilità o una zona locale.
Creare una connessione tramite PowerShell
- Aprire una finestra di PowerShell.
- Eseguire
asnp citrix*per caricare i moduli PowerShell specifici di Citrix. -
Eseguire i seguenti comandi. Di seguito è riportato un esempio:
$connectionName = "demo-hostingconnection" $cloudRegion = "us-east-1" $apiKey = "aaaaaaaaaaaaaaaaaaaa" $apiSecret = “bbbbb” $secureKey = ConvertTo-SecureString -String $apiSecret $zoneUid = "00000000-0000-0000-0000-000000000000" $connectionPath = "XDHyp:\Connections\" + $connectionName $connection = New-Item -Path $connectionPath -ConnectionType "AmazonWorkSpacesCoreMachineManagerFactory" -HypervisorAddress " "https://workspaces-instances.$($cloudRegion).api.aws"" -Persist -Scope @() -UserName $apiKey -SecurePassword $secureKey -ZoneUid $zoneUid New-BrokerHypervisorConnection -HypHypervisorConnectionUid $connection.HypervisorConnectionUid $hostingUnitName = "demo-hostingunit" $availabilityzone = "us-east-1a" $vpcName = "Default VPC" $jobGroup = [Guid]::NewGuid() $hostingUnitPath = "XDHyp:\HostingUnits\" + $HostingUnitName $rootPath = $connectionPath + "\" + $vpcName + ".virtualprivatecloud\" $availabilityZonePath = @($rootPath + $availabilityzone + ".availabilityzone") $networkPaths = (Get-ChildItem $availabilityZonePath[0] | Where ObjectType -eq "Network") | Select-Object -ExpandProperty FullPath # will select all the networks in the availability zone New-Item -Path $hostingUnitPath -AvailabilityZonePath $availabilityZonePath -HypervisorConnectionName $connectionName -JobGroup $jobGroup -PersonalvDiskStoragePath @() -RootPath $rootPath -NetworkPath $networkPaths <!--NeedCopy-->
Nota:
Per creare una connessione utilizzando l’autenticazione basata sui ruoli, specificare apiKey e apiSecret come
role_based_auth.
Limitazione
- Se si modifica il nome di un AWS Virtual Private Cloud (VPC) nella console AWS, l’unità di hosting esistente in Citrix Cloud™ si interrompe. Quando l’unità di hosting è interrotta, non è possibile creare cataloghi o aggiungere macchine ai cataloghi esistenti. Per risolvere il problema, modificare il nome del VPC AWS riportandolo al nome originale.
Creare un ambiente sicuro per il traffico gestito da AWS
Se si dispone di un proxy configurato sui Cloud Connector, è necessario creare la connessione host per utilizzare il proxy in modo che le chiamate API effettuate da MCS vengano instradate correttamente tramite il proxy. MCS consente al traffico di rete (chiamate API da Citrix Cloud all’hypervisor AWS) di essere instradato tramite i Cloud Connector nel proprio ambiente.
- La connessione host può leggere il valore del proxy di sistema WinHTTP configurato durante l'installazione del Cloud Connector. È possibile configurare il proxy utilizzando [Studio](#create-a-connection-using-studio) o impostando la proprietà personalizzata `UseSystemProxyForHypervisorTrafficOnConnectors` su `True` durante la creazione o l'aggiornamento di una connessione host tramite PowerShell.
Nota:
Se l’ambiente utilizza un proxy, assicurarsi che l’ispezione SSL sia disabilitata o che la connessione SSL rimanga inalterata per https://workspaces-instances.*.api.aws/.
Creare una connessione host configurata con il proxy
- 1. Aprire una finestra di PowerShell.
- 1. Eseguire `asnp citrix*` per caricare i moduli PowerShell specifici di Citrix.
-
Eseguire i comandi PowerShell per configurare il proxy. Ad esempio:
$connectionName = "demo-hostingconnection" $cloudRegion = "us-east-1" $apiKey = "aaaaaaaaaaaaaaaaaaaa" $zoneUid = "00000000-0000-0000-0000-000000000000" $securePassword = Read-Host 'Please enter your secret key' -AsSecureString $connectionPath = "XDHyp:\Connections\" + $connectionName $customProperties = @" <CustomProperties xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.citrix.com/2014/xd/machinecreation"> <Property xsi:type="StringProperty" Name="UseSystemProxyForHypervisorTrafficOnConnectors" Value="True" /> </CustomProperties> "@ <!--NeedCopy--> -
Creare una connessione di hosting. Ad esempio:
$connection = New-Item -Path $connectionPath ` -ConnectionType "Custom" -PluginId "AmazonWorkSpacesCoreMachineManagerFactory" ` -HypervisorAddress "<https://workspaces-instances.$($cloudRegion).api.aws>" ` -CustomProperties> $customProperties ` -Persist -Scope @()` -UserName $apiKey -SecurePassword $securePassword ` -ZoneUid $zoneUid New-BrokerHypervisorConnection -HypHypervisorConnectionUid $connection.HypervisorConnectionUid <!--NeedCopy-->
Per abilitare il proxy per una connessione host esistente, vedere Abilitare il proxy su una connessione esistente.
Provisioning tra account
Esistono casi d’uso in cui i Cloud Connector potrebbero essere posizionati in un account AWS separato (account di servizi condivisi o account di componenti del sito) con ruoli IAM che hanno accesso tra account (ruolo IAM tra account) e cataloghi di macchine con provisioning MCS in un account AWS secondario separato (account di carichi di lavoro), senza la necessità di Cloud Connector aggiuntivi negli account separati. Per supportare tali scenari, questa funzionalità utilizza il peering VPC e l’accesso tra account tramite ruoli IAM per rendere possibile il provisioning tra diversi account AWS per le aziende che gestiscono più account AWS.
Con il peering VPC, è possibile che il Cloud Connector e le VM con provisioning in diverse regioni o account possano comunicare tra loro.
Con l’accesso tra account tramite ruoli IAM, si consente all’account primario (account Cloud Connector) di assumere un ruolo IAM per accedere alle risorse AWS nell’account secondario (VM del catalogo macchine).
- Per consentire al Cloud Connector di accedere alle risorse dell'account secondario, creare una connessione host dopo aver assunto il ruolo IAM dall'account secondario.
- ### Prerequisiti
Configurare quanto segue prima di creare una connessione host per il provisioning tra account:
- Configurare il peering VPC e configurare i gruppi di sicurezza in entrambe le regioni o account. Vedere Configurare il peering VPC.
- Delegare l’accesso tra account utilizzando i ruoli IAM. Vedere Delegare l’accesso tra account utilizzando il ruolo IAM.
Configurare il peering VPC
- Supponiamo che il VPC A si trovi nell'account primario (Account A) e che contenga i Cloud Connector e Active Directory. Il VPC B si trova nell'account secondario (Account B) dove si desidera eseguire il provisioning delle VM.
- Per configurare una connessione di peering VPC tra l'Account A e l'Account B, eseguire le seguenti operazioni:
-
Creare una connessione di peering VPC. Vedere:
- Accedere alla VPC A e alla tabella di routing associata alla sottorete pubblica.
- Fare clic su Edit Routes > Add route (Modifica route > Aggiungi route). Aggiungere il blocco CIDR della VPC B nella colonna Destination e il peering VPC creato nella colonna Target.
- Ripetere i passaggi 2 e 3, ma con le sottoreti private per la VPC A e la VPC B (aggiungere il blocco CIDR della VPC A). Vedere Aggiornare le tabelle di routing per una connessione di peering VPC.
- Accedere al gruppo di sicurezza privato associato alla VPC A.
- Selezionare Actions (Azioni), quindi Edit inbound rules (Modifica regole in entrata).
-
Selezionare Add rule (Aggiungi regola). Per il tipo, selezionare All Traffic (Tutto il traffico), quindi nella Source Column (Colonna di origine) aggiungere:
- Se si tratta di una regione diversa, aggiungere il blocco CIDR della VPC B.
- Se si tratta di un account diverso ma della stessa regione, aggiungere l’ID dell’account e l’ID del gruppo di sicurezza privato della VPC B separati da una barra (Esempio: 123456789012/sg-1a2b3c4d)
- Ripetere i passaggi da 5 a 7, ma con il gruppo di sicurezza privato per la VPC B (aggiungendo però il blocco CIDR della VPC A o l’ID dell’account della VPC A e l’ID del gruppo di sicurezza privato della stessa regione, ma di un account diverso). Vedere Aggiornare i gruppi di sicurezza per fare riferimento ai gruppi di sicurezza peer.
Nota:
Non è previsto alcun costo per la creazione di una connessione di peering VPC. Tuttavia, mentre il peering VPC all’interno di una zona di disponibilità è gratuito, si applicano costi quando il trasferimento di dati tramite una connessione di peering VPC avviene tra più zone di disponibilità e regioni. Vedere Prezzi per una connessione di peering VPC.
Delegare l’accesso tra account utilizzando i ruoli IAM
Dopo aver configurato il peering VPC tra account, è possibile delegare l’accesso tra account utilizzando i ruoli IAM.
Con l’accesso tra account tramite ruoli IAM, si consente all’account primario (account Cloud Connector) di assumere un ruolo IAM per accedere alle risorse AWS nell’account secondario (VM del catalogo macchine).
- Per accedere alle risorse tra account, procedere come segue:
Ricorda:
Si presume che la VPC A si trovi nell’account primario (Account A) e contenga il Cloud Connector e Active Directory. La VPC B si trova nell’account secondario (Account B) in cui si desidera eseguire il provisioning delle VM.
- Configurare il peering VPC tra account con i passaggi menzionati in precedenza.
-
- Creare un ruolo e una policy IAM nell’Account B con autorizzazioni IAM Citrix minime. Vedere Tutorial IAM: Delegare l’accesso tra account AWS utilizzando i ruoli IAM. Si supponga che l’ARN di questo ruolo sia “arn:aws:iam::5678:role/citrix-role”.
- Aggiungere la policy di attendibilità al ruolo “arn:aws:iam::5678:role/citrix-role” in modo che possa essere accessibile dal ruolo dell’Account A “arn:aws:iam::1234:role/primary-account-citrix-role” come indicato in - Accesso alle risorse tra account in IAM.
- Creare il ruolo e la policy IAM nell’Account A con il nome menzionato in precedenza “primary-account-citrix role”, che può assumere il ruolo IAM e passare il ruolo IAM dall’Account B (arn:aws:iam::5678:role/citrix-role).
- Assegnare il ruolo “arn:aws:iam::1234:role/primary-account-citrix-role” a tutti i Cloud Connector nell’Account A.
I Cloud Connector possono ora assumere il ruolo dall’Account B (“arn:aws:iam::5678:role/citrix-role”).
-
Creare una connessione host per il provisioning tra account
- Creare una connessione host nell’account secondario (Account B) in cui si desidera eseguire il provisioning delle VM. Ciò consente ai Cloud Connector dell’Account A di accedere alle risorse nell’Account B dopo aver assunto il ruolo dall’Account B.
Utilizzare i comandi PowerShell per creare la connessione host e aggiungere le due proprietà personalizzate seguenti:
- `CrossAccountRoleArn`: Se non si fornisce la proprietà `CrossAccountRoleArn`, viene creata la connessione host regolare. In questo caso, `MaximumAssumeRoleDurationInSeconds` viene ignorato anche se fornito.
- `MaximumAssumeRoleDurationInSeconds`: `DurationInSeconds` deve essere compreso tra 900 e 3600 secondi. Il valore predefinito è 900 secondi. Se si fornisce un valore superiore a 3600, `DurationInSeconds` viene impostato su 3600.
Esempio:
$connectionName = "cross-account-conn"
$cloudRegion = "us-east-1"
$apiKey = "role_based_auth"
$secretKey = "role_based_auth"
$zoneUid = "xxxxxx"
$secureKey = (ConvertTo-SecureString -String $secretKey -AsPlainText -Force)
$connectionPath = "XDHyp:\Connections\" + $connectionName
$customProperties = '<CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <Property xsi:type="StringProperty" Name="CrossAccountRoleArn" Value="arn:aws:iam::5678:role/citrix-role" /><Property xsi:type="StringProperty" Name="MaximumAssumeRoleDurationInSeconds" Value="3600" />
- "</CustomProperties>'
$connection = New-Item -Path $connectionPath -ConnectionType "AmazonWorkSpacesCoreMachineManagerFactory" -HypervisorAddress "https://workspaces-instances.$($cloudRegion).api.aws" -Persist -Scope @() -UserName $apiKey -SecurePassword $secureKey -ZoneUid $zoneUid -CustomProperties $customProperties
New-BrokerHypervisorConnection -HypHypervisorConnectionUid $connection.HypervisorConnectionUid
<!--NeedCopy-->
- Dopo aver creato la connessione host, creare unità di hosting utilizzando Studio o PowerShell. Tuttavia, selezionare VPC e Reti.
- ## Bypassare i Cloud Connector per le richieste API AWS
Negli ambienti Amazon WorkSpaces Core Managed Instance (MI), il plug-in Citrix Machine Creation Services (MCS) risiede in genere sul Delivery Controller e instrada le richieste API AWS tramite il Citrix Cloud Connector tramite un proxy.
È possibile configurare le connessioni host per bypassare il Cloud Connector per le richieste API AWS. Quando questa funzionalità è abilitata, il plug-in effettua chiamate API, incluse quelle per il provisioning e la gestione dell’alimentazione, direttamente dal DDC ai servizi AWS (come Amazon EC2, EBS e istanze WorkSpaces), eliminando la dipendenza dal passaggio tramite Cloud Connector tramite un proxy.
Vantaggi
- Ridurre la dipendenza delle chiamate API AWS dai Cloud Connector: la rimozione della dipendenza delle API AWS dal Cloud Connector è un passo fondamentale per i clienti che mirano a ridurre l’ingombro della propria infrastruttura on-premise o cloud.
- Consumo ridotto di risorse: un minor traffico attraverso il Cloud Connector riduce i requisiti di calcolo per la VM del Connector, portando potenzialmente a risparmi sui costi.
- Flessibilità operativa: offre una maggiore disponibilità eliminando un potenziale punto di errore (il percorso proxy Cloud Connector/NGS) per le attività critiche di gestione dell’alimentazione e provisioning.
Limitazioni e considerazioni
Prima di abilitare questa funzionalità, considerare i seguenti requisiti e limitazioni:
- Autenticazione: l’autenticazione basata sui ruoli (ruoli IAM) non è supportata quando si bypassa il Cloud Connector. È necessario configurare l’impostazione solo per le chiavi di accesso utente IAM.
- Ambito dell’ambiente: questa funzionalità è esclusiva per le istanze gestite (MI) di Amazon WorkSpaces Core. Non è supportata per le connessioni host AWS EC2 standard.
- Requisiti di rete: il DDC deve avere un percorso di rete diretto agli endpoint del servizio AWS.
- Integrità della posizione delle risorse: se un Cloud Connector è stato originariamente sottoposto a provisioning nella posizione delle risorse, deve rimanere acceso. I componenti non MCS e i controlli di integrità si basano ancora sul Cloud Connector, se presente.
- Funzionalità non supportate:
- Provisioning tra account
- Utilizzo del proxy di sistema
- Requisiti del Connector: sebbene questa funzionalità rimuova la dipendenza dalle API, sono necessarie altre configurazioni per ridurre le dipendenze dai Cloud Connector (i requisiti per i Cloud Connector potrebbero non essere limitati a quelli elencati qui):
- Adesione al dominio: utilizzo di macchine non unite al dominio o unite in modalità ibrida a Microsoft Entra.
- Registrazione VDA: abilitazione di Rendezvous V2 (comunicazione diretta DDC-VDA tramite WebSockets) per la registrazione VDA.
Creare una connessione host con bypass API
Quando si crea una connessione host in Configurazione completa (Studio), è ora possibile selezionare le posizioni delle risorse Amazon WorkSpaces Core anche se non sono presenti Cloud Connector in quella posizione.
Per abilitare il bypass tramite PowerShell, utilizzare la proprietà personalizzata BypassConnectorForAwsApiRequests.
Esempio PowerShell:
$custProp = '<CustomProperties xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.citrix.com/2014/xd/machinecreation">
<Property xsi:type="StringProperty" Name="BypassConnectorForAwsApiRequests" Value="true" />
</CustomProperties>'
$connectionName = "MyWSCConnection"
$cloudRegion = "us-east-1"
$apiKey = "YOUR_IAM_ACCESS_KEY"
$zoneUid = (Get-ConfigZone | Where-Object {$_.Name -eq "MyResourceLocation"}).Uid
$securePassword = Read-Host 'Enter your IAM Secret Key' -AsSecureString
$connectionPath = "XDHyp:\Connections\" + $connectionName
$connection = New-Item -Path $connectionPath `
-ConnectionType "Custom" `
-PluginId "AmazonWorkSpacesCoreMachineManagerFactory" `
-HypervisorAddress "https://workspaces-instances.$($cloudRegion).api.aws" `
-Persist -Scope @() `
-CustomProperties $custProp `
-UserName $apiKey -SecurePassword $securePassword `
-ZoneUid $zoneUid
New-BrokerHypervisorConnection -HypHypervisorConnectionUid $connection.HypervisorConnectionUid
<!--NeedCopy-->
Gestire le connessioni esistenti
È possibile abilitare o disabilitare la funzionalità di bypass per le connessioni host esistenti.
- Abilitazione su connessioni esistenti: È possibile modificare le proprietà personalizzate di una connessione esistente per includere
BypassConnectorForAwsApiRequests = true. - Disabilitazione: Se disabilitato, il DDC riprende l’instradamento delle chiamate API AWS tramite il Cloud Connector attraverso il proxy NGS. Si noti che ciò richiede che un Cloud Connector funzionale e un percorso proxy NGS siano disponibili nella posizione della risorsa.
Risoluzione dei problemi
Se si tenta di abilitare la proprietà di bypass in condizioni non supportate, il sistema restituisce un errore di convalida:
-
Ruoli IAM/Account incrociati/Proxy: Se abilitato insieme a ruoli IAM, provisioning tra account o proxy di sistema, il comando
New-Itemha esito negativo con:AmazonWorkSpacesCoreException: Bypassing the Cloud Connector For AWS API requests is not supported for IAM roles, Cross-Account provisioning and System Proxy. <!--NeedCopy--> -
Tipo di connessione non supportato: Se applicato a una connessione Amazon EC2 (AWS) standard, il sistema ha esito negativo con:
AmazonWorkSpacesCoreException: Bypassing the Cloud Connector For AWS API requests is not supported for EC2 host connection. <!--NeedCopy-->
Modificare una connessione
È possibile modificare una connessione host esistente per:
- Modificare l’opzione per fornire le autorizzazioni IAM a Citrix per la gestione delle risorse
- Modificare il numero massimo di azioni simultanee (o macchine concorrenti) per connessione di hosting
- Modificare l’ambito.
- Configurare il numero massimo di gruppi di sicurezza consentiti per interfaccia di rete elastica (ENI) utilizzando il comando PowerShell
- Abilitare il proxy per creare un ambiente sicuro per il traffico gestito da AWS
Modificare le opzioni per fornire le autorizzazioni IAM
- Fare clic con il pulsante destro del mouse su una connessione Amazon WorkSpaces Core esistente.
- Nella pagina Connection Properties (Proprietà connessione), fare clic su Edit settings (Modifica impostazioni).
- Selezionare una delle opzioni per fornire le autorizzazioni IAM a Citrix per la gestione delle risorse. Immettere i dettagli richiesti e fare clic su Save (Salva).
Modificare il numero massimo di azioni simultanee
Quando si creano connessioni host in Studio per le istanze gestite di Amazon WorkSpaces Core, vengono visualizzati i seguenti valori predefiniti:
| Opzione | Assoluto | Percentuale |
|---|---|---|
| Azioni simultanee (tutti i tipi) | 125 | 100 |
| Numero massimo di nuove azioni al minuto | 150 | n/d |
| Numero massimo di operazioni di provisioning simultanee | 150 | n/d |
MCS supporta 150 operazioni di provisioning simultanee massime per impostazione predefinita.
È possibile configurare questi valori accedendo alla sezione Advanced (Avanzate) di Citrix Studio nella schermata Edit Connection (Modifica connessione):
In alternativa, è possibile utilizzare l’SDK PowerShell remoto per impostare il numero massimo di operazioni simultanee per le impostazioni ottimali in base al proprio ambiente.
Utilizzare la proprietà personalizzata di PowerShell, MaximumConcurrentProvisioningOperations, per specificare il numero massimo di operazioni di provisioning AWS simultanee.
Prima della configurazione:
- Assicurarsi di aver installato l’SDK PowerShell per il cloud.
- Comprendere che il valore predefinito per
MaximumConcurrentProvisioningOperationsè 150.
Eseguire i passaggi seguenti per personalizzare il valore di MaximumConcurrentProvisioningOperations:
- Aprire una finestra PowerShell.
- Eseguire
asnp citrix*per caricare i moduli PowerShell specifici di Citrix. - Immettere
cd xdhyp:\Connections\. - Immettere
dirper elencare le connessioni. -
Modificare o inizializzare la stringa delle proprietà personalizzate:
-
Se la stringa delle proprietà personalizzate ha un valore, copiare le proprietà personalizzate in Blocco note. Quindi, modificare la proprietà
MaximumConcurrentProvisioningOperationscon il valore preferito. È possibile immettere un valore compreso tra 1 e 1000. Ad esempio,<Property xsi:type="IntProperty" Name="MaximumConcurrentProvisioningOperations" Value="xyz"/>. -
Se la stringa delle proprietà personalizzate è vuota o null, è necessario inizializzare la stringa immettendo la sintassi corretta sia per lo schema che per la proprietà
MaximumConcurrentProvisioningOperations.
-
-
Nella finestra PowerShell, incollare le proprietà personalizzate modificate da Blocco note e assegnare una variabile alle proprietà personalizzate modificate. Se sono state inizializzate le proprietà personalizzate, aggiungere le seguenti righe dopo la sintassi:
$customProperties = '<CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><Property xsi:type="IntProperty" Name="MaximumConcurrentProvisioningOperations" Value="100"/></CustomProperties>' <!--NeedCopy-->Questa stringa imposta la proprietà
MaximumConcurrentProvisioningOperationssu 100. Nella stringa delle proprietà personalizzate, è necessario impostare la proprietàMaximumConcurrentProvisioningOperationssu un valore che si allinei alle proprie esigenze. - Immettere
Get-XDAuthentication, che richiede le credenziali. - Eseguire
$cred = Get-Credential, che potrebbe richiedere solo una password (o un nome utente e una password). Potrebbe anche essere richiesto l’ID dell’applicazione e il segreto associato. Per le connessioni che utilizzano l’autenticazione basata sui ruoli, role_based_auth è sia il nome utente che la password. In caso contrario, immettere l’ID API AWS e il segreto. - Eseguire
set-item -PSPath 'XDHyp:\Connections<connection-name>' -CustomProperties $customProperties -username $cred.username -Securepassword $cred.password. È necessario impostare<connection-name>sul nome della connessione. - Immettere
dirper verificare la stringaCustomPropertiesaggiornata.
Configurare i gruppi di sicurezza per interfaccia di rete
Quando si modifica una connessione host, è ora possibile configurare il numero massimo di gruppi di sicurezza consentiti per interfaccia di rete elastica (ENI) utilizzando un comando PowerShell. Per informazioni sui valori di quota dei gruppi di sicurezza AWS, consultare Gruppi di sicurezza.
Per configurare i gruppi di sicurezza per interfaccia di rete:
- Aprire una finestra PowerShell.
- Eseguire
asnp citrix*per caricare i moduli PowerShell specifici di Citrix. - Eseguire
cd xdhyp:\Connections\. - Eseguire
dirper elencare le connessioni. -
Eseguire il seguente comando PowerShell per configurare i gruppi di sicurezza per interfaccia di rete:
Set-HypHypervisorConnectionMetadata -HypervisorConnectionName aws -Name "Citrix_MachineManagement_Options" -Value " AwsMaxENISecurityGroupLimit=<number>" <!--NeedCopy-->Nota:
Se non si imposta un valore per
AwsMaxENISecurityGroupLimit, verrà utilizzato il valore predefinito di 5.
Abilitare il proxy su una connessione esistente
- Aprire una finestra PowerShell.
-
Eseguire i seguenti comandi.
Add-PSSnapin citrix*. cd XDHyp:\Connections\ dir <!--NeedCopy--> - Copiare le
CustomPropertiesdalla connessione in un blocco note e aggiungere l’impostazione della proprietà<Property xsi:type="StringProperty" Name="UseSystemProxyForHypervisorTrafficOnConnectors" Value="True" />alleCustomPropertiesper abilitare il proxy. -
Nella finestra PowerShell, assegnare una variabile alle proprietà personalizzate modificate. Ad esempio:
$customProperty = '<CustomProperties xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.citrix.com/2014/xd/machinecreation"> <Property xsi:type="StringProperty" Name="UseSystemProxyForHypervisorTrafficOnConnectors" Value="True" /> </CustomProperties>' <!--NeedCopy--> - Immettere
Get-XDAuthentication, che richiede le credenziali. -
Eseguire
$cred = Get-Credential, che potrebbe richiedere solo una password (o un nome utente e una password). Potrebbe anche essere richiesto l’ID dell’applicazione e il segreto associato. Per le connessioni che utilizzano l’autenticazione basata sui ruoli,role_based_authè sia il nome utente che la password. In caso contrario, immettere l’ID API AWS e il segreto. - Eseguire
set-item -PSPath 'XDHyp:\Connections<connection-name>' -CustomProperties $customProperties -username $cred.username -Securepassword $cred.password. È necessario impostare<connection-name>sul nome della connessione. - Immettere
dirper verificare la stringaCustomPropertiesaggiornata.
URL dell’endpoint del servizio
URL dell’endpoint del servizio di zona standard
Quando si utilizza MCS, viene aggiunta una nuova connessione Amazon WorkSpaces Core Managed Instances con una chiave API e un segreto API. Con queste informazioni, insieme all’account autenticato, MCS interroga AWS per le regioni e le zone supportate utilizzando le chiamate API AWS EC2 e Amazon WorkSpaces Core Managed Instances. La query viene effettuata utilizzando un URL dell’endpoint del servizio Workspace Instances https://workspaces-instances.us-east-1.api.aws/ e un endpoint del servizio EC2 https:/ec2.us-east-1.api.aws/.
> **Nota:**
>
> Assicurarsi che <https://workspaces-instances.us-east-1.api.aws/> sia raggiungibile.
-
URL dell’endpoint del servizio non standard
-
Possono esserci situazioni in cui potrebbe non essere necessario l’URL dell’endpoint del servizio AWS scelto automaticamente per la connessione. In questi casi, è possibile utilizzare Citrix Cloud SDK e PowerShell per creare una connessione con un URL dell’endpoint del servizio non standard. Ad esempio, per creare una connessione utilizzando l’URL dell’endpoint del servizio
https://ec2.cn-north-1.amazonaws.com.cn: -
- Configurare il Cloud Connector ospitato su AWS e assicurarsi che abbia connettività.
-
- Eseguire i seguenti comandi PowerShell per visualizzare l’elenco dei Cloud Connector.
PS C:\> asnp citrix.* PS C:\> Get-XDAuthentication PS C:\> Get-ConfigEdgeServer <!--NeedCopy-->
-
Trovare il ZoneUid dal Cloud Connector appena creato e inserirlo nei seguenti comandi PowerShell. Sostituire gli elementi in corsivo con i rispettivi valori.
PS C:\> $hyp= New-Item -Path xdhyp:\Connections -ZoneUid ZoneUid -Name “My New Connection” -ConnectionType "Custom" -HypervisorAddress @("https://workspaces-instances.$($cloudRegion).api.aws")-PluginId "AmazonWorkSpacesCoreMachineManagerFactory" -UserName “APIkey” -Password “API Secret” -Persist PS C:\> New-BrokerHypervisorConnection -HypHypervisorConnectionUid $hyp. HypervisorConnectionUid <!--NeedCopy--> - Aggiornare la scheda Hosting per verificare che la connessione sia stata creata.
- Aggiungere una posizione risorsa utilizzando la nuova connessione.
Autorizzazioni AWS richieste
Questa sezione contiene l’elenco completo delle autorizzazioni AWS. Utilizzare il set completo di autorizzazioni come indicato nella sezione affinché la funzionalità funzioni correttamente.
> **Nota:**
>
> L'autorizzazione `iam:PassRole` è necessaria solo per l'utilizzo dei ruoli IAM affinché Citrix possa gestire le risorse.
Creazione di una connessione host
Una nuova connessione host viene aggiunta utilizzando le informazioni ottenute da AWS.
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"ec2:DescribeAvailabilityZones",
"ec2:DescribeSubnets",
"ec2:DescribeVpcs",
"ec2:DescribeRegions",
"workspaces-instances:*"
],
"Effect": "Allow",
"Resource": "*"
}
]
}
<!--NeedCopy-->
Gestione dell’alimentazione delle VM
Le VM vengono accese o spente.
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"ec2:DescribeInstances",,
"ec2:StartInstances",
"ec2:StopInstances",
"ec2:RebootInstances",
"ec2:DescribeInstanceStatus"
],
"Effect": "Allow",
"Resource": "*"
},
{
"Action": [
"workspaces-instances:*"
],
"Effect": "Allow",
"Resource": "*"
}
]
}
<!--NeedCopy-->
Creazione, aggiornamento o eliminazione di VM
Un catalogo di macchine viene creato, aggiornato o eliminato con VM di cui è stato eseguito il provisioning come istanze AWS.
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"ec2:AttachVolume",
"ec2:AssociateIamInstanceProfile",
"ec2:AuthorizeSecurityGroupEgress",
"ec2:RevokeSecurityGroupEgress",
"ec2:AuthorizeSecurityGroupIngress",
"ec2:CreateImage",
"ec2:CreateLaunchTemplate",
"ec2:CreateSecurityGroup",
"ec2:CreateTags",
"ec2:CreateVolume",
"ec2:DeleteVolume",
"ec2:DescribeAccountAttributes",
"ec2:DescribeAvailabilityZones",
"ec2:DescribeIamInstanceProfileAssociations",
"ec2:DescribeImages",
"ec2:DescribeInstances",
"ec2:DescribeInstanceStatus",
"ec2:DescribeInstanceTypes",
"ec2:DescribeLaunchTemplates",
"ec2:DescribeLaunchTemplateVersions",
"ec2:DescribeNetworkInterfaces",
"ec2:DescribeRegions",
"ec2:DescribeSecurityGroups",
"ec2:DescribeSnapshots",
"ec2:DescribeSubnets",
"ec2:DescribeTags",
"ec2:DescribeSpotInstanceRequests",
"ec2:DescribeInstanceCreditSpecifications",
"ec2:DescribeInstanceAttribute",
"ec2:GetLaunchTemplateData",
"ec2:DescribeVolumes",
"ec2:DescribeVpcs",
"ec2:DetachVolume",
"ec2:DisassociateIamInstanceProfile",
"ec2:RunInstances",
"ec2:StartInstances",
"ec2:StopInstances",
"ec2:TerminateInstances"
],
"Effect": "Allow",
"Resource": "*"
},
{
"Action": [
"ec2:CreateSecurityGroup",
"ec2:DeleteSecurityGroup"
],
"Effect": "Allow",
"Resource": "*"
},
{
"Action": [
"ebs:StartSnapshot",
"ebs:GetSnapshotBlock",
"ebs:PutSnapshotBlock",
"ebs:CompleteSnapshot",
"ebs:ListSnapshotBlocks",
"ebs:ListChangedBlocks",
"ec2:CreateSnapshot"
],
"Effect": "Allow",
"Resource": "*"
},
{
"Action": [
"workspaces-instances:*"
],
"Effect": "Allow",
"Resource": "*"
}
]
}
<!--NeedCopy-->
Nota:
- La sezione EC2 relativa ai SecurityGroup è necessaria solo se un gruppo di sicurezza di isolamento deve essere creato per la VM di preparazione durante la creazione del catalogo. Una volta completata questa operazione, queste autorizzazioni non sono più richieste.
Caricamento e download diretto del disco
Le seguenti autorizzazioni devono essere aggiunte alla policy:
ebs:StartSnapshotebs:GetSnapshotBlockebs:PutSnapshotBlockebs:CompleteSnapshotebs:ListSnapshotBlocksebs:ListChangedBlocksec2:CreateSnapshotec2:DeleteSnapshotec2:DescribeLaunchTemplates
Crittografia EBS dei volumi creati
EBS può crittografare automaticamente i volumi appena creati se l’AMI è crittografata o se EBS è configurato per crittografare tutti i nuovi volumi. Tuttavia, per implementare la funzionalità, le seguenti autorizzazioni devono essere incluse nella policy IAM.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"kms:CreateGrant",
"kms:Decrypt",
"kms:DescribeKey",
"kms:GenerateDataKeyWithoutPlainText",
- "kms:GenerateDataKey",
"kms:ReEncryptTo",
- "kms:ReEncryptFrom"
- ],
- "Resource": "*"
}
]
}
<!--NeedCopy-->
Nota:
Le autorizzazioni possono essere limitate a chiavi specifiche includendo un blocco Resource e Condition a discrezione dell’utente. Ad esempio, Autorizzazioni KMS con condizione:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"kms:CreateGrant",
"kms:Decrypt",
"kms:DescribeKey",
"kms:GenerateDataKeyWithoutPlainText",
"kms:GenerateDataKey",
"kms:ReEncryptTo",
"kms:ReEncryptFrom"
],
"Resource": [
"arn:aws:kms:us-east-2:123456789012:key/abcd1234-a123-456d-a12b-a123b4cd56ef"
],
"Condition": {
"Bool": {
"kms:GrantIsForAWSResource": true
}
}
}
]
}
<!--NeedCopy-->
La seguente istruzione di policy chiave è l’intera policy chiave predefinita per le chiavi KMS necessaria per consentire all’account di utilizzare le policy IAM per delegare l’autorizzazione per tutte le azioni (kms:*) sulla chiave KMS.
{
"Sid": "Enable IAM policies",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::111122223333:root"
},
"Action": "kms:",
"Resource": ""
}
<!--NeedCopy-->
Per maggiori informazioni, consultare la documentazione ufficiale di AWS Key Management Service.
Autenticazione basata su ruolo IAM
Le seguenti autorizzazioni vengono aggiunte per supportare l’autenticazione basata su ruolo.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "iam:PassRole",
"Resource": "arn:aws:iam::*:role/*"
}
]
}
<!--NeedCopy-->
Policy di autorizzazioni IAM minime
Il seguente JSON può essere utilizzato per tutte le funzionalità attualmente supportate. È possibile creare connessioni host, creare, aggiornare o eliminare VM ed eseguire la gestione dell’alimentazione utilizzando questa policy. La policy può essere applicata agli utenti come spiegato nelle sezioni Definire le autorizzazioni IAM oppure è possibile utilizzare l’autenticazione basata su ruolo selezionando Usa ruolo IAM durante la configurazione di una connessione host.
Importante:
Per utilizzare i ruoli IAM per la gestione delle risorse da parte di Citrix, configurare prima il ruolo IAM desiderato sull’istanza EC2 del connettore cloud durante la configurazione del connettore cloud. Utilizzando Citrix Studio, aggiungere la connessione di hosting e selezionare l’opzione Usa ruolo IAM. Una connessione di hosting con queste impostazioni utilizzerà quindi l’autenticazione basata su ruolo.
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"ec2:AttachVolume",
"ec2:AssociateIamInstanceProfile",
"ec2:AuthorizeSecurityGroupEgress",
"ec2:RevokeSecurityGroupEgress",
"ec2:AuthorizeSecurityGroupIngress",
"ec2:CreateImage",
"ec2:CreateLaunchTemplate",
"ec2:CreateNetworkInterface",
"ec2:CreateTags",
"ec2:CreateVolume",
"ec2:DeleteLaunchTemplate",
"ec2:DeleteNetworkInterface",
"ec2:DeleteSecurityGroup",
"ec2:DeleteSnapshot",
"ec2:DeleteTags",
"ec2:DeleteVolume",
"ec2:DeregisterImage",
"ec2:DescribeAccountAttributes",
"ec2:DescribeAvailabilityZones",
"ec2:DescribeIamInstanceProfileAssociations",
"ec2:DescribeImages",
"ec2:DescribeInstances",
"ec2:DescribeInstanceTypes",
"ec2:DescribeInstanceStatus",
"ec2:DescribeLaunchTemplates",
"ec2:DescribeLaunchTemplateVersions",
"ec2:DescribeNetworkInterfaces",
"ec2:DescribeRegions",
"ec2:DescribeSecurityGroups",
"ec2:DescribeSnapshots",
"ec2:DescribeSubnets",
"ec2:DescribeTags",
"ec2:DescribeSpotInstanceRequests",
"ec2:DescribeInstanceCreditSpecifications",
"ec2:DescribeInstanceAttribute",
"ec2:GetLaunchTemplateData",
"ec2:DescribeVolumes",
"ec2:DescribeVpcs",
"ec2:DetachVolume",
"ec2:DisassociateIamInstanceProfile",
"ec2:RebootInstances",
"ec2:RunInstances",
"ec2:StartInstances",
"ec2:StopInstances",
"ec2:TerminateInstances"
],
"Effect": "Allow",
"Resource": "*"
},
{
"Action": [
"ec2:CreateSecurityGroup",
"ec2:DeleteSecurityGroup"
],
"Effect": "Allow",
"Resource": "*"
},
{
"Action": [
"ebs:StartSnapshot",
"ebs:GetSnapshotBlock",
"ebs:PutSnapshotBlock",
"ebs:CompleteSnapshot",
"ebs:ListSnapshotBlocks",
"ebs:ListChangedBlocks",
"ec2:CreateSnapshot"
],
"Effect": "Allow",
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"kms:CreateGrant",
"kms:Decrypt",
"kms:DescribeKey",
"kms:GenerateDataKeyWithoutPlainText",
"kms:GenerateDataKey",
"kms:ReEncryptTo",
"kms:ReEncryptFrom"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": "iam:PassRole",
"Resource": "arn:aws:iam::*:role/*"
},
{
"Effect": "Allow",
"Action": [
"workspaces-instances:*"
],
"Resource": "*"
}
]
}
<!--NeedCopy-->
Nota:
- La sezione EC2 relativa ai SecurityGroup è necessaria solo se un gruppo di sicurezza di isolamento deve essere creato per la VM di preparazione durante la creazione del catalogo. Una volta completata questa operazione, queste autorizzazioni non sono più richieste.
- La sezione KMS è richiesta solo quando si utilizza la crittografia del volume EBS.
- La sezione di autorizzazione
iam:PassRoleè necessaria solo per l’utilizzo dei ruoli IAM per la gestione delle risorse da parte di Citrix.- È possibile aggiungere autorizzazioni specifiche a livello di risorsa anziché l’accesso completo in base ai requisiti e all’ambiente. Per maggiori dettagli, fare riferimento ai documenti AWS Demystifying EC2 Resource-Level Permissions e Access management for AWS resources.
- Utilizzare le autorizzazioni
ec2:CreateNetworkInterfaceeec2:DeleteNetworkInterfacesolo se si utilizza il metodo del volume worker.
Dove andare dopo
- Per la creazione di immagini preparate, vedere Creare un’immagine preparata per le istanze gestite di Amazon WorkSpaces Core
Maggiori informazioni
- Creare e gestire connessioni e risorse
- Ambienti di virtualizzazione AWS
- Per esempi PowerShell di Amazon WorkSpaces Core GitHub, vedere citrix-mcs-sdk-samples-Amazon WorkSpaces Core.