Vous pouvez télécharger et déployer la passerelle Passerelle Horizon Edge dans votre déploiement fédéré d'Horizon 8 dans Amazon Web Services (AWS) à coupler avec Horizon Cloud Service - next-gen.

Conditions préalables

Suivez ces étapes pour télécharger et déployer le dispositif Passerelle Horizon Edge pour un déploiement de l'espace qui utilise l'architecture fédérée avec VMware Cloud on AWS. Dans l'architecture fédérée, vous devez déployer Passerelle Horizon Edge dans l'infrastructure Amazon Elastic Computer Cloud (EC2) native dans l'environnement de votre espace d'Horizon Cloud Service - next-gen.

  • Vérifiez que vous avez respecté les conditions préalables liées à la Passerelle Horizon Edge décrites dans la section Déploiements des dispositifs Horizon 8 Edge.
  • Vérifiez que vous avez respecté les conditions préalables répertoriées dans la section Rendre les URL de destination appropriées accessibles pour déployer une passerelle Passerelle Horizon Edge dans un environnement Horizon 8 pour utiliser la passerelle Passerelle Horizon Edge pour coupler un espace Horizon 8 avec Horizon Cloud Service.
  • Le dispositif virtuel Passerelle Horizon Edge doit accéder à Internet pour communiquer avec le plan de contrôle Horizon Cloud. Si votre environnement nécessite l'utilisation d'une configuration de serveur proxy et de proxy pour que les dispositifs déployés accèdent à Internet, veillez à vérifier les informations liées au proxy, les limitations connues et les problèmes connus lors de l'utilisation des paramètres de proxy avec le dispositif Passerelle Horizon Edge.
  • Si vous prévoyez d'utiliser un proxy lors de l'exécution d'un script pair-edge, vous devez d'abord exécuter la commande suivante, en indiquant true lorsque ProxySSL est activé et sinon en indiquant false :
    /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'
    Reportez-vous aux informations liées au proxy dans la Remarque suivante.
    Note : Mettre à jour la configuration du proxy dans Edge
    /opt/vmware/bin/configure-edge-webproxy.py --proxyHost 127.0.0.1 --proxyPort 3128 --proxyUsername 'exampleUsername' --proxyPassword 'examplePassword'
    
    Pour explorer plus d'options, exécutez le script avec l'option -h, comme indiqué ci-dessous.
    /opt/vmware/bin/configure-edge-webproxy.py -h
  • Vous devez utiliser la ligne de commande pour la plupart des étapes. Cependant, vous pouvez effectuer certaines étapes de déploiement à l'aide de la console de gestion AWS ou de l'interface de ligne de commande (CLI) AWS. Pour obtenir des informations détaillées sur l'utilisation d'un environnement Amazon EC2, reportez-vous à la documentation d'Amazon Elastic Compute Cloud à l'adresse https://docs.aws.amazon.com/ec2/index.html. Les étapes qui suivent suggèrent souvent le type spécifique de documentation d'Amazon Elastic Compute Cloud à référencer.

