Verbindung zu AWS
Verbindungen und Ressourcen erstellen und verwalten beschreibt die Assistenten, die eine Verbindung erstellen. Die folgenden Informationen behandeln Details, die spezifisch für AWS-Cloud-Umgebungen sind.
Hinweis:
Bevor Sie eine Verbindung zu AWS herstellen, müssen Sie zuerst Ihr AWS-Konto als Ressourcenstandort einrichten. Siehe AWS-Cloud-Umgebungen.
Verbindung erstellen
Wenn Sie eine Verbindung über Web Studio erstellen:
- Sie müssen die Werte für den API-Schlüssel und den geheimen Schlüssel angeben. Sie können die Schlüsseldatei mit diesen Werten aus AWS exportieren und dann importieren. Sie müssen auch die Region, die Verfügbarkeitszone, den VPC-Namen, die Subnetzadressen, den Domänennamen, die Namen der Sicherheitsgruppen und die Anmeldeinformationen angeben.
- Die Anmeldeinformationsdatei für das AWS-Stammkonto (aus der AWS-Konsole abgerufen) ist nicht im selben Format wie Anmeldeinformationsdateien, die für Standard-AWS-Benutzer heruntergeladen wurden. Daher kann die Verwaltung von Citrix Virtual Apps and Desktops™ die Datei nicht verwenden, um die Felder für den API-Schlüssel und den geheimen Schlüssel zu füllen. Stellen Sie sicher, dass Sie AWS Identity Access Management (IAM)-Anmeldeinformationsdateien verwenden.
Hinweis:
Nachdem Sie eine Verbindung erstellt haben, können Versuche, den API-Schlüssel und den geheimen Schlüssel zu aktualisieren, fehlschlagen. Um das Problem zu beheben, überprüfen Sie Ihren Proxyserver oder Ihre Firewall-Einschränkungen und stellen Sie sicher, dass die folgende Adresse erreichbar ist:
https://*.amazonaws.com.
Standardwerte für Hostverbindungen
Wenn Sie Hostverbindungen in AWS-Cloud-Umgebungen erstellen, werden die folgenden Standardwerte angezeigt:
| Option | Absolut | Prozentsatz |
|---|---|---|
| Gleichzeitige Aktionen (alle Typen) | 125 | 100 |
| Maximale neue Aktionen pro Minute | 125 |
MCS unterstützt standardmäßig maximal 100 gleichzeitige Bereitstellungsvorgänge.
Dienstendpunkt-URL
Dienstendpunkt-URL für Standardzone
Wenn Sie MCS verwenden, wird eine neue AWS-Verbindung mit einem API-Schlüssel und einem API-Geheimnis hinzugefügt. Mit diesen Informationen und dem authentifizierten Konto fragt MCS AWS nach den unterstützten Zonen ab, indem der AWS DescribeRegions EC2-API-Aufruf verwendet wird. Die Abfrage erfolgt über eine generische EC2-Dienstendpunkt-URL https://ec2.amazonaws.com/. Verwenden Sie MCS, um die Zone für die Verbindung aus der Liste der unterstützten Zonen auszuwählen. Die bevorzugte AWS-Dienstendpunkt-URL wird automatisch für die Zone ausgewählt. Nachdem Sie die Dienstendpunkt-URL erstellt haben, können Sie die URL jedoch nicht mehr festlegen oder ändern.
IAM-Berechtigungen definieren
Verwenden Sie die Informationen in diesem Abschnitt, um IAM-Berechtigungen für Citrix Virtual Apps and Desktops unter AWS zu definieren. Der IAM-Dienst von Amazon erlaubt Konten mit mehreren Benutzern, die weiter in Gruppen organisiert werden können. Diese Benutzer können unterschiedliche Berechtigungen besitzen, um ihre Fähigkeit zur Durchführung von Vorgängen im Zusammenhang mit dem Konto zu steuern. Weitere Informationen zu IAM-Berechtigungen finden Sie unter IAM JSON-Richtlinienreferenz.
So wenden Sie die IAM-Berechtigungsrichtlinie auf eine neue Benutzergruppe an:
- Melden Sie sich bei der AWS-Verwaltungskonsole an und wählen Sie den IAM-Dienst aus der Dropdownliste aus.
- Wählen Sie Create a New Group of Users (Neue Benutzergruppe erstellen).
- Geben Sie einen Namen für die neue Benutzergruppe ein und wählen Sie Continue (Weiter).
- Auf der Seite Berechtigungen wählen Sie Benutzerdefinierte Richtlinie. Wählen Sie Auswählen.
- Geben Sie einen Namen für die Berechtigungsrichtlinie ein.
- Geben Sie im Abschnitt Richtliniendokument die relevanten Berechtigungen ein.
Nachdem Sie die Richtlinieninformationen eingegeben haben, wählen Sie Weiter, um die Benutzergruppe zu vervollständigen. Benutzer in der Gruppe erhalten Berechtigungen, nur die Aktionen auszuführen, die für Citrix Virtual Apps and Desktops erforderlich sind.
Wichtig:
Verwenden Sie den Richtlinientext aus dem vorherigen Beispiel, um die Aktionen aufzulisten, die Citrix Virtual Apps and Desktops verwendet, um Aktionen innerhalb eines AWS-Kontos auszuführen, ohne diese Aktionen auf bestimmte Ressourcen zu beschränken. Citrix empfiehlt, das Beispiel zu Testzwecken zu verwenden. Für Produktionsumgebungen können Sie weitere Einschränkungen für Ressourcen hinzufügen.
IAM-Berechtigungen festlegen
Legen Sie die Berechtigungen im Abschnitt IAM der AWS Management Console fest:
- Wählen Sie im Bereich Zusammenfassung die Registerkarte Berechtigungen.
- Wählen Sie Berechtigungen hinzufügen.

