Conexão com AWS EC2

Last published : Nov 03, 2026
Criar e gerenciar conexões e recursos descreve os assistentes que criam uma conexão. As informações a seguir cobrem detalhes específicos para ambientes de nuvem AWS.

Pré-requisitos

Faça o seguinte antes de criar uma conexão com o AWS EC2:

Definir permissões do IAM

Antes de criar uma conexão de host, uma política de permissões do IAM precisa ser definida corretamente para um usuário ou função do IAM que conceda à Citrix as permissões adequadas para provisionar e gerenciar recursos em sua conta AWS em seu nome. Use as informações nesta seção para definir permissões do IAM para o Citrix DaaS na AWS. O serviço IAM da Amazon permite que contas tenham vários usuários, que podem ser organizados em grupos. Esses usuários podem possuir diferentes permissões para controlar sua capacidade de realizar operações associadas à conta. Para obter mais informações sobre permissões do IAM, consulte a referência de política JSON do IAM.
Para aplicar a política de permissões do IAM a um novo grupo de usuários:
  1. Faça login no console de gerenciamento da AWS e selecione o serviço IAM na lista suspensa.
  2. Selecione Criar um Novo Grupo de Usuários.
  3. Digite um nome para o novo grupo de usuários e selecione Continuar.
  4. Na página Permissões, escolha Política Personalizada e, em seguida, Selecionar.
  5. Digite um nome para a política de Permissões.
  6. Na seção Documento de Política, insira as permissões relevantes.
Após inserir as informações da política, selecione Continuar para concluir a aplicação da política de permissões IAM ao grupo de usuários. Os usuários do grupo recebem permissões para realizar apenas as ações necessárias para o Citrix DaaS.
Importante:
Use o texto da política fornecido no exemplo deste artigo para listar as ações que um Citrix DaaS usa para executar ações em uma conta AWS sem restringir essas ações a recursos específicos. A Citrix recomenda que você use o exemplo para fins de teste. Para ambientes de produção, você pode optar por adicionar mais restrições aos recursos.

Adicionar permissões IAM

Adicione as permissões na seção IAM do AWS Management Console:
  1. No painel Resumo, selecione a guia Permissões.
  2. Selecione Adicionar permissões.
    Gerenciamento de Identidade e Acesso (IAM)
  3. Na tela Adicionar Permissões a, conceda permissões:
    Conceder permissões para políticas IAM
  4. Na seção JSON, inclua Permissões AWS necessárias para o seu ambiente.
    Exemplo de JSON

Criar uma conexão

Você pode criar uma conexão com o Amazon EC2 usando:
Nota:
Verifique as restrições do seu servidor proxy ou firewall e certifique-se de que o seguinte endereço seja contatável: https://*.amazonaws.com. Além disso, certifique-se de que todos os endereços mencionados em conectividade do serviço Citrix Gateway sejam contatáveis.
Se estes não forem contatáveis, isso pode causar falha ao criar ou atualizar a conexão do host.

Criar uma conexão usando o Studio

  1. navegar para a página Hosting > Add Connection and Resources.
  2. Na página Connection, siga estas etapas para configurar a conexão:
    1. Selecione Criar uma nova conexão.
    2. Em Zone, selecione o local do recurso que você configurou para seu ambiente AWS.
    3. Selecione Amazon EC2 como o tipo de conexão.
    4. Selecione um dos métodos para provisionar os recursos:
      • Se você selecionar Usar esta conta AWS para provisionar recursos, selecione Usar chave de acesso de usuário IAM ou Usar função IAM. Para a chave de acesso de usuário IAM, forneça sua chave de API e chave secreta para o usuário IAM que possui a política de permissões IAM adequada para a Citrix gerenciar recursos em sua conta AWS. Para a função IAM, certifique-se de ter atribuído uma função IAM à instância do Citrix Cloud Connector com a política de permissões IAM adequada para a Citrix gerenciar recursos em sua conta AWS. Consulte Guia de autenticação baseada em função para obter mais informações.
      • Se você selecionar Usar acesso entre contas para provisionar recursos, forneça o ARN da função IAM na Conta B que os Cloud Connectors (ou Delivery Controllers) na Conta A devem assumir e executar operações de provisionamento.
    5. Insira um nome de conexão e clique em Avançar.
  3. Na página Local da Máquina Virtual, especifique o local onde as VMs devem ser provisionadas. Selecione a região da nuvem, VPC e zona de disponibilidade ou zona local para criar novas VMs.
  4. Na página Rede:
    1. Insira um nome para os recursos que você selecionou anteriormente na zona de disponibilidade ou zona local.
    2. Selecione uma ou mais sub-redes na VPC que você configurou no menu anterior.
  5. Clique nas páginas restantes até a página Resumo.
  6. Clique em Concluir para criar a conexão de host com o Amazon EC2.

