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.

Observação: Para obter informações básicas sobre arquiteturas de implantação de pod do Horizon, consulte Arquiteturas de implantação de pods do Horizon.

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 versão 2.0 usando o link fornecido no e-mail de assinatura.
    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.
    Observação: Nesse momento, a versão 2.0 é a única versão do Horizon Cloud Connector que oferece suporte à implantação do dispositivo em um ambiente do Amazon EC2.
    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.

    • - forneça um nome para a imagem de acordo com as restrições para --name st--namering.
    • 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. Inicie uma instância do AMI.
    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 a ID do Amazon Machine Image (AMI) fornecida na saída do comando register-image.

    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.

O que Fazer Depois

Continue com o fluxo de trabalho de integração do pod seguindo as etapas em Verifique se o pod do Horizon e o dispositivo virtual estão prontos para serem emparelhados. Em seguida, prossiga para Concluir o emparelhamento do pod do Horizon com o Horizon Cloud 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 Ativar manualmente os serviços de camada de controle do Horizon Cloud para o Horizon Cloud Connector no Amazon EC2 nativo.