Richten Sie mithilfe NICE EnginFrame von NICE DCV Session Manager eine auto skalierende virtuelle Desktop-Infrastruktur (VDI) ein - AWS Prescriptive Guidance

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Richten Sie mithilfe NICE EnginFrame von NICE DCV Session Manager eine auto skalierende virtuelle Desktop-Infrastruktur (VDI) ein

Erstellt von Dario La Porta und Salvatore Maccarone () AWS

Code-Repository: elastic-vdi-infrastructure

Umgebung: PoC oder Pilotprojekt

Technologien: Hochleistungsrechnen; Infrastruktur

AWSDienste: AWSCDK; AWS CloudFormation; Amazon EC2 Auto Scaling; Elastic Load Balancing (ELB)

Übersicht

NICEDCVist ein leistungsstarkes Remote-Display-Protokoll, mit dem Sie Remote-Desktops und -anwendungen von jeder Cloud oder jedem Rechenzentrum auf jedes Gerät streamen können, und das unter unterschiedlichen Netzwerkbedingungen. Mit NICE DCV Amazon Elastic Compute Cloud (AmazonEC2) können Sie grafikintensive Anwendungen remote auf EC2 Instances ausführen und deren Benutzeroberflächen auf einfachere Remote-Client-Computer streamen. Dadurch werden teure dedizierte Workstations und die Übertragung großer Datenmengen zwischen der Cloud und den Client-Computern überflüssig.

Dieses Muster richtet eine voll funktionsfähige, automatisch skalierende virtuelle Linux- und Windows-Desktop-Infrastruktur (VDI) ein, auf die über eine webbasierte Benutzeroberfläche zugegriffen werden kann. Die VDI Lösung bietet Benutzern aus Forschung und Entwicklung (F&E) eine zugängliche und leistungsstarke Benutzeroberfläche, über die grafikintensive Analyseanfragen eingereicht und Ergebnisse aus der Ferne überprüft werden können.

Voraussetzungen und Einschränkungen

Voraussetzungen

  • Ein aktives AWS-Konto.

  • Administratorrechte und eine Reihe von Zugriffsschlüsseln.

  • AWSCloud Development Kit (AWSCDK) Toolkit, installiert und konfiguriert. Weitere Informationen finden Sie unter Installieren von. AWS CDK

  • AWSBefehlszeilenschnittstelle (AWSCLI), für Ihr AWS Konto installiert und konfiguriert. Weitere Informationen finden Sie unter Installation oder Aktualisierung der neuesten Version von AWS CLI.

  • Python, installiert und konfiguriert. Weitere Informationen finden Sie unter Quellversionen (Python-Website).

  • Eine oder mehrere virtuelle private Clouds (VPCs) sind verfügbar.

  • Zwei oder mehr Elastic IP-Adressen verfügbar. Weitere Informationen zum Standardlimit finden Sie unter Elastic IP Address Limit.

  • Richten Sie für die EC2 Linux-Instances ein Secure Shell (SSH) -Schlüsselpaar key pair. Weitere Informationen finden Sie unter Schlüsselpaare und Linux-Instanzen.

Produktversionen

  • AWSCDKVersion 2.26.0 oder höher

  • Python-Version 3.8 oder höher

Architektur

Zielarchitektur

Die folgende Abbildung zeigt die verschiedenen Komponenten dieser VDI Lösung. Der Benutzer interagiert mit EC2 Amazon-Instances NICE EnginFrame , um sie gemäß den Amazon EC2 Auto Scaling Scaling-Gruppen für Windows- und NICE DCV Linux-Instances zu starten.

Application Load Balancers und Auto Scaling Scaling-Gruppen für Windows und Linux VDI in einem privaten Subnetz.

Automatisierung und Skalierung

Der in diesem Muster enthaltene Code erstellt benutzerdefinierteVPC, öffentliche und private Subnetze, ein Internet-Gateway, ein NAT Gateway, einen Application Load Balancer, Sicherheitsgruppen und IAM Richtlinien. AWS CloudFormation wird auch verwendet, um die Flotte von Linux- und NICE DCV Windows-Servern zu erstellen.

Tools

AWSDienstleistungen

  • AWSCloud Development Kit (AWSCDK) ist ein Softwareentwicklungs-Framework, mit dem Sie AWS Cloud-Infrastruktur im Code definieren und bereitstellen können.

  • AWS CloudFormationhilft Ihnen dabei, AWS Ressourcen einzurichten, sie schnell und konsistent bereitzustellen und sie während ihres gesamten Lebenszyklus über AWS Konten und Regionen hinweg zu verwalten.

  • NICEDCVist ein leistungsstarkes Remote-Display-Protokoll, mit dem Sie Remote-Desktops und Anwendungsstreaming von jeder Cloud oder jedem Rechenzentrum auf jedes Gerät unter unterschiedlichen Netzwerkbedingungen bereitstellen können. In diesem Muster bietet es ein bandbreiteneffizientes Erlebnis, bei dem 3D-Grafiken mit High Performance Computing (HPC) aus der Ferne gestreamt werden.

  • NICEDCVMit Session Manager können Sie den Lebenszyklus von NICE DCV Sitzungen auf einer Serverflotte erstellen und verwalten. NICE DCV

  • NICE EnginFrameist ein fortschrittliches Frontend-Webinterface für den Zugriff auf technische und wissenschaftliche Anwendungen in der Cloud.

