Você pode baixar e implantar o Horizon Edge Gateway em sua implantação federada do Horizon 8 na Amazon Web Services (AWS) para emparelhar com o Horizon Cloud. Você poderá usar esse mesmo procedimento se estiver implantando um Horizon Edge para o Horizon 8 no Amazon WorkSpaces Core.
Siga estas etapas para baixar e implantar o dispositivo Horizon Edge Gateway para uma implantação de borda que usa a arquitetura federada com a solução AWS.
Siga estas mesmas etapas para baixar e implantar o dispositivo do Horizon Edge Gateway para uma implantação do Edge para o Horizon 8 no Amazon WorkSpaces Core.
Na arquitetura federada ou para implantar um Horizon 8 Edge no Amazon WorkSpaces Core, você deve implantar o Horizon Edge Gateway na infraestrutura nativa do Amazon Elastic Computer Cloud (EC2) dentro do ambiente de borda no Horizon Cloud.
Pré-requisitos
Você deve atender aos seguintes pré-requisitos antes de continuar.
-
Verifique se você atende aos pré-requisitos relacionados ao Horizon Edge Gateway descritos em Conceitos básicos de uma implantação do Horizon 8 Edge.
-
Verifique se você atende aos requisitos descritos em Tornar URLs de destino apropriadas acessíveis para implantar um Horizon Edge Gateway em um ambiente Horizon 8 para usar o Horizon Edge Gateway para emparelhar um pod Horizon 8 com o Horizon Cloud.
-
Verifique se você está usando a versão apropriada do Horizon Edge Gateway. Consulte a Matriz de Interoperabilidade de Produtos Omnissa.
-
O dispositivo virtual do Horizon Edge Gateway deve acessar a Internet para se comunicar com o Horizon Control Plane. 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ê pretende usar um proxy ao emparelhar o edge usando o script configure-edge-gateway.sh, deverá primeiro executar o seguinte comando, especificando como verdadeiro quando o ProxySSL estiver ativado e, caso contrário, especificando como falso:
/opt/horizon/bin/configure-edge-gateway.sh -p 'Pairing_Code' -x -i 'IP_or FQDN_of Proxy' -r 'Proxy_Port' -m 'Proxy_User_Name' -a 'Proxy_Password' -s 'true_or_false'Consulte as informações relacionadas ao proxy na seguinte Nota.
Nota: atualize a configuração do proxy no Edge.
/opt/horizon/bin/configure-edge-gateway.sh --configure-proxy --proxy-host 127.0.0.1 --proxy-port 3128 --proxy-username 'exampleUsername' --proxy-password 'examplePassword'Para explorar mais opções, execute o script com a opção
-h, conforme mostrado abaixo./opt/horizon/bin/configure-edge-gateway.sh -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
-
Baixe a imagem de disco do Horizon Edge Gateway usando a etapa para obter o binário do dispositivo do Horizon Edge Gateway no meio do procedimento na página Adicionar e implantar um Horizon 8 Edge. Responda aos prompts na tela.
A imagem de disco/dispositivo Horizon Edge Gateway está disponível como um arquivo VMDK. Baixe o arquivo VMDK para seu sistema local.
Nota: baixe a versão mais recente da imagem de disco do Horizon Edge Gateway. Recomendamos que você use a versão mais recente do dispositivo do Edge Gateway. Para obter informações sobre a versão, consulte a Matriz de Interoperabilidade de Produtos Omnissa.
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.
-
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.
-
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.
-
-
Crie uma função de serviço e uma política e anexe a política à função.
-
Crie o primeiro dos três novos arquivos JSON necessários para este procedimento.
O objetivo desse arquivo JSON é armazenar as informações da função de serviço. Nomeie o arquivo como desejar. Nesse 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":"2022-10-17", "Statement":[ { "Sid":"", "Effect":"Allow", "Principal":{ "Service":"vmie.amazonaws.com" }, "Action":"sts:AssumeRole", "Condition":{ "StringEquals":{ "sts:ExternalId":"vmimport" } } } ] } -
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.jsonConsulte a documentação do Amazon Elastic Compute Cloud para obter detalhes sobre a execução do comando
create-role. -
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 é 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
role-policy.json.{ "Version":"2022-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":"*" } ] } -
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 da função nomeada anteriormente, também chamadavmimport, e o espaço reservado <file-path> pelo exemplo específico do arquivo JSON nomeado anteriormente,role-policy.json.aws iam put-role-policy --role-name vmimport --policy-name vmimport --policy-document file://role-policy.jsonConsulte a documentação do Amazon Elastic Compute Cloud para obter detalhes sobre a execução do comando
put-role-policy.
-
-
Importe um instantâneo do arquivo VMDK importado.
-
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 é 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>" } } -
-
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âmetrorole-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.jsonO comando
import-snapshotleva vários minutos para ser concluído. No entanto, depois de executar o comando, o comando cria uma saída, que inclui uma linhaImportTaskIdque 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 } } -
Anote o valor de
ImportTaskIdna saída do comandoimport-snapshot.
-
-
Para rastrear o progresso da tarefa
import-snapshote 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 comandodescribe-import-snapshot-tasks.O comando
describe-import-snapshot-tasksfornece uma saída que indica o progresso da tarefaimport-snapshote, 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 tarefaimport-snapshot. Nesse exemplo, a tarefa está 43% concluída."Status": "completed". Uma linha na saída, como essa linha, indica que a tarefaimport-snapshotfoi 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.
-
Anote a ID do instantâneo da saída do comando
describe-import-snapshot-tasks. -
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,--architecturee outras. Consulte a documentação do Amazon Elastic Compute Cloud para obter detalhes sobre a execução do comandoregister-image.As informações a seguir são específicas para a opção
--namee o parâmetroSnapshotId.--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 comandodescribe-import-snapshot-tasks. O comandoregister-imagefornece saída que inclui a ID do Amazon Machine Image (AMI). O exemplo seguinte é uma saídaregister-imagetípica.
{ "ImageId": "ami-0721ee000321c4685" }O AMI indicado na saída do comando
register-imagetambém aparece no Console de Gerenciamento da AWS entre a lista de AMIs. -
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 /opt/horizon/bin/configure-adapter.py --sshEnable echo -e '<password>\n<password>' | passwd admin echo -e '<password>\n<password>' | passwd ccadmin echo 'cs_ip cs_fqdn' >> /etc/hostsNo 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 administrador no dispositivo com a senha definida (\n). 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.
- Criação de uma conta de usuário do ccadmin no dispositivo com a senha definida (\n). 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 da AMI do Horizon Edge Gateway.
-
Inicie a instância da AMI para o Horizon Edge Gateway.
Nota: 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-imagee adicione aos dados do usuário o script de inicialização que você preparou na etapa anterior.Nota: 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 do 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.
-
Depois que o AMI do Horizon Edge Gateway for iniciado, edite a configuração da instância do AMI e remova o script de inicialização.
-
SSH para a instância do AWS da VM do 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.
-
Execute um script do Edge 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 Adicionar e implantar um Horizon 8 Edge.
sudo su - /opt/horizon/bin/configure-edge-gateway.sh -p <pairing_code> -
Para melhorar a segurança, considere desativar o SSH quando você tiver concluído estas etapas.
-
Volte para o Horizon Universal Console para concluir a configuração dos detalhes do Horizon Connection Server. Consulte Adicionar e implantar um Horizon 8 Edge.
Esta página foi útil?