Citrix Virtual Apps and Desktops

Entornos de Google Cloud

Citrix Virtual Apps and Desktops le permite aprovisionar y administrar máquinas en Google Cloud. Este artículo le guía a través del uso de Machine Creation Services (MCS) para aprovisionar máquinas virtuales en la implementación de Citrix Virtual Apps Service o Citrix Virtual Desktops Service.

Requisitos

  • Cuenta de Citrix Cloud. La función descrita en este artículo solo está disponible en Citrix Cloud.
  • Suscripción a Citrix DaaS. Para obtener más información, consulte Introducción.
  • Un proyecto de Google Cloud. El proyecto almacena todos los recursos de procesamiento asociados al catálogo de máquinas. Puede ser un proyecto existente o uno nuevo.
  • Habilite cuatro API en su proyecto de Google Cloud. Para obtener información más detallada, consulte Habilitar las API de Google Cloud.
  • Cuenta de servicio de Google Cloud. La cuenta de servicio se autentica en Google Cloud para permitir el acceso al proyecto. Para obtener información detallada, consulte Configurar y actualizar cuentas de servicio.
  • Habilitar el acceso privado a Google. Para obtener información detallada, consulte Habilitar el acceso privado a Google.

Habilitar las API de Google Cloud

Para utilizar la funcionalidad de Google Cloud a través de la interfaz de Configuración completa de Citrix Virtual Apps and Desktops, habilite estas API en su proyecto de Google Cloud:

  • API de Compute Engine
  • API de Cloud Resource Manager
  • API de Identity and Access Management (IAM)
  • API de Cloud Build
  • Servicio de administración de claves (KMS) en la nube

En la consola de Google Cloud, siga estos pasos:

  1. En el menú superior izquierdo, seleccione APIs and Services > Dashboard.

    Imagen de selección del panel de mandos en APIs and Services

  2. En la pantalla Dashboard, compruebe que la API de Compute Engine esté habilitada. Si no es el caso, siga estos pasos:

    1. Vaya a APIs and Services > Library.

      Imagen de APIs and Services > Library

    2. En el cuadro de búsqueda, escriba Compute Engine.

    3. En los resultados de la búsqueda, seleccione Compute Engine API.

    4. En la página Compute Engine API, seleccione Enable.

  3. Habilite la API de Cloud Resource Manager.

    1. Vaya a APIs and Services > Library.

    2. En el cuadro de búsqueda, escriba Cloud Resource Manager.

    3. En los resultados de búsqueda, seleccione Cloud Resource Manager API.

    4. En la página Cloud Resource Manager API, seleccione Enable. Aparece el estado de la API.

  4. Del mismo modo, habilite la API de Identity and Access Management (IAM) y la API de Cloud Build.

También puede usar Google Cloud Shell para habilitar las API. Para hacerlo:

  1. Abra la consola de Google y cargue Cloud Shell.
  2. Ejecute estos cuatro comandos en Cloud Shell:

    • gcloud services enable compute.googleapis.com
    • gcloud services enable cloudresourcemanager.googleapis.com
    • gcloud services enable iam.googleapis.com
    • gcloud services enable cloudbuild.googleapis.com
  3. Haga clic en Authorize si Cloud Shell lo solicita.

Configurar y actualizar cuentas de servicio

Nota:

GCP presentará cambios en el comportamiento predeterminado de los servicios de Cloud Build y en el uso de las cuentas de servicio a partir del 29 de abril de 2024. Para obtener más información, consulte Cambio de la cuenta de servicio de Cloud Build. Los proyectos de Google existentes con la API de Cloud Build habilitada antes del 29 de abril de 2024 no se ven afectados por este cambio. No obstante, si quiere mantener el comportamiento actual del servicio de Cloud Build a partir del 29 de abril, puede crear o aplicar una directiva de organización para inhabilitar la aplicación de restricciones antes de habilitar la API de Cloud Build. Como resultado, el siguiente contenido se divide en dos: Antes del 29 de abril de 2024 y A partir del 29 de abril de 2024. Si establece la nueva directiva de la organización, vaya a la sección Antes del 29 de abril de 2024.

Antes del 29 de abril de 2024

Citrix Cloud usa tres cuentas de servicio independientes en el proyecto de Google Cloud:

  • Cuenta de servicio de Citrix Cloud: Esta cuenta de servicio permite a Citrix Cloud acceder al proyecto de Google y aprovisionar y administrar máquinas. Esta cuenta de servicio se autentica en Google Cloud mediante una clave generada por Google Cloud.

    Debe crear esta cuenta de servicio manualmente, tal y como se describe aquí. Para obtener más información, consulte Crear una cuenta de Citrix Cloud Service.

    Puede identificar esta cuenta de servicio con una dirección de correo electrónico. Por ejemplo, <my-service-account>@<project-id>.iam.gserviceaccount.com.

  • Cuenta de servicio de Cloud Build: Esta cuenta de servicio se aprovisiona automáticamente después de habilitar todas las API mencionadas en Habilitar las API de Google Cloud. Para ver todas las cuentas de servicio creadas automáticamente, vaya a IAM y Admin > IAM en la consola de Google Cloud y seleccione la casilla de verificación Incluir asignaciones de funciones proporcionadas por Google.

    Puede identificar esta cuenta de servicio mediante una dirección de correo electrónico que comience por el ID del proyecto y la palabra cloudbuild. Por ejemplo, <project-id>@cloudbuild.gserviceaccount.com

    Verifique si a la cuenta de servicio se le han concedido los siguientes roles. Si debe agregar roles, siga los pasos descritos en Agregar roles a la cuenta de servicio de Cloud Build.

    • Cuenta de servicio de Cloud Build
    • Administrador de instancias de proceso
    • Usuario de cuenta de servicio
  • Cuenta de servicio de Cloud Compute: Google Cloud agrega esta cuenta de servicio a las instancias creadas en Google Cloud una vez que se activa la API de Compute. Esta cuenta tiene el rol de editor básico de IAM para realizar las operaciones. Sin embargo, si elimina el permiso predeterminado para tener un control más granular, deberá agregar el rol Administrador de almacenamiento que requiere los siguientes permisos:

    • resourcemanager.projects.get
    • storage.objects.create
    • storage.objects.get
    • storage.objects.list

Puede identificar esta cuenta de servicio mediante una dirección de correo electrónico que comience por el ID del proyecto y la palabra compute. Por ejemplo, <project-id>-compute@developer.gserviceaccount.com.

Crear una cuenta de servicio de Citrix Cloud

Para crear una cuenta de servicio de Citrix Cloud, siga estos pasos:

  1. En la consola de Google Cloud, vaya a IAM & Admin > Service accounts.
  2. En la página Service accounts, seleccione CREATE SERVICE ACCOUNT.
  3. En la página Create service account, introduzca la información necesaria y, a continuación, seleccione CREATE AND CONTINUE.
  4. En la página Grant this service account access to project, haga clic en el menú desplegable Select a role y seleccione los roles necesarios. Haga clic en +ADD ANOTHER ROLE si quiere agregar más roles.

    Cada cuenta (personal o de servicio) tiene varios roles que definen la gestión del proyecto. Otorgue estos roles a esta cuenta de servicio:

    • Administrador de procesos
    • Administrador de almacenamiento
    • Editor de compilaciones en la nube
    • Usuario de cuenta de servicio
    • Usuario de almacén de datos en la nube
    • Operador criptográfico de Cloud KMS

    El operador criptográfico de Cloud KMS requiere los siguientes permisos:

    • cloudkms.cryptoKeys.get
    • cloudkms.cryptoKeys.list
    • cloudkms.keyRings.get
    • cloudkms.keyRings.list

    Nota:

    Habilite todas las API para obtener la lista completa de roles disponibles al crear una cuenta de servicio.

  5. Haga clic en CONTINUE
  6. En la página Grant users access to this service account, agregue usuarios o grupos para permitirles realizar acciones en esta cuenta de servicio.
  7. Haga clic en DONE.
  8. Vaya a la consola principal de IAM.
  9. Identifique la cuenta de servicio creada.
  10. Compruebe que los roles se hayan asignado correctamente.

Consideraciones:

Al crear la cuenta de servicio, tenga en cuenta lo siguiente:

  • Los pasos Grant this service account access to project y Grant users access to this service account son opcionales. Si opta por omitir estos pasos de configuración opcionales, la cuenta de servicio recién creada no se mostrará en la página IAM & Admin > IAM.
  • Para mostrar los roles asociados a una cuenta de servicio, agregue los roles sin omitir los pasos opcionales. Este proceso garantiza que aparezcan roles para la cuenta de servicio configurada.

Clave de la cuenta de servicio de Citrix Cloud

La clave de la cuenta de Citrix Cloud Service es necesaria para crear una conexión en Citrix DaaS. La clave se halla en un archivo de credenciales (JSON). El archivo se descarga automáticamente y se guarda en la carpeta Descargas después de crear la clave. Al crear la clave, establezca el tipo de clave en JSON. De lo contrario, la interfaz de Configuración completa de Citrix no puede analizarla.

Para crear una clave de cuenta de servicio, vaya a IAM y Admin > Cuentas de servicio y haga clic en la dirección de correo electrónico de la cuenta de servicio de Citrix Cloud. Cambie a la ficha Teclas y seleccione Agregar clave > Crear nueva clave. Asegúrese de seleccionar JSON como tipo de clave.