Considerações importantes

Ao criar uma conexão usando o Studio:
  • Defina as permissões IAM adequadas para que a Citrix gerencie seus recursos AWS.
  • Se você usar uma chave de acesso de usuário IAM para a Citrix gerenciar seus recursos AWS, deverá fornecer os valores da chave de API e da chave secreta. Você pode exportar o arquivo de chave contendo esses valores do AWS e depois importá-los. Você também deve fornecer a região, zona de disponibilidade, nome da VPC, endereços de sub-rede, nome de domínio, nomes de grupos de segurança e credenciais.
  • Se você usar uma função IAM para a Citrix gerenciar seus recursos AWS, deve-se certificar de atribuir uma função com as permissões IAM adequadas a todos os seus Cloud Connector(s). Guia de autenticação baseada em função para obter mais informações.
  • O arquivo de credenciais para a conta raiz do AWS (recuperado do console do AWS) não é formatado da mesma forma que os arquivos de credenciais baixados para usuários padrão do AWS. Portanto, o Citrix DaaS não pode usar o arquivo para preencher os campos de chave de API e chave secreta. Certifique-se de que você está usando arquivos de credenciais do AWS Identity Access Management (IAM).
  • A zona pode ser uma zona de disponibilidade ou zona local.

Criar uma conexão usando o PowerShell

  1. Abra uma janela do PowerShell.
  2. Execute asnp citrix* para carregar os módulos PowerShell específicos da Citrix.
  3. Execute os seguintes comandos. A seguir, um exemplo:
    $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
Nota:
Para criar uma conexão usando a Autenticação Baseada em Função, especifique apiKey e apiSecret como role_based_auth.

Limitação

Se você alterar o nome de uma Nuvem Privada Virtual (VPC) da AWS no console da AWS, a unidade de hospedagem existente no Citrix Cloud™ será quebrada. Quando a unidade de hospedagem está quebrada, você não pode criar catálogos ou adicionar máquinas a catálogos existentes. Para resolver o problema, altere o nome da VPC da AWS de volta para o nome original.

Configuração de proxy aprimorada para conexão de host AWS

A conexão de host AWS pode ler o valor do proxy do sistema WinHTTP que é configurado durante a instalação do Cloud Connector se você definir a propriedade personalizada UseSystemProxyForHypervisorTrafficOnConnectors como true ao criar ou atualizar uma conexão de host usando o PowerShell.

Vantagens

  • Simplifica a configuração de proxy para conexões de host AWS.
  • Reduz a necessidade de configuração manual de valores de servidor e porta via PowerShell.
  • Garante o uso consistente de proxy entre o Cloud Connector e as conexões de host.
  • Melhora a taxa de sucesso das chamadas de API que exigem acesso via proxy.
  • Diminui as solicitações de suporte relacionadas à configuração de proxy.

Pré-requisito

Antes de definir a propriedade personalizada ao criar a conexão de host usando o PowerShell, certifique-se de configurar o proxy WinHTTP no Cloud Connector.

