Suivez ces étapes pour télécharger et déployer le dispositif Horizon Cloud Connector 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 Horizon Cloud Connector dans l'infrastructure Amazon Elastic Computer Cloud (EC2) native dans l'environnement de votre espace.

Note : Pour obtenir des informations générales sur les architectures de déploiement d'espaces Horizon, reportez-vous à la section Architectures de déploiement d'espaces Horizon.

Voici une présentation générale des étapes requises pour déployer Horizon Cloud Connector dans l'infrastructure Amazon EC2 native de l'environnement de votre espace.

  • Téléchargez le fichier Horizon Cloud Connector au format VMDK.
  • Créez un compartiment Amazon Simple Storage Service (S3) sur Amazon EC2 et téléchargez le fichier VMDK du dispositif dans ce compartiment.
  • Créez une image personnalisée à partir du fichier VMDK téléchargé.
  • Créez l'instance de machine virtuelle (VM) Horizon Cloud Connector à partir de l'image personnalisée.
Important : Lorsque vous déployez Horizon Cloud Connector dans l'infrastructure Amazon EC2 native, les services Horizon Cloud suivants sont désactivés par défaut. Après le déploiement du dispositif, vous pouvez éventuellement activer manuellement un ou plusieurs de ces services.
  • Cloud Monitoring Service
  • Service client du broker cloud
  • Service de localité d'image

Conditions préalables

Procédure

  1. Téléchargez l'image de disque d'Horizon Cloud Connector à l'aide du lien fourni dans votre e-mail d'abonnement.
    Note : Pour prendre en charge le déploiement du dispositif dans un environnement Amazon EC2, vous devez télécharger la version 2.0 ou une version ultérieure de l'image de disque Horizon Cloud Connector.

    L'image de disque d'Horizon Cloud Connector est disponible en tant que fichier VMDK lorsque vous vous connectez à my.vmware.com à l'aide des informations d'identification de votre compte My VMware. Téléchargez le fichier VMDK sur votre système local.

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

      Le texte suivant est un exemple du contenu du fichier JSON après l'exécution de la commande précédente.
      {
          "Version":"2012-10-17",
          "Statement":[
              {
                  "Sid":"",
                  "Effect":"Allow",
                  "Principal":{
                      "Service":"vmie.amazonaws.com"
                  },
                  "Action":"sts:AssumeRole",
                  "Condition":{
                      "StringEquals":{
                          "sts:ExternalId":"vmimport"
                      }
                  }
              }
          ]
      }
    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.
      • Le nom du fichier VMDK que vous avez télé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": "horizon-cloud-connector-2.0.0.0-18191154_OVF10-disk1.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'Horizon Cloud Connector, 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 Horizon Cloud Connector.
    • Création d'un compte d'utilisateur ccadmin sur le dispositif avec le mot de passe défini (password). Veillez à définir un mot de passe fort. Les mots de passe faibles ne sont pas acceptés.
    • 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'Horizon Cloud Connector.

  10. Lancez l'instance d'AMI pour Horizon Cloud Connector.
    Important : 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.

    Important : 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'Horizon Cloud Connector, modifiez la configuration de l'instance d'AMI et supprimez le script de démarrage.

Que faire ensuite

Poursuivez avec le workflow d'intégration de l'espace en suivant les étapes de la section Vérifiez que l'espace Horizon et le dispositif virtuel sont prêts à être couplés avec le plan de contrôle Horizon. Passez ensuite à Effectuer le couplage de l'espace Horizon avec Horizon Cloud à l'aide du portail de configuration d'Horizon Cloud Connector.
Note : Lorsque vous souhaitez activer un ou plusieurs services de plan de cloud désactivés par défaut, vous devez les activer avant de terminer le couplage de l'espace avec le plan de cloud. Reportez-vous à la section Activer manuellement les services de plan de contrôle Horizon Cloud pour Horizon Cloud Connector sur Amazon EC2 natif.