Sugerencia:

Cree claves mediante la página Service accounts de la consola de Google Cloud. Le recomendamos cambiar las claves con frecuencia por motivos de seguridad. Para proporcionar claves nuevas a la aplicación de Citrix Virtual Apps and Desktops, modifique una conexión de Google Cloud existente.

Agregar roles a la cuenta de servicio de Citrix Cloud

Para agregar roles a la cuenta de servicio de Citrix Cloud:

  1. En la consola de Google Cloud, vaya a IAM & Admin > IAM.
  2. En la página IAM > PERMISSIONS, busque la cuenta de servicio que creó, identificable con una dirección de correo electrónico.

    Por ejemplo, <my-service-account>@<project-id>.iam.gserviceaccount.com

  3. Seleccione el icono del lápiz para modificar el acceso a la entidad principal de la cuenta de servicio.
  4. En la página Edit access to “project-id” para la opción de la entidad principal seleccionada, seleccione ADD ANOTHER ROLE para agregar los roles necesarios a su cuenta de servicio uno por uno y, a continuación, seleccione SAVE.

Agregar roles a la cuenta de servicio de Cloud Build

Para agregar roles a la cuenta de servicio de Cloud Build:

  1. En la consola de Google Cloud, vaya a IAM & Admin > IAM.
  2. En la página IAM, busque la cuenta de servicio de Cloud Build, identificable con una dirección de correo electrónico que comience por el ID del proyecto y la palabra cloudbuild.

    Por ejemplo, <project-id>@cloudbuild.gserviceaccount.com

  3. Seleccione el icono del lápiz para modificar los roles de la cuenta de Cloud Build.
  4. En la página Edit access to “project-id” para la opción de la entidad principal seleccionada, seleccione ADD ANOTHER ROLE para agregar los roles necesarios a su cuenta de servicio de Cloud Build uno por uno y, a continuación, seleccione SAVE.

    Nota:

    Habilite todas las API para obtener la lista completa de roles.

A partir del 29 de abril de 2024

Citrix Cloud usa dos cuentas de servicio independientes en el proyecto de Google Cloud:

  • Cuenta de servicio de Citrix Cloud: Esta cuenta de servicio permite a Citrix Cloud acceder al proyecto de Google y aprovisionar y administrar máquinas. Esta cuenta de servicio se autentica en Google Cloud mediante una clave generada por Google Cloud.

    Debe crear esta cuenta de servicio manualmente.

    Puede identificar esta cuenta de servicio con una dirección de correo electrónico. Por ejemplo, <my-service-account>@<project-id>.iam.gserviceaccount.com.

  • Cuenta de servicio de Cloud Compute: Esta cuenta de servicio se aprovisiona automáticamente después de habilitar todas las API mencionadas en Habilitar las API de Google Cloud. Para ver todas las cuentas de servicio creadas automáticamente, vaya a IAM y Admin > IAM en la consola de Google Cloud y seleccione la casilla de verificación Incluir asignaciones de funciones proporcionadas por Google. Esta cuenta tiene el rol de editor básico de IAM para realizar las operaciones. Sin embargo, si elimina el permiso predeterminado para tener un control más granular, deberá agregar el rol Administrador de almacenamiento que requiere los siguientes permisos:

    • resourcemanager.projects.get
    • storage.objects.create
    • storage.objects.get
    • storage.objects.list

    Puede identificar esta cuenta de servicio mediante una dirección de correo electrónico que comience por el ID del proyecto y la palabra compute. Por ejemplo, <project-id>-compute@developer.gserviceaccount.com.

    Verifique si a la cuenta de servicio se le han concedido los siguientes roles.

    • Cuenta de servicio de Cloud Build
    • Administrador de instancias de proceso
    • Usuario de cuenta de servicio

Crear una cuenta de servicio de Citrix Cloud

Para crear una cuenta de servicio de Citrix Cloud, siga estos pasos:

  1. En la consola de Google Cloud, vaya a IAM & Admin > Service accounts.
  2. En la página Service accounts, seleccione CREATE SERVICE ACCOUNT.
  3. En la página Create service account, introduzca la información necesaria y, a continuación, seleccione CREATE AND CONTINUE.
  4. En la página Grant this service account access to project, haga clic en el menú desplegable Select a role y seleccione los roles necesarios. Haga clic en +ADD ANOTHER ROLE si quiere agregar más roles.

    Cada cuenta (personal o de servicio) tiene varios roles que definen la gestión del proyecto. Otorgue estos roles a esta cuenta de servicio:

    • Administrador de procesos
    • Administrador de almacenamiento
    • Editor de compilaciones en la nube
    • Usuario de cuenta de servicio
    • Usuario de almacén de datos en la nube
    • Operador criptográfico de Cloud KMS

    El operador criptográfico de Cloud KMS requiere los siguientes permisos:

    • cloudkms.cryptoKeys.get
    • cloudkms.cryptoKeys.list
    • cloudkms.keyRings.get
    • cloudkms.keyRings.list

    Nota:

    Habilite todas las API para obtener la lista completa de roles disponibles al crear una cuenta de servicio.

  5. Haga clic en CONTINUE
  6. En la página Grant users access to this service account, agregue usuarios o grupos para permitirles realizar acciones en esta cuenta de servicio.
  7. Haga clic en DONE.
  8. Vaya a la consola principal de IAM.
  9. Identifique la cuenta de servicio creada.
  10. Compruebe que los roles se hayan asignado correctamente.

Consideraciones:

Al crear la cuenta de servicio, tenga en cuenta lo siguiente:

  • Los pasos Grant this service account access to project y Grant users access to this service account son opcionales. Si opta por omitir estos pasos de configuración opcionales, la cuenta de servicio recién creada no se mostrará en la página IAM & Admin > IAM.
  • Para mostrar los roles asociados a una cuenta de servicio, agregue los roles sin omitir los pasos opcionales. Este proceso garantiza que aparezcan roles para la cuenta de servicio configurada.

Clave de la cuenta de servicio de Citrix Cloud

La clave de la cuenta de Citrix Cloud Service es necesaria para crear una conexión en Citrix DaaS. La clave se halla en un archivo de credenciales (JSON). El archivo se descarga automáticamente y se guarda en la carpeta Descargas después de crear la clave. Al crear la clave, establezca el tipo de clave en JSON. De lo contrario, la interfaz de Configuración completa de Citrix no puede analizarla.

Para crear una clave de cuenta de servicio, vaya a IAM y Admin > Cuentas de servicio y haga clic en la dirección de correo electrónico de la cuenta de servicio de Citrix Cloud. Cambie a la ficha Teclas y seleccione Agregar clave > Crear nueva clave. Asegúrese de seleccionar JSON como tipo de clave.

Sugerencia:

Cree claves mediante la página Service accounts de la consola de Google Cloud. Le recomendamos cambiar las claves con frecuencia por motivos de seguridad. Para proporcionar claves nuevas a la aplicación de Citrix Virtual Apps and Desktops, modifique una conexión de Google Cloud existente.

Agregar roles a la cuenta de servicio de Citrix Cloud

Para agregar roles a la cuenta de servicio de Citrix Cloud:

  1. En la consola de Google Cloud, vaya a IAM & Admin > IAM.
  2. En la página IAM > PERMISSIONS, busque la cuenta de servicio que creó, identificable con una dirección de correo electrónico.

    Por ejemplo, <my-service-account>@<project-id>.iam.gserviceaccount.com

  3. Seleccione el icono del lápiz para modificar el acceso a la entidad principal de la cuenta de servicio.
  4. En la página Edit access to “project-id” para la opción de la entidad principal seleccionada, seleccione ADD ANOTHER ROLE para agregar los roles necesarios a su cuenta de servicio uno por uno y, a continuación, seleccione SAVE.

Agregar roles a la cuenta de servicio de Cloud Compute

Para agregar roles a la cuenta de servicio de Cloud Compute:

  1. En la consola de Google Cloud, vaya a IAM & Admin > IAM.
  2. En la página IAM, busque la cuenta de servicio de Cloud Compute, identificable con una dirección de correo electrónico que comience por el ID del proyecto y la palabra compute.

    Por ejemplo, <project-id>-compute@developer.gserviceaccount.com

  3. Seleccione el icono del lápiz para modificar los roles de la cuenta de Cloud Build.
  4. En la página Edit access to “project-id” para la opción de la entidad principal seleccionada, seleccione ADD ANOTHER ROLE para agregar los roles necesarios a su cuenta de servicio de Cloud Build uno por uno y, a continuación, seleccione SAVE.

    Nota:

    Habilite todas las API para obtener la lista completa de roles.

Permisos de almacenamiento y administración de depósitos

Citrix DaaS mejora el proceso de notificación de errores de compilación en la nube para el servicio de Google Cloud. Este servicio ejecuta compilaciones en Google Cloud. Citrix DaaS crea un depósito de almacenamiento denominado citrix-mcs-cloud-build-logs-{region}-{5 random characters} donde los servicios de Google Cloud capturan la información del registro de compilación. Se establece una opción en este depósito que elimina el contenido tras un período de 30 días. Este proceso requiere que la cuenta de servicio utilizada para la conexión tenga establecidos los permisos storage.buckets.update en Google Cloud. Si la cuenta de servicio no tiene este permiso, Citrix DaaS ignora los errores y continúa con el proceso de creación del catálogo. Sin este permiso, el tamaño de los registros de compilación aumenta y se requiere una limpieza manual.