Criar uma nova conexão com proxy automático

  1. Abra o PowerShell.
  2. Adicione os snap-ins do Citrix:
    Add-PSSnapin citrix*
  3. Defina as variáveis para a conexão.
    $hypType = "AWS"

    ####################################################################################
    The following items need to be set based on the installed environment
    $customProperties is set to enable using the system proxy
    $customProperties = '<CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><Property xsi:type="StringProperty" Name="UseSystemProxyForHypervisorTrafficOnConnectors" Value="True" /></CustomProperties>'

    $awsEndPoint is set to the desired region for the connection

    $awsEndPoint = "https://ec2.us-east-1.amazonaws.com"

    $hypConnName is set to the connection name to use

    $hypConnName = "ctx-test"

    $apiKey is set to the AWS API Key ID or "role_based_auth" if the Cloud Connector instance has an appropriate role

    $apiKey = "role_based_auth"

    $secretKey is set to the AWS API Key Secret or "role_based_auth" if the Cloud Connector instance has an appropriate role

    $secretKey = "role_based_auth"

    $resourceLocation is set to the connector resource location name

    $resourceLocation = "ctx-test"
    ####################################################################################

    $secureSecretKey = ConvertTo-SecureString -String $secretKey -AsPlainText -Force
    $zoneUid = (Get-ConfigZone|Where-Object Name -EQ "$resourceLocation").Uid
    Nota:
    Certifique-se de substituir os valores de espaço reservado nas variáveis $customProperties, $awsEndPoint, $hypConnName, $apiKey, $secretKey e $resourceLocation pelos valores apropriados para o seu ambiente.
  4. Crie a conexão do hipervisor.
    $hypHc = New-Item -Path xdhyp:\Connections `
    -Name $hypConnName `
    -HypervisorAddress $awsEndPoint `
    -UserName $apiKey `
    -SecurePassword $secureSecretKey `
    -ConnectionType $hypType `
    -CustomProperties $customProperties `
    -Persist `
    -ZoneUid $zoneUid
  5. Crie a conexão do hipervisor do Broker.
    $bhc = New-BrokerHypervisorConnection -HypHypervisorConnectionUid $hypHc.HypervisorConnectionUid

Provisionamento entre contas

Existem casos de uso em que os Cloud Connectors gostariam de ser colocados em uma conta AWS separada (conta de serviços compartilhados ou conta de componentes de site) com funções IAM que têm acesso entre contas (função IAM entre contas) e catálogos de máquinas provisionados por MCS em uma conta AWS secundária separada (contas de cargas de trabalho), sem a necessidade de Cloud Connectors adicionais nas contas separadas. Para suportar tais cenários, este recurso usa o emparelhamento de VPC e o acesso entre contas usando funções IAM para tornar o provisionamento entre diferentes contas AWS possível para empresas que gerenciam várias contas AWS.
Com emparelhamento de VPC, você pode fazer com que seu Cloud Connector e VMs provisionadas em diferentes regiões ou contas possam se comunicar entre si.
Com acesso entre contas usando funções IAM, você permite que a conta primária (conta do Cloud Connector) assuma uma função IAM para acessar recursos AWS na conta secundária (VMs do catálogo de máquinas).
Para permitir que o Cloud Connector acesse os recursos da conta secundária, crie uma conexão de host após assumir a função IAM da conta secundária.

Pré-requisitos

Configure o seguinte antes de criar uma conexão de host para provisionamento entre contas:

Configurar emparelhamento de VPC

Vamos supor que a VPC A esteja na conta principal (Conta A) e tenha os Cloud Connectors e o Active Directory. A VPC B está na conta secundária (Conta B) onde você deseja provisionar as VMs.
Para configurar uma conexão de emparelhamento de VPC entre a Conta A e a Conta B, faça o seguinte:
  1. Crie uma conexão de emparelhamento de VPC. Consulte:
  2. Vá para sua VPC A e para a tabela de rotas associada à sub-rede pública.
  3. Clique em Editar Rotas > Adicionar rota. Adicione o bloco CIDR da VPC B na coluna Destino e adicione o emparelhamento de VPC que você criou na coluna Alvo.
  4. Repita as Etapas 2 e 3, mas com as sub-redes privadas para VPC A e VPC B (adicione o bloco CIDR da VPC A). Consulte Atualizar suas tabelas de rotas para uma conexão de emparelhamento de VPC.
  5. Vá para o grupo de segurança privado associado à VPC A.
  6. Selecione Ações e, em seguida, Editar regras de entrada.
  7. Selecione Adicionar regra. Para tipo, selecione Todo o Tráfego e, em seguida, na Coluna de Origem adicione:
    • Se for uma região diferente, adicione o Bloco CIDR da VPC B.
    • Se for uma conta diferente, mas na mesma região, adicione o ID da conta e o ID do grupo de segurança privado da VPC B, separados por uma barra (Exemplo: 123456789012/sg-1a2b3c4d)
  8. Repita os Passos 5 a 7, mas com o grupo de segurança privado para a VPC B (mas adicione o Bloco CIDR da VPC A ou o ID da conta da VPC A e o ID do grupo de segurança privado da mesma região, mas de uma conta diferente). Consulte Atualize seus grupos de segurança para referenciar grupos de segurança pares.
