Conexión a instancias administradas de Amazon WorkSpaces Core
Crear y administrar conexiones y recursos describe los asistentes que crean una conexión. La siguiente información cubre detalles específicos de las instancias administradas de Amazon WorkSpaces Core.
Requisitos previos
Haz lo siguiente antes de crear una conexión a instancias administradas de Amazon WorkSpaces Core:
- Completa la configuración de tu AWS como ubicación de recursos. Consulta Entornos de virtualización de AWS.
- Define la política de permisos de IAM del usuario o rol de IAM para que Citrix® administre los recursos de AWS en tu nombre.
- Crea un rol vinculado a servicios.
Definir permisos de IAM
Antes de crear una conexión de host, es necesario definir correctamente una política de permisos de IAM para un usuario o rol de IAM que otorgue a Citrix los permisos adecuados para aprovisionar y administrar recursos en tu cuenta de AWS en tu nombre. Usa la información de esta sección para definir los permisos de IAM para Citrix DaaS en instancias administradas de Amazon WorkSpaces Core. El servicio IAM de Amazon permite que las cuentas tengan varios usuarios, que pueden organizarse en grupos. Estos usuarios pueden tener diferentes permisos para controlar su capacidad de realizar operaciones asociadas a la cuenta. Para obtener más información sobre los permisos de IAM, consulta la referencia de políticas JSON de IAM.
Nota:
Dado que Citrix aprovisiona y administra recursos y automatización en tu cuenta de AWS en tu nombre, no se admite la configuración de políticas de permisos de IAM basadas en etiquetas específicas o convenciones de nomenclatura de recursos.
Para aplicar la política de permisos de IAM a un nuevo grupo de usuarios:
- Inicia sesión en la consola de administración de AWS y selecciona el servicio IAM en la lista desplegable.
- Selecciona Crear un nuevo grupo de usuarios.
- Escribe un nombre para el nuevo grupo de usuarios y selecciona Continuar.
- En la página Permisos, elige Política personalizada.
- Escribe un nombre para la Política de permisos.
- En la sección Documento de política, introduce los permisos pertinentes.
Después de introducir la información de la política, selecciona Continuar para completar la aplicación de la política de permisos de IAM al grupo de usuarios. Los usuarios del grupo solo tienen permisos para realizar las acciones necesarias para Citrix DaaS.
Importante:
Usa el texto de la política proporcionado en el ejemplo de este artículo para enumerar las acciones que Citrix DaaS utiliza para realizar acciones dentro de una cuenta de AWS sin restringir esas acciones a recursos específicos. Citrix recomienda que uses el ejemplo para fines de prueba. Para entornos de producción, puedes optar por agregar más restricciones a los recursos.
Agregar permisos de IAM
Agrega los permisos en la sección IAM de la consola de administración de AWS:
- En el panel Resumen, selecciona la ficha Permisos.
- Selecciona Agregar permisos.
- En la pantalla Agregar permisos a, concede los permisos.
- En la sección JSON, incluye los permisos de AWS necesarios para tu entorno.
Crear un rol vinculado a servicios
Para cada una de tus cuentas de AWS desde las que Citrix llamará a las API de Core V2, crea un rol vinculado a servicios (SLR).
Los pasos para crear el rol:
- Abre una interfaz de línea de comandos (CLI) en la consola de administración de AWS.
-
Ejecuta el siguiente comando en la CLI:
aws iam create-service-linked-role --aws-service-name workspaces-instances.amazonaws.com <!--NeedCopy-->
También puedes configurar el rol vinculado a servicios mediante la consola de administración de Amazon WorkSpaces Core. Consulta Crear un rol vinculado a servicios (consola).
Crear una conexión
Puedes crear una conexión a instancias administradas de Amazon WorkSpaces Core usando:
Nota:
Comprueba las restricciones de tu servidor proxy o firewall y asegúrate de que las siguientes direcciones sean accesibles:
https://*.amazonaws.comyhttps://*.api.aws. Además, asegúrate de que todas las direcciones mencionadas en Conectividad del servicio Citrix Gateway sean accesibles.Si no son accesibles, podría producirse un error al crear o actualizar la conexión de host.
Crear una conexión usando Studio
- Navega a la página Alojamiento > Agregar conexión y recursos.
-
En la página Conexión, sigue estos pasos para configurar la conexión:
- Selecciona Crear una nueva conexión.
- En Zona, selecciona la ubicación de recursos que has configurado para tu entorno de AWS.
- Selecciona Amazon WorkSpaces Core como tipo de conexión.
-
Selecciona Usar clave de acceso de usuario de IAM o Usar rol de IAM.
Para la clave de acceso de usuario de IAM, proporciona tu clave de API y clave secreta para el usuario de IAM que tiene la política de permisos de IAM adecuada para que Citrix administre los recursos en tu cuenta de AWS.
Para el rol de IAM, asegúrate de haber asignado un rol de IAM a la instancia de Citrix Cloud Connector con la política de permisos de IAM adecuada para que Citrix administre los recursos en tu cuenta de AWS. Consulta la guía de autenticación basada en roles para obtener más información.
- Para enrutar las solicitudes de API a AWS a través de Citrix Cloud Connectors, selecciona la casilla de verificación Usar el proxy del sistema en Citrix Cloud Connectors. Esto garantiza que la conectividad de AWS funcione correctamente cuando los Cloud Connectors no tienen acceso directo a Internet.
- Introduce un nombre de conexión y haz clic en Siguiente.
- En la página Ubicación de la máquina virtual, especifica la ubicación donde deben aprovisionarse las máquinas virtuales. Selecciona la región de la nube, la VPC y la zona de disponibilidad (o zona local) para crear nuevas máquinas virtuales.
-
En la página Red:
- Introduce un nombre para los recursos que seleccionaste anteriormente en la zona de disponibilidad (o zona local).
- Selecciona una o varias subredes en la VPC que configuraste en el menú anterior.
- Haz clic en las páginas restantes hasta la página Resumen.
- Haz clic en Finalizar para crear la conexión de host a instancias administradas de Amazon WorkSpaces Core.
Consideraciones importantes
Cuando creas una conexión usando Studio:
- Define los permisos IAM adecuados para que Citrix administre tus recursos de AWS.
- Si usas una clave de acceso de usuario de IAM para que Citrix administre tus recursos de AWS, debes proporcionar los valores de la clave de API y la clave secreta. Puedes exportar el archivo de claves que contiene esos valores desde AWS y luego importarlos. También debes proporcionar la región, la zona de disponibilidad, el nombre de la VPC, las direcciones de subred, el nombre de dominio, los nombres de los grupos de seguridad y las credenciales.
- Si usas un rol de IAM para que Citrix administre tus recursos de AWS, debes asegurarte de asignar un rol con los permisos IAM adecuados a todos tus Cloud Connector. Consulta la guía de autenticación basada en roles para obtener más información.
- El archivo de credenciales de la cuenta raíz de AWS (obtenido de la consola de AWS) no tiene el mismo formato que los archivos de credenciales descargados para los usuarios estándar de AWS. Por lo tanto, Citrix DaaS no puede usar el archivo para rellenar los campos de clave de API y clave secreta. Asegúrate de usar archivos de credenciales de AWS Identity Access Management (IAM).
- La zona puede ser una zona de disponibilidad o una zona local.
Crear una conexión con PowerShell
- Abre una ventana de PowerShell.
- Ejecuta
asnp citrix*para cargar los módulos de PowerShell específicos de Citrix. -
Ejecuta los siguientes comandos. A continuación, se muestra un ejemplo:
$connectionName = "demo-hostingconnection" $cloudRegion = "us-east-1" $apiKey = "aaaaaaaaaaaaaaaaaaaa" $apiSecret = “bbbbb” $secureKey = ConvertTo-SecureString -String $apiSecret $zoneUid = "00000000-0000-0000-0000-000000000000" $connectionPath = "XDHyp:\Connections\" + $connectionName $connection = New-Item -Path $connectionPath -ConnectionType "AmazonWorkSpacesCoreMachineManagerFactory" -HypervisorAddress " "https://workspaces-instances.$($cloudRegion).api.aws"" -Persist -Scope @() -UserName $apiKey -SecurePassword $secureKey -ZoneUid $zoneUid New-BrokerHypervisorConnection -HypHypervisorConnectionUid $connection.HypervisorConnectionUid $hostingUnitName = "demo-hostingunit" $availabilityzone = "us-east-1a" $vpcName = "Default VPC" $jobGroup = [Guid]::NewGuid() $hostingUnitPath = "XDHyp:\HostingUnits\" + $HostingUnitName $rootPath = $connectionPath + "\" + $vpcName + ".virtualprivatecloud\" $availabilityZonePath = @($rootPath + $availabilityzone + ".availabilityzone") $networkPaths = (Get-ChildItem $availabilityZonePath[0] | Where ObjectType -eq "Network") | Select-Object -ExpandProperty FullPath # will select all the networks in the availability zone New-Item -Path $hostingUnitPath -AvailabilityZonePath $availabilityZonePath -HypervisorConnectionName $connectionName -JobGroup $jobGroup -PersonalvDiskStoragePath @() -RootPath $rootPath -NetworkPath $networkPaths <!--NeedCopy-->
Nota:
Para crear una conexión mediante la autenticación basada en roles, especifica apiKey y apiSecret como
role_based_auth.
Limitación
Si cambias el nombre de una Virtual Private Cloud (VPC) de AWS en la consola de AWS, la unidad de alojamiento existente en Citrix Cloud™ se interrumpe. Cuando la unidad de alojamiento está interrumpida, no puedes crear catálogos ni agregar máquinas a los catálogos existentes. Para resolver el problema, cambia el nombre de la VPC de AWS al nombre original.
Crear un entorno seguro para el tráfico administrado por AWS
Si tienes un proxy configurado en los Cloud Connector, debes crear la conexión de host para usar el proxy, de modo que las llamadas a la API realizadas por MCS se enruten correctamente a través del proxy. MCS permite que el tráfico de red (llamadas a la API de Citrix Cloud al hipervisor de AWS) se enrute a través de los Cloud Connector de tu entorno.
La conexión de host puede leer el valor del proxy del sistema WinHTTP que se configura durante la instalación de Cloud Connector. Puedes configurar el proxy mediante Studio o estableciendo la propiedad personalizada UseSystemProxyForHypervisorTrafficOnConnectors en True al crear o actualizar una conexión de host con PowerShell.
Nota:
Si tu entorno usa un proxy, asegúrate de que la inspección SSL esté deshabilitada o de que la conexión SSL permanezca inalterada para https://workspaces-instances.*.api.aws/.
Crear una conexión de host configurada con el proxy
- Abre una ventana de PowerShell.
- Ejecuta
asnp citrix*para cargar los módulos de PowerShell específicos de Citrix. -
Ejecuta los comandos de PowerShell para configurar el proxy. Por ejemplo:
$connectionName = "demo-hostingconnection" $cloudRegion = "us-east-1" $apiKey = "aaaaaaaaaaaaaaaaaaaa" $zoneUid = "00000000-0000-0000-0000-000000000000" $securePassword = Read-Host 'Please enter your secret key' -AsSecureString $connectionPath = "XDHyp:\Connections\" + $connectionName $customProperties = @" <CustomProperties xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.citrix.com/2014/xd/machinecreation"> <Property xsi:type="StringProperty" Name="UseSystemProxyForHypervisorTrafficOnConnectors" Value="True" /> </CustomProperties> "@ <!--NeedCopy--> -
Crea una conexión de alojamiento. Por ejemplo:
$connection = New-Item -Path $connectionPath ` -ConnectionType "Custom" -PluginId "AmazonWorkSpacesCoreMachineManagerFactory" ` -HypervisorAddress "https://workspaces-instances.$($cloudRegion).api.aws" ` -CustomProperties> $customProperties ` -Persist -Scope @()` -UserName $apiKey -SecurePassword $securePassword ` -ZoneUid $zoneUid New-BrokerHypervisorConnection -HypHypervisorConnectionUid $connection.HypervisorConnectionUid <!--NeedCopy-->
Para habilitar el proxy para una conexión de host existente, consulta Habilitar el proxy en una conexión existente.
Aprovisionamiento entre cuentas
Hay casos de uso en los que los Cloud Connector se desean colocar en una cuenta de AWS separada (cuenta de servicios compartidos o cuenta de componentes del sitio) con roles de IAM que tienen acceso entre cuentas (rol de IAM entre cuentas) y catálogos de máquinas aprovisionados por MCS en una cuenta de AWS secundaria separada (cuentas de cargas de trabajo), sin la necesidad de Cloud Connector adicionales en las cuentas separadas. Para admitir estos escenarios, esta función utiliza el emparejamiento de VPC y el acceso entre cuentas mediante roles de IAM para hacer posible el aprovisionamiento entre diferentes cuentas de AWS para empresas que administran varias cuentas de AWS.
Con el emparejamiento de VPC, puedes hacer que tus Cloud Connector y las máquinas virtuales aprovisionadas en diferentes regiones o cuentas puedan comunicarse entre sí.
Con el acceso entre cuentas mediante roles de IAM, permitirás que la cuenta principal (cuenta de Cloud Connector) asuma un rol de IAM para acceder a los recursos de AWS en la cuenta secundaria (máquinas virtuales del catálogo de máquinas).
Para permitir que Cloud Connector acceda a los recursos de la cuenta secundaria, crea una conexión de host después de asumir el rol de IAM de la cuenta secundaria.
Requisitos previos
Configura lo siguiente antes de crear una conexión de host para el aprovisionamiento entre cuentas:
- Configura el emparejamiento de VPC y los grupos de seguridad en ambas regiones o cuentas. Consulta Configurar el emparejamiento de VPC.
- Delega el acceso entre cuentas mediante roles de IAM. Consulta Delegar el acceso entre cuentas mediante un rol de IAM.
Configurar el emparejamiento de VPC
Supongamos que la VPC A está en la cuenta principal (Cuenta A) y tiene los Cloud Connector y Active Directory. La VPC B está en la cuenta secundaria (Cuenta B) donde quieres aprovisionar las máquinas virtuales.
Para configurar una conexión de emparejamiento de VPC entre la Cuenta A y la Cuenta B, haz lo siguiente:
-
Crea una conexión de emparejamiento de VPC. Consulta:
- Ve a tu VPC A y a la tabla de enrutamiento asociada a la subred pública.
- Haz clic en Editar rutas > Agregar ruta. Agrega el bloque CIDR de la VPC B en la columna Destino y agrega el emparejamiento de VPC que creaste en la columna Objetivo.
- Repite los pasos 2 y 3, pero con las subredes privadas para la VPC A y la VPC B (agrega el bloque CIDR de la VPC A). Consulta Actualizar las tablas de enrutamiento para una conexión de emparejamiento de VPC.
- Ve al grupo de seguridad privado asociado a la VPC A.
- Selecciona Acciones y, a continuación, Modificar reglas de entrada.
-
Selecciona Agregar regla. En Tipo, selecciona Todo el tráfico y, a continuación, en la columna Origen, agrega:
- Si es una región diferente, agrega el bloque CIDR de la VPC B.
- Si es una cuenta diferente pero la misma región, agrega el ID de cuenta y el ID de grupo de seguridad privado de la VPC B separados por una barra diagonal (por ejemplo, 123456789012/sg-1a2b3c4d)
- Repite los pasos 5 a 7, pero con el grupo de seguridad privado para la VPC B (pero agrega el bloque CIDR de la VPC A o el ID de cuenta de la VPC A y el ID de grupo de seguridad privado de la misma región, pero de una cuenta diferente). Consulta Actualizar los grupos de seguridad para hacer referencia a grupos de seguridad de emparejamiento.
Nota:
La creación de una conexión de emparejamiento de VPC no tiene coste. Sin embargo, aunque el emparejamiento de VPC dentro de una zona de disponibilidad es gratuito, se aplican cargos cuando la transferencia de datos a través de una conexión de emparejamiento de VPC se produce entre varias zonas de disponibilidad y regiones. Consulta Precios de una conexión de emparejamiento de VPC.
Delegar acceso entre cuentas mediante roles de IAM
Después de configurar el emparejamiento de VPC entre cuentas, delegas el acceso entre cuentas mediante roles de IAM.
Con el acceso entre cuentas mediante roles de IAM, permites que la cuenta principal (cuenta de Cloud Connector) asuma un rol de IAM para acceder a los recursos de AWS en la cuenta secundaria (máquinas virtuales del catálogo de máquinas).
Para acceder a los recursos entre cuentas, haz lo siguiente:
Recuerda:
Se asume que la VPC A está en la cuenta principal (Cuenta A) y tiene el Cloud Connector y Active Directory. La VPC B está en la cuenta secundaria (Cuenta B) donde quieres aprovisionar las máquinas virtuales.
- Configura el emparejamiento de VPC entre cuentas con los pasos mencionados anteriormente.
- Crea un rol y una política de IAM en la Cuenta B con permisos mínimos de IAM de Citrix. Consulta Tutorial de IAM: Delegar acceso entre cuentas de AWS mediante roles de IAM. Supongamos que el ARN de este rol es “arn:aws:iam::5678:role/citrix-role”.
- Agrega la política de confianza al rol “arn:aws:iam::5678:role/citrix-role” para que la Cuenta A pueda acceder a él mediante el rol “arn:aws:iam::1234:role/primary-account-citrix-role”, según Acceso a recursos entre cuentas en IAM.
- Crea el rol y la política de IAM en la Cuenta A con el nombre mencionado anteriormente “primary-account-citrix role”, que puede asumir el rol de IAM y pasar el rol de IAM de la Cuenta B (arn:aws:iam::5678:role/citrix-role).
- Asigna el rol “arn:aws:iam::1234:role/primary-account-citrix-role” a todos los Cloud Connectors de la Cuenta A.
Los Cloud Connectors ahora pueden asumir el rol de la Cuenta B (“arn:aws:iam::5678:role/citrix-role”).
Crear conexión de host para el aprovisionamiento entre cuentas
Crea una conexión de host en la cuenta secundaria (Cuenta B) donde quieras aprovisionar las máquinas virtuales. Esto permite que los Cloud Connectors de la Cuenta A accedan a los recursos de la Cuenta B después de asumir el rol de la Cuenta B.
Usa comandos de PowerShell para crear la conexión de host y agregar las dos propiedades personalizadas siguientes:
-
CrossAccountRoleArn: Si no proporcionas la propiedadCrossAccountRoleArn, se crea la conexión de host normal. En este caso, se ignoraMaximumAssumeRoleDurationInSecondsaunque se proporcione. -
MaximumAssumeRoleDurationInSeconds:DurationInSecondsdebe estar entre 900 y 3600 segundos. El valor predeterminado es 900 segundos. Si proporcionas un valor superior a 3600,DurationInSecondsse establece en 3600.
Ejemplo:
$connectionName = "cross-account-conn"
$cloudRegion = "us-east-1"
$apiKey = "role_based_auth"
$secretKey = "role_based_auth"
$zoneUid = "xxxxxx"
$secureKey = (ConvertTo-SecureString -String $secretKey -AsPlainText -Force)
$connectionPath = "XDHyp:\Connections\" + $connectionName
$customProperties = '<CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Property xsi:type="StringProperty" Name="CrossAccountRoleArn" Value="arn:aws:iam::5678:role/citrix-role" /><Property xsi:type="StringProperty" Name="MaximumAssumeRoleDurationInSeconds" Value="3600" />
"</CustomProperties>'
$connection = New-Item -Path $connectionPath -ConnectionType "AmazonWorkSpacesCoreMachineManagerFactory" -HypervisorAddress "https://workspaces-instances.$($cloudRegion).api.aws" -Persist -Scope @() -UserName $apiKey -SecurePassword $secureKey -ZoneUid $zoneUid -CustomProperties $customProperties
New-BrokerHypervisorConnection -HypHypervisorConnectionUid $connection.HypervisorConnectionUid
<!--NeedCopy-->
Después de crear la conexión de host, crea unidades de alojamiento mediante Studio o PowerShell. Sin embargo, selecciona VPC y Redes.
Editar una conexión
Puedes editar una conexión de host existente para:
- Modificar la opción para proporcionar permisos de IAM para que Citrix administre los recursos
- Modificar el número máximo de acciones simultáneas (o máquinas simultáneas) por conexión de alojamiento
- Modificar el ámbito.
- Configurar el número máximo de grupos de seguridad permitidos por interfaz de red elástica (ENI) mediante el comando de PowerShell
- Habilitar el proxy para crear un entorno seguro para el tráfico administrado por AWS
Modificar opciones para proporcionar permisos de IAM
- Haz clic con el botón derecho en una conexión existente de Amazon WorkSpaces Core.
- En la página Propiedades de conexión, haz clic en Modificar configuración.
- Selecciona una de las opciones para proporcionar permisos de IAM para que Citrix administre los recursos. Introduce los detalles necesarios y haz clic en Guardar.
Modificar el número máximo de acciones simultáneas
Cuando creas conexiones de host en Studio para instancias administradas de Amazon WorkSpaces Core, se muestran los siguientes valores predeterminados:
| Opción | Absoluto | Porcentaje |
|---|---|---|
| Acciones simultáneas (todos los tipos) | 125 | 100 |
| Número máximo de acciones nuevas por minuto | 150 | n/a |
| Número máximo de operaciones de aprovisionamiento simultáneas | 150 | n/a |
MCS admite 150 operaciones de aprovisionamiento simultáneas máximas de forma predeterminada.
Puedes configurar estos valores accediendo a la sección Avanzado de Citrix Studio en la pantalla Editar conexión:
Alternativamente, puedes usar el SDK de PowerShell remoto para establecer el número máximo de operaciones simultáneas para una configuración óptima según tu entorno.
Usa la propiedad personalizada de PowerShell, MaximumConcurrentProvisioningOperations, para especificar el número máximo de operaciones de aprovisionamiento simultáneas de AWS.
Antes de la configuración:
- Asegúrate de haber instalado el SDK de PowerShell para Cloud.
- Ten en cuenta que el valor predeterminado de
MaximumConcurrentProvisioningOperationses 150.
Realiza los siguientes pasos para personalizar el valor de MaximumConcurrentProvisioningOperations:
- Abre una ventana de PowerShell.
- Ejecuta
asnp citrix*para cargar los módulos de PowerShell específicos de Citrix. - Introduce
cd xdhyp:\Connections\. - Introduce
dirpara listar las conexiones. -
Cambia o inicializa la cadena de propiedades personalizadas:
-
Si la cadena de propiedades personalizadas tiene un valor, copia las propiedades personalizadas en el Bloc de notas. A continuación, cambia la propiedad
MaximumConcurrentProvisioningOperationsa tu valor preferido. Puedes introducir un valor entre 1 y 1000. Por ejemplo,<Property xsi:type="IntProperty" Name="MaximumConcurrentProvisioningOperations" Value="xyz"/>. -
Si la cadena de propiedades personalizadas está vacía o es nula, debes inicializar la cadena introduciendo la sintaxis adecuada tanto para el esquema como para la propiedad
MaximumConcurrentProvisioningOperations.
-
-
En la ventana de PowerShell, pega las propiedades personalizadas modificadas desde el Bloc de notas y asigna una variable a las propiedades personalizadas modificadas. Si inicializaste las propiedades personalizadas, agrega las siguientes líneas después de la sintaxis:
$customProperties = '<CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><Property xsi:type="IntProperty" Name="MaximumConcurrentProvisioningOperations" Value="100"/></CustomProperties>' <!--NeedCopy-->Esta cadena establece la propiedad
MaximumConcurrentProvisioningOperationsen 100. En la cadena de propiedades personalizadas, debes establecer la propiedadMaximumConcurrentProvisioningOperationsen un valor que se ajuste a tus necesidades. - Introduce
Get-XDAuthentication, que te pedirá tus credenciales. - Ejecuta
$cred = Get-Credential, que podría pedirte solo una contraseña (o un nombre y una contraseña). También se te podría pedir el ID de la aplicación y el secreto asociado. Para las conexiones que usan autenticación basada en roles, role_based_auth es tanto el nombre como la contraseña. De lo contrario, introduce el ID de la API de AWS y el secreto. - Ejecuta
set-item -PSPath 'XDHyp:\Connections<connection-name>' -CustomProperties $customProperties -username $cred.username -Securepassword $cred.password. Debes establecer<connection-name>al nombre de la conexión. - Introduce
dirpara verificar la cadena deCustomPropertiesactualizada.
Configurar grupos de seguridad por interfaz de red
Al modificar una conexión de host, ahora puedes configurar el número máximo de grupos de seguridad permitidos por interfaz de red elástica (ENI) mediante un comando de PowerShell. Para obtener información sobre los valores de cuota de los grupos de seguridad de AWS, consulta Grupos de seguridad.
Para configurar grupos de seguridad por interfaz de red:
- Abre una ventana de PowerShell.
- Ejecuta
asnp citrix*para cargar los módulos de PowerShell específicos de Citrix. - Ejecuta
cd xdhyp:\Connections\. - Ejecuta
dirpara listar las conexiones. -
Ejecuta el siguiente comando de PowerShell para configurar los grupos de seguridad por interfaz de red:
Set-HypHypervisorConnectionMetadata -HypervisorConnectionName aws -Name "Citrix_MachineManagement_Options" -Value " AwsMaxENISecurityGroupLimit=<number>" <!--NeedCopy-->Nota:
Si no estableces un valor para
AwsMaxENISecurityGroupLimit, se tomará el valor predeterminado de 5.
Habilitar el proxy en una conexión existente
- Abre una ventana de PowerShell.
-
Ejecuta los siguientes comandos.
Add-PSSnapin citrix*. cd XDHyp:\Connections\ dir <!--NeedCopy--> - Copia las
CustomPropertiesde la conexión a un bloc de notas y anexa la configuración de propiedad<Property xsi:type="StringProperty" Name="UseSystemProxyForHypervisorTrafficOnConnectors" Value="True" />a lasCustomPropertiespara habilitar el proxy. -
En la ventana de PowerShell, asigna una variable a las propiedades personalizadas modificadas. Por ejemplo:
$customProperty = '<CustomProperties xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.citrix.com/2014/xd/machinecreation"> <Property xsi:type="StringProperty" Name="UseSystemProxyForHypervisorTrafficOnConnectors" Value="True" /> </CustomProperties>' <!--NeedCopy--> - Introduce
Get-XDAuthentication, que te pedirá tus credenciales. -
Ejecuta
$cred = Get-Credential, que podría pedirte solo una contraseña (o un nombre y una contraseña). También se te podría pedir el ID de la aplicación y el secreto asociado. Para las conexiones que usan autenticación basada en roles,role_based_authes tanto el nombre como la contraseña. De lo contrario, introduce el ID de la API de AWS y el secreto. - Ejecuta
set-item -PSPath 'XDHyp:\Connections<connection-name>' -CustomProperties $customProperties -username $cred.username -Securepassword $cred.password. Debes establecer<connection-name>al nombre de la conexión. - Introduce
dirpara verificar la cadena deCustomPropertiesactualizada.
URL del punto de conexión del servicio
URL del punto de conexión del servicio de zona estándar
Cuando usas MCS, se agrega una nueva conexión de instancias administradas de Amazon WorkSpaces Core con una clave de API y un secreto de API. Con esta información, junto con la cuenta autenticada, MCS consulta a AWS las regiones y zonas admitidas mediante llamadas a la API de AWS EC2 y de instancias administradas de Amazon WorkSpaces Core. La consulta se realiza utilizando una URL de punto de conexión del servicio de instancias de Workspace https://workspaces-instances.us-east-1.api.aws/ y un punto de conexión del servicio EC2 https:/ec2.us-east-1.api.aws/.
Nota:
Asegúrate de que https://workspaces-instances.us-east-1.api.aws/ sea contactable.
URL del punto de conexión del servicio no estándar
Puede haber situaciones en las que no necesites la URL del punto de conexión del servicio de AWS elegida automáticamente para la conexión. Para estos casos, puedes usar Citrix Cloud SDK y PowerShell para crear una conexión con una URL de punto de conexión del servicio no estándar. Por ejemplo, para crear una conexión usando la URL del punto de conexión del servicio https://ec2.cn-north-1.amazonaws.com.cn:
- Configura el Cloud Connector alojado en AWS y asegúrate de que tenga conectividad.
-
Ejecuta los siguientes comandos de PowerShell para ver la lista de Cloud Connectors.
PS C:\> asnp citrix.* PS C:\> Get-XDAuthentication PS C:\> Get-ConfigEdgeServer <!--NeedCopy--> -
Busca el
ZoneUiddel Cloud Connector recién creado e introdúcelo en los siguientes comandos de PowerShell. Reemplaza los elementos en cursiva con los valores respectivos.PS C:\> $hyp= New-Item -Path xdhyp:\Connections -ZoneUid ZoneUid -Name “My New Connection” -ConnectionType "Custom" -HypervisorAddress @("https://workspaces-instances.$($cloudRegion).api.aws")-PluginId "AmazonWorkSpacesCoreMachineManagerFactory" -UserName “APIkey” -Password “API Secret” -Persist PS C:\> New-BrokerHypervisorConnection -HypHypervisorConnectionUid $hyp. HypervisorConnectionUid <!--NeedCopy--> - Actualiza la ficha Hosting para verificar que la conexión se ha creado.
- Agrega una ubicación de recursos usando la nueva conexión.
Permisos de AWS necesarios
Esta sección contiene la lista completa de permisos de AWS. Usa el conjunto completo de permisos que se indica en la sección para que la funcionalidad funcione correctamente.
Nota:
El permiso
iam:PassRolesolo es necesario para usar roles de IAM para que Citrix administre los recursos.
Crear una conexión de host
Se agrega una nueva conexión de host usando la información obtenida de AWS.
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"ec2:DescribeAvailabilityZones",
"ec2:DescribeSubnets",
"ec2:DescribeVpcs",
"ec2:DescribeRegions",
"workspaces-instances:*"
],
"Effect": "Allow",
"Resource": "*"
}
]
}
<!--NeedCopy-->
Administración de energía de las máquinas virtuales
Las máquinas virtuales se encienden o apagan.
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"ec2:DescribeInstances",,
"ec2:StartInstances",
"ec2:StopInstances",
"ec2:RebootInstances",
"ec2:DescribeInstanceStatus"
],
"Effect": "Allow",
"Resource": "*"
},
{
"Action": [
"workspaces-instances:*"
],
"Effect": "Allow",
"Resource": "*"
}
]
}
<!--NeedCopy-->
Crear, actualizar o eliminar máquinas virtuales
Se crea, actualiza o elimina un catálogo de máquinas con máquinas virtuales aprovisionadas como instancias de AWS.
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"ec2:AttachVolume",
"ec2:AssociateIamInstanceProfile",
"ec2:AuthorizeSecurityGroupEgress",
"ec2:RevokeSecurityGroupEgress",
"ec2:AuthorizeSecurityGroupIngress",
"ec2:CreateImage",
"ec2:CreateLaunchTemplate",
"ec2:CreateSecurityGroup",
"ec2:CreateTags",
"ec2:CreateVolume",
"ec2:DeleteVolume",
"ec2:DescribeAccountAttributes",
"ec2:DescribeAvailabilityZones",
"ec2:DescribeIamInstanceProfileAssociations",
"ec2:DescribeImages",
"ec2:DescribeInstances",
"ec2:DescribeInstanceStatus",
"ec2:DescribeInstanceTypes",
"ec2:DescribeLaunchTemplates",
"ec2:DescribeLaunchTemplateVersions",
"ec2:DescribeNetworkInterfaces",
"ec2:DescribeRegions",
"ec2:DescribeSecurityGroups",
"ec2:DescribeSnapshots",
"ec2:DescribeSubnets",
"ec2:DescribeTags",
"ec2:DescribeSpotInstanceRequests",
"ec2:DescribeInstanceCreditSpecifications",
"ec2:DescribeInstanceAttribute",
"ec2:GetLaunchTemplateData",
"ec2:DescribeVolumes",
"ec2:DescribeVpcs",
"ec2:DetachVolume",
"ec2:DisassociateIamInstanceProfile",
"ec2:RunInstances",
"ec2:StartInstances",
"ec2:StopInstances",
"ec2:TerminateInstances"
],
"Effect": "Allow",
"Resource": "*"
},
{
"Action": [
"ec2:CreateSecurityGroup",
"ec2:DeleteSecurityGroup"
],
"Effect": "Allow",
"Resource": "*"
},
{
"Action": [
"ebs:StartSnapshot",
"ebs:GetSnapshotBlock",
"ebs:PutSnapshotBlock",
"ebs:CompleteSnapshot",
"ebs:ListSnapshotBlocks",
"ebs:ListChangedBlocks",
"ec2:CreateSnapshot"
],
"Effect": "Allow",
"Resource": "*"
},
{
"Action": [
"workspaces-instances:*"
],
"Effect": "Allow",
"Resource": "*"
}
]
}
<!--NeedCopy-->
Nota:
- La sección de EC2 relacionada con los SecurityGroups solo es necesaria si se debe crear un grupo de seguridad de aislamiento para la máquina virtual de preparación durante la creación del catálogo. Una vez hecho esto, estos permisos no son necesarios.
Carga y descarga directa de discos
Los siguientes permisos deben agregarse a la directiva:
ebs:StartSnapshotebs:GetSnapshotBlockebs:PutSnapshotBlockebs:CompleteSnapshotebs:ListSnapshotBlocksebs:ListChangedBlocksec2:CreateSnapshotec2:DeleteSnapshotec2:DescribeLaunchTemplates
Cifrado EBS de volúmenes creados
EBS puede cifrar automáticamente los volúmenes recién creados si la AMI está cifrada, o si EBS está configurado para cifrar todos los volúmenes nuevos. Sin embargo, para implementar la funcionalidad, los siguientes permisos deben incluirse en la directiva de IAM.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"kms:CreateGrant",
"kms:Decrypt",
"kms:DescribeKey",
"kms:GenerateDataKeyWithoutPlainText",
"kms:GenerateDataKey",
"kms:ReEncryptTo",
"kms:ReEncryptFrom"
],
"Resource": "*"
}
]
}
<!--NeedCopy-->
Nota:
Los permisos se pueden limitar a claves específicas incluyendo un bloque de Recurso y Condición a discreción del usuario. Por ejemplo, Permisos de KMS con condición:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"kms:CreateGrant",
"kms:Decrypt",
"kms:DescribeKey",
"kms:GenerateDataKeyWithoutPlainText",
"kms:GenerateDataKey",
"kms:ReEncryptTo",
"kms:ReEncryptFrom"
],
"Resource": [
"arn:aws:kms:us-east-2:123456789012:key/abcd1234-a123-456d-a12b-a123b4cd56ef"
],
"Condition": {
"Bool": {
"kms:GrantIsForAWSResource": true
}
}
}
]
}
<!--NeedCopy-->
La siguiente declaración de directiva de clave es la directiva de clave predeterminada completa para las claves de KMS que se requiere para permitir que la cuenta use directivas de IAM para delegar permisos para todas las acciones (kms:*) en la clave de KMS.
{
"Sid": "Enable IAM policies",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::111122223333:root"
},
"Action": "kms:",
"Resource": ""
}
<!--NeedCopy-->
Para obtener más información, consulta la documentación oficial de AWS Key Management Service.
Autenticación basada en roles de IAM
Se agregan los siguientes permisos para admitir la autenticación basada en roles.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "iam:PassRole",
"Resource": "arn:aws:iam::*:role/*"
}
]
}
<!--NeedCopy-->
Directiva de permisos mínimos de IAM
El siguiente JSON se puede usar para todas las funciones actualmente compatibles. Puedes crear conexiones de host, crear, actualizar o eliminar máquinas virtuales y administrar la energía usando esta directiva. La directiva se puede aplicar a los usuarios como se explica en las secciones Definir permisos de IAM o también puedes usar la autenticación basada en roles seleccionando Usar rol de IAM al configurar una conexión de host.
Importante:
Para usar roles de IAM para que Citrix administre recursos, primero configura el rol de IAM deseado en la instancia de EC2 del conector de la nube al configurar el conector de la nube. Usando Citrix Studio, agrega la conexión de alojamiento y selecciona la opción Usar rol de IAM. Una conexión de alojamiento con esta configuración utiliza entonces la autenticación basada en roles.
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"ec2:AttachVolume",
"ec2:AssociateIamInstanceProfile",
"ec2:AuthorizeSecurityGroupEgress",
"ec2:RevokeSecurityGroupEgress",
"ec2:AuthorizeSecurityGroupIngress",
"ec2:CreateImage",
"ec2:CreateLaunchTemplate",
"ec2:CreateNetworkInterface",
"ec2:CreateTags",
"ec2:CreateVolume",
"ec2:DeleteLaunchTemplate",
"ec2:DeleteNetworkInterface",
"ec2:DeleteSecurityGroup",
"ec2:DeleteSnapshot",
"ec2:DeleteTags",
"ec2:DeleteVolume",
"ec2:DeregisterImage",
"ec2:DescribeAccountAttributes",
"ec2:DescribeAvailabilityZones",
"ec2:DescribeIamInstanceProfileAssociations",
"ec2:DescribeImages",
"ec2:DescribeInstances",
"ec2:DescribeInstanceTypes",
"ec2:DescribeInstanceStatus",
"ec2:DescribeLaunchTemplates",
"ec2:DescribeLaunchTemplateVersions",
"ec2:DescribeNetworkInterfaces",
"ec2:DescribeRegions",
"ec2:DescribeSecurityGroups",
"ec2:DescribeSnapshots",
"ec2:DescribeSubnets",
"ec2:DescribeTags",
"ec2:DescribeSpotInstanceRequests",
"ec2:DescribeInstanceCreditSpecifications",
"ec2:DescribeInstanceAttribute",
"ec2:GetLaunchTemplateData",
"ec2:DescribeVolumes",
"ec2:DescribeVpcs",
"ec2:DetachVolume",
"ec2:DisassociateIamInstanceProfile",
"ec2:RebootInstances",
"ec2:RunInstances",
"ec2:StartInstances",
"ec2:StopInstances",
"ec2:TerminateInstances"
],
"Effect": "Allow",
"Resource": "*"
},
{
"Action": [
"ec2:CreateSecurityGroup",
"ec2:DeleteSecurityGroup"
],
"Effect": "Allow",
"Resource": "*"
},
{
"Action": [
"ebs:StartSnapshot",
"ebs:GetSnapshotBlock",
"ebs:PutSnapshotBlock",
"ebs:CompleteSnapshot",
"ebs:ListSnapshotBlocks",
"ebs:ListChangedBlocks",
"ec2:CreateSnapshot"
],
"Effect": "Allow",
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"kms:CreateGrant",
"kms:Decrypt",
"kms:DescribeKey",
"kms:GenerateDataKeyWithoutPlainText",
"kms:GenerateDataKey",
"kms:ReEncryptTo",
"kms:ReEncryptFrom"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": "iam:PassRole",
"Resource": "arn:aws:iam::*:role/*"
},
{
"Effect": "Allow",
"Action": [
"workspaces-instances:*"
],
"Resource": "*"
}
]
}
<!--NeedCopy-->
Nota:
- La sección de EC2 relacionada con los SecurityGroups solo es necesaria si se debe crear un grupo de seguridad de aislamiento para la máquina virtual de preparación durante la creación del catálogo. Una vez hecho esto, estos permisos no son necesarios.
- La sección de KMS solo es necesaria cuando se usa el cifrado de volumen de EBS.
- La sección de permisos
iam:PassRolesolo es necesaria para usar roles de IAM para que Citrix administre recursos.- Se pueden agregar permisos específicos a nivel de recurso en lugar de acceso completo según tus requisitos y entorno. Consulta los documentos de AWS Demystifying EC2 Resource-Level Permissions y Access management for AWS resources para obtener más detalles.
- Usa los permisos
ec2:CreateNetworkInterfaceyec2:DeleteNetworkInterfacesolo si estás usando el método de trabajador de volumen.
Qué hacer a continuación
- Para crear imágenes preparadas, consulta Crear una imagen preparada para instancias administradas de Amazon WorkSpaces Core
Más información
- Crear y administrar conexiones y recursos
- Entornos de virtualización de AWS
- Para ver ejemplos de PowerShell de GitHub de Amazon WorkSpaces Core, consulta citrix-mcs-sdk-samples-Amazon WorkSpaces Core.