Habilitar el acceso privado a Google

Cuando una máquina virtual carece de una dirección IP externa asignada a su interfaz de red, los paquetes solo se envían a otros destinos de direcciones IP internas. Cuando habilita el acceso privado, la máquina virtual se conecta al conjunto de direcciones IP externas utilizadas por la API de Google y los servicios asociados.

Nota:

Independientemente de si el acceso privado a Google está habilitado, todas las máquinas virtuales con y sin direcciones IP públicas deben poder acceder a las API públicas de Google, especialmente si se han instalado dispositivos de red de terceros en el entorno.

Para asegurarse de que una máquina virtual de la subred pueda acceder a las API de Google sin una dirección IP pública para el aprovisionamiento de MCS:

  1. En Google Cloud, acceda a la configuración de red de VPC.
  2. En la pantalla Detalles de subred, active Acceso privado a Google.

Acceso privado a Google

Para obtener más información, consulte Configura el Acceso privado a Google.

Importante:

Si la red está configurada para impedir el acceso de la máquina virtual a Internet, asegúrese de que su organización asume los riesgos asociados con la habilitación del acceso privado a Google para la subred a la que está conectada la máquina virtual.

Agregar una conexión

Siga las instrucciones que se indican en Crear una conexión y recursos. Esta descripción es una guía para configurar una conexión de alojamiento:

  1. En Administrar > Configuración, seleccione Alojamiento en el panel de la izquierda.

  2. Seleccione Agregar conexión y recursos en la barra de acciones.

  3. En la página Conexión, seleccione Crear una conexión y Herramientas de aprovisionamiento de Citrix y, a continuación, seleccione Siguiente.

    • Tipo de conexión. Seleccione Google Cloud en el menú.
    • Nombre de la conexión. Escriba un nombre para la conexión.
  4. En la página Región, seleccione un nombre de proyecto en el menú, seleccione una región que contenga los recursos que quiere utilizar y, a continuación, seleccione Siguiente.

  5. En la página Red, escriba un nombre para los recursos, seleccione una red virtual en el menú, seleccione un subconjunto y, a continuación, seleccione Siguiente. El nombre de los recursos ayuda a identificar esta combinación de región y red. Las redes virtuales con el sufijo (Shared) (Compartida) anexado a su nombre representan VPC compartidas. Si configura un rol de IAM a nivel de subred para una VPC compartida, solo aparecerán subredes específicas de la VPC compartida en la lista de subredes.

    Nota:

    • El nombre de conexión puede contener entre 1 y 64 caracteres, y no puede contener solo espacios en blanco o los caracteres \ / ; : # . * ? = < > | [ ] { } " ' ( ) ' ).
  6. En la página Resumen, confirme la información y seleccione Finalizar para salir de la ventana Agregar conexión y recursos.

Después de crear la conexión y los recursos, podrá verlos. Para configurar la conexión, selecciónela y, a continuación, seleccione la opción correspondiente en la barra de acciones.

Del mismo modo, puede eliminar, cambiar el nombre o probar los recursos creados en la conexión. Para ello, seleccione el recurso de la conexión y, a continuación, seleccione la opción correspondiente de la barra de acciones.

Preparar la instancia de una VM maestra y un disco persistente

Sugerencia:

“Disco persistente” es el término de Google Cloud para “disco virtual”.

Para preparar la instancia de una VM maestra, cree y configure una instancia de VM con propiedades que coincidan con la configuración que quiera para las instancias de VDA clonadas en el catálogo de máquinas planificado. La configuración no se aplica solamente al tamaño y al tipo de instancia. También incluye atributos de instancia como metadatos, etiquetas, asignaciones de GPU, etiquetas de red y propiedades de cuenta de servicio.

Como parte del proceso, MCS utiliza la instancia de VM maestra para crear la plantilla de instancias de Google Cloud. A continuación, la plantilla de instancias se utiliza para crear las instancias de VDA clonadas que componen el catálogo de máquinas. Las instancias clonadas heredan las propiedades (excepto las propiedades de VPC, subred y disco persistente) de la instancia de VM maestra a partir de la cual se creó la plantilla de instancias.

Después de configurar las propiedades de la instancia de VM maestra según sus especificaciones, inicie la instancia y, a continuación, prepare el disco persistente para la instancia.

Le recomendamos crear manualmente una instantánea del disco. Esto le permite utilizar una convención de nomenclatura útil para realizar un seguimiento de las versiones, le ofrece más opciones para administrar versiones anteriores de la imagen maestra y le ahorra tiempo en la creación de catálogos de máquinas. Si no crea su propia instantánea, MCS crea una instantánea temporal (que se elimina al final del proceso de aprovisionamiento).

Creación de un catálogo de máquinas

Nota:

Cree los recursos antes de crear los catálogos de máquinas. Al configurar catálogos de máquinas, utilice las convenciones de nomenclatura establecidas por Google Cloud. Consulte Lineamientos para asignar nombres a buckets para obtener más información.

Siga las instrucciones que se indican en Crear catálogos de máquinas. La siguiente descripción se aplica exclusivamente a los catálogos de Google Cloud.

  1. Inicie sesión en Web Studio y seleccione Catálogos de máquinas en el panel de la izquierda.

  2. Seleccione Crear catálogo de máquinas en la barra de acciones.

  3. En la página Sistema operativo, seleccione SO multisesión y, a continuación, seleccione Siguiente.

    • Citrix Virtual Apps and Desktops Service también admite SO de sesión única.
  4. En la página Administración de máquinas, seleccione las opciones Máquinas con administración de energía y Citrix Machine Creation Services y, a continuación, seleccione Siguiente. Si hay varios recursos, seleccione uno en el menú.

  5. En la página Imagen maestra, seleccione una máquina virtual y el nivel funcional mínimo del catálogo y, a continuación, seleccione Siguiente. Si quiere utilizar la funcionalidad de arrendamiento único, debe seleccionar una imagen cuya propiedad de grupo de nodos esté configurada correctamente. Consulte Habilitar selección de zona.

  6. En la página Tipos de almacenamiento, seleccione el tipo de almacenamiento utilizado para contener el sistema operativo con este catálogo de máquinas. Cada una de las siguientes opciones de almacenamiento tiene características de precio y rendimiento únicas. (Se crea siempre un disco de identidad con el disco persistente estándar zonal).

    • Disco persistente estándar
    • Disco persistente equilibrado
    • Disco persistente SSD

    Para obtener más información sobre las opciones de almacenamiento de Google Cloud, consulte https://cloud.google.com/compute/docs/disks/.

  7. En la página Máquinas virtuales, especifique cuántas máquinas virtuales quiere crear, revise la especificación detallada de dichas máquinas y, a continuación, seleccione Siguiente. Si utiliza grupos de nodos de arrendatario único para catálogos de máquinas, deberá seleccionar solo las zonas en las que están disponibles los nodos de arrendatario único reservados. Consulte Habilitar selección de zona.

  8. En la página Cuentas de equipo, seleccione una cuenta de Active Directory y, a continuación, seleccione Siguiente.

    • Si selecciona Crear nuevas cuentas de Active Directory, seleccione un dominio y, a continuación, introduzca la secuencia de caracteres que representa el esquema de nomenclatura para las cuentas de equipo de VM aprovisionadas creadas en Active Directory. El esquema de nomenclatura de cuentas puede contener de 1 a 64 caracteres y no puede contener espacios en blanco, ni caracteres no ASCII o especiales.
    • Si selecciona Usar cuentas de Active Directory existentes, seleccione Examinar para desplazarse a las cuentas de equipo de Active Directory existentes de las máquinas seleccionadas.
  9. En la página Credenciales de dominio, seleccione Introducir credenciales, escriba el nombre de usuario y la contraseña, seleccione Guardar y, a continuación, seleccione Siguiente.

    • Las credenciales que escriba deben tener permisos para realizar operaciones en cuentas de Active Directory.
  10. En la página Resumen, confirme la información, especifique un nombre para el catálogo y seleccione Finalizar.

    Nota:

    El nombre del catálogo puede contener entre 1 y 39 caracteres, y no puede contener solo espacios en blanco o los caracteres \ / ; : # . * ? = < > | [ ] { } " ' ( ) ' ).

La creación del catálogo de máquinas puede tardar mucho tiempo en completarse. Para comprobar que las máquinas se hayan creado en los grupos de nodos de destino, vaya a la consola de Google Cloud.

Crear un catálogo de máquinas mediante un perfil de máquina

Al crear un catálogo para aprovisionar máquinas mediante Machine Creation Services (MCS), puede usar un perfil de máquina para capturar las propiedades del hardware de una máquina virtual y aplicarlas a las máquinas virtuales recién aprovisionadas del catálogo. Cuando no se utiliza el parámetro MachineProfile, las propiedades del hardware se obtienen de la instantánea o la VM de la imagen maestra. Algunas propiedades se definen de forma explícita; por ejemplo StorageType, CatalogZones y CryptoKeyIs se omiten en el perfil de la máquina.

  • Para crear un catálogo con un perfil de máquina, utilice el comando New-ProvScheme. Por ejemplo, New-ProvScheme –MachineProfile "path to VM". Si no especifica el parámetro MachineProfile, las propiedades del hardware se capturan de la máquina virtual de la imagen maestra.
  • Para actualizar un catálogo con un nuevo perfil de máquina, utilice el comando Set-ProvScheme. Por ejemplo, Set-ProvScheme –MachineProfile "path to new VM". Este comando no cambia el perfil de máquina de las máquinas virtuales existentes del catálogo. Solo las nuevas máquinas virtuales que se agregan al catálogo tienen el nuevo perfil de máquina.
  • También puede actualizar la imagen maestra; sin embargo, al actualizar la imagen maestra, las propiedades del hardware no se actualizan. Si quiere actualizar las propiedades del hardware, debe actualizar el perfil de la máquina con el comando Set-ProvScheme. Estos cambios solo se aplicarán a las nuevas máquinas del catálogo. Para actualizar las propiedades de hardware de una máquina existente, puede utilizar el comando Request-ProvVMUpdate.