Nota:
Não há cobrança para criar uma conexão de emparelhamento de VPC. No entanto, embora o emparelhamento de VPC dentro de uma Zona de Disponibilidade seja gratuito, aplicam-se cobranças quando a transferência de dados por uma conexão de emparelhamento de VPC ocorre em várias Zonas de Disponibilidade e regiões. Consulte Preços para uma conexão de emparelhamento de VPC.

Delegar acesso entre contas usando funções IAM

Após configurar o emparelhamento de VPC entre contas, você delega o acesso entre contas usando funções IAM.
Com o acesso entre contas usando funções IAM, você permite que a conta primária (conta do Cloud Connector) assuma uma função IAM para acessar recursos AWS na conta secundária (VMs do catálogo de máquinas).
Para acessar recursos entre contas, faça o seguinte:
Lembre-se:
Assumindo que a VPC A está na conta primária (Conta A) e possui o Cloud Connector e o Active Directory. A VPC B está na conta secundária (Conta B) onde você deseja provisionar as VMs
  1. Configure o emparelhamento de VPC entre contas com as etapas mencionadas anteriormente.
  2. Crie uma função e política IAM na Conta B com permissões IAM mínimas da Citrix. Consulte Tutorial IAM: Delegar acesso entre contas AWS usando funções IAM. Digamos que o ARN desta função seja "arn:aws:iam::5678:role/citrix-role".
  3. Adicione a política de Confiança à função "arn:aws:iam::5678:role/citrix-role" para que ela possa ser acessada pela função da Conta A "arn:aws:iam::1234:role/primary-account-citrix-role", conforme - Acesso a recursos entre contas no IAM.
  4. Crie a função e política IAM na Conta A com o nome mencionado anteriormente "primary-account-citrix role”, que pode assumir a função IAM e passar a função IAM da Conta B (arn:aws:iam::5678:role/citrix-role).
  5. Atribua a função "arn:aws:iam::1234:role/primary-account-citrix-role" a todos os Cloud Connectors na Conta A.
Os Cloud Connectors agora podem assumir a função da Conta B ("arn:aws:iam::5678:role/citrix-role").

Criar conexão de host para provisionamento entre contas

Crie uma conexão de host na conta secundária (Conta B) onde você deseja provisionar as VMs. Isso permite que os Cloud Connectors da Conta A acessem os recursos na Conta B após assumir a função da Conta B.
Use comandos PowerShell para criar a conexão de host e adicionar as duas propriedades personalizadas a seguir:
  • CrossAccountRoleArn: Se você não fornecer a propriedade CrossAccountRoleArn, a Conexão de Host regular será criada. Neste caso, MaximumAssumeRoleDurationInSeconds é ignorado mesmo que seja fornecido.
  • MaximumAssumeRoleDurationInSeconds: DurationInSeconds deve estar entre 900 segundos e 3600 segundos. O padrão é 900 segundos. Se você fornecer um valor maior que 3600, então DurationInSeconds será definido como 3600.
Exemplo:
$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
Após a criação da conexão de host, crie unidades de hospedagem usando o Studio ou PowerShell. No entanto, selecione VPC e Redes.

Editar uma conexão

Você pode editar uma conexão de host existente para:

Editar opções para fornecer permissões IAM

  1. Clique com o botão direito do mouse em uma conexão Amazon EC2 existente.
  2. Na página Propriedades da Conexão, clique em Editar configurações.
  3. Selecione uma das opções para fornecer permissões IAM para a Citrix gerenciar recursos. Insira os detalhes necessários e clique em Salvar.

