Siga estas etapas para baixar e implantar o dispositivo do Horizon Cloud Connector para uma implantação de pod que usa a arquitetura federada com o VMware Cloud on AWS. Na arquitetura federada, você deve implantar o Horizon Cloud Connector na infraestrutura nativa do Amazon Elastic Computer Cloud (EC2) no ambiente do pod.

Importante: Essas informações aplicam-se apenas quando você tem acesso a um ambiente de tenant de primeira geração na camada de controle de primeira geração. Conforme descrito em KB-92424, a camada de controle de primeira geração atingiu o fim da disponibilidade (EOA). Consulte esse artigo para obter detalhes.

Para obter informações básicas sobre arquiteturas de implantação de pod do Horizon, consulte Tenants de primeira geração: arquiteturas de implantação de pod do Horizon com o Horizon Cloud de primeira geração.

Consulte a visão geral de alto nível das etapas necessárias para implantar o Horizon Cloud Connector na infraestrutura nativa do Amazon EC2 no seu ambiente do pod.

  • Baixe o arquivo Horizon Cloud Connector no formato VMDK.
  • Crie um bucket do Amazon Simple Storage Service (S3) no Amazon EC2 e carregue o arquivo VMDK do dispositivo para esse bucket.
  • Crie uma imagem personalizada do arquivo VMDK carregado.
  • Crie a instância de máquina virtual (VM) do Horizon Cloud Connector com base na imagem personalizada.
Importante: Ao implantar o Horizon Cloud Connector na infraestrutura nativa do Amazon EC2, os serviços do Horizon Cloud a seguir são desativados por padrão. Depois de implantar o dispositivo, você poderá ativar manualmente um ou mais desses serviços.
  • Cloud Monitoring Service
  • Serviço do Cloud Broker Client
  • Serviço de Localidade de Imagem

Pré-requisitos