Crear un catálogo de máquinas con el perfil de máquina como plantilla de instancias

Puede seleccionar una plantilla de instancias de GCP como entrada para el perfil de la máquina. Las plantillas de instancias son recursos ligeros de GCP y, por lo tanto, muy rentables.

Para crear un nuevo catálogo de máquinas con el perfil de máquina como plantilla de instancias mediante los comandos de PowerShell:

  1. Abra una ventana de PowerShell.
  2. Ejecute asnp citrix* para cargar los módulos de PowerShell específicos de Citrix.
  3. Utilice el siguiente comando para encontrar una plantilla de instancias en su proyecto de GCP:

    cd XDHyp:\HostingUnits<HostingUnitName>\instanceTemplates.folder
    <!--NeedCopy-->
    
  4. Cree un nuevo catálogo de máquinas con el perfil de máquina como plantilla de instancias mediante el comando NewProvScheme:

    New-ProvScheme -ProvisioningSchemeName <CatalogName>  -HostingUnitName <HostingUnitName> -IdentityPoolName <identity pool name> -MasterImageVM
    XDHyp:\HostingUnits<HostingUnitName> \Base.vm\Base.snapshot -MachineProfile XDHyp:\HostingUnits<HostingUnitName>\instanceTemplates.folder\mytemplate.template
    <!--NeedCopy-->
    

    Para obtener más información sobre el comando New-ProvScheme, consulte https://developer-docs.citrix.com/projects/citrix-daas-sdk/en/latest/MachineCreation/New-ProvScheme/.

  5. Utilice los comandos de PowerShell para terminar de crear el catálogo de máquinas. Para obtener información sobre cómo crear un catálogo con el SDK de PowerShell remoto, consulte https://developer-docs.citrix.com/projects/citrix-virtual-apps-desktops-sdk/en/latest/creating-a-catalog/.

Para cambiar el perfil de máquina de un catálogo de máquinas existente y convertirlo en plantilla de instancias:

  1. Abra una ventana de PowerShell.
  2. Ejecute asnp citrix* para cargar los módulos de PowerShell específicos de Citrix.
  3. Ejecute este comando:

    Set-ProvScheme -ProvisioningSchemeName  <CatalogName> -MachineProfile XDHyp:\HostingUnits<HostingUnitName>\instanceTemplates.folder<TemplateName>.template
    <!--NeedCopy-->
    

    Para obtener información sobre el comando Set-ProvScheme, consulte https://developer-docs.citrix.com/projects/citrix-daas-sdk/en/latest/MachineCreation/Set-ProvScheme/.

Administrar catálogos de máquinas

Para agregar máquinas a un catálogo, actualizar máquinas y revertir una actualización, consulte Administrar catálogos de máquinas.

Administración de energía

Citrix DaaS le permite administrar la energía de las máquinas de Google Cloud. Utilice el nodo Buscar del panel de la izquierda para localizar la máquina que quiere administrar. Estas son las acciones de energía que hay disponibles:

  • Eliminar
  • Iniciar
  • Reiniciar
  • Forzar reinicio
  • Apagar
  • Forzar apagado
  • Agregar a grupo de entrega
  • Administrar etiquetas
  • Activar modo de mantenimiento

También puede administrar la energía de las máquinas de Google Cloud mediante Autoscale. Para ello, agregue las máquinas de Google Cloud a un grupo de entrega y, a continuación, habilite Autoscale para dicho grupo de entrega. Para obtener más información sobre Autoscale, consulte Autoscale.

Actualizar las máquinas aprovisionadas mediante PowerShell

El comando Set-ProvScheme cambia el esquema de aprovisionamiento. Sin embargo, no afecta a las máquinas existentes. Ahora, con el comando Request-ProvVMUpdate de PowerShell, puede aplicar el esquema de aprovisionamiento actual a una máquina o un conjunto de máquinas persistentes o no persistentes. Actualmente, en Google Cloud Platform, la actualización de propiedades que admite esta función es el perfil de máquina.

Puede actualizar:

  • Una sola máquina virtual
  • Una lista de máquinas virtuales específicas o todas las máquinas virtuales asociadas a un ID de esquema de aprovisionamiento
  • Una lista de máquinas virtuales específicas o todas las máquinas virtuales asociadas a un nombre de esquema de aprovisionamiento

