Conexión a AWS EC2
(/es-es/citrix-virtual-apps-desktops/2511/install-configure/connections) describe los asistentes que crean una conexión. La siguiente información cubre detalles específicos de los entornos de nube de AWS.
Requisitos previos
Haga lo siguiente antes de crear una conexión a AWS EC2:
- Complete la configuración de AWS como ubicación de recursos. Consulte Entornos de virtualización de AWS.
- Política de (#define-iam-permissions) de usuario o rol de IAM para que Citrix administre los recursos de AWS en su nombre.
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 Virtual Apps and Desktops en AWS. 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 con la cuenta. Para obtener más información sobre los permisos de IAM, consulte la referencia de políticas JSON de IAM.
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 Permisos, elija Política personalizada y, a continuación, Seleccionar.
- Escriba un nombre para la política de permisos.
- En la sección Documento de política, introduzca los permisos pertinentes.
Después de introducir la información de la directiva, seleccione Continuar para completar la aplicación de la directiva de permisos de IAM al grupo de usuarios. Los usuarios del grupo solo tienen permisos para realizar las acciones necesarias para Citrix Virtual Apps and Desktops.
Importante:
Utilice el texto de la directiva que se proporciona en el ejemplo de este artículo para enumerar las acciones que utiliza Citrix Virtual Apps and Desktops 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.
Agregar permisos de IAM
Agregue los permisos en la sección IAM de la Consola de administración de AWS:
- En el panel Resumen, seleccione la ficha Permisos.
-
Seleccione Agregar permisos.

-
En la pantalla Agregar permisos a, conceda permisos:

-
En la sección JSON, incluya Permisos de AWS necesarios para su entorno.

Crear una conexión
Puede crear una conexión a Amazon EC2 mediante:
Nota:
Compruebe las restricciones de su servidor proxy o firewall y asegúrese de que la siguiente dirección sea accesible:
https://*.amazonaws.com. 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 mediante Web Studio
- Vaya a la página Alojamiento > 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 ha configurado para su entorno de AWS.
- Seleccione Amazon EC2 como tipo de conexión.
-
Seleccione uno de los métodos para aprovisionar los recursos:
- Si selecciona Usar esta cuenta de AWS para aprovisionar recursos, 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 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 Delivery Controller 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.
- Si selecciona Usar acceso entre cuentas para aprovisionar recursos, proporcione el ARN del rol de IAM en la Cuenta B que los Delivery Controllers de la Cuenta A deben asumir y en el que deben realizar las operaciones de aprovisionamiento.
- 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 para crear nuevas máquinas virtuales.
-
En la página de 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 para avanzar por las páginas restantes hasta la página de Resumen.
- Haga clic en Finalizar para crear la conexión de host a Amazon EC2.
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 claves 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 Delivery Controller(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 (recuperado 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 Virtual Apps and Desktops 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 mediante 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 "<name of the connection>" -HypervisorAddress " "@("https://ec2.cn-north-1.amazonaws.com.cn") -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.
Aprovisionamiento entre cuentas
Hay casos de uso en los que el Delivery Controller se ubicaría en una cuenta de AWS independiente (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 independiente (cuentas de cargas de trabajo), sin necesidad de Delivery Controllers adicionales en las cuentas independientes. 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, puede hacer que su Delivery Controller y las VM aprovisionadas en diferentes regiones o cuentas puedan comunicarse entre sí.
Con el acceso entre cuentas mediante roles de IAM, permite que la cuenta principal (cuenta de Delivery Controller) asuma un rol de IAM para acceder a los recursos de AWS en la cuenta secundaria (VM del catálogo de máquinas).
Para permitir que Delivery Controller 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 Delivery Controllers y Active Directory. La VPC B está en la cuenta secundaria (Cuenta B), donde desea 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. Para el 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, agregue 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).
- Repita los pasos 5 a 7, pero con el grupo de seguridad privado para la VPC B (pero agregue 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 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 en varias zonas de disponibilidad y regiones. Consulte Precios de las conexiones de emparejamiento de VPC.
Delegar acceso entre cuentas mediante roles de IAM
Después de configurar el emparejamiento de VPC entre cuentas, se delega el acceso entre cuentas mediante roles de IAM.
Con el acceso entre cuentas mediante roles de IAM, permite que la cuenta principal (cuenta de Delivery Controller) 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, haga lo siguiente:
Recuerde:
Se asume que la VPC A está en la cuenta principal (Cuenta A) y tiene el Delivery Controller y Active Directory. La VPC B está en la cuenta secundaria (Cuenta B) donde quiere aprovisionar las máquinas virtuales.
- 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”.
- Agregue la política de confianza al rol “arn:aws:iam::5678:role/citrix-role” para que la cuenta A pueda acceder a él con el rol “arn:aws:iam::1234:role/primary-account-citrix-role”, 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 Delivery Controllers de la Cuenta A.
Los Delivery Controllers 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 Delivery Controllers 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 añadir las dos propiedades personalizadas siguientes:
-
CrossAccountRoleArn: Si no proporciona la propiedadCrossAccountRoleArn, se crea la conexión de host normal. En este caso,MaximumAssumeRoleDurationInSecondsse ignora aunque se proporcione. -
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 "AWS" -HypervisorAddress "https://ec2.$($cloudRegion).amazonaws.com" -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.
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 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
Editar opciones para proporcionar permisos de IAM
- Haga clic con el botón derecho en una conexión de Amazon EC2 existente.
- En la página Propiedades de 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 Amazon EC2, 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 | 100 | n/d |
MCS admite 100 operaciones de aprovisionamiento simultáneas como máximo de forma predeterminada.
Configure estos valores accediendo a la sección Avanzado de Citrix Studio en la pantalla Editar 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 100.
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. -
Cambiar o inicializar 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 en el rango de 1 a 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, añada 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>'.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 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_auth es tanto el nombre como la contraseña. De lo contrario, introduzca el ID de la API de AWS y el secreto. - 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 enumerar 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.
URL del punto final del servicio
URL del punto final del servicio de zona estándar
Cuando utiliza MCS, se agrega una nueva conexión de AWS con una clave de API y un secreto de API. Con esta información, junto con la cuenta autenticada, MCS consulta a AWS las zonas admitidas mediante la llamada a la API AWS DescribeRegions EC2. La consulta se realiza utilizando una URL genérica del punto final del servicio EC2 https://ec2.amazonaws.com/. Utilice MCS para seleccionar la zona para la conexión de la lista de zonas admitidas. La URL preferida del punto final del servicio de AWS se selecciona automáticamente para la zona. Sin embargo, después de crear la URL del punto final del servicio, ya no puede establecer ni modificar la URL.
Permisos de AWS necesarios
Esta sección contiene la lista completa de permisos de AWS. Utilice 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 role_based_auth.
Crear una conexión de host
Se agrega 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"
],
"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": "*"
}
]
}
<!--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:CancelSpotInstanceRequests",
"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": "*"
}
]
}
<!--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 VM de preparación durante la creación del catálogo. Una vez hecho esto, estos permisos no son necesarios.
Importar VM
Un catálogo de máquinas se crea importando máquinas virtuales.
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"ec2:DescribeInstances",
"ec2:DescribeSecurityGroups",
"ec2:DescribeAvailabilityZones",
"ec2:DescribeSubnets",
"ec2:DescribeVolumes",
"ec2:DescribeSpotInstanceRequests"
],
"Effect": "Allow",
"Resource": "*"
}
]
}
<!--NeedCopy-->
Nota:
El
ec2:DescribeSpotInstanceRequestssolo es necesario si hay una instancia de spot en la región de AWS desde donde se van a importar las máquinas virtuales.
Carga y descarga directa de discos
La carga directa de discos elimina el requisito de un trabajador de volumen para el aprovisionamiento del catálogo de máquinas y, en su lugar, utiliza las API públicas proporcionadas por AWS. Esta funcionalidad reduce el coste asociado a las cuentas de almacenamiento adicionales y la complejidad de mantener las operaciones del trabajador de volumen.
Nota:
Se ha eliminado la compatibilidad con el trabajador de volumen. Los permisos de carga y descarga directa de discos son necesarios para el aprovisionamiento del catálogo de máquinas.
Los siguientes permisos deben añadirse a la política:
ebs:StartSnapshotebs:GetSnapshotBlockebs:PutSnapshotBlockebs:CompleteSnapshotebs:ListSnapshotBlocksebs:ListChangedBlocksec2:CreateSnapshotec2:DeleteSnapshotec2:DescribeLaunchTemplates
Importante:
- Puede agregar una nueva VM a los catálogos de máquinas existentes sin ningún recurso de trabajador de volumen, como la AMI de trabajador de volumen y la VM de trabajador de volumen.
- Si elimina un catálogo existente que utilizaba algún trabajador de volumen, todos los artefactos relacionados con el trabajador de volumen se eliminan.
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 instrucción de política de claves es la política de claves predeterminada completa para las claves de KMS que se requiere para permitir que la cuenta use 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 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-->
Política de permisos IAM mínima
El siguiente JSON se puede usar para todas las funciones admitidas actualmente. Puede crear conexiones de host, crear, actualizar o eliminar máquinas virtuales y realizar la administración de energía con esta política. La política se puede aplicar a los usuarios como se explica en las secciones (#define-iam-permissions) o también puede usar la autenticación basada en roles con la clave de seguridad y la clave secreta role_based_auth.
Importante:
Para usar role_based_auth, primero configure el rol de IAM deseado en la instancia ec2 de Delivery Controller al configurar los Delivery Controllers. Con Web Studio, agregue la conexión de alojamiento y proporcione role_based_auth para la clave de autenticación y la clave secreta. Una conexión de alojamiento con esta configuración utiliza 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:CancelSpotInstanceRequests",
"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/*"
}
]
}
<!--NeedCopy-->
Nota:
- La sección 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.
- 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 role_based_auth.- 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 Desmitificando los permisos a nivel de recurso de EC2 y Gestión de acceso para recursos de AWS para obtener más detalles.
- Utilice los permisos
ec2:CreateNetworkInterfaceyec2:DeleteNetworkInterfacesolo si utiliza el método de trabajador de volumen.
Validar permisos en la conexión de host
Puede validar los permisos en una conexión de host para realizar tareas relacionadas con la creación y administración de catálogos de máquinas MCS. Esta implementación le ayuda a detectar con antelación los permisos que faltan necesarios para diferentes escenarios, como la creación, eliminación y actualización de máquinas virtuales, la administración de energía de las máquinas virtuales y el cifrado de EBS, para que pueda evitar bloqueos en momentos críticos.
Puede validar los permisos en una conexión de host mediante el comando de PowerShell Test-HypHypervisorConnection. El resultado del comando se captura como una lista donde cada elemento de la lista se divide en tres secciones.
- Categoría: La acción o tarea que un usuario puede realizar para crear y administrar un catálogo de máquinas MCS.
- Acción correctiva: El paso que un administrador debe realizar para resolver una discrepancia de permisos faltantes de un usuario.
- Permiso faltante: La lista de permisos faltantes para una categoría.
Para validar los permisos, haga lo siguiente:
- Cree una conexión de host a AWS.
- Abra una ventana de PowerShell desde el host de Delivery Controller™.
- Ejecute
asnp citrix*para cargar los módulos de PowerShell específicos de Citrix. -
Ejecute el siguiente comando para verificar si tiene los permisos necesarios para buscar sus permisos.
Test-HypHypervisorConnection -LiteralPath "XDHyp:\Connections\AWSCon" <!--NeedCopy--> -
Después de agregar los permisos faltantes necesarios para buscar sus permisos, ejecute el siguiente comando para verificar si tiene permisos en las siguientes categorías:
- Crear Actualizar eliminar
- Administración de energía
- Cifrado de EBS
Test-HypHypervisorConnection -LiteralPath "XDHyp:\Connections\AWSCon" [-SecurePassword -Password] "password" -UserName "" -CustomProperties "" <!--NeedCopy-->
Para obtener más información sobre cómo agregar permisos, consulte Agregar permisos de IAM.
Qué hacer a continuación
- Si se encuentra en el proceso de implementación inicial, consulte Crear catálogos de máquinas.
- Para obtener información específica de AWS, consulte Crear un catálogo de AWS EC2.