Siga estos pasos para descargar e implementar el dispositivo Horizon Cloud Connector para una implementación de pod que utilice la arquitectura federada con VMware Cloud on AWS. En la arquitectura federada, debe implementar Horizon Cloud Connector en la infraestructura nativa de Amazon Elastic Computer Cloud (EC2) dentro del entorno del pod.
Importante: Esta información se aplica únicamente cuando tenga acceso a un entorno de arrendatario de first-gen en el plano de control de first-gen. Como se describe en el
artículo 92424 de la base de conocimientos, el plano de control de first-gen ha llegado a la fecha de fin de disponibilidad (EOA). Consulte el artículo para obtener información.
Para obtener información general sobre las arquitecturas de implementación de pods de Horizon, consulte Arrendatarios de first-gen: arquitecturas de implementación de pods de Horizon con Horizon Cloud first-gen.
A continuación se ofrece una descripción de nivel general de los pasos necesarios para implementar Horizon Cloud Connector en la infraestructura de Amazon EC2 nativo dentro del entorno del pod.
- Descargue el archivo Horizon Cloud Connector en formato VMDK.
- Cree un depósito Amazon Simple Storage Service (S3) en Amazon EC2 y cargue el archivo VMDK del dispositivo en ese depósito.
- Cree una imagen personalizada a partir del archivo VMDK cargado.
- Cree la instancia de máquina virtual (VM) de Horizon Cloud Connector a partir de la imagen personalizada.
Importante: Al implementar
Horizon Cloud Connector en la infraestructura de Amazon EC2 nativo, los siguientes servicios de
Horizon Cloud se desactivan de forma predeterminada. Después de implementar el dispositivo, opcionalmente puede
activar de forma manual uno o más de estos servicios.
- Cloud Monitoring Service
- Servicio de cliente de agente de nube
- Servicio de ubicación de imágenes
Procedimiento
- Descargue la imagen de disco de Horizon Cloud Connector utilizando el vínculo proporcionado en el correo electrónico de suscripción.
Nota: Para admitir la implementación del dispositivo en un entorno de Amazon EC2, debe descargar la versión 2.0 o posterior de la imagen de disco de
Horizon Cloud Connector.
La imagen de disco de Horizon Cloud Connector está disponible como archivo VMDK después de iniciar sesión en my.vmware.com utilizando las credenciales de la cuenta de My VMware. Descargue el archivo VMDK en el sistema local.
Antes de cargar el archivo de imagen de disco en el entorno de Amazon EC2, primero debe crear un depósito Amazon S3.
- Cree un depósito de Amazon S3 en el entorno de Amazon EC2. Para obtener instrucciones detalladas, consulte la documentación de Amazon Elastic Compute Cloud.
- Cargue el archivo VMDK descargado en el depósito de Amazon S3. Puede realizar este paso mediante la consola de administración de AWS o la interfaz de línea de comandos (CLI) de AWS.
En la consola de administración de AWS, el archivo VMDK se muestra en la pestaña
Objetos.
- Cree una función de servicio y una directiva y asocie la directiva a la función.
- Cree el primero de los tres nuevos archivos JSON necesarios para este procedimiento.
El propósito de este archivo JSON en particular es almacenar la información de la función de servicio. Asigne el nombre que desee al archivo. En este procedimiento, el nombre de archivo de ejemplo de este archivo es
trust-policy.json.
- Cree una función de servicio con el nombre que desee y almacene la información de la función en el nuevo archivo JSON.
Por ejemplo, con la interfaz de línea de comandos, ejecute un comando como el siguiente.
El siguiente comando es un ejemplo genérico.
aws iam create-role --role-name <role-name> --assume-role-policy-document <file-path>
El siguiente comando de ejemplo reemplaza el marcador de posición <role-name> por el ejemplo específico vmimport
y el marcador de posición <file-path> por el ejemplo específico trust-policy.json.
aws iam create-role --role-name vmimport --assume-role-policy-document file://trust-policy.json
Consulte la documentación de Amazon Elastic Compute Cloud para obtener más información sobre la ejecución del comando create-role.
El siguiente texto es un ejemplo del contenido del archivo JSON después de ejecutar el comando anterior.
{
"Version":"2012-10-17",
"Statement":[
{
"Sid":"",
"Effect":"Allow",
"Principal":{
"Service":"vmie.amazonaws.com"
},
"Action":"sts:AssumeRole",
"Condition":{
"StringEquals":{
"sts:ExternalId":"vmimport"
}
}
}
]
}
- Cree el segundo de los tres nuevos archivos JSON necesarios para este procedimiento.
Proporcione el nombre del depósito en el que cargará el archivo VMDK, como
<bucket-name>, el nombre utilizado en el ejemplo que aparece a continuación.
El propósito de este archivo JSON en particular es asociar una nueva directiva con la nueva función. Asigne el nombre que desee al archivo. En este procedimiento, el nombre de archivo de ejemplo de este archivo es
role-policy.json.
El siguiente texto es un ejemplo del contenido del archivo
role-policy.json de ejemplo.
{
"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":"*"
}
]
}
- Cree una directiva, asóciela a la nueva función y guárdela en el archivo JSON recién creado.
Por ejemplo, con la interfaz de línea de comandos, ejecute un comando como el siguiente.
El siguiente comando es un ejemplo genérico.
aws iam put-role-policy --role-name <role-name> --policy-name <policy-name> --policy-document <file-path>
El siguiente ejemplo específico reemplaza el marcador de posición <role-name> por un ejemplo específico de una directiva denominada vmimport
, el marcador de posición <policy-name> por el ejemplo específico de la función con el nombre anterior, también denominado vmimport
, y el marcador de posición <file-path> por el ejemplo específico del archivo JSON denominado anteriormente, role-policy.json.
aws iam put-role-policy --role-name vmimport --policy-name vmimport --policy-document file://role-policy.json
Consulte la documentación de Amazon Elastic Compute Cloud para obtener más información sobre la ejecución del comando put-role-policy.
- Importe una instantánea del archivo VMDK importado.
- Cree el tercero de los tres nuevos archivos JSON necesarios para este procedimiento.
Incluya la siguiente información en el archivo.
- El nombre del depósito, como <bucket-name>, que se utiliza en el siguiente ejemplo.
- El nombre del archivo VMDK que cargó en el depósito de Amazon S3, como <vmdk-file-name-uploaded-to-S3>, que se utiliza en el siguiente ejemplo.
El propósito de este archivo JSON en particular es almacenar la instantánea del archivo VMDK importado. Asigne el nombre que desee al archivo. En este procedimiento, el nombre de archivo de ejemplo de este archivo es
container.json.
El siguiente texto es un ejemplo del contenido del archivo
container.json.
{
"Description": "Adapter-VM",
"Format": "vmdk",
"UserBucket": {
"S3Bucket": "<bucket-name>",
"S3Key": "<vmdk-file-name-uploaded-to-S3>"
}
}
- Ejecute el comando para importar la instantánea del archivo VMDK importado al archivo JSON recién creado.
Con la CLI, ejecute el siguiente tipo de comando.
aws ec2 import-snapshot --role-name <role-name> --description <description> --disk-container <file-path>
Consulte la documentación de Amazon Elastic Compute Cloud para obtener más información sobre la ejecución del comando import-snapshot.
El siguiente comando es un ejemplo específico del comando
import-snapshot, donde el parámetro
role-name es opcional y no se utiliza, la descripción es
"Adapter-VM"
y el nombre de archivo del contenedor es
container.json.
aws ec2 import-snapshot --description "Adapter-VM" --disk-container file://container.json
El comando
import-snapshot puede tardar unos minutos en completarse. Sin embargo, después de ejecutar el comando, el comando genera un resultado, que incluye una línea
ImportTaskId
que puede utilizar para realizar un seguimiento del progreso de la tarea. El siguiente resultado es un ejemplo.
{
"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
}
}
- Tome nota del valor de
ImportTaskId
en el resultado del comando import-snapshot.
- Para realizar un seguimiento del progreso de la tarea import-snapshot y obtener el identificador de instantánea, ejecute el siguiente comando.
aws ec2 describe-import-snapshot-tasks --import-task-ids <import-task-id>
Reemplace el marcador de posición <import-task-id> por el valor indicado en el resultado del comando import-snapshot. El valor de ejemplo indicado en el resultado de ejemplo anterior es import-snap-05b4c84af4xxxxxxx
. Consulte la documentación de Amazon Elastic Compute Cloud para obtener más información sobre la ejecución del comando describe-import-snapshot-tasks.
El comando
describe-import-snapshot-tasks proporciona un resultado que indica el progreso de la tarea
import-snapshot y, cuando se completa la tarea, proporciona el identificador de instantánea, que es necesario para registrar la imagen. Por ejemplo.
"Progress": "43"
. Una línea en el resultado, como esta, indica el porcentaje de progreso de la tarea import-snapshot. En este ejemplo, la tarea está completada en un 43 %.
-
"Status": "completed"
. Una línea en el resultado, como esta, indica que se completó la tarea import-snapshot.
"SnapshotId": "snap-06d42e043bxxxxxxx"
. Cuando se completa la tarea, se incluye una línea en el resultado, como esta. En este ejemplo, el identificador de instantánea es snap-06d42e043bxxxxxxx
.
- Tome nota del identificador de instantánea del resultado del comando describe-import-snapshot-tasks.
- Para registrar la imagen de instantánea, ejecute el 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>}
Donde debe proporcionar respuestas específicas de su implementación para cada opción, como
--region
,
--architecture
y otros valores. Consulte la documentación de Amazon Elastic Compute Cloud para obtener más información sobre la ejecución del comando
register-image.
La siguiente información es específica de la opción --name
y el parámetro SnapshotId
.
--name
: proporcione un nombre para la imagen de acuerdo con las restricciones de la cadena.
SnapshotId
: proporcione el identificador de instantánea del resultado del comando describe-import-snapshot-tasks.
El comando
register-image proporciona una salida que incluye el identificador de la AMI (Amazon Machine Image). A continuación se incluye un resultado de
register-image habitual.
{
"ImageId": "ami-0721ee000321c4685"
}
La AMI indicada en la salida del comando register-image también aparece en la consola de administración de AWS entre la lista de AMI.
- Para admitir la creación y configuración de la instancia de AMI de Horizon Cloud Connector, prepare un script de inicio similar al siguiente ejemplo.
#! /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
En el ejemplo, el script admite las siguientes configuraciones:
- Habilitación del acceso SSH al dispositivo Horizon Cloud Connector.
- Creación de una cuenta de usuario de
ccadmin
en el dispositivo con la contraseña definida (contraseña). Asegúrese de definir una contraseña segura. Las contraseñas seguras tienen al menos 8 caracteres y deben incluir uno o varios números, letras mayúsculas y minúsculas, y caracteres especiales.
- Resolución del nombre de host de Connection Server (cs_fqdn) en la dirección IP de Connection Server (cs_ip).
Debe agregar este script a user-data en el siguiente paso, en el que iniciará la instancia de AMI de Horizon Cloud Connector.
- Inicie la instancia de AMI para Horizon Cloud Connector.
Importante: Para asegurarse de que la instancia de proporciona suficientes capacidades, utilice el modelo c5.2xlarge o una versión posterior.
Puede iniciar una instancia mediante la CLI o la consola de administración de AWS. En cualquier caso, utilice el identificador de imagen de máquina de Amazon (AMI) proporcionado en la salida del comando register-image y agregue el script de inicio que preparó en el paso anterior a user-data.
Importante: Debe agregar el script de inicio en este momento porque user-data solo se ejecuta en la primera secuencia de arranque de la instancia de AMI.
Para utilizar la CLI, consulte la documentación de Amazon Elastic Compute Cloud para obtener más información sobre la ejecución del comando run-instances.
Para utilizar la consola de administración de AWS, consulte la documentación de Amazon Elastic Compute Cloud para obtener más información, como iniciar una instancia de mediante el asistente de inicio de instancias.
Si decide iniciar la instancia de mediante la consola de administración de AWS, busque la nueva AMI mediante el identificador de imagen, seleccione la AMI y haga clic en Iniciar. A continuación, puede continuar a través del asistente proporcionando los detalles específicos de la implementación.
- Después de iniciar la AMI de Horizon Cloud Connector, edite la configuración de la instancia de máquina virtual y elimine el script de inicio.