Im Bildschirm Berechtigungen hinzufügen zu erteilen Sie Berechtigungen:

Verwenden Sie Folgendes als Beispiel auf der Registerkarte JSON:

Tipp:
Das genannte JSON-Beispiel enthält möglicherweise nicht alle Berechtigungen für Ihre Umgebung. Weitere Informationen finden Sie unter Definieren von Identity and Access Management-Berechtigungen für die Ausführung von Citrix Virtual Apps and Desktops unter AWS.
Erforderliche AWS-Berechtigungen
Dieser Abschnitt enthält die vollständige Liste der AWS-Berechtigungen.
Hinweis:
Die iam:PassRole-Berechtigung wird nur für role_based_auth benötigt.
Erstellen einer Hostverbindung
Eine neue Hostverbindung wird unter Verwendung der Informationen von AWS hinzugefügt.
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"ec2:DescribeAvailabilityZones",
"ec2:DescribeImages",
"ec2:DescribeInstances",
"ec2:DescribeInstanceTypes",
"ec2:DescribeSecurityGroups",
"ec2:DescribeSubnets",
"ec2:DescribeVpcs",
"ec2:DescribeRegions",
"ec2:DescribeSnapshots",
"ec2:DescribeLaunchTemplates"
],
"Effect": "Allow",
"Resource": "*"
}
]
}
<!--NeedCopy-->
Energieverwaltung von VMs
Maschineninstanzen werden ein- oder ausgeschaltet.
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"ec2:AttachVolume",
"ec2:CreateVolume",
"ec2:DeleteVolume",
"ec2:DescribeInstances",
"ec2:DescribeVolumes",
"ec2:DetachVolume",
"ec2:StartInstances",
"ec2:StopInstances",
"ec2:DescribeInstanceStatus"
],
"Effect": "Allow",
"Resource": "*"
}
]
}
<!--NeedCopy-->
Erstellen, Aktualisieren oder Löschen von VMs
Ein Maschinenkatalog wird erstellt, aktualisiert oder gelöscht, wobei VMs als AWS-Instanzen bereitgestellt werden.
{
"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: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: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-->
Hinweis:
Der EC2-Abschnitt bezüglich Sicherheitsgruppen wird nur benötigt, wenn während der Katalogerstellung eine Isolationssicherheitsgruppe für die preparation VM erstellt werden muss. Sobald dies geschehen ist, sind diese Berechtigungen nicht mehr erforderlich.
Direkter Festplatten-Upload und -Download
Der direkte Festplatten-Upload eliminiert die Anforderung an Volume Worker für die Bereitstellung von Maschinenkatalogen und verwendet stattdessen öffentliche APIs, die von AWS bereitgestellt werden. Diese Funktionalität reduziert die Kosten, die mit zusätzlichen Speicherkonten verbunden sind, und die Komplexität bei der Wartung von Volume-Worker-Operationen.
Hinweis:
Die Unterstützung für Volume Worker ist veraltet.
Folgende Berechtigungen müssen der Richtlinie hinzugefügt werden:
ebs:StartSnapshotebs:GetSnapshotBlockebs:PutSnapshotBlockebs:CompleteSnapshotebs:ListSnapshotBlocksebs:ListChangedBlocksec2:CreateSnapshotec2:DeleteSnapshotec2:DescribeLaunchTemplates
Wichtig:
- Sie können eine VM zu bestehenden Maschinenkatalogen hinzufügen, ohne jegliche Volume-Worker-Operation wie Volume-Worker-AMI und Volume-Worker-VM.
- Wenn Sie einen vorhandenen Katalog löschen, der zuvor einen Volume Worker verwendet hat, werden alle Artefakte, einschließlich derer, die sich auf den Volume Worker beziehen, gelöscht.
EBS-Verschlüsselung von erstellten Volumes
EBS kann neu erstellte Volumes automatisch verschlüsseln, wenn das AMI verschlüsselt ist oder EBS so konfiguriert ist, dass alle neuen Volumes verschlüsselt werden. Um die Funktionalität zu implementieren, müssen jedoch die folgenden Berechtigungen in der IAM-Richtlinie enthalten sein.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"kms:CreateGrant",
"kms:Decrypt",
"kms:DescribeKey",
"kms:GenerateDataKeyWithoutPlainText",
"kms:ReEncryptTo",
"kms:ReEncryptFrom"
],
"Resource": "*"
}
]
}
<!--NeedCopy-->
Hinweis:
Die Berechtigungen können nach Ermessen des Benutzers durch Hinzufügen eines Ressourcen- und Bedingungsblocks auf bestimmte Schlüssel beschränkt werden. Zum Beispiel: KMS-Berechtigungen mit Bedingung:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"kms:CreateGrant",
"kms:Decrypt",
"kms:DescribeKey",
"kms:GenerateDataKeyWithoutPlainText",
"kms:ReEncryptTo",
"kms:ReEncryptFrom"
],
"Resource": [
"arn:aws:kms:us-east-2:123456789012:key/abcd1234-a123-456d-a12b-a123b4cd56ef"
],
"Condition": {
"Bool": {
"kms:GrantIsForAWSResource": true
}
}
}
]
}
<!--NeedCopy-->
Die folgende Schlüsselrichtlinienanweisung ist die gesamte Standard-Schlüsselrichtlinie für KMS-Schlüssel, die erforderlich ist, um dem Konto die Verwendung von IAM-Richtlinien zur Delegierung von Berechtigungen für alle Aktionen (kms:*) auf dem KMS-Schlüssel zu ermöglichen.
{
"Sid": "Enable IAM policies",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::111122223333:root"
},
"Action": "kms:",
"Resource": ""
}
<!--NeedCopy-->
Weitere Informationen finden Sie in der offiziellen Dokumentation des AWS Key Management Service.
IAM-rollenbasierte Authentifizierung
Die folgenden Berechtigungen werden hinzugefügt, um die rollenbasierte Authentifizierung zu unterstützen.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "iam:PassRole",
"Resource": "arn:aws:iam::*:role/*"
}
]
}
<!--NeedCopy-->
Minimale IAM-Berechtigungsrichtlinie
Das folgende JSON kann für alle derzeit unterstützten Funktionen verwendet werden. Mit dieser Richtlinie können Sie Hostverbindungen erstellen, VMs erstellen, aktualisieren oder löschen und die Energieverwaltung durchführen. Die Richtlinie kann auf die Benutzer angewendet werden, wie in den Abschnitten IAM-Berechtigungen definieren erläutert, oder Sie können auch die rollenbasierte Authentifizierung mithilfe des Sicherheitsschlüssels role_based_auth und des geheimen Schlüssels verwenden.
Wichtig:
Um role_based_auth zu verwenden, konfigurieren Sie zuerst die gewünschte IAM-Rolle auf allen Delivery Controllern in unserer Site. Fügen Sie über Web Studio die Hosting-Verbindung hinzu und geben Sie role_based_auth für den Authentifizierungsschlüssel und den geheimen Schlüssel an. Eine Hosting-Verbindung mit diesen Einstellungen verwendet dann die rollenbasierte Authentifizierung.
{
"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: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: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-->
Hinweis:
- Der EC2-Abschnitt bezüglich SecurityGroups wird nur benötigt, wenn während der Katalogerstellung eine Isolations-Sicherheitsgruppe für die Vorbereitungs-VM erstellt werden muss. Sobald dies geschehen ist, sind diese Berechtigungen nicht mehr erforderlich.
- Der KMS-Abschnitt ist nur bei Verwendung der EBS-Volume-Verschlüsselung erforderlich.
- Der Berechtigungsabschnitt iam:PassRole wird nur für role_based_auth benötigt.
- Spezifische Berechtigungen auf Ressourcenebene können anstelle des vollständigen Zugriffs hinzugefügt werden, basierend auf Ihren Anforderungen und Ihrer Umgebung. Weitere Informationen finden Sie in den AWS-Dokumenten Demystifying EC2 Resource-Level Permissions und Access management for AWS resources.
Nächste Schritte
- Wenn Sie sich im anfänglichen Bereitstellungsprozess befinden, siehe Maschinenkataloge erstellen
- Für AWS-spezifische Informationen siehe Einen AWS-Katalog erstellen