Conexión a instancias administradas de Amazon WorkSpaces Core
(/es-es/citrix-daas/install-configure/connections.html) 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
Realice lo siguiente antes de crear una conexión a instancias administradas de Amazon WorkSpaces Core:
- Complete la configuración de su AWS como ubicación de recursos. Consulte (/es-es/citrix-daas/install-configure/resource-location/aws-host).
- Defina la política de permisos de IAM (#define-iam-permissions) del usuario o rol de IAM para que Citrix® administre los recursos de AWS en su nombre.
- Cree un rol vinculado a servicios (#create-a-service-linked-role).
Definir permisos de IAM
Antes de crear una conexión de host, se debe 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 su cuenta de AWS en su nombre. Utilice 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 poseer diferentes permisos para controlar su capacidad de realizar operaciones asociadas a la cuenta. Para obtener más información sobre los permisos de IAM, consulte la referencia de políticas JSON de IAM.
Nota:
Dado que Citrix aprovisiona y administra recursos y automatización en su cuenta de AWS en su 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:
- Inicie sesión en la consola de administración de AWS y seleccione el servicio IAM en la lista desplegable.
- Seleccione Crear un nuevo grupo de usuarios.
- Escriba un nombre para el nuevo grupo de usuarios y seleccione Continuar.
- En la página Permissions (Permisos), elija Custom Policy (Directiva personalizada).
- Escriba un nombre para la Permissions policy (Directiva de permisos).
- En la sección Policy Document (Documento de directiva), introduzca los permisos pertinentes.
Después de introducir la información de la directiva, seleccione Continue (Continuar) para completar la aplicación de la directiva de permisos de IAM al grupo de usuarios. Los usuarios del grupo tienen permisos para realizar solo las acciones necesarias para Citrix DaaS.
Importante:
Utilice el texto de la directiva que se proporciona en el ejemplo de este artículo para enumerar las acciones que utiliza Citrix DaaS para realizar acciones dentro de una cuenta de AWS sin restringir esas acciones a recursos específicos. Citrix recomienda que utilice el ejemplo con fines de prueba. Para entornos de producción, puede optar por añadir más restricciones a los recursos.
Añadir permisos de IAM
Agregue los permisos en la sección IAM de la Consola de administración de AWS:
- En el panel Summary (Resumen), seleccione la ficha Permissions (Permisos).
- Seleccione Add permissions (Añadir permisos).
- En la pantalla Add Permissions to (Añadir permisos a), conceda los permisos.
- En la sección JSON, incluya Required AWS permissions (Permisos de AWS necesarios) para su entorno.
Crear un rol vinculado a un servicio
Para cada una de sus cuentas de AWS desde las que Citrix llamará a las API de Core V2, cree un rol vinculado a un servicio (SLR).
Los pasos para crear el rol:
- Abra una interfaz de línea de comandos (CLI) en la consola de administración de AWS.
-
Ejecute el siguiente comando en la CLI:
aws iam create-service-linked-role --aws-service-name workspaces-instances.amazonaws.com <!--NeedCopy-->
También puede configurar el rol vinculado al servicio mediante la consola de administración de Amazon WorkSpaces Core. Consulte Crear un rol vinculado a un servicio (consola).
Crear una conexión
Puede crear una conexión a instancias administradas de Amazon WorkSpaces Core mediante:
Nota:
Compruebe las restricciones de su servidor proxy o firewall y asegúrese de que las siguientes direcciones sean accesibles:
https://*.amazonaws.comyhttps://*.api.aws. Además, asegúrese 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 con Studio
- Vaya a la página Hosting > Agregar conexión y recursos.
-
En la página Conexión, siga estos pasos para configurar la conexión:
- Seleccione Crear una nueva conexión.
- En Zona, seleccione la ubicación de recursos que haya configurado para su entorno de AWS.
- Seleccione Amazon WorkSpaces Core como tipo de conexión.
-
Seleccione Usar clave de acceso de usuario de IAM o Usar rol de IAM.
Para la clave de acceso de usuario de IAM, proporcione su clave de API y su clave secreta para el usuario de IAM que tenga la política de permisos de IAM adecuada para que Citrix administre los recursos en su cuenta de AWS.
Para el rol de IAM, asegúrese 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 su cuenta de AWS. Consulte 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, marque la casilla 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.
- Introduzca un nombre de conexión y haga clic en Siguiente.
- En la página Ubicación de la máquina virtual, especifique la ubicación donde se deben aprovisionar las máquinas virtuales. Seleccione 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:
- Introduzca un nombre para los recursos que seleccionó anteriormente en la zona de disponibilidad (o zona local).
- Seleccione una o varias subredes en la VPC que configuró en el menú anterior.
- Haga clic en las páginas restantes hasta llegar a la página Resumen.
- Haga clic en Finalizar para crear la conexión de host a las instancias administradas de Amazon WorkSpaces Core.
Consideraciones importantes
Al crear una conexión mediante Studio:
- Defina los permisos de IAM adecuados para que Citrix administre sus recursos de AWS.
- Si utiliza una clave de acceso de usuario de IAM para que Citrix administre sus recursos de AWS, debe proporcionar los valores de la clave de API y la clave secreta. Puede exportar el archivo de clave que contiene esos valores desde AWS y luego importarlos. También debe 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 utiliza un rol de IAM para que Citrix administre sus recursos de AWS, debe asegurarse de asignar un rol con los permisos de IAM adecuados a todos sus Cloud Connector(s). Consulte 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úrese de utilizar 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
- Abra una ventana de PowerShell.
- Ejecute
asnp citrix*para cargar los módulos de PowerShell específicos de Citrix. -
Ejecute 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, especifique apiKey y apiSecret como
role_based_auth.
Limitación
Si cambia el nombre de una nube privada virtual (VPC) de AWS en la consola de AWS, la unidad de alojamiento existente en Citrix Cloud™ se interrumpe. Cuando la unidad de alojamiento está rota, no puede crear catálogos ni agregar máquinas a los catálogos existentes. Para resolver el problema, cambie el nombre de la VPC de AWS al nombre original.
Crear un entorno seguro para el tráfico administrado por AWS
Si tiene un proxy configurado en los Cloud Connectors, entonces debe 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 Connectors de su 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. Puede configurar el proxy mediante (#create-a-connection-using-studio) o estableciendo la propiedad personalizada UseSystemProxyForHypervisorTrafficOnConnectors en True al crear o actualizar una conexión de host con PowerShell.
Nota:
Si su entorno utiliza un proxy, asegúrese de que la inspección SSL esté deshabilitada o que la conexión SSL permanezca inalterada para https://workspaces-instances.*.api.aws/.
Crear una conexión de host configurada con el proxy
- Abra una ventana de PowerShell.
- Ejecute
asnp citrix*para cargar los módulos de PowerShell específicos de Citrix. -
Ejecute 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--> -
Cree 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, consulte Habilitar el proxy en una conexión existente.
Aprovisionamiento entre cuentas
Hay casos de uso en los que los Cloud Connectors se desean ubicar 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 Connectors adicionales en las cuentas separadas. Para admitir tales 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 múltiples cuentas de AWS.
Con emparejamiento de VPC, puede hacer que su Cloud Connector y las máquinas virtuales aprovisionadas en diferentes regiones o cuentas puedan comunicarse entre sí.
Con acceso entre cuentas mediante roles de IAM, permite 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, cree una conexión de host después de asumir el rol de IAM de la cuenta secundaria.
Requisitos previos
Configure lo siguiente antes de crear una conexión de host para el aprovisionamiento entre cuentas:
- Configure el emparejamiento de VPC y los grupos de seguridad en ambas regiones o cuentas. Consulte Configurar el emparejamiento de VPC.
- Delegue el acceso entre cuentas mediante roles de IAM. Consulte 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 Connectors y Active Directory. La VPC B está en la cuenta secundaria (Cuenta B), donde quiere aprovisionar las máquinas virtuales.
Para configurar una conexión de emparejamiento de VPC entre la Cuenta A y la Cuenta B, haga lo siguiente:
-
Cree una conexión de emparejamiento de VPC. Consulte:
- Vaya a su VPC A y a la tabla de enrutamiento asociada a la subred pública.
- Haga clic en Editar rutas > Agregar ruta. Agregue el bloque CIDR de la VPC B en la columna Destino y agregue el emparejamiento de VPC que creó en la columna Destino.
- Repita los pasos 2 y 3, pero con las subredes privadas para la VPC A y la VPC B (agregue el bloque CIDR de la VPC A). Consulte Actualizar las tablas de enrutamiento para una conexión de emparejamiento de VPC.
- Vaya al grupo de seguridad privado asociado a la VPC A.
- Seleccione Acciones y, a continuación, Editar reglas de entrada.
-
Seleccione Agregar regla. En Tipo, seleccione Todo el tráfico y, a continuación, en la columna Origen, agregue:
- Si es una región diferente, agregue el bloque CIDR de la VPC B.
- Si es una cuenta diferente pero la misma región, añada el ID de cuenta y el ID de grupo de seguridad privado de la VPC B separados por una barra (Ejemplo, 123456789012/sg-1a2b3c4d)
- Repita los pasos 5 a 7, pero con el grupo de seguridad privado para la VPC B (pero añada 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). Consulte Actualice sus grupos de seguridad para hacer referencia a grupos de seguridad de emparejamiento.
Nota:
No hay ningún cargo por crear una conexión de emparejamiento de VPC. 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 en varias zonas de disponibilidad y regiones. Consulte Precios de una conexión de emparejamiento de VPC.
Delegar el acceso entre cuentas mediante roles de IAM
Después de configurar el emparejamiento de VPC entre cuentas, delegue el acceso entre cuentas mediante roles de IAM.
Con el acceso entre cuentas mediante roles de IAM, permite que la cuenta principal (cuenta de Cloud Connector) asuma un rol de IAM para acceder a los recursos de AWS en la cuenta secundaria (VM de catálogo de máquinas).
Para acceder a los recursos entre cuentas, haga lo siguiente:
Recuerde:
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 desea aprovisionar las VM.
- Configure el emparejamiento de VPC entre cuentas con los pasos mencionados anteriormente.
- Cree un rol y una política de IAM en la Cuenta B con permisos mínimos de IAM de Citrix. Consulte 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”.
- Añada la política de confianza al rol “arn:aws:iam::5678:role/citrix-role” para que el rol de la Cuenta A “arn:aws:iam::1234:role/primary-account-citrix-role” pueda acceder a él, según Acceso a recursos entre cuentas en IAM.
- Cree 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).
- Asigne 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
Cree una conexión de host en la cuenta secundaria (Cuenta B) donde quiera 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.
Utilice comandos de PowerShell para crear la conexión de host y agregar las dos propiedades personalizadas siguientes:
-
CrossAccountRoleArn: Si no proporciona la propiedadCrossAccountRoleArn, se crea la conexión de host normal. En este caso,MaximumAssumeRoleDurationInSecondsse ignora incluso si se proporciona. -
MaximumAssumeRoleDurationInSeconds:DurationInSecondsdebe estar entre 900 y 3600 segundos. El valor predeterminado es 900 segundos. Si proporciona 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-->
Una vez creada la conexión de host, cree unidades de alojamiento mediante Studio o PowerShell. Sin embargo, seleccione VPC y Redes.
Omitir Cloud Connectors para las solicitudes de API de AWS
En entornos de instancias administradas (MI) de Amazon WorkSpaces Core, el complemento de Citrix Machine Creation Services (MCS) suele residir en el Delivery Controller y enruta las solicitudes de API de AWS a través de Citrix Cloud Connector mediante un proxy.
Puede configurar las conexiones de host para omitir el Cloud Connector en las solicitudes de API de AWS. Cuando esta función está habilitada, el complemento realiza llamadas a la API (incluidas las de aprovisionamiento y administración de energía) directamente desde el DDC a los servicios de AWS (como Amazon EC2, EBS e instancias de WorkSpaces), lo que elimina la dependencia de pasar por Cloud Connector a través de un proxy.
Ventajas
- Reducir la dependencia de las llamadas a la API de AWS en los Cloud Connectors: Eliminar la dependencia de la API de AWS en el Cloud Connector es un paso clave para los clientes que buscan reducir su huella de infraestructura local o en la nube.
- Menor consumo de recursos: Menos tráfico a través del Cloud Connector reduce los requisitos de computación para la VM del Connector, lo que puede generar ahorros de costes.
- Flexibilidad operativa: Proporciona mayor disponibilidad al eliminar un posible punto de fallo (la ruta del proxy de Cloud Connector/NGS) para las tareas críticas de administración de energía y aprovisionamiento.
Limitaciones y consideraciones
Antes de habilitar esta función, tenga en cuenta los siguientes requisitos y limitaciones:
- Autenticación: La autenticación basada en roles (roles de IAM) no es compatible al omitir el Cloud Connector. Debe configurar la configuración solo para las claves de acceso de usuario de IAM.
- Ámbito del entorno: Esta función es exclusiva de las instancias administradas (MI) de Amazon WorkSpaces Core. No es compatible con las conexiones de host estándar de AWS EC2.
- Requisitos de red: El DDC debe tener una ruta de red directa a los puntos de conexión del servicio de AWS.
- Estado de la ubicación de recursos: Si un Cloud Connector se aprovisionó originalmente en la ubicación de recursos, debe permanecer encendido. Los componentes que no son de MCS y las comprobaciones de estado siguen dependiendo del Cloud Connector si existe.
- Funciones no compatibles:
- Aprovisionamiento entre cuentas
- Uso de proxy del sistema
- Requisitos del conector: Aunque esta función elimina la dependencia de la API, hay otras configuraciones necesarias para reducir las dependencias de los Cloud Connectors (los requisitos de los Cloud Connectors pueden no limitarse a los aquí enumerados):
- Unión a un dominio: Uso de máquinas no unidas a un dominio o unidas a un dominio híbrido de Microsoft Entra.
- Registro de VDA: Habilitación de Rendezvous V2 (comunicación directa de DDC a VDA a través de WebSockets) para el registro de VDA.
Crear una conexión de host con omisión de API
Al crear una conexión de host en Configuración completa (Studio), ahora puede seleccionar ubicaciones de recursos de Amazon WorkSpaces Core incluso si no hay Cloud Connectors presentes en esa ubicación.
Para habilitar la omisión mediante PowerShell, utilice la propiedad personalizada BypassConnectorForAwsApiRequests.
Ejemplo de PowerShell:
$custProp = '<CustomProperties xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.citrix.com/2014/xd/machinecreation">
<Property xsi:type="StringProperty" Name="BypassConnectorForAwsApiRequests" Value="true" />
</CustomProperties>'
$connectionName = "MyWSCConnection"
$cloudRegion = "us-east-1"
$apiKey = "YOUR_IAM_ACCESS_KEY"
$zoneUid = (Get-ConfigZone | Where-Object {$_.Name -eq "MyResourceLocation"}).Uid
$securePassword = Read-Host 'Enter your IAM Secret Key' -AsSecureString
$connectionPath = "XDHyp:\Connections\" + $connectionName
$connection = New-Item -Path $connectionPath `
-ConnectionType "Custom" `
-PluginId "AmazonWorkSpacesCoreMachineManagerFactory" `
-HypervisorAddress "https://workspaces-instances.$($cloudRegion).api.aws" `
-Persist -Scope @() `
-CustomProperties $custProp `
-UserName $apiKey -SecurePassword $securePassword `
-ZoneUid $zoneUid
New-BrokerHypervisorConnection -HypHypervisorConnectionUid $connection.HypervisorConnectionUid
<!--NeedCopy-->
Administrar conexiones existentes
Puede habilitar o deshabilitar la función de omisión para las conexiones de host existentes.
- Habilitación en conexiones existentes: Puede modificar las propiedades personalizadas de una conexión existente para incluir
BypassConnectorForAwsApiRequests = true.. - Deshabilitación: Si se deshabilita, el DDC reanuda el enrutamiento de las llamadas a la API de AWS a través del Cloud Connector mediante el proxy NGS. Tenga en cuenta que esto requiere que haya un Cloud Connector funcional y una ruta de proxy NGS disponibles en la ubicación del recurso.
Solución de problemas
Si intenta habilitar la propiedad de omisión en condiciones no admitidas, el sistema devuelve un error de validación:
-
Roles de IAM/Cuentas cruzadas/Proxy: Si se habilita junto con roles de IAM, aprovisionamiento de cuentas cruzadas o proxies del sistema, el comando
New-Itemfalla con:AmazonWorkSpacesCoreException: Bypassing the Cloud Connector For AWS API requests is not supported for IAM roles, Cross-Account provisioning and System Proxy. <!--NeedCopy--> -
Tipo de conexión no admitido: Si se aplica a una conexión estándar de Amazon EC2 (AWS), el sistema falla con:
AmazonWorkSpacesCoreException: Bypassing the Cloud Connector For AWS API requests is not supported for EC2 host connection. <!--NeedCopy-->
Editar una conexión
Puede 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 concurrentes) 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
- Habilite el proxy para crear un entorno seguro para el tráfico administrado por AWS.(#enable-the-proxy-on-an-existing-connection)
Editar opciones para proporcionar permisos de IAM
- Haga clic con el botón derecho en una conexión existente de Amazon WorkSpaces Core.
- En la página Propiedades de la conexión, haga clic en Modificar configuración.
- Seleccione una de las opciones para proporcionar permisos de IAM para que Citrix administre los recursos. Introduzca los detalles necesarios y haga clic en Guardar.
Modificar el número máximo de acciones simultáneas
Al crear 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/d |
| Número máximo de operaciones de aprovisionamiento simultáneas | 150 | n/d |
MCS admite 150 operaciones de aprovisionamiento simultáneas como máximo de forma predeterminada.
Puede configurar estos valores accediendo a la sección Avanzado de Citrix Studio en la pantalla Modificar conexión:
Alternativamente, puede usar el SDK de PowerShell remoto para establecer el número máximo de operaciones simultáneas para una configuración óptima según su entorno.
Utilice 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úrese de haber instalado el SDK de PowerShell para la nube.
- Tenga en cuenta que el valor predeterminado para
MaximumConcurrentProvisioningOperationses 150.
Realice los siguientes pasos para personalizar el valor de MaximumConcurrentProvisioningOperations:
- Abra una ventana de PowerShell.
- Ejecute
asnp citrix*para cargar los módulos de PowerShell específicos de Citrix. - Introduzca
cd xdhyp:\Connections\. - Introduzca
dirpara enumerar las conexiones. -
Cambie o inicialice la cadena de propiedades personalizadas:
-
Si la cadena de propiedades personalizadas tiene un valor, copie las propiedades personalizadas en el Bloc de notas. A continuación, cambie la propiedad
MaximumConcurrentProvisioningOperationsa su valor preferido. Puede introducir un valor que oscile 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, debe inicializar la cadena introduciendo la sintaxis adecuada tanto para el esquema como para la propiedad
MaximumConcurrentProvisioningOperations.
-
-
En la ventana de PowerShell, pegue las propiedades personalizadas modificadas del Bloc de notas y asigne una variable a las propiedades personalizadas modificadas. Si inicializó las propiedades personalizadas, agregue 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, debe establecer la propiedadMaximumConcurrentProvisioningOperationsen un valor que se ajuste a sus necesidades. - Introduzca
Get-XDAuthentication, que le pedirá sus credenciales. - Ejecute
$cred = Get-Credential, que podría pedirle únicamente una contraseña (o un nombre y una contraseña). También se le podría pedir el ID de la aplicación y el secreto asociado. Para las conexiones que utilizan autenticación basada en roles, role_based_auth es tanto el nombre como la contraseña. De lo contrario, introduzca el ID y el secreto de la API de AWS. - Ejecute
set-item -PSPath 'XDHyp:\Connections<connection-name>' -CustomProperties $customProperties -username $cred.username -Securepassword $cred.password. Debe establecer <connection-name> en el nombre de la conexión. - Introduzca
dirpara verificar la cadena CustomProperties actualizada.
Configurar grupos de seguridad por interfaz de red
Al editar una conexión de host, ahora puede 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, consulte Grupos de seguridad.
Para configurar grupos de seguridad por interfaz de red:
- Abra una ventana de PowerShell.
- Ejecute
asnp citrix*para cargar los módulos de PowerShell específicos de Citrix. - Ejecute
cd xdhyp:\Connections\. - Ejecute
dirpara listar las conexiones. -
Ejecute el siguiente comando de PowerShell para configurar grupos de seguridad por interfaz de red:
Set-HypHypervisorConnectionMetadata -HypervisorConnectionName aws -Name "Citrix_MachineManagement_Options" -Value " AwsMaxENISecurityGroupLimit=<number>" <!--NeedCopy-->Nota:
Si no establece un valor para
AwsMaxENISecurityGroupLimit, tomará el valor predeterminado de 5.
Habilitar el proxy en una conexión existente
- Abra una ventana de PowerShell.
-
Ejecute los siguientes comandos.
Add-PSSnapin citrix*. cd XDHyp:\Connections\ dir <!--NeedCopy--> - Copie el
CustomPropertiesde la conexión a un bloc de notas y añada la configuración de propiedad<Property xsi:type="StringProperty" Name="UseSystemProxyForHypervisorTrafficOnConnectors" Value="True" />alCustomPropertiespara habilitar el proxy. -
En la ventana de PowerShell, asigne 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--> - Introduzca
Get-XDAuthentication, que le pedirá sus credenciales. -
Ejecute
$cred = Get-Credential, que podría pedirle solo una contraseña (o un nombre y una contraseña). También se le podría pedir el ID de la aplicación y el secreto asociado. Para las conexiones que utilizan autenticación basada en roles,role_based_authes tanto el nombre como la contraseña. De lo contrario, introduzca el ID y el secreto de la API de AWS. - Ejecute
set-item -PSPath 'XDHyp:\Connections<connection-name>' -CustomProperties $customProperties -username $cred.username -Securepassword $cred.password. Debe establecer<connection-name>en el nombre de la conexión. - Introduzca
dirpara verificar la cadenaCustomPropertiesactualizada.
URL del punto final del servicio
URL de punto de conexión de servicio de zona estándar
Cuando utiliza 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 AWS para las regiones y zonas admitidas mediante llamadas a la API de AWS EC2 y Amazon WorkSpaces Core Managed Instances. La consulta se realiza utilizando una URL de punto de conexión de servicio de instancias de Workspace https://workspaces-instances.us-east-1.api.aws/ y un punto de conexión de servicio de EC2 https:/ec2.us-east-1.api.aws/.
Nota:
Asegúrese de que https://workspaces-instances.us-east-1.api.aws/ sea contactable.
URL de punto de conexión de servicio no estándar
Puede haber situaciones en las que no necesite la URL de punto de conexión de servicio de AWS elegida automáticamente para la conexión. Para estos casos, puede usar Citrix Cloud SDK y PowerShell para crear una conexión con una URL de punto de conexión de servicio no estándar. Por ejemplo, para crear una conexión usando la URL de punto de conexión de servicio https://ec2.cn-north-1.amazonaws.com.cn:
- Configure el Cloud Connector alojado en AWS y asegúrese de que tenga conectividad.
-
Ejecute 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--> -
Busque el ZoneUid del Cloud Connector recién creado e introdúzcalo en los siguientes comandos de PowerShell. Reemplace los elementos en cursiva por 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--> - Actualice la ficha Hosting para verificar que la conexión se ha creado.
- Agregue una ubicación de recursos mediante la nueva conexión.
Permisos de AWS necesarios
Esta sección contiene la lista completa de permisos de AWS. Utilice el conjunto completo de permisos que se indican 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.
Creación de una conexión de host
Se añade una nueva conexión de host utilizando 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-->
Creación, actualización o eliminación de 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": "*"
},
{
"Effect": "Allow",
"Action": [
"iam:GetAccountSummary",
"ec2:CopyImage"
],
"Resource": "*"
},
]
}
<!--NeedCopy-->
Nota:
- La sección de EC2 relacionada con 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.
- Los permisos de EC2
CopyImagey IAMGetAccountSummarysolo son necesarios al compartir imágenes preparadas entre regiones. Consulte Compartir imágenes preparadas entre zonas de disponibilidad y regiones.
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 política 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 Recursos y Condiciones 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 política de clave es la política de clave predeterminada completa para las claves de KMS que se requiere para permitir que la cuenta utilice políticas 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, consulte la documentación oficial de AWS Key Management Service.
Autenticación basada en roles de IAM
Se añaden 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-->
Política de permisos de IAM mínima
El siguiente JSON se puede utilizar para todas las funciones actualmente compatibles. Con esta política, puede crear conexiones de host, crear, actualizar o eliminar máquinas virtuales y realizar la administración de energía. La política se puede aplicar a los usuarios como se explica en las secciones Definir permisos de IAM o también puede utilizar 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 gestione los recursos, primero configure el rol de IAM deseado en la instancia EC2 del conector de la nube al configurar el conector de la nube. Con Citrix Studio, agregue la conexión de alojamiento y seleccione 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": "*"
},
{
"Effect": "Allow",
"Action": [
"iam:GetAccountSummary",
"ec2:CopyImage"
],
"Resource": "*"
}
]
}
<!--NeedCopy-->
Nota:
- La sección EC2 relacionada con SecurityGroups solo es necesaria si se debe crear un grupo de seguridad de aislamiento para la VM de preparación durante la creación del catálogo. Una vez hecho esto, estos permisos no son necesarios.
- La sección KMS solo es necesaria cuando se utiliza el cifrado de volumen EBS.
- La sección de permisos
iam:PassRolesolo es necesaria para usar roles de IAM para que Citrix gestione los recursos.- Se pueden agregar permisos específicos a nivel de recurso en lugar de acceso completo, según sus requisitos y entorno. Consulte los documentos de AWS Demystifying EC2 Resource-Level Permissions y Access management for AWS resources para obtener más detalles.
- Utilice los permisos
ec2:CreateNetworkInterfaceyec2:DeleteNetworkInterfacesolo si utiliza el método de trabajador de volumen.
Pasos siguientes
- Para crear imágenes preparadas, consulte 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, consulte citrix-mcs-sdk-samples-Amazon WorkSpaces Core.