Modificar o número máximo de ações simultâneas

Ao criar conexões de host no Studio para Amazon EC2, os seguintes valores padrão são exibidos:
Opção Absoluto Porcentagem
Ações simultâneas (todos os tipos) 125 100
Máximo de novas ações por minuto 150 n/d
Número máximo de operações de provisionamento simultâneas 100 n/d
O MCS suporta 100 operações de provisionamento simultâneas máximas por padrão.
Configure esses valores acessando a seção Avançado do Citrix Studio na tela Editar Conexão.
Gerenciamento de Identidade e Acesso (IAM)
Alternativamente, você pode usar o SDK do PowerShell Remoto para definir o número máximo de operações simultâneas para configurações ideais por ambiente.
Use a propriedade personalizada do PowerShell, MaximumConcurrentProvisioningOperations, para especificar o número máximo de operações de provisionamento simultâneas da AWS.
Antes da configuração:
  • Certifique-se de ter instalado o SDK do PowerShell para a Nuvem.
  • Entenda que o valor padrão para MaximumConcurrentProvisioningOperations é 100.
Execute as seguintes etapas para personalizar o valor MaximumConcurrentProvisioningOperations:
  1. Abra uma janela do PowerShell.
  2. Execute asnp citrix* para carregar os módulos do PowerShell específicos da Citrix.
  3. Insira cd xdhyp:\Connections\.
  4. Insira dir para listar as conexões.
  5. Altere ou Inicialize a string de Propriedades Personalizadas:
    • Se a string de Propriedades Personalizadas tiver um valor, copie as Propriedades Personalizadas para o Bloco de Notas. Em seguida, altere a propriedade MaximumConcurrentProvisioningOperations para o valor de sua preferência. Você pode inserir um valor no intervalo de 1 a 1000. Por exemplo, <Property xsi:type="IntProperty" Name="MaximumConcurrentProvisioningOperations" Value="xyz"/>.
    • Se a string de Propriedades Personalizadas estiver vazia ou nula, você deve inicializar a string inserindo a sintaxe apropriada tanto para o esquema quanto para a propriedade MaximumConcurrentProvisioningOperations.
  6. Na janela do PowerShell, cole as Propriedades Personalizadas modificadas do Bloco de Notas e atribua uma variável às Propriedades Personalizadas modificadas. Se você inicializou as Propriedades Personalizadas, adicione as seguintes linhas após a sintaxe:
    $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 string define a propriedade MaximumConcurrentProvisioningOperations como 100. Na string de Propriedades Personalizadas, você deve definir a propriedade MaximumConcurrentProvisioningOperations para um valor que se alinhe às suas necessidades.
  7. Insira Get-XDAuthentication, que solicitará suas credenciais.
  8. Execute $cred = Get-Credential, que pode solicitar apenas uma Senha (ou um Nome e Senha). Você também pode ser solicitado a fornecer o ID do aplicativo e o segredo associado. Para conexões que usam autenticação baseada em função, role_based_auth é tanto o Nome quanto a Senha. Caso contrário, insira o ID da API AWS e o segredo.
  9. Execute set-item -PSPath 'XDHyp:\Connections<connection-name>' -CustomProperties $customProperties -username $cred.username -Securepassword $cred.password. Você deve definir <connection-name> para o nome da conexão.
  10. Insira dir para verificar a string CustomProperties atualizada.

Configurar grupos de segurança por interface de rede

Ao editar uma conexão de host, agora você pode configurar o número máximo de grupos de segurança permitidos por interface de rede elástica (ENI) usando um comando PowerShell. Para obter informações sobre os valores de cota de grupos de segurança da AWS, consulte Grupos de segurança.
Para configurar grupos de segurança por interface de rede:
  1. Abra uma janela do PowerShell.
  2. Execute asnp citrix* para carregar os módulos PowerShell específicos da Citrix.
  3. Execute cd xdhyp:\Connections\.
  4. Execute dir para listar as conexões.
  5. Execute o seguinte comando PowerShell para configurar grupos de segurança por interface de rede:
    Set-HypHypervisorConnectionMetadata -HypervisorConnectionName aws -Name "Citrix_MachineManagement_Options" -Value " AwsMaxENISecurityGroupLimit=<number>"
    Nota:
    Se você não definir um valor para AwsMaxENISecurityGroupLimit, ele assumirá o valor padrão de 5.