Code-Repository

Der Code für dieses Muster ist in der Auto VDI Scaling-Lösung mit einem NICE EnginFrame NICE DCV Session Manager-Repository verfügbar.

Epen

AufgabeBeschreibungErforderliche Fähigkeiten

Klonen Sie das Repository

Klonen Sie das Repository, das den Code enthält.

git clone https://github.com/aws-samples/elastic-vdi-infrastructure.git
Cloud-Architekt

Installieren Sie die erforderlichen AWS CDK Bibliotheken.

Installieren Sie die AWS CDK Bibliotheken.

cd elastic-vdi-infrastructure python3 -m venv .venv source .venv/bin/activate pip3 install -r requirements.txt
Cloud-Architekt

Aktualisieren Sie die Parameter.

  1. Öffnen Sie die Datei app.py in einem Texteditor Ihrer Wahl.

  2. Ersetzen Sie den CHANGE_ME Wert für die folgenden erforderlichen Parameter:

    • region— Die AWS Zielregion. Eine vollständige Liste finden Sie unter AWSRegionen.

    • account— Die ID des AWS Zielkontos. Weitere Informationen finden Sie unter Ihre AWS Konto-ID finden.

    • key_name— Das key pair, das für den Zugriff auf die EC2 Linux-Instances verwendet wird.

  3. (Optional) Ändern Sie die Werte für die folgenden Parameter, um die Lösung an Ihre Umgebung anzupassen:

    • ec2_type_enginframe— Der EnginFrame Instanztyp

    • ec2_type_broker— Der Instanztyp des Session Manager Brokers

    • ebs_enginframe_size— Die Größe des Amazon Elastic Block Store (AmazonEBS) -Volumes für die EnginFrame Instance

    • ebs_broker_size— Die Größe des EBS Volumes für die Session Manager Broker-Instance

    • TagName and TagValue— Das Abrechnungs-Tag für die Ressourcen

    • efadmin_uid— Die eindeutige Kennung des EnginFrame Administratorbenutzers (efadmin)

    • linux_shared_storage_size— ZFS Größe öffnen in Gibibytes (GiB)

    • Shared_Storage_Linux— Der Einhängepunkt des gemeinsam genutzten Speichers

    • Enginframe_installer— Der Download-Link für EnginFrame

    • Session_Manager_Broker_Installer— Der Download-Link für den Session Manager Broker

  4. Speichern und schließen Sie die Datei app.py.

Cloud-Architekt

Stellen Sie die Lösung bereit.

Führen Sie die folgenden Befehle nacheinander aus.

cdk bootstrap cdk deploy Assets-Stack Parameters-Stack cdk deploy Elastic-Vdi-Infrastructure

Wenn die Bereitstellung abgeschlossen ist, werden die folgenden beiden Ausgaben zurückgegeben:

  • Elastic-Vdi-Infrastructure.EnginFrameURL— Die HTTPS Adresse des EnginFrame Portals

  • Elastic-Vdi-InfrastruSecretEFadminPassword— Der Amazon-Ressourcenname (ARN) des Secrets, das das Passwort für den Benutzer efadmin enthält

Notieren Sie sich diese Werte. Sie verwenden sie später in diesem Muster.

Cloud-Architekt

Stellen Sie die Flotte von Linux-Servern bereit.

  1. Melden Sie sich bei der AWS Management Console an und öffnen Sie die CloudFormation Konsole.

  2. Wählen Sie Stack erstellen und dann Mit neuen Ressourcen aus.

  3. Wählen Sie im Ordner cloudformation_files die Datei .yaml aus. dcv-linux-fleet

  4. Definieren Sie auf der Seite „Stack-Details angeben“ die folgenden Parameter:

    • Stackname — Der Name des Stacks.

    • DcvFleet— Der Name der NICE DCV Flotte. Lassen Sie diesen Wert nicht leer und verwenden Sie keine Leerzeichen.

    • InstanceType— Der Instance-Typ der Flotte.

    • RootVolumeSize— Die Größe des Root-Volumes der EC2 Linux-Instance.

    • MinSize— Die Mindestanzahl von Knoten, die verfügbar sein sollten und auf denen keine DCV Sitzung ausgeführt werden sollte. Wenn Sie beispielsweise eingeben2, beginnt die Lösung mit 2 Knoten. Wenn ein Benutzer eine Sitzung erstellt, verringert sich die Anzahl der verfügbaren Knoten auf1, und die Lösung erstellt einen weiteren Knoten, um das Minimum beizubehalten.

    • MaxSize— Die maximale Anzahl von Knoten in der Flotte. Benutzer können keine neuen Sitzungen starten, wenn das Maximum erreicht wurde.

    • BillingTagName— Der Tagname, der für die Abrechnung verwendet wird. Dieser Tag-Name muss sich von dem für den Windows-Stack verwendeten unterscheiden.

    • BillingTagValue— Der Tag-Wert, der für die Abrechnung verwendet wird.

  5. Schließen Sie den Assistenten zur Stack-Erstellung ab und wählen Sie dann Submit, um mit der Erstellung des Stacks zu beginnen.