Para actualizar las máquinas virtuales:

  1. Compruebe la configuración de las máquinas. Por ejemplo,

    Get-ProvScheme | select ProvisioningSchemeName, ProvisioningSchemeVersion
    <!--NeedCopy-->
    
  2. Actualice el esquema de aprovisionamiento. Por ejemplo,

    `Set-ProvScheme –ProvisioningSchemeName "my-catalog" –MachineProfile "XDHyp:\HostingUnits<hosting-unit>\machineprofileinstance.vm"
    <!--NeedCopy-->
    
  3. Compruebe si la propiedad actual de la máquina virtual coincide con el esquema de aprovisionamiento actual y si hay alguna acción de actualización pendiente en la máquina virtual. Por ejemplo,

    Get-ProvVM | select VMName, ProvisioningSchemeUpdateRequested, ProvisioningSchemeVersion
    <!--NeedCopy-->
    

    También puede encontrar máquinas con una versión en particular. Por ejemplo,

    Get-ProvVM -Filter "ProvisioningSchemeVersion -eq 1" | select VMName, ProvisioningSchemeVersion
    <!--NeedCopy-->
    
  4. Actualice las máquinas existentes.
    • Para actualizar todas las máquinas:

       Request-ProvVMUpdate –ProvisioningSchemeName "my-catalog"
       <!--NeedCopy-->
      
    • Para actualizar una lista de máquinas específicas:

       Request-ProvVMUpdate -ProvisioningSchemeName "my-catalog" -VMName "vm1","vm2"
       <!--NeedCopy-->
      
    • Para actualizar las máquinas según el resultado de Get-ProvVM:

       Get-ProvVM -ProvisioningSchemeName "my-catalog" | Request-ProvVMUpdate
       <!--NeedCopy-->
      
  5. Busque las máquinas que tienen una actualización programada. Por ejemplo,

    Get-ProvVM -Filter "ProvisioningSchemeUpdateAfter" | select VMName, ProvisioningSchemeUpdateAfter
    <!--NeedCopy-->
    
  6. Reinicie las máquinas. En el siguiente encendido, los cambios en las propiedades se aplicarán a las máquinas existentes. Puede comprobar el estado de la actualización con el siguiente comando:

    Get-ProvVM | select VMName, ProvisioningSchemeUpdateRequested, ProvisioningSchemeVersion
    <!--NeedCopy-->
    

Proteger contra la eliminación accidental de máquinas

Citrix DaaS le permite proteger los recursos de MCS en Google Cloud para evitar la eliminación accidental. Configure la máquina virtual aprovisionada estableciendo el indicador deletionProtection en TRUE.

De forma predeterminada, las VM aprovisionadas a través del plug-in de Google Cloud o MCS se crean con “InstanceProtection” habilitada. La implementación se aplica tanto a catálogos persistentes como no persistentes. Los catálogos no persistentes se actualizan cuando las instancias se vuelven a crear a partir de la plantilla. Para las máquinas persistentes, se puede establecer el indicador en la consola de Google Cloud. Para obtener más información sobre cómo establecer el indicador, consulte el sitio de documentación de Google. Las nuevas máquinas que se agregan a catálogos persistentes se crean con la opción deletionProtection habilitada.

Si intenta eliminar una instancia de VM para la que estableció el indicador deletionProtection, la solicitud falla. Sin embargo, si se le concede el permiso compute.instances.setDeletionProtection o se le asigna el rol de administrador de procesos (Compute Admin) de IAM, puede restablecer el indicador para permitir la eliminación del recurso.

Importar máquinas de Google Cloud creadas manualmente

Puede crear una conexión a Google Cloud y, a continuación, crear un catálogo que contenga las máquinas de Google Cloud. A continuación, puede apagar y encender manualmente las máquinas de Google Cloud a través de Citrix DaaS. Con esta función, puede:

  • Importar las máquinas con SO multisesión de Google Cloud creadas manualmente al catálogo de máquinas de Citrix Virtual Apps and Desktops.
  • Quitar las máquinas con SO multisesión de Google Cloud creadas manualmente de un catálogo de Citrix Virtual Apps and Desktops.
  • Utilizar las prestaciones de administración de energía existentes en Citrix Virtual Apps and Desktops para administrar la energía de las máquinas con SO multisesión Windows en Google Cloud. Por ejemplo, establecer una programación de reinicio para dichas máquinas.

Esta funcionalidad no requiere cambios en el flujo de aprovisionamiento de Citrix Virtual Apps and Desktops; tampoco se necesita eliminar ninguna función existente. Se recomienda utilizar MCS para aprovisionar máquinas en la interfaz de Configuración completa de Citrix DaaS, en lugar de importar máquinas de Google Cloud creadas manualmente.

Nube privada virtual compartida

Las nubes VPC compartidas constan de un proyecto host (desde el que están disponibles las subredes compartidas) y uno o varios proyectos de servicios que utilizan el recurso. Las nubes VPC compartidas son las opciones idóneas para instalaciones grandes, ya que ofrecen control, uso y administración centralizados de los recursos de empresa compartidos de Google Cloud. Para obtener más información, consulte el sitio de documentación de Google.

Con esta función, Machine Creation Services (MCS) admite el aprovisionamiento y la administración de catálogos de máquinas implementados en las nubes VPC compartidas. Esta compatibilidad, equivalente en funcionalidad a la compatibilidad que se ofrece en nubes VPC locales, difiere en dos áreas:

  1. Debe conceder permisos adicionales a la cuenta de servicio utilizada para crear la conexión de host. Este proceso permite a MCS acceder a los recursos de VPC compartida y utilizarlos.
  2. Debe crear dos reglas de firewall, una para la entrada y otra para la salida. Estas reglas de firewall se utilizan durante el proceso de creación de imágenes maestras.

Se necesitan nuevos permisos

Se requiere una cuenta de servicio de Google Cloud con permisos específicos cuando se crea la conexión de host. Estos permisos adicionales se deben conceder a todas las cuentas de servicio utilizadas para crear conexiones de host basadas en VPC compartidas.

Sugerencia:

Estos permisos adicionales no son nuevos en Citrix DaaS. Se utilizan para facilitar la implementación de VPC locales. Con las VPC compartidas, estos permisos adicionales permiten el acceso a otros recursos de VPC compartidas.

Se debe conceder un máximo de cuatro permisos adicionales a la cuenta de servicio asociada a la conexión de host para admitir una nube VPC compartida:

  1. compute.firewalls.list: Este permiso es obligatorio. Permite a MCS recuperar la lista de reglas de firewall presentes en la nube VPC compartida.
  2. compute.networks.list: Este permiso es obligatorio. Permite a MCS identificar las redes de nubes VPC compartidas disponibles para la cuenta de servicio.
  3. compute.subnetworks.list: Este permiso es opcional, en función de cómo utilice las nubes VPC. Permite a MCS identificar las subredes dentro de las nubles VPC compartidas que sean visibles. Este permiso ya es necesario para utilizar nubes VPC locales, pero también debe asignarse en el proyecto host de nubes VPC compartidas.
  4. compute.subnetworks.use: Este permiso es opcional, en función de cómo utilice las nubes VPC. Es necesario utilizar recursos de subred en los catálogos de máquinas aprovisionadas. Este permiso ya es necesario para utilizar nubes VPC locales, pero también debe asignarse en el proyecto host de nubes VPC compartidas.

Al utilizar estos permisos, tenga en cuenta que existen diferentes enfoques basados en el tipo de permiso utilizado para crear el catálogo de máquinas:

  • Permiso a nivel de proyecto:
    • Permite el acceso a todas las nubes VPC compartidas dentro del proyecto host.
    • Requiere que los permisos #3 y #4 estén asignados a la cuenta de servicio.
  • Permiso a nivel de subred:
    • Permite el acceso a subredes específicas dentro de la nube VPC compartida.
    • Los permisos #3 y #4 son intrínsecos a la asignación a nivel de subred y, por lo tanto, no es necesario asignarlos directamente a la cuenta de servicio.

Seleccione el enfoque que se adapte a las necesidades y los estándares de seguridad de su organización.

Sugerencia:

Para obtener más información sobre las diferencias entre los permisos a nivel de proyecto y a nivel de subred, consulte la documentación de Google Cloud.

Reglas de firewall

Durante la preparación de un catálogo de máquinas, se prepara una imagen de máquina para que sirva como disco del sistema de la imagen maestra del catálogo. Cuando se produce este proceso, el disco se conecta temporalmente a una máquina virtual. Esta máquina virtual debe ejecutarse en un entorno aislado que impida todo el tráfico de red entrante y saliente. Este aislamiento se logra gracias a un par de reglas de firewall “deny-all” (denegar todo): una para el tráfico de entrada y otra para el tráfico de salida. Al utilizar nubes VPC locales de Google Cloud, MCS crea este firewall en la red local y lo aplica a la máquina para la creación de imagen maestra. Una vez finalizada la creación de la imagen maestra, la regla de firewall se elimina de la imagen.

Se recomienda mantener al mínimo la cantidad de nuevos permisos necesarios para usar nubes VPC compartidas. Las nubes VPC compartidas son recursos de empresa de alto nivel y suelen tener protocolos de seguridad más rígidos. Por este motivo, cree un par de reglas de firewall en el proyecto host en los recursos de VPC compartida, una para la entrada y otra para la salida. Asígneles la máxima prioridad. Aplique una nueva etiqueta de destino a cada una de estas reglas, con el siguiente valor:

citrix-provisioning-quarantine-firewall

Cuando MCS crea o actualiza un catálogo de máquinas, busca reglas de firewall que contengan esta etiqueta de destino. A continuación, comprueba que las reglas sean correctas y las aplica a la máquina utilizada para preparar la imagen maestra del catálogo. Si no se encuentran reglas de firewall o se encuentran, pero son incorrectas o ellas o sus prioridades, aparecerá un mensaje similar al siguiente:

"Unable to find valid INGRESS and EGRESS quarantine firewall rules for VPC <name> in project <project>. " Please ensure you have created 'deny all' firewall rules with the network tag 'citrix-provisioning-quarantine-firewall' and proper priority." "Refer to Citrix Documentation for details."

Configurar la nube VPC compartida

Antes de agregar la VPC compartida como conexión de host en la interfaz de Configuración completa de Citrix DaaS, siga estos pasos para agregar cuentas de servicio desde el proyecto que aprovisionará:

  1. Crear un rol de IAM.
  2. Agregue la cuenta de servicio utilizada para crear una conexión de host de CVAD al rol de IAM del proyecto host de VPC compartida.
  3. Agregue la cuenta del servicio de Cloud Build desde el proyecto que quiere aprovisionar al rol de IAM del proyecto host de VPC compartida.
  4. Crear reglas de firewall.

Crear un rol de IAM

Determine el nivel de acceso del rol: Acceso a nivel de proyecto o un modelo más restringido con acceso a nivel de subred.

Acceso a nivel de proyecto para el rol de IAM. Para el rol de IAM a nivel de proyecto, incluya los siguientes permisos:

  • compute.firewalls.list
  • compute.networks.list
  • compute.subnetworks.list
  • compute.subnetworks.use

Para crear un rol de IAM a nivel de proyecto:

  1. En la consola de Google Cloud, vaya a IAM & Admin > Roles.
  2. En la página Roles, seleccione CREATE ROLE.
  3. En la página Create Role, especifique el nombre del rol. Seleccione ADD PERMISSIONS.
    1. En la página Add permissions, agregue permisos al rol de forma individual. Para agregar un permiso, escriba el nombre del permiso en el campo Filter table. Seleccione el permiso y, a continuación, seleccione ADD.
    2. Seleccione CREATE.

Subnet-level IAM role. Este rol omite la adición de los permisos compute.subnetworks.list y compute.subnetworks.use después de seleccionar CREATE ROLE. Para este nivel de acceso de IAM, los permisos compute.firewalls.list y compute.networks.list deben aplicarse al nuevo rol.

Para crear un rol de IAM a nivel de subred:

  1. En la consola de Google Cloud, vaya a VPC network > Shared VPC. Aparecerá la página Shared VPC, que muestra las subredes de las redes de VPC compartidas que contiene el proyecto host.
  2. En la página Shared VPC, seleccione la subred a la que quiere acceder.
  3. En la esquina superior derecha, seleccione ADD MEMBER para agregar una cuenta de servicio.
  4. En la página Add members, siga estos pasos:
    1. En el campo New members, escriba el nombre de su cuenta de servicio y, a continuación, selecciónela en el menú.
    2. Seleccione el campo Select a role y, a continuación, Compute Network User.
    3. Seleccione SAVE.
  5. En la consola de Google Cloud, vaya a IAM & Admin > Roles.
  6. En la página Roles, seleccione CREATE ROLE.
  7. En la página Create Role, especifique el nombre del rol. Seleccione ADD PERMISSIONS.
    1. En la página Add permissions, agregue permisos al rol de forma individual. Para agregar un permiso, escriba el nombre del permiso en el campo Filter table. Seleccione el permiso y, a continuación, seleccione ADD.
    2. Seleccione CREATE.

Agregar una cuenta de servicio al rol de IAM del proyecto host

Después de crear un rol de IAM, siga estos pasos para agregar una cuenta de servicio para el proyecto host:

  1. En la consola de Google Cloud, vaya al proyecto host y, a continuación, a IAM & Admin > IAM.
  2. En la página IAM, seleccione ADD para agregar una cuenta de servicio.
  3. En la página Add members:
    1. En el campo New members, escriba el nombre de su cuenta de servicio y, a continuación, selecciónela en el menú.
    2. En el campo Select a role, introduzca el rol de IAM que creó y, a continuación, seleccione el rol en el menú.
    3. Seleccione SAVE.

Ahora la cuenta de servicio está configurada para el proyecto host.

Agregar la cuenta de servicio de Cloud Build a la VPC compartida

Cada suscripción a Google Cloud tiene una cuenta de servicio que tiene, como nombre, el número de identificación del proyecto, seguido de cloudbuild.gserviceaccount. Por ejemplo: 705794712345@cloudbuild.gserviceaccount.

Para determinar el número de ID del proyecto, seleccione Home y Dashboard en la consola de Google Cloud:

Panel de navegación de la consola de Google Cloud

Busque el número del proyecto en el área Project Info de la pantalla.

Siga estos pasos para agregar la cuenta de servicio de Cloud Build a la VPC compartida:

  1. En la consola de Google Cloud, vaya al proyecto host y, a continuación, a IAM & Admin > IAM.
  2. En la página Permissions, seleccione ADD para agregar una cuenta.
  3. En la página Add members, siga estos pasos:
    1. En el campo New members, escriba el nombre de la cuenta de servicio de Cloud Build y, a continuación, selecciónela en el menú.
    2. Seleccione el campo Select a role, escriba Computer Network User y, a continuación, seleccione el rol en el menú.
    3. Seleccione SAVE.

Crear reglas de firewall

Como parte del proceso de masterización, MCS copia la imagen de máquina seleccionada y la utiliza para preparar el disco del sistema de la imagen maestra para el catálogo. Durante la masterización, MCS conecta el disco a una máquina virtual temporal, que luego ejecuta scripts de preparación. Esta máquina virtual debe ejecutarse en un entorno aislado que prohíba todo el tráfico de red entrante y saliente. Para crear un entorno aislado, MCS requiere dos reglas “deny all” en el firewall (una regla de entrada y una regla de salida). Por lo tanto, cree dos reglas de firewall en el proyecto host de la siguiente manera:

  1. En la consola de Google Cloud, vaya al proyecto host y, a continuación, a VPC Network > Firewall.
  2. En la página Firewall, seleccione CREATE FIREWALL RULE.
  3. En la página Create a firewall rule, complete lo siguiente:
    • Nombre. Escriba el nombre de la regla.
    • Network. Seleccione la red de VPC compartida a la que se aplica la regla de firewall de entrada.
    • Priority. Cuanto menor sea el valor, mayor será la prioridad de la regla. Recomendamos un valor pequeño (por ejemplo, 10).
    • Direction of traffic. Seleccione Ingress.
    • Action on match. Seleccione Deny.
    • Targets. Utilice el valor predeterminado, Specified target tags.
    • Target tags. Escriba citrix-provisioning-quarantine-firewall.
    • Source filter. Utilice el valor predeterminado, IP ranges.
    • Source IP ranges. Escriba un intervalo que tenga en cuenta todo el tráfico. Escriba 0.0.0.0/0.
    • Protocols and ports. Seleccione Deny all.
  4. Seleccione CREATE para crear la regla.
  5. Repita los pasos del 1 al 4 para crear otra regla. En Direction of traffic, seleccione Egress.

Agregar una conexión

Agregue una conexión a los entornos de Google Cloud. Consulte Agregar una conexión.

Habilitar selección de zona

Citrix Virtual Apps and Desktops admite la selección de zonas. Con la selección de zonas, puede especificar las zonas en las que quiere crear máquinas virtuales. Con la selección de zonas, los administradores pueden colocar nodos de arrendatario único en las zonas de su elección. Para configurar el arrendamiento único, debe completar lo siguiente en Google Cloud:

  • Reservar un nodo de arrendatario único de Google Cloud
  • Crear la imagen maestra del VDA

Reservar un nodo de arrendatario único de Google Cloud

Para reservar un nodo de arrendatario único de Google Cloud, consulte la documentación de Google Cloud.

Importante:

Una plantilla de nodos se utiliza para indicar las características de rendimiento del sistema que se reserva al grupo de nodos. Estas características incluyen la cantidad de vGPU, la cantidad de memoria asignada al nodo y el tipo de máquina utilizado para las máquinas creadas en el nodo. Para obtener más información, consulte la documentación de Google Cloud.

Crear la imagen maestra del VDA

Para implementar máquinas en el nodo de arrendatario único, debe realizar pasos adicionales al crear una imagen de máquina virtual maestra. Las instancias de máquina en Google Cloud tienen una propiedad llamada node affinity labels (etiquetas de afinidad de nodos). Las instancias utilizadas como imágenes maestras para catálogos implementados en el nodo de arrendatario único requieren una etiqueta de afinidad de nodos que coincida con el nombre del grupo de nodos de destino. Para lograr esto, tenga en cuenta lo siguiente:

Nota:

Si quiere utilizar el arrendamiento único con una VPC compartida, consulte Nube privada virtual compartida.

Establecer una etiqueta de afinidad de nodos al crear una instancia

Para configurar la etiqueta de afinidad de nodos:

  1. En la consola de Google Cloud, vaya a Compute Engine > VM instances.

  2. En la página VM instances, seleccione Create instance.

  3. En la página Instance creation, escriba o configure la información necesaria y, a continuación, seleccione management, security, disks, networking, sole tenancy para abrir el panel de parámetros.

  4. En la ficha Sole Tenancy, seleccione Browse para ver los grupos de nodos disponibles en el proyecto actual. Aparecerá la página Sole-tenant node, que muestra una lista de los grupos de nodos disponibles.

  5. En la página Sole-tenant node, seleccione el grupo de nodos correspondiente de la lista y, a continuación, seleccione Select para volver a la ficha Sole tenancy. El campo de las etiquetas de afinidad de nodos se rellena con la información seleccionada. Esta configuración garantiza que los catálogos de máquinas creados a partir de la instancia se implementarán en el grupo de nodos seleccionado.

  6. Seleccione Create para crear la instancia.

Configurar una etiqueta de afinidad de nodos para una instancia existente

Para configurar la etiqueta de afinidad de nodos:

  1. En la ventana del terminal de Google Cloud Shell, utilice el comando gcloud compute instances para establecer una etiqueta de afinidad de nodos. Incluya la siguiente información en el comando gcloud:

    • Nombre de la VM. Por ejemplo, utilice una máquina virtual existente denominada s*2019-vda-base.*
    • Nombre del grupo de nodos. Utilice el nombre de grupo de nodos creado anteriormente. Por ejemplo, mh-sole-tenant-node-group-1.
    • La zona en la que reside la instancia. Por ejemplo, la máquina virtual reside en *us-east-1b* zone.

    Por ejemplo, escriba el siguiente comando en la ventana de terminal:

    • gcloud compute instances set-scheduling "s2019-vda-base" --node-group="mh-sole-tenant-node-group-1" --zone="us-east1-b"

    Para obtener más información sobre el comando gcloud compute instances, consulte la documentación de Google Developer Tools en https://cloud.google.com/sdk/gcloud/reference/beta/compute/instances/set-scheduling.

  2. Vaya a la página VM instance details de la instancia y verifique que el campo Node Affinities se rellenó con la etiqueta.

Creación de un catálogo de máquinas

Después de establecer la etiqueta de afinidad de nodos, configure el catálogo de máquinas.

Tech Preview: Uso de claves de cifrado administradas por el cliente (CMEK)

Puede utilizar claves de cifrado administradas por el cliente (CMEK) para catálogos de MCS. Al utilizar esta funcionalidad, asigna el rol CryptoKey Encrypter/Decrypter del servicio Key Management Service (KMS) de Google Cloud al agente de servicio de Compute Engine. La cuenta de Citrix DaaS debe tener los permisos correctos en el proyecto en el que se almacena la clave. Consulte Ayuda a proteger los recursos con claves de Cloud KMS para obtener más información.

El agente de servicio de Compute Engine tiene el siguiente formato: service-<Project _Number>@compute-system.iam.gserviceaccount.com. Este formato es distinto de la cuenta de servicio predeterminada de Compute Engine.

Nota:

Puede que esta cuenta de servicio de Compute Engine no aparezca en la pantalla IAM Permissions de Google Console. En tales casos, use el comando gcloud como se describe en Ayuda a proteger los recursos con claves de Cloud KMS.

Asignar permisos a la cuenta de Citrix DaaS

Los permisos de Google Cloud KMS se pueden configurar de varias formas. Puede proporcionar permisos de KMS a nivel de proyecto o a nivel de recursos. Consulte Permisos y funciones para obtener más información.

Permisos a nivel de proyecto

Una opción es proporcionar a la cuenta de Citrix DaaS permisos a nivel de proyecto para explorar los recursos de Cloud KMS. Para ello, cree un rol personalizado y agregue los siguientes permisos:

  • cloudkms.keyRings.list
  • cloudkms.keyRings.get
  • cloudkms.cryptokeys.list
  • cloudkms.cryptokeys.get

Asigne este rol personalizado a su cuenta de Citrix DaaS. Esto le permite examinar las claves regionales del proyecto correspondiente del inventario.

Permisos a nivel de recursos

Para la otra opción, los permisos a nivel de recursos, en la consola de Google Cloud, vaya a la cryptoKey que utiliza para aprovisionamiento de MCS. Agregue la cuenta de Citrix DaaS a un llavero o a una clave que utilice para aprovisionamiento de catálogos.

Sugerencia:

Con esta opción, no puede examinar las claves regionales de su proyecto en el inventario, puesto que la cuenta de Citrix DaaS no tiene permisos de lista a nivel de proyecto sobre los recursos de Cloud KMS. Sin embargo, aún podrá aprovisionar un catálogo con CMEK especificando el cryptoKeyId correcto en las propiedades personalizadas de ProvScheme, que se describen a continuación.

Aprovisionamiento con CMEK mediante propiedades personalizadas

Al crear el esquema de aprovisionamiento a través de PowerShell, especifique una propiedad CryptoKeyId en ProvScheme CustomProperties. Por ejemplo:

'<CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <Property xsi:type="StringProperty" Name="CryptoKeyId" Value="<yourCryptoKeyId>" />
</CustomProperties>'
<!--NeedCopy-->

cryptoKeyId debe especificarse en el siguiente formato:

projectId:location:keyRingName:cryptoKeyName

Por ejemplo, si quiere usar la clave my-example-key en el llavero my-example-key-ring de la región us-east1 y el proyecto con ID my-example-project-1, su configuración personalizada de ProvScheme se asemejaría a:

'<CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <Property xsi:type="StringProperty" Name="CryptoKeyId" Value="my-example-project-1:us-east1:my-example-key-ring:my-example-key" />
</CustomProperties>'
<!--NeedCopy-->

Todas las imágenes y discos aprovisionados de MCS relacionados con este esquema de aprovisionamiento utilizan esta clave de cifrado administrada por el cliente.

Sugerencia:

Si utiliza claves globales, la ubicación de las propiedades del cliente debe indicar global, y no el nombre de la región, que en el ejemplo anterior es us-east1. Por ejemplo: <Property xsi:type="StringProperty" Name="CryptoKeyId" Value="my-example-project-1:global:my-example-key-ring:my-example-key" />.

Rotar claves administradas por el cliente

Google Cloud no admite claves de rotación en discos o imágenes persistentes existentes. Una vez que se aprovisiona una máquina, se asocia a la versión de clave en uso en el momento de su creación. Sin embargo, se puede crear una nueva versión de la clave y esa nueva clave se utilizará con las máquinas o recursos recién aprovisionados creados al actualizar un catálogo con una nueva imagen maestra.

Consideraciones importantes acerca de los llaveros

Los llaveros no se pueden cambiar de nombre ni eliminar. Además, podría incurrir en cargos imprevistos al configurarlos. Al eliminar o quitar un llavero, Google Cloud muestra un mensaje de error:

Sorry, you can't delete or rename keys or key rings. We were concerned about the security implications of allowing multiple keys or key versions over time to have the same resource name, so we decided to make names immutable. (And you can't delete them, because we wouldn't be able to do a true deletion--there would still have to be a tombstone tracking that this name had been used and couldn't be reused).
We're aware that this can make things untidy, but we have no immediate plans to change this.
If you want to avoid getting billed for a key or otherwise make it unavailable, you can do so by deleting all the key versions; neither keys nor key rings are billed for, just the active key versions within the keys.
<!--NeedCopy-->

Sugerencia:

Para obtener más información, consulte Editing or deleting a key ring from the console.

Compatibilidad con “Acceso uniforme a nivel de bucket”

Citrix DaaS es compatible con la directiva de acceso uniforme a nivel de depósito de Google Cloud. Esta funcionalidad amplía el uso de la directiva de IAM que concede permisos a una cuenta de servicio para permitir la manipulación de recursos, incluidos los depósitos de almacenamiento. Con control de acceso uniforme a nivel de depósito, Citrix DaaS le permite utilizar una lista de control de acceso (ACL) para controlar el acceso a los depósitos de almacenamiento o a los objetos almacenados en ellos. Para obtener información general acerca del acceso uniforme a nivel de depósito de Google Cloud, consulte Acceso uniforme a nivel de bucket. Para obtener información sobre la configuración, consulte Requerir acceso uniforme a nivel de bucket.

Google Cloud Marketplace

Puede buscar y seleccionar imágenes que ofrece Citrix en Google Cloud Marketplace para crear catálogos de máquinas. Actualmente, MCS solo admite el flujo de trabajo de perfiles de máquina para esta función.

Para buscar el producto de VM Citrix VDA en Google Cloud Marketplace, vaya a https://console.cloud.google.com/marketplace.

Puede usar una imagen personalizada o una imagen preparada por Citrix en Google Cloud Marketplace para actualizar una imagen de un catálogo de máquinas.

Nota:

Si el perfil de la máquina no contiene información sobre el tipo de almacenamiento, el valor se deriva de las propiedades personalizadas.

Las imágenes compatibles de Google Cloud Marketplace son:

  • Windows 2019 de sesión única
  • Windows 2019 multisesión
  • Ubuntu

Ejemplo de uso de una imagen preparada por Citrix como origen para crear un catálogo de máquinas:

New-ProvScheme -ProvisioningSchemeName GCPCatalog \
-HostingUnitName GcpHu -IdentityPoolName gcpPool -CleanOnBoot \
-MasterImageVM XDHyp:\HostingUnits\GcpHu\images.folder\citrix-daas-win2019-single-vda-v20220819.publicimage \
-MachineProfile XDHyp:\HostingUnits\GcpHu\Base.vm
<!--NeedCopy-->

URL de dispositivo de punto final del servicio

Debe tener acceso a las siguientes URL:

  • https://oauth2.googleapis.com
  • https://cloudresourcemanager.googleapis.com
  • https://compute.googleapis.com
  • https://storage.googleapis.com
  • https://cloudbuild.googleapis.com

Proyectos de Google Cloud

Existen básicamente dos tipos de proyectos de Google Cloud:

  • Proyecto de Provisioning: En este caso, la cuenta de administrador actual es propietaria de las máquinas aprovisionadas del proyecto. Este tipo de proyecto se conoce también como proyecto local.
  • Proyecto de nube privada virtual (VPC) compartida: Proyecto en el que las máquinas creadas en el proyecto de aprovisionamiento utilizan la VPC del proyecto de VPC compartida. La cuenta de administrador utilizada para el proyecto de aprovisionamiento tiene permisos limitados en este proyecto, específicamente, solo permisos para usar la nube VPC.

Permisos de GCP requeridos

En esta sección, se incluye la lista completa de permisos de GCP. Utilice el conjunto completo de permisos que se indica en la sección para que la funcionalidad opere correctamente.

Nota:

GCP presentará cambios en el comportamiento predeterminado de los servicios de Cloud Build y en el uso de las cuentas de servicio a partir del 29 de abril de 2024. Para obtener más información, consulte Cambio de la cuenta de servicio de Cloud Build. Los proyectos de Google existentes con la API de Cloud Build habilitada antes del 29 de abril de 2024 no se ven afectados por este cambio. No obstante, si quiere mantener el comportamiento actual del servicio de Cloud Build a partir del 29 de abril, puede crear o aplicar una directiva de organización para inhabilitar la aplicación de restricciones antes de habilitar la API. Si establece la nueva directiva de organización, puede seguir usando los permisos existentes en esta sección y los elementos marcados en Antes del cambio de la cuenta de servicio de Cloud Build. De lo contrario, siga los permisos y elementos existentes que están marcados en Después del cambio de cuenta de servicio de Cloud Build.

Crear una conexión de host

  • Permisos mínimos requeridos para la cuenta de servicio de Citrix Cloud en el proyecto de Provisioning:

     compute.instanceTemplates.list
     compute.instances.list
     compute.networks.list
     compute.projects.get
     compute.regions.list
     compute.subnetworks.list
     compute.zones.list
     resourcemanager.projects.get
     <!--NeedCopy-->
    

    Estos roles definidos por Google tienen los permisos que se indican anteriormente:

    • Administrador de procesos
    • Usuario de almacén de datos en la nube
  • Permisos adicionales requeridos para la nube VPC compartida con la cuenta de servicio de Citrix Cloud en el proyecto de nube VPC compartida:

     compute.networks.list
     compute.subnetworks.list
     resourcemanager.projects.get
     <!--NeedCopy-->
    

    Estos roles definidos por Google tienen los permisos que se indican anteriormente:

    • Compute Network User

Administración de energía de las máquinas virtuales

Permisos mínimos requeridos para la cuenta de servicio de Citrix Cloud en el proyecto de Provisioning en el caso de catálogos solo con administración de energía:

compute.instanceTemplates.list
compute.instances.list
compute.instances.get
compute.instances.reset
compute.instances.resume
compute.instances.start
compute.instances.stop
compute.instances.suspend
compute.networks.list
compute.projects.get
compute.regions.list
compute.subnetworks.list
compute.zones.list
resourcemanager.projects.get
compute.zoneOperations.get
<!--NeedCopy-->

Estos roles definidos por Google tienen los permisos que se indican anteriormente:

  • Administrador de procesos
  • Usuario de almacén de datos en la nube

Creación, actualización o eliminación de máquinas virtuales

  • Permisos mínimos requeridos para la cuenta de servicio de Citrix Cloud en el proyecto de Provisioning:

     cloudbuild.builds.create
     cloudbuild.builds.get
     cloudbuild.builds.list
     compute.acceleratorTypes.list
     compute.diskTypes.get
     compute.diskTypes.list
     compute.disks.create
     compute.disks.createSnapshot
     compute.disks.delete
     compute.disks.get
     compute.disks.list
     compute.disks.setLabels
     compute.disks.use
     compute.disks.useReadOnly
     compute.firewalls.create
     compute.firewalls.delete
     compute.firewalls.list
     compute.globalOperations.get
     compute.images.create
     compute.images.delete
     compute.images.get
     compute.images.list
     compute.images.setLabels
     compute.images.useReadOnly
     compute.instanceTemplates.create
     compute.instanceTemplates.delete
     compute.instanceTemplates.get
     compute.instanceTemplates.list
     compute.instanceTemplates.useReadOnly
     compute.instances.attachDisk
     compute.instances.create
     compute.instances.delete
     compute.instances.detachDisk
     compute.instances.get
     compute.instances.list
     compute.instances.reset
     compute.instances.resume
     compute.instances.setDeletionProtection
     compute.instances.setLabels
     compute.instances.setMetadata
     compute.instances.setServiceAccount
     compute.instances.setTags
     compute.instances.start
     compute.instances.stop
     compute.instances.suspend
     compute.machineTypes.get
     compute.machineTypes.list
     compute.networks.list
     compute.networks.updatePolicy
     compute.nodeGroups.list
     compute.nodeTemplates.get
     compute.projects.get
     compute.regions.list
     compute.snapshots.create
     compute.snapshots.delete
     compute.snapshots.list
     compute.snapshots.get
     compute.snapshots.setLabels
     compute.snapshots.useReadOnly
     compute.subnetworks.get
     compute.subnetworks.list
     compute.subnetworks.use
     compute.zoneOperations.get
     compute.zoneOperations.list
     compute.zones.get
     compute.zones.list
     iam.serviceAccounts.actAs
     resourcemanager.projects.get
     storage.buckets.create
     storage.buckets.delete
     storage.buckets.get
     storage.buckets.list
     storage.buckets.update
     storage.objects.create
     storage.objects.delete
     storage.objects.get
     storage.objects.list
     compute.networks.get
     compute.resourcePolicies.use
    
     <!--NeedCopy-->
    

    Estos roles definidos por Google tienen los permisos que se indican anteriormente:

    • Administrador de procesos
    • Administrador de almacenamiento
    • Editor de compilaciones en la nube
    • Usuario de cuenta de servicio
    • Usuario de almacén de datos en la nube
  • Permisos adicionales requeridos para la nube VPC compartida con la cuenta de servicio de Citrix Cloud en el proyecto de nube VPC compartida a fin de crear una unidad de alojamiento mediante la VPC y la subred del proyecto de VPC compartida:

     compute.firewalls.list
     compute.networks.list
     compute.projects.get
     compute.regions.list
     compute.subnetworks.get
     compute.subnetworks.list
     compute.subnetworks.use
     compute.zones.list
     resourcemanager.projects.get
     <!--NeedCopy-->
    

    Estos roles definidos por Google tienen los permisos que se indican anteriormente:

    • Compute Network User
    • Usuario de almacén de datos en la nube
  • (Antes del cambio de la cuenta de servicio de Cloud Build): Permisos mínimos requeridos por el servicio Google Cloud Build para la cuenta de servicio de Cloud Build en el proyecto de Provisioning al descargar el disco de instrucciones de preparación en MCS:

  • (Después del cambio de la cuenta de servicio de Cloud Build): Permisos mínimos requeridos por el servicio Google Cloud Compute para la cuenta de servicio de Cloud Compute en el proyecto de Provisioning al descargar el disco de instrucciones de preparación en MCS:

     compute.disks.create
     compute.disks.delete
     compute.disks.get
     compute.disks.list
     compute.disks.setLabels
     compute.disks.use
     compute.disks.useReadOnly
     compute.images.get
     compute.images.list
     compute.images.useReadOnly
     compute.instances.create
     compute.instances.delete
     compute.instances.get
     compute.instances.getSerialPortOutput
     compute.instances.list
     compute.instances.setLabels
     compute.instances.setMetadata
     compute.instances.setServiceAccount
     compute.machineTypes.list
     compute.networks.get
     compute.networks.list
     compute.projects.get
     compute.subnetworks.list
     compute.subnetworks.use
     compute.subnetworks.useExternalIp
     compute.zoneOperations.get
     compute.zones.list
     iam.serviceAccounts.actAs
     logging.logEntries.create
     pubsub.topics.publish
     resourcemanager.projects.get
     source.repos.get
     source.repos.list
     storage.buckets.create
     storage.buckets.get
     storage.buckets.list
     storage.objects.create
     storage.objects.delete
     storage.objects.get
     storage.objects.list
     <!--NeedCopy-->
    

    Estos roles definidos por Google tienen los permisos que se indican anteriormente:

    • Cuenta de servicio de Cloud Build (después del cambio de la cuenta de servicio de Cloud Build, es una cuenta de servicio de Cloud Compute)
    • Administrador de instancias de proceso
    • Usuario de cuenta de servicio
  • Permisos mínimos requeridos por el servicio Google Cloud Build para la cuenta de servicio de Cloud Compute en el proyecto de Provisioning al descargar el disco de instrucciones de preparación en MCS:

     resourcemanager.projects.get
     storage.objects.create
     storage.objects.get
     storage.objects.list
     <!--NeedCopy-->
    

    Estos roles definidos por Google tienen los permisos que se indican anteriormente:

    • Compute Network User
    • Storage Account User
    • Usuario de almacén de datos en la nube
  • (Antes del cambio de la cuenta de servicio de Cloud Build): Permisos adicionales requeridos por el servicio Google Cloud Build para la nube VPC compartida con la cuenta de servicio de Cloud Build en el proyecto de Provisioning al descargar el disco de instrucciones de preparación en MCS:
  • (Después del cambio de la cuenta de servicio de Cloud Build): Permisos adicionales requeridos por el servicio Google Cloud Compute para la nube VPC compartida con la cuenta de servicio de Cloud Compute en el proyecto de Provisioning al descargar el disco de instrucciones de preparación en MCS:

     compute.firewalls.list
     compute.networks.list
     compute.subnetworks.list
     compute.subnetworks.use
     resourcemanager.projects.get
     <!--NeedCopy-->
    

    Estos roles definidos por Google tienen los permisos que se indican anteriormente:

    • Compute Network User
    • Storage Account User
    • Usuario de almacén de datos en la nube
  • Permisos adicionales requeridos para Cloud Key Management Service (KMS) con la cuenta de servicio de Citrix Cloud en el proyecto de Provisioning:

     cloudkms.cryptoKeys.get
     cloudkms.cryptoKeys.list
     cloudkms.keyRings.get
     cloudkms.keyRings.list
     <!--NeedCopy-->
    

    Estos roles definidos por Google tienen los permisos que se indican anteriormente:

    • Compute KMS Viewer

Permisos generales

Estos son los permisos de la cuenta de servicio de Citrix Cloud en el proyecto Provisioning para todas las funciones disponibles en MCS. Estos permisos ofrecen la mejor compatibilidad en el futuro:

resourcemanager.projects.get
cloudbuild.builds.create
cloudbuild.builds.get
cloudbuild.builds.list
compute.acceleratorTypes.list
compute.diskTypes.get
compute.diskTypes.list
compute.disks.create
compute.disks.createSnapshot
compute.disks.delete
compute.disks.get
compute.disks.setLabels
compute.disks.use
compute.disks.useReadOnly
compute.firewalls.create
compute.firewalls.delete
compute.firewalls.list
compute.globalOperations.get
compute.images.create
compute.images.delete
compute.images.get
compute.images.list
compute.images.setLabels
compute.images.useReadOnly
compute.instanceTemplates.create
compute.instanceTemplates.delete
compute.instanceTemplates.get
compute.instanceTemplates.list
compute.instanceTemplates.useReadOnly
compute.instances.attachDisk
compute.instances.create
compute.instances.delete
compute.instances.detachDisk
compute.instances.get
compute.instances.list
compute.instances.reset
compute.instances.resume
compute.instances.setDeletionProtection
compute.instances.setLabels
compute.instances.setMetadata
compute.instances.setTags
compute.instances.start
compute.instances.stop
compute.instances.suspend
compute.instances.update
compute.instances.updateAccessConfig
compute.instances.updateDisplayDevice
compute.instances.updateSecurity
compute.instances.updateShieldedInstanceConfig
compute.instances.updateShieldedVmConfig
compute.machineTypes.get
compute.machineTypes.list
compute.networks.list
compute.networks.updatePolicy
compute.nodeGroups.list
compute.nodeTemplates.get
compute.projects.get
compute.regions.list
compute.snapshots.create
compute.snapshots.delete
compute.snapshots.list
compute.snapshots.get
compute.snapshots.setLabels
compute.snapshots.useReadOnly
compute.subnetworks.get
compute.subnetworks.list
compute.subnetworks.use
compute.subnetworks.useExternalIp
compute.zoneOperations.get
compute.zoneOperations.list
compute.zones.get
compute.zones.list
resourcemanager.projects.get
storage.buckets.create
storage.buckets.delete
storage.buckets.get
storage.buckets.list
storage.buckets.update
storage.objects.create
storage.objects.delete
storage.objects.get
storage.objects.list
cloudkms.cryptoKeys.get
cloudkms.cryptoKeys.list
cloudkms.keyRings.get
cloudkms.keyRings.list
compute.disks.list
compute.instances.setServiceAccount
compute.networks.get
compute.networks.use
compute.networks.useExternalIp
iam.serviceAccounts.actAs
compute.resourcePolicies.use
<!--NeedCopy-->

Más información