Atualizar uma conexão de host existente com proxy automático

  1. Abra uma janela do PowerShell.
  2. Execute asnp citrix* para carregar os módulos PowerShell específicos da Citrix.
  3. Insira cd xdhyp:\Connections\.
  4. Insira dir para listar as conexões.
  5. Copie as CustomProperties para um bloco de notas e anexe a configuração de propriedade <Property xsi:type="StringProperty" Name="UseSystemProxyForHypervisorTrafficOnConnectors" Value="True".
  6. Na janela do PowerShell, cole as Custom Properties modificadas do Bloco de Notas e atribua uma variável às Custom Properties modificadas.
  7. Insira Get-XDAuthentication, que solicitará suas credenciais.
  8. Execute $cred = Get-Credential, que pode solicitar apenas uma Senha (ou um Nome e Senha). Você também pode ser solicitado a fornecer o ID do aplicativo e o segredo associado. Para conexões que usam autenticação baseada em função, role\_based\_auth é o Nome e a Senha. Caso contrário, insira o ID e o segredo da API AWS.
  9. Execute set-item -PSPath 'XDHyp:\Connections<connection-name>' -CustomProperties $customProperties -username $cred.username -Securepassword $cred.password. Você deve definir \<connection-name\> como o nome da conexão.
  10. Insira dir para verificar a string CustomProperties atualizada.

URL do endpoint de serviço

URL do endpoint de serviço da zona padrão

Ao usar o MCS, uma nova conexão AWS é adicionada com uma chave de API e um segredo de API. Com essas informações, juntamente com a conta autenticada, o MCS consulta a AWS para as zonas suportadas usando a chamada de API AWS DescribeRegions EC2. A consulta é feita usando uma URL de endpoint de serviço EC2 genérica https://ec2.amazonaws.com/. Use o MCS para selecionar a zona para a conexão na lista de zonas suportadas. A URL de endpoint de serviço AWS preferencial é selecionada automaticamente para a zona. No entanto, depois de criar a URL do endpoint de serviço, você não pode mais definir ou modificar a URL.

URL de endpoint de serviço não padrão

Pode haver situações em que você não precise da URL de endpoint de serviço AWS escolhida automaticamente para a conexão. Nesses casos, você pode usar o Citrix Cloud SDK e o PowerShell para criar uma conexão com uma URL de endpoint de serviço não padrão. Por exemplo, para criar uma conexão usando a URL do endpoint de serviço https://ec2.cn-north-1.amazonaws.com.cn:
  1. Configure o Cloud Connector hospedado na AWS e certifique-se de que ele tenha conectividade.
  2. Execute os seguintes comandos do PowerShell para ver a lista de Cloud Connectors.
    PS C:\> asnp citrix.*
    PS C:\> Get-XDAuthentication
    PS C:\> Get-ConfigEdgeServer
  3. Encontre o ZoneUid do Cloud Connector recém-criado e insira-o nos seguintes comandos do PowerShell. Substitua os itens em itálico pelos respectivos valores.
    PS C:\> $hyp= New-Item -Path xdhyp:\Connections -ZoneUid`*ZoneUid*`-Name`*"My New Connection”*`-ConnectionType "AWS" -HypervisorAddress @("https://ec2.cn-north-1.amazonaws.com.cn") -UserName`*"APIkey"* `-Password`*“API Secret”* `-Persist`
    `PS C:\> New-BrokerHypervisorConnection -HypHypervisorConnectionUid $hyp. HypervisorConnectionUid
  4. Atualize a guia Hospedagem para verificar se a conexão EC2 foi criada.
  5. Adicione um local de recurso usando a nova conexão.

Permissões AWS necessárias

