Sie können das Horizon Edge Gateway in Ihre Horizon 8-Verbundbereitstellung in Amazon Web Services (AWS) herunterladen und dort bereitstellen, um eine Kopplung mit Horizon Cloud Service - next-gen herbeizuführen.

Voraussetzungen

Führen Sie diese Schritte aus, um die Horizon Edge Gateway-Appliance für eine Pod-Bereitstellung herunterzuladen und bereitzustellen, die die Verbundarchitektur mit VMware Cloud on AWS verwendet. In einer Verbundarchitektur müssen Sie Horizon Edge Gateway in der nativen EC2-Infrastruktur (Amazon Elastic Computer Cloud) in der Umgebung Ihres Pods in Horizon Cloud Service - next-gen bereitstellen.

  • Vergewissern Sie sich, dass die Voraussetzungen für das Horizon Edge Gateway erfüllt sind (siehe Beschreibung unter Edge-Bereitstellung in Horizon 8).
  • Vergewissern Sie sich, dass Sie die Anforderungen im Thema Erreichbarmachen geeigneter Ziele und URLs für die Bereitstellung eines Horizon Edge Gateway in einer Horizon 8-Umgebung für die Verwendung von Horizon Edge Gateway zum Koppeln eines Horizon 8-Pods mit Horizon Cloud Service erfüllt haben.
  • Die virtuelle Horizon Edge Gateway-Appliance muss das Internet erreichen können, um mit der Horizon Cloud-Steuerungsebene zu kommunizieren. Wenn Ihre Umgebung die Verwendung eines Proxy-Servers und einer Proxy-Konfiguration erfordert, damit bereitgestellte Appliances das Internet erreichen, stellen Sie sicher, dass Sie die Proxy-bezogenen Informationen, bekannte Einschränkungen und bekannte Probleme beim Verwenden von Proxy-Einstellungen für die Horizon Edge Gateway-Appliance gelesen haben.
  • Wenn Sie einen Proxy bei der Ausführung eines Skripts zum Koppeln von Edges verwenden möchten, müssen Sie zuerst den folgenden Befehl ausführen, wobei Sie true angeben, wenn ProxySSL aktiviert ist, und false in allen anderen Fällen:
    /opt/vmware/bin/pair-edge-with-proxy.sh -i 'IP_or FQDN_of Proxy' -o 'Proxy_Port' -u 'Proxy_User_Name' -p 'Proxy_Password' -s 'true_or_false' -c 'Connection_String'
    Weitere Informationen zum Proxy finden Sie in folgendem Hinweis.
    Hinweis: Proxy-Konfiguration im Edge aktualisieren
    /opt/vmware/bin/configure-edge-webproxy.py --proxyHost 127.0.0.1 --proxyPort 3128 --proxyUsername 'exampleUsername' --proxyPassword 'examplePassword'
    
    Um weitere Optionen zu erkunden, führen Sie das Skript wie unten gezeigt mit der Option -h aus.
    /opt/vmware/bin/configure-edge-webproxy.py -h
  • Für viele der Schritte müssen Sie die Befehlszeile verwenden. Sie können jedoch einige der Bereitstellungsschritte entweder über die AWS-Verwaltungskonsole oder die AWS-Befehlszeilenschnittstelle (CLI) durchführen. Detaillierte Informationen zum Arbeiten mit einer Amazon EC2-Umgebung finden Sie in der Amazon Elastic Compute Cloud-Dokumentation unter https://docs.aws.amazon.com/ec2/index.html. In den folgenden Schritten wird häufig der spezifische Typ der Amazon Elastic Compute Cloud-Dokumentation zu Referenzzwecken vorgeschlagen.

