Führen Sie diese Schritte aus, um die Horizon Cloud Connector-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 Cloud Connector in der nativen Amazon Elastic Computer Cloud-Infrastruktur (EC2) in der Umgebung Ihres Pods bereitstellen.

Hinweis: Hintergrundinformationen zu Horizon-Pod-Bereitstellungsarchitekturen finden Sie unter Horizon-Pod-Bereitstellungsarchitekturen.

Im Folgenden finden Sie eine Übersicht über die erforderlichen Schritte, um Horizon Cloud Connector in der nativen Amazon EC2-Infrastruktur Ihrer Pod-Umgebung bereitzustellen.

  • Laden Sie die Horizon Cloud Connector-Datei im VMDK-Format herunter.
  • Erstellen Sie einen Amazon Simple Storage Service (S3)-Bucket auf Amazon EC2 und laden Sie die VMDK-Datei der Appliance in diesen Bucket hoch.
  • Erstellen Sie ein benutzerdefiniertes Image aus der hochgeladenen VMDK-Datei.
  • Erstellen Sie die Instanz der Horizon Cloud Connector-VM aus dem benutzerdefinierten Image.
Wichtig: Bei der Bereitstellung von Horizon Cloud Connector in der nativen Amazon EC2-Infrastruktur werden die folgenden Horizon Cloud Dienste standardmäßig deaktiviert. Nach der Bereitstellung der Appliance können Sie optional einen oder mehrere dieser Dienste manuell aktivieren.
  • Cloud Monitoring Service
  • Cloud Broker-Clientdienst
  • Image Locality-Dienst

Voraussetzungen

Prozedur

  1. Laden Sie das Festplatten-Image für Horizon Cloud Connector mithilfe des Links in Ihrer Abonnement-E-Mail herunter.
    Hinweis: Um die Bereitstellung der Appliance in einer Amazon EC2-Umgebung zu unterstützen, müssen Sie Version 2.0 oder höher des Horizon Cloud Connector-Festplatten-Images herunterladen.

    Das Festplatten-Image von Horizon Cloud Connector ist als VMDK-Datei verfügbar, nachdem Sie sich mit Ihren My VMware-Kontoanmeldedaten bei my.vmware.com angemeldet haben. Laden Sie die VMDK-Datei auf Ihr lokales System herunter.

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

      Der folgende Text ist ein Beispiel für den Inhalt der JSON-Datei, nachdem Sie den vorherigen Befehl ausgeführt haben.
      {
          "Version":"2012-10-17",
          "Statement":[
              {
                  "Sid":"",
                  "Effect":"Allow",
                  "Principal":{
                      "Service":"vmie.amazonaws.com"
                  },
                  "Action":"sts:AssumeRole",
                  "Condition":{
                      "StringEquals":{
                          "sts:ExternalId":"vmimport"
                      }
                  }
              }
          ]
      }
    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": "horizon-cloud-connector-2.0.0.0-18191154_OVF10-disk1.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 Cloud Connector-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 Cloud Connector-Appliance.
    • Erstellen eines ccadmin-Benutzerkontos auf der Appliance mit dem definierten Kennwort (password). Stellen Sie sicher, dass Sie ein sicheres Kennwort definieren. Schwache Kennwörter werden nicht akzeptiert.
    • 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 Cloud Connector-AMI-Instanz starten, zu den Benutzerdaten hinzufügen.

  10. Starten Sie die AMI-Instanz für Horizon Cloud Connector.
    Wichtig: 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.

    Wichtig: 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 Cloud Connector-AMI gestartet wurde, bearbeiten Sie die Konfiguration der AMI-Instanz und entfernen Sie das Startskript.

Nächste Maßnahme

Fahren Sie mit dem Workflow für das Pod-Onboarding fort, indem Sie die unter Überprüfen der Bereitschaft von Horizon-Pod und virtueller Appliance zur Kopplung mit der Horizon-Steuerungsebene beschriebenen Schritte ausführen. Fahren Sie dann mit dem Abschließen der Kopplung des Horizon-Pods mit Horizon Cloud über das Horizon Cloud Connector-Konfigurationsportal fort.
Hinweis: Wenn Sie einen oder mehrere Dienste aktivieren möchten, die standardmäßig deaktiviert sind, sollten Sie diese Dienste aktivieren, bevor Sie die Kopplung des Pods mit der Cloud-Ebene abschließen. Siehe Manuelles Aktivieren von Horizon Cloud Control-Plane-Diensten für Horizon Cloud Connector auf nativem Amazon EC2.