Esta seção contém a lista completa de permissões AWS. Use o conjunto completo de permissões conforme fornecido na seção para que a funcionalidade funcione corretamente.
Nota:
A permissão iam:PassRole é necessária apenas para role_based_auth.

Criando uma conexão de host

Uma nova conexão de host é adicionada usando as informações obtidas da AWS.
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": [
                "ec2:DescribeAvailabilityZones",
                "ec2:DescribeSubnets",
                "ec2:DescribeVpcs",
                "ec2:DescribeRegions"
            ],
            "Effect": "Allow",
            "Resource": "*"
        }
    ]
}

Gerenciamento de energia de VMs

As VMs são ligadas ou desligadas.
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": [
                "ec2:DescribeInstances",
                "ec2:StartInstances",
                "ec2:StopInstances",
                "ec2:RebootInstances",
                "ec2:DescribeInstanceStatus"
            ],
            "Effect": "Allow",
            "Resource": "*"
        }
    ]
}

Criando, atualizando ou excluindo VMs

Um catálogo de máquinas é criado, atualizado ou excluído com VMs provisionadas como instâncias 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": "*"
        }
    ]
}
Nota:
  • A seção EC2 relacionada a SecurityGroups é necessária apenas se um Grupo de Segurança de Isolamento precisar ser criado para a VM de Preparação durante a criação do catálogo. Uma vez feito isso, essas permissões não são mais necessárias.

Importando VMs

Um catálogo de máquinas é criado importando VMs.
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": [
                "ec2:DescribeInstances",
                "ec2:DescribeSecurityGroups",
                "ec2:DescribeAvailabilityZones",
                "ec2:DescribeSubnets",
                "ec2:DescribeVolumes",
                "ec2:DescribeSpotInstanceRequests"
            ],
            "Effect": "Allow",
            "Resource": "*"
        }
    ]
}
Nota:
O ec2:DescribeSpotInstanceRequests é necessário apenas se houver uma instância spot na região AWS de onde as VMs serão importadas.

Upload e download direto de disco

O upload direto de disco elimina o requisito de volume worker para provisionamento de catálogo de máquinas e, em vez disso, usa APIs públicas fornecidas pela AWS. Essa funcionalidade reduz o custo associado a contas de armazenamento extras e a complexidade de manter as operações de volume worker.
Nota:
O suporte para volume worker foi removido. As permissões de upload e download direto de disco são necessárias para o provisionamento de catálogo de máquinas.
As seguintes permissões devem ser adicionadas à política:
  • ebs:StartSnapshot
  • ebs:GetSnapshotBlock
  • ebs:PutSnapshotBlock
  • ebs:CompleteSnapshot
  • ebs:ListSnapshotBlocks
  • ebs:ListChangedBlocks
  • ec2:CreateSnapshot
  • ec2:DeleteSnapshot
  • ec2:DescribeLaunchTemplates
Importante:
  • Você pode adicionar uma nova VM a catálogos de máquinas existentes sem quaisquer recursos de volume worker, como AMI de volume worker e VM de volume worker.
  • Se você excluir um catálogo existente que usou qualquer volume worker antes, todos os artefatos relacionados ao volume worker serão excluídos.

Criptografia EBS de volumes criados

O EBS pode criptografar automaticamente volumes recém-criados se a AMI for criptografada, ou se o EBS estiver configurado para criptografar todos os novos volumes. No entanto, para implementar a funcionalidade, as seguintes permissões devem ser incluídas na política do IAM.
{
     "Version": "2012-10-17",
     "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                 "kms:CreateGrant",
                 "kms:Decrypt",
                 "kms:DescribeKey",
                 "kms:GenerateDataKeyWithoutPlainText",
                 "kms:GenerateDataKey",
                 "kms:ReEncryptTo",
                 "kms:ReEncryptFrom"
            ],
            "Resource": "*"
        }
    ]
}
Nota:
As permissões podem ser limitadas a chaves específicas, incluindo um bloco de Recurso e Condição a critério do usuário. Por exemplo, Permissões KMS com Condição:
{
     "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
                }
            }
        }
    ]
}
A seguinte declaração de política de chave é a política de chave padrão completa para chaves KMS que é necessária para permitir que a conta use políticas do IAM para delegar permissão para todas as ações (kms:*) na chave KMS.
{
"Sid": "Enable IAM policies",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::111122223333:root"
},
"Action": "kms:",
"Resource": ""
}
Para obter mais informações, consulte a documentação oficial do AWS Key Management Service.