Procédure

  1. Téléchargez l'image disque Passerelle Horizon Edge à l'aide de Étape 7. Utilisez l'option Télécharger pour obtenir le fichier binaire du dispositif de passerelle Horizon Edge.Instruction de la procédure à la page Déployer un dispositif Horizon Edge à utiliser avec les déploiements d'Horizon 8 et le plan de contrôle Horizon Cloud Service - next-gen. Répondez à toutes les invites à l'écran.

    L'image disque Passerelle Horizon Edge est disponible sous la forme d'un fichier VMDK. Téléchargez le fichier VMDK sur votre système local.

    Note : Téléchargez la version 2.3.3.0 ou ultérieure de l'image disque Passerelle Horizon Edge, par exemple edge-gw-2.3.3.0-22720582.ec2.vmdk.

    Enregistrez le fichier binaire téléchargé dans un emplacement à partir duquel vous le déploierez sur la plate-forme de virtualisation souhaitée, puis revenez à cette séquence d'étapes pour poursuivre le processus de couplage requis.

    Avant de télécharger le fichier image de disque dans votre environnement Amazon EC2, vous devez d'abord créer un compartiment Amazon S3.
  2. Créez un compartiment Amazon S3 dans votre environnement Amazon EC2. Pour obtenir des instructions détaillées, reportez-vous à la documentation d'Amazon Elastic Compute Cloud.
  3. Chargez le fichier VMDK téléchargé dans votre compartiment Amazon S3. Vous pouvez effectuer cette étape à l'aide de la console de gestion AWS ou de l'interface de ligne de commande (CLI) d'AWS.
    • (Console de gestion AWS) Connectez-vous à la console de gestion AWS pour votre environnement Amazon EC2. Accédez au service S3, sélectionnez le compartiment que vous avez créé précédemment et chargez le fichier VMDK dans ce compartiment.
    • (CLI AWS) Accédez à l'interface de ligne de commande (CLI) et exécutez la commande suivante.
      aws s3 cp <file-path-to-VMDK-file> <S3URI>

      Pour plus d'informations sur l'exécution de la commande cp, reportez-vous à la documentation d'Amazon Elastic Compute Cloud.

    Dans la console de gestion AWS, le fichier VMDK est répertorié dans l'onglet Objets.
  4. Créez un rôle de service et une stratégie, puis associez la stratégie au rôle.
    1. Créez le premier des trois nouveaux fichiers JSON requis pour cette procédure.
      L'objectif de ce fichier JSON particulier est de stocker les informations de rôle de service. Nommez le fichier comme vous le souhaitez. Dans cette procédure, l'exemple de nom pour ce fichier est trust-policy.json.
      Le texte suivant est un exemple du contenu du fichier JSON.
      {
          "Version":"2012-10-17",
          "Statement":[
              {
                  "Sid":"",
                  "Effect":"Allow",
                  "Principal":{
                      "Service":"vmie.amazonaws.com"
                  },
                  "Action":"sts:AssumeRole",
                  "Condition":{
                      "StringEquals":{
                          "sts:ExternalId":"vmimport"
                      }
                  }
              }
          ]
      }
    2. Créez un rôle de service avec un nom de votre choix et stockez les informations sur le rôle dans le nouveau fichier JSON.
      Par exemple, à l'aide de l'interface de ligne de commande (CLI), exécutez la commande suivante.
      Il s'agit d'un exemple générique.
      aws iam create-role --role-name <role-name> --assume-role-policy-document <file-path>

      L'exemple de commande suivant remplace l'espace réservé <role-name> par l'exemple vmimport spécifique et l'espace réservé <file-path> par l'exemple trust-policy.json spécifique.

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

      Pour plus d'informations sur l'exécution de la commande create-role, reportez-vous à la documentation d'Amazon Elastic Compute Cloud.

    3. Créez le deuxième des trois nouveaux fichiers JSON requis pour cette procédure.
      Indiquez le nom du compartiment dans lequel vous téléchargerez le fichier VMDK, tel que <bucket-name>, le nom utilisé dans l'exemple suivant.
      L'objectif de ce fichier JSON particulier est d'associer une nouvelle stratégie au nouveau rôle. Nommez le fichier comme vous le souhaitez. Dans cette procédure, l'exemple de nom pour ce fichier est role-policy.json.
      Le texte suivant est un exemple du contenu de l'exemple de fichier role-policy.json.
      {
          "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. Créez une stratégie, associez-la au nouveau rôle et stockez-la dans le fichier JSON récemment créé.

      Par exemple, à l'aide de l'interface de ligne de commande (CLI), exécutez la commande suivante.

      Il s'agit d'un exemple générique.
      aws iam put-role-policy --role-name <role-name> --policy-name <policy-name> --policy-document <file-path>

      L'exemple spécifique suivant remplace l'espace réservé <role-name> par un exemple spécifique d'une stratégie nommée vmimport, l'espace réservé <policy-name> par l'exemple spécifique du rôle nommé précédemment, également appelé vmimport et l'espace réservé <file-path> par l'exemple spécifique du fichier JSON précédemment nommé, role-policy.json.

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

      Pour plus d'informations sur l'exécution de la commande put-role-policy, reportez-vous à la documentation d'Amazon Elastic Compute Cloud.

  5. Importez un snapshot à partir du fichier VMDK importé.
    1. Créez le troisième des trois nouveaux fichiers JSON requis pour cette procédure.
      Incluez les informations suivantes dans le fichier.
      • Le nom du compartiment, tel que <bucket-name>, qui est utilisé dans l'exemple suivant.
      • Nom du fichier VMDK que vous avez chargé dans votre compartiment Amazon S3, tel que <vmdk-file-name-uploaded-to-S3>, qui est utilisé dans l'exemple suivant.
      L'objectif de ce fichier JSON particulier est de stocker le snapshot du fichier VMDK importé. Nommez le fichier comme vous le souhaitez. Dans cette procédure, l'exemple de nom pour ce fichier est container.json.
      Le texte suivant est un exemple du contenu du fichier container.json.
      {
          "Description": "Adapter-VM",
          "Format": "vmdk",
          "UserBucket": {
              "S3Bucket": "<bucket-name>",
              "S3Key": "<vmdk-file-name-uploaded-to-S3>"
          }
      }
    2. Exécutez la commande pour importer le snapshot à partir du fichier VMDK importé dans le fichier JSON récemment créé.
      À l'aide de l'interface de ligne de commande (CLI), exécutez le type de commande suivant.
      aws ec2 import-snapshot --role-name <role-name> --description <description> --disk-container <file-path>

      Pour plus d'informations sur l'exécution de la commande import-snapshot, reportez-vous à la documentation d'Amazon Elastic Compute Cloud.

      La commande suivante est un exemple spécifique de la commande import-snapshot, dans laquelle le paramètre role-name est facultatif et n'est pas utilisé, la description est "Adapter-VM" et le nom de fichier du conteneur est container.json.
      aws ec2 import-snapshot --description "Adapter-VM" --disk-container file://container.json
      L'exécution de la commande import-snapshot peut prendre plusieurs minutes. Cependant, une fois que vous avez exécuté la commande, celle-ci crée une sortie qui inclut une ligne ImportTaskId que vous pouvez utiliser pour suivre la progression de la tâche. La sortie suivante est un exemple.
      {
          "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. Notez la valeur ImportTaskId dans la sortie de la commande import-snapshot.
  6. Pour suivre la progression de la tâche import-snapshot et obtenir l'ID de snapshot, exécutez la commande suivante.
    aws ec2 describe-import-snapshot-tasks --import-task-ids <import-task-id>

    Remplacez l'espace réservé <import-task-id> par la valeur répertoriée dans la sortie de la commande import-snapshot. L'exemple de valeur répertorié dans l'exemple de sortie précédent est import-snap-05b4c84af4xxxxxxx. Pour plus d'informations sur l'exécution de la commande describe-import-snapshot-tasks, reportez-vous à la documentation d'Amazon Elastic Compute Cloud.

    La commande describe-import-snapshot-tasks fournit une sortie qui indique la progression de la tâche import-snapshot et, lorsque celle-ci est terminée, fournit l'ID de snapshot qui est nécessaire à l'enregistrement de l'image. Par exemple :
    • "Progress": "43". Une telle ligne dans la sortie indique le pourcentage de progression de la tâche import-snapshot. Dans cet exemple, la tâche est effectuée à 43 %.
    • "Status": "completed". Une telle ligne dans la sortie indique la fin de la tâche import-snapshot.
    • "SnapshotId": "snap-06d42e043bxxxxxxx". Une telle ligne dans la sortie est incluse à la fin de la tâche. Dans cet exemple, l'ID de snapshot est snap-06d42e043bxxxxxxx.
  7. Notez l'ID de snapshot de la sortie de la commande describe-import-snapshot-tasks.
  8. Pour enregistrer l'image de snapshot, exécutez la commande register-image.
    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>} 
    Vous devez fournir ici des réponses spécifiques à votre déploiement pour chaque option, telles que --region, --architecture, etc. Pour plus d'informations sur l'exécution de la commande register-image, reportez-vous à la documentation d'Amazon Elastic Compute Cloud.

    Les informations suivantes sont spécifiques à l'option --name et au paramètre SnapshotId.

    • --name : fournissez un nom pour l'image en fonction des contraintes de la chaîne.
    • SnapshotId : fournissez l'ID de snapshot de la sortie de la commande describe-import-snapshot-tasks.
    La commande register-image fournit une sortie qui inclut l'ID de l'image de machine Amazon (AMI, Amazon Machine Image). Voici un exemple de sortie register-image standard.
     {
            "ImageId": "ami-0721ee000321c4685"
        }
    L'AMI indiquée dans la sortie de la commande register-image s'affiche également dans la console de gestion AWS dans la liste des AMI.
  9. Pour prendre en charge la création et la configuration de l'instance d'AMI d'Passerelle Horizon Edge, préparez un script de démarrage semblable à l'exemple suivant.
    #! /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
    Dans l'exemple, le script prend en charge les configurations suivantes :
    • Activation de l'accès SSH au dispositif Passerelle Horizon Edge.
    • Création d'un compte d'utilisateur ccadmin sur le dispositif avec le mot de passe défini (<Mypassword>\n<Mypassword>). Veillez à définir un mot de passe fort. Les mots de passe forts contiennent au moins 8 caractères et doivent inclure un ou plusieurs chiffres, des lettres majuscules et minuscules et des caractères spéciaux.
    • Résolution du nom d'hôte (cs_fqdn) du Serveur de connexion sur l'adresse IP (cs_ip) du Serveur de connexion.

    Vous devez ajouter ce script aux données utilisateur à l'étape suivante à laquelle vous lancez l'instance d'AMI d'Passerelle Horizon Edge.

  10. Lancez l'instance d'AMI pour Passerelle Horizon Edge.
    Note : Pour vous assurer que cette instance fournit des capacités suffisantes, utilisez au moins le modèle c5.2xlarge.

    Vous pouvez lancer une instance à l'aide de la console de gestion AWS ou de l'interface de ligne de commande (CLI). Dans les deux cas, utilisez l'ID de l'image de la machine Amazon (AMI, Amazon Machine Image) fournie dans la sortie de la commande register-image et ajoutez le script de démarrage que vous aviez préparé à l'étape précédente aux données utilisateur.

    Note : Vous devez ajouter le script de démarrage à ce stade, car les données utilisateur ne sont exécutées qu'à la première séquence de démarrage de l'instance d'AMI.

    Pour utiliser l'interface de ligne de commande (CLI), reportez-vous à la documentation d'Amazon Elastic Compute Cloud pour en savoir plus sur l'exécution de la commande run-instances.

    Pour utiliser la console de gestion AWS, reportez-vous à la documentation d'Amazon Elastic Compute Cloud, par exemple pour lancer une instance à l'aide de l'assistant de lancement d'instance.

    Si vous choisissez de lancer l'instance à l'aide de la console de gestion AWS, localisez la nouvelle AMI en fonction de l'ID d'image, sélectionnez l'AMI, puis cliquez sur Lancer. Vous pouvez ensuite poursuivre l'assistant en fournissant les informations de votre déploiement.

  11. Après le démarrage de l'AMI d'Passerelle Horizon Edge, modifiez la configuration de l'instance d'AMI et supprimez le script de démarrage.
  12. Connectez-vous via SSH à l'instance d'AWS de la VM Passerelle Horizon Edge.

    Pour utiliser l'interface de ligne de commande ou la console de gestion AWS, reportez-vous à la documentation d'Amazon Elastic Compute Cloud pour plus d'informations sur la connexion à votre instance. Nous recommandons SSH pour autoriser le copier-coller de la clé de couplage.

    Pour des informations complémentaires, consultez Activer l'accès SSH pour Horizon Edge.

    Pour obtenir des informations connexes, reportez-vous également aux sections Connexion à votre instance de Linux et Connexion à votre instance de Linux avec EC2 Instance Connect dans la documentation du produit AWS.

  13. Exécutez un script pair-edge à l'aide du format de commande suivant, où pairing_code est le code de couplage que vous avez copié à partir de la capture d'écran de l'étape 9 décrite dans Déployer un dispositif Horizon Edge à utiliser avec les déploiements d'Horizon 8 et le plan de contrôle Horizon Cloud Service - next-gen :

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

  14. Pour améliorer la sécurité, pensez à désactiver SSH une fois ces étapes terminées.
  15. Revenez à Horizon Universal Console pour terminer la configuration du détail d'Horizon Connection Server. Reportez-vous à la section Déployer un dispositif Horizon Edge à utiliser avec les déploiements d'Horizon 8 et le plan de contrôle Horizon Cloud Service - next-gen.