Procedimento

  1. Baixe a imagem de disco do Horizon Cloud Connector usando o link fornecido no e-mail de assinatura.
    Observação: Para oferecer suporte à implantação do dispositivo em um ambiente Amazon EC2, você deve baixar a versão 2.0 ou posterior da imagem de disco do Horizon Cloud Connector.

    A imagem de disco do Horizon Cloud Connector fica disponível como um arquivo VMDK depois que você faz login em my.vmware.com usando suas credenciais da conta My VMware. Baixe o arquivo VMDK para seu sistema local.

    Antes de carregar o arquivo de imagem de disco para seu ambiente do Amazon EC2, primeiro você deve criar um bucket do Amazon S3.
  2. Crie um bucket do Amazon S3 no seu ambiente do Amazon EC2. Para obter instruções detalhadas, consulte a documentação do Amazon Elastic Compute Cloud.
  3. Carregue o arquivo VMDK baixado para o seu bucket do Amazon S3. Você pode realizar essa etapa usando o Console de Gerenciamento da AWS ou a interface de linha de comando (CLI) da AWS.
    • (Console de Gerenciamento da AWS) Faça login no Console de Gerenciamento da AWS para o seu ambiente do Amazon EC2. Acesse o serviço S3, selecione o bucket que você criou anteriormente e carregue o arquivo VMDK para esse bucket.
    • (CLI da AWS) Acesse a CLI da AWS e execute o seguinte comando.
      aws s3 cp <file-path-to-VMDK-file> <S3URI>

      Consulte a documentação do Amazon Elastic Compute Cloud para obter detalhes sobre a execução do comando cp.

    No Console de Gerenciamento da AWS, o arquivo VMDK está listado na guia Objetos.
  4. Crie uma função de serviço e uma política e anexe a política à função.
    1. Crie o primeiro dos três novos arquivos JSON necessários para este procedimento.
      O objetivo desse arquivo JSON específico é armazenar as informações da função de serviço. Nomeie o arquivo como desejar. Neste procedimento, o nome de arquivo de exemplo para esse arquivo é trust-policy.json.
    2. Crie uma função de serviço com um nome de sua escolha e armazene as informações da função no novo arquivo JSON.
      Por exemplo, usando a CLI, execute um comando como o seguinte.
      O comando a seguir é um exemplo genérico.
      aws iam create-role --role-name <role-name> --assume-role-policy-document <file-path>

      O comando de exemplo a seguir substitui o espaço reservado <role-name> pelo exemplo específico vmimport e o espaço reservado <file-path> pelo exemplo específico trust-policy. json.

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

      Consulte a documentação do Amazon Elastic Compute Cloud para obter detalhes sobre a execução do comando create-role.

      O texto a seguir é um exemplo do conteúdo do arquivo JSON após a execução do comando anterior.
      {
          "Version":"2012-10-17",
          "Statement":[
              {
                  "Sid":"",
                  "Effect":"Allow",
                  "Principal":{
                      "Service":"vmie.amazonaws.com"
                  },
                  "Action":"sts:AssumeRole",
                  "Condition":{
                      "StringEquals":{
                          "sts:ExternalId":"vmimport"
                      }
                  }
              }
          ]
      }
    3. Crie o segundo dos três novos arquivos JSON necessários para esse procedimento.
      Forneça o nome do bucket no qual você carregará o arquivo VMDK, como <bucket-name>, o nome usado no exemplo a seguir.
      O objetivo desse arquivo JSON específico é anexar uma nova política à nova função. Nomeie o arquivo como desejar. Nesse procedimento, o nome de arquivo de exemplo para esse arquivo é role-policy.json.
      O texto a seguir é um exemplo do conteúdo do arquivo de exemplo 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. Crie uma política, anexe-a à nova função e armazene-a no arquivo JSON recém-criado.

      Por exemplo, usando a CLI, execute um comando como o seguinte.

      O comando a seguir é um exemplo genérico.
      aws iam put-role-policy --role-name <role-name> --policy-name <policy-name> --policy-document <file-path>

      O exemplo específico a seguir substitui o espaço reservado <role-name> por um exemplo específico de uma política chamada vmimport, o espaço reservado <policy-name> pelo exemplo específico do anterior função nomeada, também chamada de vmimport, e o espaço reservado <file-path> pelo exemplo específico do arquivo JSON anteriormente nomeado, role-policy.json.

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

      Consulte a documentação do Amazon Elastic Compute Cloud para obter detalhes sobre a execução do comando put-role-policy.

  5. Importe um instantâneo do arquivo VMDK importado.
    1. Crie o terceiro dos três novos arquivos JSON necessários para esse procedimento.
      Inclua as informações a seguir no arquivo.
      • O nome do bucket, como <bucket-name>, que é usado no exemplo a seguir.
      • O nome do arquivo VMDK que você carregou no seu bucket do Amazon S3, como <vmdk-file-name-uploaded-to-S3>, que é usado no exemplo a seguir.
      O objetivo desse arquivo JSON específico é armazenar o instantâneo do arquivo VMDK importado. Nomeie o arquivo como desejar. Nesse procedimento, o nome de arquivo de exemplo para esse arquivo é container.json.
      O texto a seguir é um exemplo do conteúdo do arquivo container.json .
      {
          "Description": "Adapter-VM",
          "Format": "vmdk",
          "UserBucket": {
              "S3Bucket": "<bucket-name>",
              "S3Key": "<vmdk-file-name-uploaded-to-S3>"
          }
      }
    2. Execute o comando para importar o instantâneo do arquivo VMDK importado para o arquivo JSON recém-criado.
      Usando a CLI, execute o tipo de comando a seguir.
      aws ec2 import-snapshot --role-name <role-name> --description <description> --disk-container <file-path>

      Consulte a documentação do Amazon Elastic Compute Cloud para obter detalhes sobre a execução do comando import-snapshot.

      O comando a seguir é um exemplo específico do comando import-snapshot, em que o parâmetro role-name é opcional e não usado, a descrição é "Adapter-VM" e o nome do arquivo do contêiner é container.json.
      aws ec2 import-snapshot --description "Adapter-VM" --disk-container file://container.json
      O comando import-snapshot leva vários minutos para ser concluído. No entanto, depois de executar o comando, o comando cria uma saída, que inclui uma linha ImportTaskId que você pode usar para rastrear o progresso da tarefa. A saída a seguir é um exemplo.
      {
          "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. Anote o valor de ImportTaskId na saída do comando import-snapshot.
  6. Para rastrear o progresso da tarefa import-snapshot e obter a ID do instantâneo, execute o seguinte comando.
    aws ec2 describe-import-snapshot-tasks --import-task-ids <import-task-id>

    Substitua o espaço reservado <import-task-id> pelo valor listado na saída do comando import-snapshot. O valor de exemplo listado na saída do exemplo anterior é import-snap-05b4c84af4xxxxxxx. Consulte a documentação do Amazon Elastic Compute Cloud para obter detalhes sobre a execução do comando describe-import-snapshot-tasks.

    O comando describe-import-snapshot-tasks fornece uma saída que indica o progresso da tarefa import-snapshot e, quando a tarefa é concluída, fornece a ID do instantâneo, que é necessária para registrar a imagem. Por exemplo.
    • "Progress": "43". Uma linha na saída, como esta linha, indica a porcentagem de progresso da tarefa import-snapshot. Nesse exemplo, a tarefa está 43% concluída.
    • "Status": "completed". Uma linha na saída, como essa linha, indica que a tarefa import-snapshot foi concluída.
    • "SnapshotId": "snap-06d42e043bxxxxxxx". Uma linha na saída, como essa linha, é incluída quando a tarefa é concluída. Para este exemplo, a ID do instantâneo é snap-06d42e043bxxxxxxx.
  7. Anote a ID do instantâneo da saída do comando describe-import-snapshot-tasks.
  8. Para registrar a imagem do instantâneo, execute o comando 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>} 
    Em que você deve fornecer respostas específicas para sua implantação para cada opção, como --region, --architecture e outras. Consulte a documentação do Amazon Elastic Compute Cloud para obter detalhes sobre a execução do comando register-image.

    As informações a seguir são específicas para a opção --name e o parâmetro SnapshotId.

    • --name:forneça um nome para a imagem de acordo com as restrições para a cadeia.
    • SnapshotId: forneça a ID do instantâneo da saída do comando describe-import-snapshot-tasks.
    O comando register-image fornece saída que inclui a ID do Amazon Machine Image (AMI). O exemplo seguinte é uma saída register-image típica.
        {
            "ImageId": "ami-0721ee000321c4685"
        }

    O AMI indicado na saída do comando register-image também aparece no Console de Gerenciamento da AWS entre a lista de AMIs.

  9. Para oferecer suporte à criação e à configuração da instância de AMI do Horizon Cloud Connector, prepare um script de inicialização semelhante ao exemplo a seguir.
    #! /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
    No exemplo, o script oferece suporte às seguintes configurações:
    • Ativação do acesso SSH ao dispositivo do Horizon Cloud Connector.
    • Criação de uma conta de usuário do ccadmin no dispositivo com a senha definida (password). Defina uma senha forte. As senhas de alta segurança têm pelo menos 8 caracteres e devem incluir um ou mais números, letras maiúsculas e minúsculas e caracteres especiais.
    • Resolução do nome do host do Servidor de Conexão (cs_fqdn) para o endereço IP do Servidor de Conexão (cs_ip).

    Você deverá adicionar esse script aos dados do usuário na próxima etapa em que iniciar a instância do AMI do Horizon Cloud Connector.

  10. Inicie a instância do AMI para o Horizon Cloud Connector .
    Importante: Para garantir que a instância forneça recursos suficientes, use o modelo c5.2xlarge ou superior.

    Você pode iniciar uma instância usando o Console de Gerenciamento da AWS ou a CLI. Em ambos os casos, use o ID da Amazon Machine Image (AMI) fornecida na saída do comando register-image e adicione aos dados do usuário o script de inicialização que você preparou na etapa anterior.

    Importante: Você deve adicionar o script de inicialização neste momento porque os dados do usuário só são executados na primeira sequência de inicialização da instância da AMI.

    Para usar a CLI, consulte a documentação do Amazon Elastic Compute Cloud para obter detalhes sobre como executar o comando run-instances.

    Para usar o Console de Gerenciamento da AWS, consulte a documentação do Amazon Elastic Compute Cloud para obter detalhes sobre como iniciar uma instância usando o assistente de inicialização de instância.

    Se você optar por iniciar a instância usando o Console de Gerenciamento da AWS, localize o novo AMI pela ID da imagem, selecione o AMI e clique em Iniciar. Em seguida, você pode continuar com o assistente fornecendo as especificações para a sua implantação.

  11. Depois que a AMI do Horizon Cloud Connector for iniciada, edite a configuração da instância da AMI e remova o script de inicialização.

O que Fazer Depois

Continue com o fluxo de trabalho de integração do pod seguindo as etapas em Tenants de primeira geração: verifique se o pod do Horizon e o dispositivo virtual estão prontos para serem emparelhados com a camada de controle do Horizon de primeira geração. Em seguida, prossiga para Tenants de primeira geração: emparelhamento completo do pod do Horizon com o Horizon Cloud de primeira geração usando o portal de configuração do Horizon Cloud Connector.
Observação: Quando você quiser ativar um ou mais dos serviços de plano de nuvem desativados por padrão, deverá ativá-los antes de concluir o emparelhamento do pod com o plano de nuvem. Consulte Tenants de primeira geração: ativar manualmente serviços da camada de controle do Horizon Cloud de primeira geração para Horizon Cloud Connector no Amazon EC2 nativo.