Autenticação baseada em função do IAM

As seguintes permissões são adicionadas para suportar a autenticação baseada em função.
{
     "Version": "2012-10-17",
     "Statement": [
        {
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": "arn:aws:iam::*:role/*"
        }
    ]
}

Política de permissões mínimas do IAM

O JSON a seguir pode ser usado para todos os recursos atualmente suportados. Você pode criar conexões de host, criar, atualizar ou excluir VMs e fazer gerenciamento de energia usando esta política. A política pode ser aplicada aos usuários conforme explicado nas seções Definindo permissões do IAM ou você também pode usar a autenticação baseada em função usando a chave de segurança role_based_auth e a chave secreta.
Importante:
Para usar role_based_auth, primeiro configure a função IAM desejada na instância EC2 do conector de nuvem ao configurar o conector de nuvem. Usando o Citrix Studio, adicione a conexão de hospedagem e forneça o role_based_auth para a chave de autenticação e o segredo. Uma conexão de hospedagem com essas configurações usa então a autenticação baseada em função.
{
    "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/*"
        }
    ]
}
Nota:
  • A seção EC2 relacionada a SecurityGroups só é necessária se um Grupo de Segurança de Isolamento precisar ser criado para a VM de Preparação durante a criação do catálogo. Uma vez feito isso, essas permissões não são mais necessárias.
  • A seção KMS é necessária apenas ao usar a criptografia de volume EBS.
  • A seção de permissão iam:PassRole é necessária apenas para role_based_auth.
  • Permissões específicas em nível de recurso podem ser adicionadas em vez de acesso total, com base em seus requisitos e ambiente. Consulte os documentos da AWS Demystifying EC2 Resource-Level Permissions e Access management for AWS resources para obter mais detalhes.
  • Use as permissões ec2:CreateNetworkInterface e ec2:DeleteNetworkInterface somente se estiver usando o método de worker de volume.

Validar permissões na conexão do host

Você pode validar as permissões em uma conexão de host para realizar tarefas relacionadas à criação e gerenciamento de catálogos de máquinas MCS. Essa implementação ajuda você a descobrir as permissões ausentes necessárias para diferentes cenários, como criação, exclusão e atualização de VMs, gerenciamento de energia de VMs e criptografia EBS, com antecedência, para que você possa evitar ser bloqueado em momentos críticos.
Você pode validar as permissões em uma conexão de host usando o comando PowerShell Test-HypHypervisorConnection. O resultado do comando é capturado como uma lista, onde cada item da lista é dividido em três seções.
  • Categoria: A ação ou tarefa que um usuário pode realizar para criar e gerenciar um catálogo de máquinas MCS.
  • Ação Corretiva: A etapa que um administrador deve realizar para resolver uma discrepância de permissões ausentes dos usuários.
  • Permissão ausente: A lista de permissões ausentes para uma categoria.
Para validar as permissões, faça o seguinte:
  1. Crie uma conexão de host com a AWS.
  2. Abra uma janela do PowerShell no host do Delivery Controller™.
  3. Execute asnp citrix* para carregar os módulos PowerShell específicos da Citrix.
  4. Execute o seguinte comando para verificar se você tem as permissões necessárias para consultar suas permissões.
    Test-HypHypervisorConnection -LiteralPath "XDHyp:\Connections\AWSCon"
  5. Depois de adicionar as permissões ausentes necessárias para consultar suas permissões, execute o seguinte comando para verificar se você tem permissões nas seguintes categorias:
    • Criar Atualizar excluir
    • Gerenciamento de Energia
    • Criptografia EBS
    Test-HypHypervisorConnection -LiteralPath "XDHyp:\Connections\AWSCon" [-SecurePassword -Password] "password" -UserName "" -CustomProperties ""
Para obter mais informações sobre como adicionar permissões, consulte Adicionar permissões IAM.

Onde ir em seguida

Mais informações