Cloud-Architekt

Stellen Sie die Flotte von Windows-Servern bereit.

  1. Melden Sie sich bei der AWS Management Console an und öffnen Sie die CloudFormation Konsole.

  2. Wählen Sie Stack erstellen und dann Mit neuen Ressourcen aus.

  3. Wählen Sie im Ordner cloudformation_files die Datei .yaml aus. dcv-windows-fleet

  4. Definieren Sie auf der Seite „Stack-Details angeben“ die folgenden Parameter:

    • Stackname — Der Name des Stacks.

    • DcvFleet— Der Name der NICE DCV Flotte. Lassen Sie diesen Wert nicht leer und verwenden Sie keine Leerzeichen.

    • InstanceType— Der Instance-Typ der Flotte.

    • RootVolumeSize— Die Größe des Root-Volumes der EC2 Windows-Instance.

    • MinSize— Die Mindestanzahl von Knoten, die verfügbar sein sollten und auf denen keine DCV Sitzung ausgeführt werden sollte.

    • MaxSize— Die maximale Anzahl von Knoten in der Flotte.

    • BillingTagName— Der Tagname, der für die Abrechnung verwendet wird. Dieser Tag-Name muss sich von dem für den Linux-Stack verwendeten unterscheiden.

    • BillingTagValue— Der Tag-Wert, der für die Abrechnung verwendet wird.

  5. Schließen Sie den Assistenten zur Stack-Erstellung ab und wählen Sie dann Submit, um mit der Erstellung des Stacks zu beginnen.

Cloud-Architekt
AufgabeBeschreibungErforderliche Fähigkeiten

Rufen Sie das EnginFrame Administratorkennwort ab.

Das EnginFrame Administratorkonto hat den Namen efadmin, und das Passwort wird im AWS Secrets Manager als Geheimnis gespeichert. Das ARN Secret wird dynamisch generiert und ist in der Ausgabe des AWS CDK Deployments sichtbar.

  1. Im vorherigen Epos finden Sie in der Geschichte Deploy the Solution unter der Elastic-Vdi-Infrastructure.SecretEFadminPassword Ausgabe den Wert ARN des generierten Geheimnisses.

  2. Gehen Sie wie folgt vor, um das Geheimnis abzurufen:

Cloud-Architekt

Greifen Sie auf das EnginFrame Portal zu.

  1. Im vorherigen Epos finden Sie in der Story Deploy the Solution unter der Elastic-Vdi-Infrastructure.EnginFrameURL Ausgabe die HTTPS Adresse des EnginFrame Portals.

  2. Geben Sie in einem Webbrowser die HTTPS Adresse des Portals ein.

  3. Geben Sie die Anmeldeinformationen für den Benutzer efadmin ein.

Cloud-Architekt

Starten Sie eine Windows-Sitzung.

  1. Wählen Sie im EnginFrame Portal im Menü Windows Desktop aus.

  2. Wenn Sie aufgefordert werden, sich als Windows-Administrator anzumelden, geben Sie dasselbe Passwort ein, das Sie für den Benutzer efadmin verwendet haben.

  3. Vergewissern Sie sich, dass die Windows-Sitzung erfolgreich gestartet wurde.

Cloud-Architekt

Starten Sie eine Linux-Sitzung.

  1. Wählen Sie im EnginFrame Portal im Menü Linux Desktop.

  2. Wenn Sie aufgefordert werden, sich anzumelden, geben Sie die Anmeldeinformationen für den Benutzer efadmin ein.

  3. Vergewissern Sie sich, dass die Linux-Sitzung erfolgreich gestartet wurde.

Cloud-Architekt
AufgabeBeschreibungErforderliche Fähigkeiten

Lösche die Stapel.

Löschen Sie in der AWS CloudFormation Konsole die Stacks für die Windows- und Linux-Serverflotten. Weitere Informationen finden Sie unter Löschen eines Stacks.

Cloud-Architekt

Löschen Sie die Infrastruktur.

Löschen Sie die bereitgestellte Infrastruktur mithilfe des folgenden AWS CDK Befehls.

cdk destroy --all
Cloud-Architekt

Fehlerbehebung

ProblemLösung

Die Bereitstellung wurde nicht abgeschlossen, da sie unterbrochen wurde.

Folgen Sie den Anweisungen im Clean-up-Epic und wiederholen Sie dann dieses Muster, um die Umgebung erneut bereitzustellen.

Zugehörige Ressourcen