Você pode baixar e implantar o Horizon Edge Gateway na implantação federada do Horizon 8 no Amazon Web Services (AWS) para emparelhamento com o Horizon Cloud Service - next-gen.

Pré-requisitos

Siga estas etapas para baixar e implantar o dispositivo do Horizon Edge Gateway 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 Edge Gateway na infraestrutura nativa do Amazon Elastic Computer Cloud (EC2) no ambiente do pod no Horizon Cloud Service - next-gen.

  • Verifique se você cumpriu com os pré-requisitos relacionados ao Horizon Edge Gateway descritos em Implantações do Horizon 8 Edge.
  • Verifique se você atendeu ao Tornar as URLs de destino apropriadas acessíveis para implantar um Horizon Edge Gateway no ambiente do Horizon 8 para usar o Horizon Edge Gateway para emparelhar um pod do Horizon 8 com o Horizon Cloud Service.
  • O dispositivo virtual do Horizon Edge Gateway deve acessar a Internet para conversar com a camada de controle do Horizon Cloud. Se o ambiente exigir o uso de um servidor proxy e uma configuração de proxy para os dispositivos implantados acessarem a Internet, verifique se você analisou as informações relacionadas ao proxy, as limitações e os problemas conhecidos ao usar as configurações de proxy com o dispositivo do Horizon Edge Gateway.
  • Se você pretender usar um proxy ao executar um script de borda de par, primeiro deverá executar o seguinte comando, especificando como true quando o ProxySSL estiver ativado e, de outra forma, especificando como 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'
    Consulte as informações relacionadas ao proxy na seguinte Observação.
    Observação: Atualizar a configuração de proxy no edge
    /opt/vmware/bin/configure-edge-webproxy.py --proxyHost 127.0.0.1 --proxyPort 3128 --proxyUsername 'exampleUsername' --proxyPassword 'examplePassword'
    
    Para explorar mais opções, execute o script com a opção -h, conforme mostrado abaixo.
    /opt/vmware/bin/configure-edge-webproxy.py -h
  • Você deve usar a linha de comando para muitas das etapas. No entanto, você pode realizar algumas das etapas de implantação usando o Console de Gerenciamento da AWS ou a Interface de Linha de Comando (CLI) da AWS. Para obter informações detalhadas sobre como trabalhar com um ambiente do Amazon EC2, consulte a documentação do Amazon Elastic Compute Cloud em https://docs.aws.amazon.com/ec2/index.html. As etapas a seguir costumam sugerir o tipo específico de documentação do Amazon Elastic Compute Cloud para referência.

Procedimento

  1. Baixe a imagem de disco do Horizon Edge Gateway usando a instrução Etapa 7. Use Download para obter o binário do dispositivo do Horizon Edge Gateway. no procedimento na página Implantar um Horizon Edge para uso com as implantações do Horizon 8 e a camada de controle do Horizon Cloud Service - next-gen e responda a todos os prompts na tela.

    A imagem de disco do Horizon Edge Gateway está disponível como um arquivo VMDK. Baixe o arquivo VMDK para seu sistema local.

    Observação: Baixe a versão 2.3.3.0 ou posterior da imagem do disco do Horizon Edge Gateway, por exemplo, edge-gw-2.3.3.0-22720582.ec2.vmdk.

    Salve o binário baixado em um local do qual você o implantará na plataforma de virtualização desejada e, em seguida, retornará a essa sequência de etapas para continuar o processo de emparelhamento necessário.

    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.
      O texto a seguir é um exemplo do conteúdo do arquivo JSON.
      {
          "Version":"2012-10-17",
          "Statement":[
              {
                  "Sid":"",
                  "Effect":"Allow",
                  "Principal":{
                      "Service":"vmie.amazonaws.com"
                  },
                  "Action":"sts:AssumeRole",
                  "Condition":{
                      "StringEquals":{
                          "sts:ExternalId":"vmimport"
                      }
                  }
              }
          ]
      }
    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.

    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": "edge-gw-2.3.3.0-22720582.ec2.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 Edge Gateway, 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 Edge Gateway.
    • Criação de uma conta de usuário ccadmin no dispositivo com a senha definida (<Mypassword>\n<Mypassword>). Defina uma senha forte. As senhas fortes 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 Edge Gateway.

  10. Inicie a instância do AMI para o Horizon Edge Gateway .
    Observação: 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.

    Observação: 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 Edge Gateway for iniciada, edite a configuração da instância da AMI e remova o script de inicialização.
  12. SSH para a instância de VM AWS dp Horizon Edge Gateway.

    Para usar a CLI ou o AWS Management Console, consulte a documentação do Amazon Elastic Compute Cloud para obter detalhes sobre como se conectar à sua instância. Recomendamos o SSH para permitir copiar e colar a chave de emparelhamento.

    Para obter informações relacionadas, consulte Ativar acesso SSH para Horizon Edge.

    Para obter informações relacionadas, consulte também Conectar-se à sua instância do Linux e Conectar-se à sua instância do Linux com o EC2 Instance Connect na documentação do produto AWS.

  13. Execute um script de borda de par usando o seguinte formato de comando, em que pairing_code é o código de emparelhamento que você copiou da captura de tela da Etapa 9 descrita em Implantar um Horizon Edge para uso com as implantações do Horizon 8 e a camada de controle do Horizon Cloud Service - next-gen:

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

  14. Para melhorar a segurança, considere desativar o SSH quando você tiver concluído estas etapas.
  15. Volte para o Horizon Universal Console para concluir a configuração dos detalhes do Horizon Connection Server. Consulte Implantar um Horizon Edge para uso com as implantações do Horizon 8 e a camada de controle do Horizon Cloud Service - next-gen.