Prozedur

  1. Laden Sie das Image der Horizon Edge Gateway-Festplatte mithilfe der Anweisungen in Schritt 7. Verwenden von „Herunterladen“ zum Abrufen der Binärdatei der Horizon Edge Gateway-Appliance im Verfahren auf der Seite Bereitstellen eines Horizon Edge zur Verwendung mit Horizon 8-Bereitstellungen und der Horizon Cloud Service - next-gen-Steuerungsebeneherunter und reagieren Sie auf alle Bildschirmaufforderungen.

    Das Image der Horizon Edge Gateway-Festplatte ist als VMDK-Datei verfügbar. Laden Sie die VMDK-Datei auf Ihr lokales System herunter.

    Hinweis: Laden Sie Version 2.3.3.0 oder höher des Images der Horizon Edge Gateway-Festplatte herunter, wie z. B. edge-gw-2.3.3.0-22720582.ec2.vmdk.

    Speichern Sie die heruntergeladene Binärdatei an einem Speicherort, über den Sie sie auf der gewünschten Virtualisierungsplattform bereitstellen. Kehren Sie anschließend zu dieser Schrittsequenz zurück, um den notwendigen Kopplungsvorgang fortzusetzen.

    Bevor Sie die Festplatten-Image-Datei in Ihre Amazon EC2-Umgebung hochladen, müssen Sie zuerst einen Amazon S3-Bucket erstellen.
  2. Erstellen Sie einen Amazon S3-Bucket in Ihrer Amazon EC2-Umgebung. Detaillierte Anweisungen finden Sie in der Amazon Elastic Compute Cloud-Dokumentation.
  3. Laden Sie die heruntergeladene VMDK-Datei in Ihren Amazon S3-Bucket hoch. Sie können diesen Schritt entweder über die AWS-Managementkonsole oder die AWS-Befehlszeilenschnittstelle (CLI) durchführen.
    • (AWS-Managementkonsole) Melden Sie sich bei der AWS-Verwaltungskonsole für Ihre Amazon EC2-Umgebung an. Wechseln Sie zum S3-Dienst, wählen Sie den zuvor erstellten Bucket aus und laden Sie die VMDK-Datei in diesen Bucket hoch.
    • (AWS-CLI) Greifen Sie auf die AWS-CLI zu und führen Sie den folgenden Befehl aus.
      aws s3 cp <file-path-to-VMDK-file> <S3URI>

      Weitere Informationen zum Ausführen des cp-Befehls finden Sie in der Amazon Elastic Compute Cloud-Dokumentation.

    In der AWS-Managementkonsole wird die VMDK-Datei auf der Registerkarte Objekte aufgeführt.
  4. Erstellen Sie eine Dienstrolle und eine Richtlinie und hängen Sie die Richtlinie an die Rolle an.
    1. Erstellen Sie die erste von drei neuen JSON-Dateien, die für dieses Verfahren erforderlich sind.
      Zweck dieser speziellen JSON-Datei ist das Speichern der Dienstrolleninformationen. Benennen Sie die Datei nach Bedarf. In diesem Verfahren lautet der Beispieldateiname für diese Datei trust-policy.json.
      Der folgende Text dient als Beispiel für den Inhalt der JSON-Datei.
      {
          "Version":"2012-10-17",
          "Statement":[
              {
                  "Sid":"",
                  "Effect":"Allow",
                  "Principal":{
                      "Service":"vmie.amazonaws.com"
                  },
                  "Action":"sts:AssumeRole",
                  "Condition":{
                      "StringEquals":{
                          "sts:ExternalId":"vmimport"
                      }
                  }
              }
          ]
      }
    2. Erstellen Sie eine Dienstrolle mit einem Namen Ihrer Wahl und speichern Sie die Rolleninformationen in der neuen JSON-Datei.
      Führen Sie z. B. mithilfe der CLI einen Befehl wie den folgenden aus.
      Der folgende Befehl ist ein generisches Beispiel.
      aws iam create-role --role-name <role-name> --assume-role-policy-document <file-path>

      Der folgende Beispielbefehl ersetzt die Platzhalter <Rollenname> durch die spezifische vmimport-Beispiel und den Platzhalter <Dateipfad> durch das spezifische trust-policy.json-Beispiel.

      aws iam create-role --role-name vmimport --assume-role-policy-document file://trust-policy.json

      Weitere Informationen zum Ausführen des create-role-Befehls finden Sie in der Amazon Elastic Compute Cloud-Dokumentation.

    3. Erstellen Sie die zweite von drei neuen JSON-Dateien, die für dieses Verfahren erforderlich sind.
      Geben Sie den Namen des Buckets an, in den Sie die VMDK-Datei hochladen, z. B. <Bucket-Name>, den im folgenden Beispiel verwendeten Namen.
      Zweck dieser speziellen JSON-Datei ist das Anhängen einer neuen Richtlinie mit der neuen Rolle. Benennen Sie die Datei nach Bedarf. In diesem Verfahren lautet der Beispieldateiname für diese Datei role-policy.json.
      Der folgende Text ist ein Beispiel für den Inhalt der Beispieldatei sts_id.
      {
          "Version":"2012-10-17",
          "Statement":[
              {
                  "Effect":"Allow",
                  "Action":[
                      "s3:ListBucket",
                      "s3:GetBucketLocation"
                  ],
                  "Resource":[
                      "arn:aws:s3:::<bucket-name>"
                  ]
              },
              {
                  "Effect":"Allow",
                  "Action":[
                      "s3:GetObject"
                  ],
                  "Resource":[
                      "arn:aws:s3:::<bucket-name>/*"
                  ]
              },
              {
                  "Effect":"Allow",
                  "Action":[
                      "ec2:ModifySnapshotAttribute",
                      "ec2:CopySnapshot",
                      "ec2:RegisterImage",
                      "ec2:Describe*"
                  ],
                  "Resource":"*"
              }
          ]
      }
    4. Erstellen Sie eine Richtlinie, hängen Sie sie an die neue Rolle an und speichern Sie sie in der neu erstellten JSON-Datei.

      Führen Sie z. B. mithilfe der CLI einen Befehl wie den folgenden aus.

      Der folgende Befehl ist ein generisches Beispiel.
      aws iam put-role-policy --role-name <role-name> --policy-name <policy-name> --policy-document <file-path>

      Das folgende spezifische Beispiel ersetzt den Platzhalter <Rollenname> durch ein bestimmtes Beispiel einer Richtlinie mit dem Namen vmimport, den Platzhalter <Richtlinienname> durch das spezifische Beispiel der zuvor benannten Rolle, auch vmimport genannt, und den Platzhalter <Dateipfad> mit dem spezifischen Beispiel der zuvor benannten JSON-Datei role-policy.json.

      aws iam put-role-policy --role-name vmimport --policy-name vmimport --policy-document file://role-policy.json

      Weitere Informationen zum Ausführen des put-role-policy-Befehls finden Sie in der Amazon Elastic Compute Cloud-Dokumentation.

  5. Importieren Sie einen Snapshot aus der importierten VMDK-Datei.
    1. Erstellen Sie die dritte von drei neuen JSON-Dateien, die für dieses Verfahren erforderlich sind.
      Fügen Sie die folgenden Informationen in die Datei ein.
      • Der Bucket-Name, z. B. <Bucket-Name>, der im folgenden Beispiel verwendet wird.
      • Der Dateiname der VMDK-Datei, die Sie in Ihren Amazon S3-Bucket hochgeladen haben, z. B. <vmdk-file-name-uploaded-to-S3>, der im folgenden Beispiel verwendet wird.
      Zweck dieser speziellen JSON-Datei ist das Speichern des Snapshots der importierten VMDK-Datei. Benennen Sie die Datei nach Bedarf. In diesem Verfahren lautet der Beispieldateiname für diese Datei container.json.
      Der nachfolgende Text ist ein Beispiel für den Inhalt der Datei container.json.
      {
          "Description": "Adapter-VM",
          "Format": "vmdk",
          "UserBucket": {
              "S3Bucket": "<bucket-name>",
              "S3Key": "<vmdk-file-name-uploaded-to-S3>"
          }
      }
    2. Führen Sie den Befehl aus, um den Snapshot aus der importierten VMDK-Datei in die neu erstellte JSON-Datei zu importieren.
      Führen Sie mithilfe der CLI den folgenden Befehlstyp aus.
      aws ec2 import-snapshot --role-name <role-name> --description <description> --disk-container <file-path>

      Weitere Informationen zum Ausführen des import-snapshot-Befehls finden Sie in der Amazon Elastic Compute Cloud-Dokumentation.

      Der folgende Befehl ist ein spezifisches Beispiel für den import-snapshot-Befehl, bei dem der role-name-Parameter optional und nicht verwendet wird, die Beschreibung "Adapter-VM" lautet und der Dateiname des Containers container.json ist.
      aws ec2 import-snapshot --description "Adapter-VM" --disk-container file://container.json
      Die Ausführung des import-snapshot-Befehls kann einige Minuten dauern. Nachdem Sie den Befehl ausgeführt haben, erstellt der Befehl jedoch eine Ausgabe, die eine ImportTaskId-Zeile enthält, mit der Sie den Fortschritt der Aufgabe verfolgen können. die folgende Ausgabe ist ein Beispiel.
      {
          "ImportTaskId": "import-snap-05b4c84af4xxxxxxx",
          "Description": "Adapter-VM",
          "SnapshotTaskDetail": {
              "StatusMessage": "pending",
              "UserBucket": {
                    "S3Bucket": "awsbucket",
                   "S3Key": "edge-gw-2.3.3.0-22720582.ec2.vmdk"
               },
             "Progress": "0",
             "Status": "active",
              "Description": "Adapter-VM",
              "DiskImageSize": 0.0
          }
      
      }
    3. Notieren Sie sich den ImportTaskId-Wert in der import-snapshot-Befehlsausgabe.
  6. Führen Sie den folgenden Befehl aus, um den Fortschritt der import-snapshot-Aufgabe zu verfolgen und die Snapshot-ID abzurufen.
    aws ec2 describe-import-snapshot-tasks --import-task-ids <import-task-id>

    Ersetzen Sie den Platzhalter <Import-Aufgaben-ID> durch den Wert, der in der Ausgabe des import-snapshot-Befehls aufgeführt ist. Der in der obigen Beispielausgabe aufgeführte Beispielwert ist import-snap-05b4c84af4xxxxxxx. Weitere Informationen zum Ausführen des describe-import-snapshot-tasks-Befehls finden Sie in der Amazon Elastic Compute Cloud-Dokumentation.

    Der Befehl describe-import-snapshot-tasks liefert eine Ausgabe, die den Fortschritt der import-snapshot-Aufgabe angibt. Wenn die Aufgabe abgeschlossen ist, wird die Snapshot-ID bereitgestellt, die für die Registrierung des Images erforderlich ist. Beispiel.
    • "Progress": "43". Eine Zeile in der Ausgabe, z. B. diese Zeile, gibt den Prozentsatz des Fortschritts für die import-snapshot-Aufgabe an. In diesem Beispiel ist die Aufgabe zu 43 % abgeschlossen.
    • "Status": "completed". Eine Zeile in der Ausgabe, z. B. diese Zeile, gibt an, dass die import-snapshot-Aufgabe abgeschlossen ist.
    • "SnapshotId": "snap-06d42e043bxxxxxxx". Eine Zeile in der Ausgabe, wie z. B. diese Zeile, wird angezeigt, wenn die Aufgabe abgeschlossen ist. In diesem Beispiel ist die Snapshot-ID snap-06d42e043bxxxxxxx.
  7. Notieren Sie sich die Snapshot-ID aus der describe-import-snapshot-tasks-Befehlsausgabe.
  8. Führen Sie zum Registrieren des Snapshot-Images den Befehl register-image aus.
    aws ec2 register-image --region us-west-2 --name <image-name> --architecture x86_64 --root-device-name '/dev/sda1' --virtualization-type hvm --ena-support --block-device-mappings DeviceName=/dev/sda1,Ebs={SnapshotId=<SnapshotId>} 
    Vorgehensweise zum Bereitstellen spezifischer Antworten für Ihre Bereitstellung für jede Option, z. B. --region, --architecture und andere. Weitere Informationen zum Ausführen des register-image-Befehls finden Sie in der Amazon Elastic Compute Cloud-Dokumentation.

    Die folgenden Informationen gelten spezifisch für die --name-Option und den SnapshotId-Parameter.

    • --name – Geben Sie einen Namen für das Image gemäß den Einschränkungen für die Zeichenfolge an.
    • SnapshotId – Geben Sie die Snapshot-ID aus der describe-import-snapshot-tasks-Befehlsausgabe an.
    Der Befehl register-image bietet eine Ausgabe, die die ID des Amazon Machine Image (AMI) enthält. Im folgenden Beispiel wird eine typische register-image-Ausgabe dargestellt.
     {
            "ImageId": "ami-0721ee000321c4685"
        }
    Das in der register-image-Befehlsausgabe angegebene AMI wird auch in der AWS-Managementkonsole in der Liste der AMIs angezeigt.
  9. Um die Erstellung und Konfiguration der Horizon Edge Gateway-AMI-Instanz zu unterstützen, bereiten Sie ein Startskript ähnlich dem folgenden Beispiel vor.
    #! /bin/bash
    /usr/bin/python3 /opt/vmware/bin/configure-adapter.py --sshEnable
    sudo useradd ccadmin
    echo -e 'password\npassword' | passwd ccadmin
    echo 'cs_ip cs_fqdn' >> /etc/hosts
    In diesem Beispiel unterstützt das Skript die folgenden Konfigurationen:
    • Aktivieren des SSH-Zugriffs auf die Horizon Edge Gateway-Appliance.
    • Erstellen eines ccadmin-Benutzerkontos auf der Appliance mit dem definierten Kennwort (<Mypassword>\n<Mypassword>). Stellen Sie sicher, dass Sie ein sicheres Kennwort definieren. Sichere Kennwörter bestehen aus mindestens 8 Zeichen und müssen eine oder mehrere Zahlen, Groß- und Kleinbuchstaben sowie Sonderzeichen enthalten.
    • Auflösung des Connection Server-Hostnamens (cs_fqdn) in die Connection Server-IP-Adresse (cs_ip).

    Sie müssen dieses Skript im nächsten Schritt, in dem Sie die Horizon Edge Gateway-AMI-Instanz starten, zu den Benutzerdaten hinzufügen.

  10. Starten Sie die AMI-Instanz für Horizon Edge Gateway.
    Hinweis: Um sicherzustellen, dass die Instanz ausreichende Funktionen bereitstellt, verwenden Sie Modell c5.2xlarge oder höher.

    Sie können eine Instanz mithilfe der AWS-Managementkonsole oder CLI starten. Verwenden Sie in beiden Fällen die ID des Amazon Machine Image (AMI), das in der register-image-Befehlsausgabe angegeben ist, und fügen Sie das Startskript, das Sie im vorherigen Schritt vorbereitet haben, zu den Benutzerdaten hinzu.

    Hinweis: Sie müssen das Startskript zu diesem Zeitpunkt hinzufügen, da die Benutzerdaten nur in der ersten Startsequenz der AMI-Instanz ausgeführt werden.

    Wenn Sie die CLI verwenden möchten, finden Sie in der Amazon Elastic Compute Cloud-Dokumentation Einzelheiten zur Ausführung des Befehls run-instances.

    Weitere Informationen zur Verwendung der AWS-Managementkonsole finden Sie in der Dokumentation zu Amazon Elastic Compute Cloud, z. B. zum Starten einer Instanz mithilfe des Assistenten zum Starten einer Instanz.

    Wenn Sie die Instanz mit der AWS-Managementkonsole starten möchten, suchen Sie das neue AMI anhand der Image-ID, wählen Sie das AMI aus und klicken Sie auf Starten. Sie können dann mit dem Assistenten fortfahren und die Einzelheiten für Ihre Bereitstellung angeben.

  11. Nachdem das Horizon Edge Gateway-AMI gestartet wurde, bearbeiten Sie die Konfiguration der AMI-Instanz und entfernen Sie das Startskript.
  12. Melden Sie mittels SSH bei der AWS-Instanz der Horizon Edge Gateway-VM an.

    Wenn Sie die CLI oder die AWS-Managementkonsole verwenden möchten, finden Sie in der Dokumentation zu Amazon Elastic Compute Cloud weitere Informationen zum Herstellen einer Verbindung mit Ihrer Instanz. Wir empfehlen SSH, um das Kopieren/Einfügen des Kopplungsschlüssels zuzulassen.

    Informationen hierzu finden Sie unter Aktivieren des SSH-Zugriffs für Horizon Edge.

    Weitere Informationen finden Sie auch unter Herstellen einer Verbindung zu Ihrer Linux-Instanz und Herstellen einer Verbindung zu Ihrer Linux-Instanz mit EC2 Instance Connect in der AWS-Produktdokumentation.

  13. Führen Sie ein Skript zum Koppeln von Edges mit folgendem Befehlsformat aus, wobei es sich bei pairing_code um den Kopplungscode handelt, den Sie aus dem unter Bereitstellen eines Horizon Edge zur Verwendung mit Horizon 8-Bereitstellungen und der Horizon Cloud Service - next-gen-Steuerungsebenebeschriebenen Screenshot von Schritt 9 kopiert haben:

    sudo /opt/vmware/sbin/pair-edge.sh 'pairing_code'

  14. Zur Verbesserung der Sicherheit sollten Sie SSH deaktivieren, wenn Sie diese Schritte abgeschlossen haben.
  15. Navigieren Sie zurück zur Horizon Universal Console, um die Konfiguration der Details des Horizon Connection Server abzuschließen. Siehe Bereitstellen eines Horizon Edge zur Verwendung mit Horizon 8-Bereitstellungen und der Horizon Cloud Service - next-gen-Steuerungsebene.