Richten Sie mithilfe von NICE EnginFrame und NICE DCV Session Manager eine auto skalierende virtuelle Desktop-Infrastruktur 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 von NICE EnginFrame und NICE DCV Session Manager eine auto skalierende virtuelle Desktop-Infrastruktur ein

Erstellt von Dario La Porta (AWS) und Salvatore Maccarone (AWS)

Übersicht

NICE DCV ist ein leistungsstarkes Remote-Display-Protokoll, mit dem Sie Remote-Desktops und -anwendungen über unterschiedliche Netzwerkbedingungen von jeder Cloud oder jedem Rechenzentrum auf jedes Gerät streamen können. Mit NICE DCV und Amazon Elastic Compute Cloud (Amazon EC2) können Sie grafikintensive Anwendungen remote auf EC2 Amazon-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 Desktop-Infrastruktur (VDI) für Linux und Windows ein, auf die über eine webbasierte Benutzeroberfläche zugegriffen werden kann. Die VDI-Lösung bietet Anwendern aus der Forschung und Entwicklung (F&E) eine zugängliche und leistungsstarke Benutzeroberfläche, über die sie grafikintensive Analyseanfragen einreichen und Ergebnisse aus der Ferne überprüfen können.

Voraussetzungen und Einschränkungen

Voraussetzungen

  • Ein aktiver. AWS-Konto

  • Administratorrechte und eine Reihe von Zugriffsschlüsseln.

  • AWS Cloud Development Kit (AWS CDK) Toolkit, installiert und konfiguriert. Weitere Informationen finden Sie unter Installieren der AWS CDK.

  • AWS Command Line Interface (AWS CLI), installiert und konfiguriert für Ihren AWS-Konto. Weitere Informationen finden Sie unter Installieren oder Aktualisierung auf die neueste 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-Amazon-Instances ein Secure Shell (SSH) -Schlüsselpaar key pair. Weitere Informationen finden Sie unter Schlüsselpaare und Linux-Instances.

Produktversionen

  • AWS CDK Version 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 NICE EnginFrame , um EC2 Amazon-Instances gemäß den Amazon EC2 Auto Scaling Scaling-Gruppen für Windows- und Linux-NICE-DCV-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 eine benutzerdefinierte VPC, öffentliche und private Subnetze, ein Internet-Gateway, ein NAT-Gateway, einen Application Load Balancer, Sicherheitsgruppen und AWS Identity and Access Management (IAM) -Richtlinien. AWS CloudFormation wird auch verwendet, um die Flotte von Linux- und Windows-NICE-DCV-Servern zu erstellen.

Tools

AWS-Services

  • AWS Cloud Development Kit (AWS CDK)ist ein Softwareentwicklungs-Framework, das Ihnen hilft, AWS Cloud Infrastruktur im Code zu definieren und bereitzustellen.

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

  • NICE DCV ist 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 aus der Ferne (High Performance Computing, HPC) gestreamt werden.

  • NICE DCV Session Manager hilft Ihnen, den Lebenszyklus von NICE DCV-Sitzungen auf einer Flotte von NICE DCV-Servern zu erstellen und zu verwalten.

  • NICE EnginFrame ist 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 Scaling VDI-Lösung mit NICE EnginFrame und dem 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— Das Ziel AWS-Region. Eine vollständige Liste finden Sie hier: AWS-Regionen.

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

    • key_name— Das key pair, das für den Zugriff auf die EC2 Linux-Amazon-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 (Amazon EBS) -Volumes für die Instance EnginFrame

    • ebs_broker_size— Die Größe des Amazon 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— OpenZFS-Größe 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-Amazon-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-Amazon-Instance.

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

    • 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 ist geheim gespeichert. AWS Secrets Manager Der ARN des Secrets wird dynamisch generiert und ist in der Ausgabe der AWS CDK Bereitstellung sichtbar.

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

  2. Führen Sie einen der folgenden Schritte aus, 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.

  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 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