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
Procedimento
- 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.
- 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.
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 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.
- 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"
}
}
}
]
}
- 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":"*"
}
]
}
- 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.
- 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 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>"
}
}
- 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
}
}
- Anote o valor de
ImportTaskId
na saída do comando import-snapshot.
- 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
.
- 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
,
--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.
- 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.
- 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.
- 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.