Connessione ad AWS
Creare e gestire connessioni descrive le procedure guidate che creano una connessione. Le seguenti informazioni riguardano i dettagli specifici degli ambienti cloud AWS.
Nota:
Prima di creare una connessione ad AWS, è prima necessario completare la configurazione del proprio account AWS come posizione delle risorse. Vedere Ambienti cloud AWS.
Creare una connessione
Quando si crea una connessione dall’interfaccia Full Configuration (Configurazione completa):
- È necessario fornire la chiave API e i valori della chiave segreta. È possibile esportare il file chiave contenente tali valori da AWS e quindi importarli. È inoltre necessario fornire la regione, la zona di disponibilità, il nome del VPC, gli indirizzi delle subnet, il nome di dominio, i nomi dei gruppi di sicurezza e le credenziali.
- Il file delle credenziali per l’account AWS radice (recuperato dalla console AWS) non è formattato come i file delle credenziali scaricati per gli utenti AWS standard. Pertanto, la gestione di Citrix Virtual Apps and Desktops 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).
Nota:
Dopo aver creato una connessione, i tentativi di aggiornamento della chiave API e della chiave segreta potrebbero non riuscire. Per risolvere il problema, controllare le restrizioni del server proxy o del firewall e assicurarsi che il seguente indirizzo sia contattabile:
https://*.amazonaws.com
.
Valori predefiniti della connessione host
Nell’interfaccia Full Configuration (Configurazione completa), quando si creano connessioni host in ambienti cloud AWS, vengono visualizzati i seguenti valori predefiniti:
Opzione | Valore assoluto | Percentuale |
---|---|---|
Azioni simultanee (tutti i tipi) | 125 | 100 |
Numero massimo di nuove azioni al minuto | 125 | |
Numero massimo di operazioni di provisioning simultanee | 100 |
MCS supporta 100 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):
MCS supporta massimo 100 operazioni simultanee per impostazione predefinita. In alternativa, è possibile utilizzare l’SDK Remote PowerShell per impostare il numero massimo di operazioni simultanee in modo da raggiungere le impostazioni ottimali per il proprio ambiente.
Utilizzare la proprietà PowerShell personalizzata MaximumConcurrentProvisioningOperations
per specificare il numero massimo di operazioni di provisioning simultanee di AWS.
Prima della configurazione:
- Assicurarsi di aver installato l’SDK PowerShell per Cloud.
- Tenere presente che il valore predefinito per
MaximumConcurrentProvisioningOperations
è 100.
Per personalizzare il valore MaximumConcurrentProvisioningOperations
, effettuare le seguenti operazioni:
- Aprire una finestra di PowerShell.
- Eseguire il comando
asnp citrix*
per caricare i moduli PowerShell specifici di Citrix. - Inserire
cd xdhyp:\Connections\
. - Accedere a
dir
per elencare le connessioni. -
Modificare o inizializzare la stringa Custom Properties (Proprietà personalizzate):
-
Se la stringa Custom Properties (Proprietà personalizzate) ha un valore, copiare le proprietà personalizzate nel Blocco note. Successivamente, modificare la proprietà
MaximumConcurrentProvisioningOperations
sul valore preferito. È possibile immettere un valore compreso tra 1 e 1000. Ad esempio,<Property xsi:type="IntProperty" Name="MaximumConcurrentProvisioningOperations" Value="xyz"/>
. -
Se la stringa Custom Properties (Proprietà personalizzate) è vuota/null, è necessario inizializzare la stringa immettendo la sintassi corretta sia per lo schema che per la proprietà
MaximumConcurrentProvisioningOperations
.
-
-
Nella finestra di PowerShell, incollare le proprietà personalizzate modificate dal Blocco note e assegnare una variabile alle proprietà personalizzate modificate. Se le proprietà personalizzate sono state inizializzate, aggiungere le righe seguenti seguendo 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>'
.Questa stringa imposta la proprietà
MaximumConcurrentProvisioningOperations
su 100. Nella stringa Custom Properties (Proprietà personalizzate), è necessario impostare la proprietàMaximumConcurrentProvisioningOperations
su un valore in linea con le proprie esigenze. - Inserire
Get-XDAuthentication
, che richiede di immettere le credenziali. - Eseguire
$cred = Get-Credential
, che potrebbe richiedere solo una password (o un nome utente e una password). È inoltre possibile che venga 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. Altrimenti, inserire l’ID e il segreto dell’API AWS. - 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
dir
per verificare la stringa CustomProperties (Priorietà personalizzate) aggiornata.
URL dell’endpoint del servizio
URL dell’endpoint del servizio di zona standard
Quando si utilizza MCS, viene aggiunta una nuova connessione AWS con una chiave API e un segreto API. Con queste informazioni, insieme all’account autenticato, MCS interroga AWS per le zone supportate utilizzando la chiamata API EC2 AWS DescribeRegions. La query viene effettuata utilizzando un URL generico dell’endpoint del servizio EC2 https://ec2.amazonaws.com/
. Utilizzare MCS per selezionare la zona per la connessione dall’elenco delle zone supportate. L’URL dell’endpoint del servizio AWS preferito viene selezionato automaticamente per la zona. Tuttavia, dopo aver creato l’URL dell’endpoint del servizio, non è più possibile impostarlo o modificarlo.
URL dell’endpoint del servizio non standard
In alcune situazioni potrebbe non essere necessario l’URL dell’endpoint del servizio AWS scelto automaticamente per la connessione. In questi casi, è possibile utilizzare l’SDK Citrix Cloud 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 da AWS e assicurarsi che disponga di 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-->
-
Individuare lo 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 "AWS" -HypervisorAddress @("https://ec2.cn-north-1.amazonaws.com.cn") -UserName
“APIkey”-Password
“API Secret”-Persist
PS C:\> New-BrokerHypervisorConnection -HypHypervisorConnectionUid $hyp. HypervisorConnectionUid
- Aggiornare la scheda Full Configuration > Hosting (Configurazione completa > Hosting) per verificare che la connessione EC2 sia stata creata.
- Aggiungere una posizione risorsa utilizzando la nuova connessione.
Definizione delle autorizzazioni IAM
Utilizzare le informazioni in questa sezione per definire le autorizzazioni IAM per Citrix DaaS su AWS. Il servizio IAM di Amazon consente account con più utenti, che possono essere ulteriormente organizzati in gruppi. Questi utenti possono disporre di autorizzazioni diverse per controllare la loro capacità di eseguire operazioni associate all’account. Per ulteriori informazioni sulle autorizzazioni IAM, vedere Riferimento alla policy JSON IAM.
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 (Criterio personalizzato), quindi Select (Seleziona).
- Digitare un nome per il criterio Permissions (Autorizzazioni).
- Nella sezione Policy Document (Documento del criterio), immettere le autorizzazioni pertinenti.
Dopo aver inserito le informazioni sul criterio, selezionareContinue (Continua) per completare il gruppo di utenti. Agli utenti del gruppo vengono concesse le autorizzazioni per eseguire solo le azioni richieste per Citrix DaaS.
Importante:
Utilizzare il testo del criterio fornito nell’esempio precedente per elencare le azioni utilizzate da Citrix DaaS 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, è possibile scegliere di aggiungere ulteriori restrizioni sulle risorse.
Aggiunta di autorizzazioni IAM
Impostare 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:
Utilizzare il seguente come esempio nella scheda JSON:
Suggerimento:
L’esempio JSON indicato potrebbe non includere tutte le autorizzazioni per l’ambiente. Per ulteriori informazioni, consultare l’articolo su come definire le autorizzazioni di gestione delle identità e degli accessi che eseguono Citrix Virtual Apps and Desktops su AWS.
Informazioni sulle autorizzazioni AWS
Questa sezione contiene l’elenco completo delle autorizzazioni AWS. Usare il set completo di autorizzazioni indicato nella sezione per il corretto funzionamento della funzionalità.
Nota:
L’autorizzazione iam:PassRole è necessaria solo per role_based_auth.
Creazione di una connessione host
Viene aggiunta una nuova connessione host utilizzando le informazioni ottenute da AWS.
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"ec2:DescribeAvailabilityZones",
"ec2:DescribeImages",
"ec2:DescribeInstances",
"ec2:DescribeInstanceTypes",
"ec2:DescribeSecurityGroups",
"ec2:DescribeSubnets",
"ec2:DescribeVpcs"
],
"Effect": "Allow",
"Resource": "*"
}
]
}
<!--NeedCopy-->
Gestione dell’alimentazione delle macchine virtuali
Le istanze delle macchine sono accese o spente.
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"ec2:AttachVolume",
"ec2:CreateVolume",
"ec2:DeleteVolume",
"ec2:DescribeInstances",
"ec2:DescribeVolumes",
"ec2:DetachVolume",
"ec2:StartInstances",
"ec2:StopInstances"
],
"Effect": "Allow",
"Resource": "*"
}
]
}
<!--NeedCopy-->
Creazione, aggiornamento o eliminazione di macchine virtuali
Un catalogo delle macchine viene creato, aggiornato o eliminato con macchine virtuali di cui viene eseguito il provisioning come istanze AWS.
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"ec2:AttachVolume",
"ec2:AssociateIamInstanceProfile",
"ec2:AuthorizeSecurityGroupEgress",
"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:DescribeInstanceTypes",
"ec2:DescribeLaunchTemplates",
"ec2:DescribeLaunchTemplateVersions",
"ec2:DescribeNetworkInterfaces",
"ec2:DescribeRegions",
"ec2:DescribeSecurityGroups",
"ec2:DescribeSnapshots",
"ec2:DescribeSubnets",
"ec2:DescribeTags",
"ec2:DescribeSpotInstanceRequests",
"ec2:DescribeInstanceCreditSpecifications",
"ec2:DescribeInstanceAttribute",
"ec2:DescribeElasticGpus",
"ec2:GetLaunchTemplateData",
"ec2:DescribeVolumes",
"ec2:DescribeVpcs",
"ec2:DetachVolume",
"ec2:DisassociateIamInstanceProfile",
"ec2:RunInstances",
"ec2:StartInstances",
"ec2:StopInstances",
"ec2:TerminateInstances"
],
"Effect": "Allow",
"Resource": "\*"
},
{
"Action": [
"ec2:AuthorizeSecurityGroupEgress",
"ec2:AuthorizeSecurityGroupIngress",
"ec2:CreateSecurityGroup",
"ec2:DeleteSecurityGroup",
"ec2:RevokeSecurityGroupEgress",
"ec2:RevokeSecurityGroupIngress"
],
"Effect": "Allow",
"Resource": "\*"
},
{
"Action": [
"s3:CreateBucket",
"s3:DeleteBucket",
"s3:PutBucketAcl",
"s3:PutBucketTagging",
"s3:PutObject",
"s3:GetObject",
"s3:DeleteObject",
"s3:PutObjectTagging"
],
"Effect": "Allow",
"Resource": "arn:aws:s3:::citrix*"
},
{
"Action": [
"ebs:StartSnapshot",
"ebs:GetSnapshotBlock",
"ebs:PutSnapshotBlock",
"ebs:CompleteSnapshot",
"ebs:ListSnapshotBlocks",
"ebs:ListChangedBlocks",
"ec2:CreateSnapshot"
],
"Effect": "Allow",
"Resource": "*"
}
]
}
<!--NeedCopy-->
Nota:
- La sezione EC2 relativa a SecurityGroups è necessaria solo se occorre creare un gruppo di sicurezza di isolamento per la macchina virtuale di preparazione durante la creazione del catalogo. Una volta completata questa operazione, queste autorizzazioni non sono necessarie.
Caricamento e download diretti del disco
Il caricamento diretto del disco elimina il requisito del Volume Worker per il provisioning del catalogo delle macchine e utilizza invece le API pubbliche fornite da AWS. Questa funzionalità riduce i costi associati agli account di archiviazione aggiuntivi e alla complessità di gestire le operazioni di Volume Worker.
Nota:
Il supporto di Volume Worker è obsoleto.
Le seguenti autorizzazioni devono essere aggiunte al criterio:
- ebs:StartSnapshot
- ebs:GetSnapshotBlock
- ebs:PutSnapshotBlock
- ebs:CompleteSnapshot
- ebs:ListSnapshotBlocks
- ebs:ListChangedBlocks
- ec2:CreateSnapshot
- ec2:DescribeLaunchTemplates
Importante:
- È possibile aggiungere una nuova macchina virtuale ai cataloghi delle macchine esistenti senza alcuna operazione di Volume Worker, come l’AMI Volume Worker e la macchina virtuale del Volume Worker.
- Se si elimina un catalogo esistente che utilizzava Volume Worker in precedenza, vengono eliminati tutti gli artefatti, inclusi quelli correlati a Volume Worker.
Crittografia EBS dei volumi creati
EBS può crittografare automaticamente i volumi appena creati se l’AMI è crittografata o EBS è configurato per crittografare tutti i nuovi volumi. Tuttavia, per implementare la funzionalità, è necessario includere le seguenti autorizzazioni nel criterio 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 di risorse e condizioni 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 dichiarazione dei criteri chiave è l’intero criterio chiave predefinito per le chiavi KMS necessario per consentire all’account di utilizzare i criteri 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 ulteriori informazioni, consultare la documentazione ufficiale di AWS Key Management Service.
Autenticazione basata su ruoli IAM
Le seguenti autorizzazioni vengono aggiunte per supportare l’autenticazione basata sui ruoli.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "iam:PassRole",
"Resource": "arn:aws:iam::\*:role/\*"
}
]
}
<!--NeedCopy-->
Criteri minimi delle autorizzazioni IAM
Il seguente JSON può essere utilizzato per tutte le funzionalità attualmente supportate. È possibile creare connessioni host, creare, aggiornare o eliminare macchine virtuali ed eseguire la gestione dell’alimentazione utilizzando questo criterio. Il criterio può essere applicato agli utenti come spiegato nelle sezioni Definizione delle autorizzazioni IAM oppure è anche possibile utilizzare l’autenticazione basata su ruoli utilizzando la chiave di sicurezza role_based_auth e la chiave segreta.
Importante:
per utilizzare role_based_auth, configurare prima il ruolo IAM desiderato nell’istanza ec2 del Cloud Connector durante la configurazione del Cloud Connector. Utilizzando Citrix Studio, aggiungere la connessione di hosting e fornire role_based_auth per la chiave di autenticazione e il segreto. Una connessione di hosting con queste impostazioni utilizza quindi l’autenticazione basata su ruoli.
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"ec2:AttachVolume",
"ec2:AssociateIamInstanceProfile",
"ec2:AuthorizeSecurityGroupEgress",
"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:DescribeLaunchTemplates",
"ec2:DescribeLaunchTemplateVersions",
"ec2:DescribeNetworkInterfaces",
"ec2:DescribeRegions",
"ec2:DescribeSecurityGroups",
"ec2:DescribeSnapshots",
"ec2:DescribeSubnets",
"ec2:DescribeTags",
"ec2:DescribeSpotInstanceRequests",
"ec2:DescribeInstanceCreditSpecifications",
"ec2:DescribeInstanceAttribute",
"ec2:DescribeElasticGpus",
"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:AuthorizeSecurityGroupEgress",
"ec2:AuthorizeSecurityGroupIngress",
"ec2:CreateSecurityGroup",
"ec2:DeleteSecurityGroup",
"ec2:RevokeSecurityGroupEgress",
"ec2:RevokeSecurityGroupIngress"
],
"Effect": "Allow",
"Resource": "\*"
},
{
"Action": [
"s3:CreateBucket",
"s3:DeleteBucket",
"s3:DeleteObject",
"s3:GetObject",
"s3:PutBucketAcl",
"s3:PutObject",
"s3:PutBucketTagging",
"s3:PutObjectTagging"
],
"Effect": "Allow",
"Resource": "arn:aws:s3:::citrix*"
},
{
"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/\*"
}
]
}
<!--NeedCopy-->
Nota:
- La sezione EC2 relativa a SecurityGroups è necessaria solo se occorre creare un gruppo di sicurezza di isolamento per la macchina virtuale di preparazione durante la creazione del catalogo. Una volta completata questa operazione, queste autorizzazioni non sono necessarie.
- La sezione KMS è necessaria solo quando si utilizza la crittografia del volume EBS.
- La sezione delle autorizzazioni iam:PassRole è necessaria solo per role_based_auth.
- È possibile aggiungere autorizzazioni specifiche a livello di risorsa anziché l’accesso completo in base ai requisiti e all’ambiente. Per maggiori dettagli, consultare i documenti AWS Demystifying EC2 Resource-Level Permissions (Sfatare i miti relativi alle autorizzazioni a livello di risorsa EC2) e Gestione degli accessi per le risorse AWS.
- Usare le autorizzazioni EC2:CreateNetworkInterface ed EC2:DeleteNetworkInterface solo se si utilizza il metodo Volume Worker.
Passaggi successivi
- Se ci si trova nel processo di distribuzione iniziale, vedere Creare cataloghi delle macchine.
- Per informazioni specifiche su AWS, vedere Creare un catalogo di AWS.