Citrix Virtual Apps and Desktops

Criar um catálogo AWS

Criar catálogos de máquinas descreve os assistentes que criam um catálogo de máquinas. As informações a seguir cobrem detalhes específicos para ambientes de virtualização AWS.

Nota:

Antes de criar um catálogo AWS, você precisa concluir a criação de uma conexão com a AWS. Consulte Conexão com a AWS.

Limitação

A partir do Citrix Virtual Apps and Desktops™ 2203 LTSR e posterior, o plug-in MCS AWS faz a chamada de API AWS DescribeInstanceTypes e, se for bem-sucedida, o MCS usa o nome de inventário criado a partir da resposta da API.

Portanto, ao fazer upgrade do CVAD 1912 para 2203 ou posterior, desabilite a permissão DefineInstanceType na AWS e, em seguida, atualize o catálogo existente usando o comando Set-ProvScheme para corresponder ao esquema de nomenclatura da AWS. Depois, adicione as permissões DescribeInstanceType novamente após a conclusão da atualização do catálogo e o serviço oferecido corresponder ao esquema de nomenclatura da AWS.

Configuração de rede durante a preparação da imagem

Durante a preparação da imagem, uma máquina virtual (VM) de preparação é criada com base na VM original. Essa VM de preparação é desconectada da rede. Para desconectar a rede da VM de preparação, um grupo de segurança de rede é criado para negar todo o tráfego de entrada e saída. Esse grupo de segurança de rede persiste e é reutilizado. O nome do grupo de segurança de rede é Citrix.XenDesktop.IsolationGroup-GUID, onde GUID é gerado aleatoriamente.

Configurar a tenancy da AWS

A AWS oferece as seguintes opções de tenancy:

  • Tenancy compartilhada (o tipo padrão): Várias instâncias Amazon EC2 de diferentes clientes podem residir na mesma peça de hardware físico.
  • Tenancy dedicada: Suas instâncias EC2 são executadas apenas em hardware com outras instâncias que você implantou. Outros clientes não usam a mesma peça de hardware.

Você pode usar o MCS para provisionar hosts dedicados da AWS usando o PowerShell.

Configurar a tenancy de host dedicado da AWS usando o PowerShell

Você pode criar um catálogo de máquinas com tenancy de host definida por meio do PowerShell.

Um host dedicado Amazon [EC2] é um servidor físico com capacidade de instância [EC2] totalmente dedicada, permitindo que você use licenças de software existentes por soquete ou por VM.

Hosts dedicados têm utilização predefinida com base no tipo de instância. Por exemplo, um único host dedicado alocado de tipos de instância C4 Large é limitado a executar 16 instâncias. Consulte o site da AWS para obter mais informações.

Os requisitos para provisionamento em hosts da AWS incluem:

  • Uma imagem BYOL (traga sua própria licença) importada (AMI). Com hosts dedicados, use e gerencie suas licenças existentes.
  • Uma alocação de hosts dedicados com utilização suficiente para satisfazer as solicitações de provisionamento.
  • habilitar o auto-placement.

Para provisionar em um host dedicado na AWS usando o PowerShell, use o cmdlet New-ProvScheme com o parâmetro TenancyType definido como Host.

Consulte a Documentação do Desenvolvedor Citrix para obter mais informações.

Capturar propriedades da máquina de AMIs

Ao criar um catálogo para provisionar máquinas usando o Machine Creation Services (MCS) na AWS, você seleciona uma AMI para representar a imagem mestre/golden desse catálogo. Dessa AMI, o MCS usa um snapshot do disco. Em versões anteriores, se você quisesse funções ou tags em suas máquinas, usaria o console da AWS para configurá-las individualmente. Essa funcionalidade é habilitada por padrão.

Dica:

Para usar a captura de propriedades de instância da AWS, você deve ter uma VM associada à AMI.

Para melhorar esse processo, o MCS lê as propriedades da instância da qual a AMI foi tirada e aplica a função e as tags do Identity Access Management (IAM) da máquina às máquinas provisionadas para um determinado catálogo. Ao usar esse recurso opcional, o processo de criação do catálogo encontra a instância de origem da AMI selecionada, lendo um conjunto limitado de propriedades. Essas propriedades são então armazenadas em um Modelo de Inicialização da AWS, que é usado para provisionar máquinas para esse catálogo. Qualquer máquina no catálogo herda as propriedades da instância capturadas.

As propriedades capturadas incluem:

  • Funções IAM – aplicadas às instâncias provisionadas.
  • Tags - aplicadas às instâncias provisionadas, seus discos e NICs. Essas tags são aplicadas a recursos Citrix® transitórios, incluindo: bucket e objetos S3, e AMIs, snapshots e modelos de inicialização.

Dica:

A marcação de recursos Citrix transitórios é opcional e configurável usando a propriedade personalizada AwsOperationalResourcesTagging.

Capturar a propriedade da instância AWS

Você pode usar esse recurso especificando uma propriedade personalizada, AwsCaptureInstanceProperties, ao criar um esquema de provisionamento para uma conexão de hospedagem AWS:

New-ProvScheme -CustomProperties "AwsCaptureInstanceProperties,true" …<standard provscheme parameters

Consulte a Documentação do Desenvolvedor Citrix para obter mais informações.

Nota:

A propriedade AwsCaptureInstanceProperties está obsoleta. Recomendamos usar perfis de máquina para especificar as propriedades da máquina para VMs.

Capturar propriedades da máquina de perfis de máquina

Ao criar um catálogo para provisionar máquinas AWS usando o MCS, você pode usar um perfil de máquina para predefinir certas configurações de propriedade da máquina.

Para fazer isso, siga estas etapas:

  1. Armazene os perfis de máquina na mesma zona de disponibilidade que os recursos onde você está criando este catálogo.
  2. Na página Modelo de Máquina do assistente de criação de catálogo, selecione Usar um perfil de máquina. Os perfis de máquina localizados na mesma zona disponível que os recursos selecionados são exibidos.
  3. Selecione um perfil de máquina conforme necessário.

Nota:

Você pode usar um perfil de máquina ou uma AMI para capturar as propriedades da máquina. No Web Studio, ao selecionar Usar um perfil de máquina, a opção Aplicar propriedades do modelo de máquina a máquinas virtuais é ocultada automaticamente.

Marcar recurso operacional da AWS

Ao criar um catálogo para provisionar máquinas na AWS usando o MCS, você pode controlar se as propriedades de função IAM e tag são aplicadas a essas máquinas. Você também pode controlar se as tags da máquina são aplicadas aos recursos operacionais.

Uma Amazon Machine Image (AMI) representa um tipo de appliance virtual usado para criar uma máquina virtual no ambiente Amazon Cloud, comumente referido como EC2. Você usa uma AMI para implantar serviços que usam o ambiente EC2. Ao criar um catálogo para provisionar máquinas usando o MCS para AWS, você seleciona a AMI para atuar como a imagem golden para esse catálogo.

Importante:

A criação de catálogos capturando uma propriedade de instância e um modelo de inicialização é necessária para usar a marcação de recursos operacionais.

Para criar um catálogo AWS, você deve primeiro criar uma AMI para a instância que deseja que seja a imagem golden. O MCS lê as tags dessa instância e as incorpora ao modelo de inicialização. As tags do modelo de inicialização são então aplicadas a todos os recursos Citrix criados em seu ambiente AWS, incluindo:

  • Máquinas Virtuais
  • Discos de VM
  • Interfaces de rede de VM
  • Buckets S3
  • Objetos S3
  • Modelos de inicialização
  • AMIs

Marcar um recurso operacional

Para usar o PowerShell para marcar recursos:

  1. Abra uma janela do PowerShell no host DDC.
  2. Execute o comando asnp citrix para carregar os módulos PowerShell específicos da Citrix.

Para marcar um recurso para uma VM provisionada, use a nova propriedade personalizada AwsOperationalResourcesTagging. A sintaxe para esta propriedade é:

New-ProvScheme -CustomProperties "AwsCaptureInstanceProperties,true; AwsOperationalResourcesTagging,true" …<standard provscheme parameters

Onde ir em seguida

Copiar tags em VMs

Você pode copiar tags em NICs e discos (disco de identidade, disco de cache de gravação e disco do SO) que são especificados no perfil da máquina para VMs recém-criadas em um catálogo de máquinas MCS. Você pode especificar essas tags em qualquer uma das fontes de perfil da máquina (instância de VM AWS ou versão do modelo de inicialização AWS). Esse recurso é aplicável a catálogos de máquinas e VMs persistentes e não persistentes.

Nota:

  • No console do AWS EC2, você não pode ver os valores de Tag Network Interfaces em Launch Template Version Resource Tags. No entanto, você pode executar o comando PowerShell aws ec2 describe-launch-template-versions --launch-template-id lt-0bb652503d45dcbcd --versions 12 para ver as especificações da tag.
  • Se uma fonte de perfil de máquina (VM ou versão do modelo de inicialização) tiver duas interfaces de rede (eni-1 e eni-2), e eni-1 tiver a tag t1 e eni-2 tiver a tag t2, então a VM obterá as tags de ambas as interfaces de rede.

Criar um catálogo usando um perfil de máquina

Ao criar um catálogo para provisionar máquinas usando o Machine Creation Services™ (MCS) na AWS, agora você pode usar um perfil de máquina para capturar as propriedades de hardware de uma instância EC2 (VM) ou versão de modelo de inicialização e aplicá-las às máquinas provisionadas. As propriedades capturadas podem incluir, por exemplo, propriedades de volume EBS, tipo de instância, otimização EBS e outras configurações AWS suportadas. Ao editar o catálogo, o perfil da máquina das máquinas provisionadas pode ser alterado fornecendo uma VM ou modelo de inicialização diferente.

Nota:

As propriedades de volume EBS são derivadas apenas de um perfil de máquina.

Considerações importantes

As considerações importantes ao criar um catálogo de máquinas MCS:

  • Se você adicionar parâmetros de propriedade de hardware da máquina nos comandos New-ProvScheme e Set-ProvScheme, os valores fornecidos nos parâmetros sobrescreverão os valores no perfil da máquina.
  • Se você definir AwsCaptureInstanceProperties como true e não definir a propriedade MachineProfile, apenas as funções IAM e as tags serão capturadas.
  • Você não pode definir AwsCaptureInstanceProperties e MachineProfile ao mesmo tempo.

    Nota:

    A propriedade AwsCaptureInstanceProperties está obsoleta.

  • Você deve fornecer explicitamente os valores das seguintes propriedades:

    • TenancyType
    • Grupo de Segurança
    • NIC ou Rede Virtual
  • Você pode habilitar AwsOperationalResourcesTagging somente se habilitar AwsCaptureInstanceProperties ou especificar um perfil de máquina.

As considerações importantes após criar um catálogo de máquinas MCS:

  • Apenas as novas VMs adicionadas ao catálogo são afetadas pela alteração.
  • Você não pode alterar um catálogo de baseado em perfil de máquina para um catálogo não baseado em perfil de máquina.

Criar um catálogo de máquinas usando um perfil de máquina

Para criar um catálogo de máquinas usando um perfil de máquina:

  1. Abra uma janela do PowerShell.
  2. Execute asnp citrix* para carregar os módulos PowerShell específicos da Citrix.
  3. Crie um pool de identidades, se ainda não tiver sido criado. Por exemplo,

    New-AcctIdentityPool -IdentityPoolName idPool -NamingScheme ms## -Domain abcdf -NamingSchemeType Numeric
    <!--NeedCopy-->
    
  4. Execute o comando New-ProvScheme. Por exemplo:

    New-ProvScheme -ProvisioningSchemeName demet-test-1
    -HostingUnitUid aa633238-9xxd-4cf6-80e8-232a758a1xx1
    -IdentityPoolUid 34d5b088-e312-416f-907d-16573xxxxxc4
    -CleanOnBoot
    -MasterImageVM 'XDHyp:\HostingUnits\cvad-test-scalestress\citrix-demet-ami.0 (ami-0ca813xxxxxx061ef).template'
    -MachineProfile 'XdHyp:\HostingUnits\cvad-test-scalestress\us-east-1a.availabilityzone\machine-profile-instance i (i-0xxxxxxxx).vm'
    <!--NeedCopy-->
    
  5. Conclua a criação do catálogo. Para obter mais informações, consulte Citrix PowerShell SDK.

Para atualizar o perfil da máquina em um catálogo que foi inicialmente provisionado com um perfil de máquina:

  1. Execute o comando Set-ProvScheme. Por exemplo,

    Set-ProvScheme `
    -ProvisioningSchemeUid "<ID" `
    -MachineProfile "XDHyp:\HostingUnits\abc\us-east-1a.availabilityzone\citrix-cvad-machineprofile-instance (i-0xxxxxxxx).vm"
    <!--NeedCopy-->
    

Criar um catálogo com versão de modelo de inicialização

Você pode criar um catálogo de máquinas MCS com uma versão de modelo de inicialização como entrada de perfil de máquina. Você também pode atualizar a entrada de um catálogo de perfil de máquina de uma VM para uma versão de modelo de inicialização e de uma versão de modelo de inicialização para uma VM.

No console do AWS EC2, você pode fornecer as informações de configuração da instância de um modelo de inicialização junto com o número da versão. Ao especificar a versão do modelo de inicialização como entrada de perfil de máquina durante a criação ou atualização de um catálogo de máquinas, as propriedades dessa versão do modelo de inicialização são copiadas para as VMs VDA provisionadas.

As seguintes propriedades podem ser fornecidas usando a entrada do perfil da máquina ou explicitamente como parâmetros nos comandos New-ProvScheme ou Set-ProvScheme. Se forem fornecidas nos comandos New-ProvScheme ou Set-ProvScheme, elas terão precedência sobre os valores do perfil da máquina dessas propriedades.

  • Oferta de Serviço
  • Redes
  • Grupos de Segurança
  • Tipo de Tenancy

Nota:

Se a oferta de serviço não for fornecida no modelo de inicialização do perfil da máquina ou como um parâmetro no comando New-ProvScheme, você receberá um erro apropriado.

Para criar um catálogo usando a versão do modelo de inicialização como entrada de perfil de máquina:

  1. Abra uma janela do PowerShell.
  2. Execute asnp citrix* para carregar os módulos PowerShell específicos da Citrix.
  3. Obtenha a lista de versões de modelo de inicialização de um modelo de inicialização. Por exemplo:

    XDHyp:\HostingUnits\test\test-mp-sard (lt-01xxxxx).launchtemplate> ls | Select FullPath
    <!--NeedCopy-->
    
  4. Crie um pool de identidades, se ainda não tiver sido criado. Por exemplo:

    New-AcctIdentityPool `
    -IdentityPoolName "abc11" `
    -NamingScheme "abc1-##" `
    -NamingSchemeType Numeric `
    -Domain "citrix-xxxxxx.local" `
    -ZoneUid "xxxxxxxx" `
    <!--NeedCopy-->
    
  5. Crie um esquema de provisionamento com uma versão de modelo de inicialização como entrada de perfil de máquina. Por exemplo:

    New-ProvScheme `
    -ProvisioningSchemeName "MPLT1" `
    -HostingUnitUid "c7f71f6a-3f45-4xxx-xxxx-xxxxxxxxxx" `
    -IdentityPoolUid "bf3a6ba2-1f80-4xxx-xxxx-xxxxxxxxx" `
    -MasterImageVM "XDHyp:\HostingUnits\xxxd-ue1a\apollo-non-persistent-vda-win2022 (ami-0axxxxxxxxxxx).template" `
    -CleanOnBoot `
    -MachineProfile "XDHyp:\HostingUnits\xxxx-ue1a\machineprofiletest (lt-01xxxxx).launchtemplate\lt-01xxxxx (1).launchtemplateversion"
    <!--NeedCopy-->
    

    Você também pode substituir parâmetros como oferta de serviço, grupos de segurança, tenancy e redes. Por exemplo:

    New-ProvScheme `
    -ProvisioningSchemeName "MPLT1" `
    -HostingUnitUid " c7f71f6a-3f45-4xxx-xxxx-xxxxxxxxxx" `
    -IdentityPoolUid " bf3a6ba2-1f80-4xxx-xxxx-xxxxxxxxx" `
    -MasterImageVM "XDHyp:\HostingUnits\xxxd-ue1a\apollo-non-persistent-vda-win2022 (ami-0axxxxxxxxxxx).template" `
    -CleanOnBoot `
    -MachineProfile "XDHyp:\HostingUnits\xxxx-ue1a\machineprofiletest (lt-01xxxx).launchtemplate\lt-01xxxx (1).launchtemplateversion" `
    -ServiceOffering "XDHyp:\HostingUnits\xxxd-ue1a\T3 Large Instance.serviceoffering"
    <!--NeedCopy-->
    
  6. Registre o esquema de provisionamento como um catálogo de broker. Por exemplo:

    New-BrokerCatalog -Name "MPLT1" `
    -AllocationType Random `
    -Description "Machine profile catalog" `
    -ProvisioningSchemeId fe7df345-244e-4xxxx-xxxxxxxxx `
    -ProvisioningType Mcs `
    -SessionSupport MultiSession `
    -PersistUserChanges Discard
    <!--NeedCopy-->
    
  7. Conclua a criação do catálogo. Para obter mais informações, consulte Citrix PowerShell SDK

Você também pode atualizar a entrada de um catálogo de perfil de máquina de uma VM para uma versão de modelo de inicialização e de uma versão de modelo de inicialização para uma VM. Por exemplo:

  • Para atualizar a entrada de um catálogo de perfil de máquina de uma VM para uma versão de modelo de inicialização:

     Set-ProvScheme -ProvisioningSchemeName "CloudServiceOfferingTest" `
     -MachineProfile "XDHyp:\HostingUnits\xxxx-ue1a\machineprofiletest (lt-0bxxxxxxxxxxxx).launchtemplate\lt-0bxxxxxxxxxxxx (1).launchtemplateversion"
     <!--NeedCopy-->
    
  • Para atualizar a entrada de um catálogo de perfil de máquina de uma versão de modelo de inicialização para uma VM:

     Set-ProvScheme -ProvisioningSchemeName "CloudServiceOfferingTest" `
     -MachineProfile "XDHyp:\HostingUnits\sard-ue1a\us-east-1a.availabilityzone\apollo-non-persistent-vda-win2022-2 (i-08xxxxxxxxx).vm"
     <!--NeedCopy-->
    

Filtrar instâncias de VM

Uma instância AWS EC2 que você usa como VM de perfil de máquina deve ser compatível para que o catálogo de máquinas seja criado e funcione corretamente. Para listar as instâncias AWS EC2 que podem ser usadas como VMs de entrada de perfil de máquina, você pode usar o comando Get-HypInventoryItem. O comando pode paginar e filtrar o inventário de VMs disponíveis em uma unidade de hospedagem.

Paginação:

Get-HypInventoryItem suporta dois modos de paginação:

  • O modo de paginação usa os parâmetros -MaxRecords e -Skip para retornar conjuntos de itens:
    • -MaxRecords: O padrão é 1. Isso controla quantos itens retornar.
    • -Skip: O padrão é 0. Isso controla quantos itens pular do início absoluto (ou fim absoluto) da lista no hypervisor.
  • O modo de rolagem usa os parâmetros -MaxRecords, -ForwardDirection e -ContinuationToken para permitir a rolagem dos registros:
    • -ForwardDirection: O padrão é True. Isso é usado junto com -MaxRecords para retornar o próximo conjunto de registros correspondentes ou o conjunto anterior de registros correspondentes.
    • -ContinuationToken: Retorna os itens imediatamente após (ou antes, se ForwardDirection for false), mas não incluindo o item fornecido no ContinuationToken.

Exemplos de paginação:

  • Para retornar um único registro do modelo de máquina com o nome mais baixo. O campo AdditionalData possui TotalItemsCount e TotalFilteredItemsCount:

     Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx-test" -ResourceType template
     <!--NeedCopy-->
    
  • Para retornar 10 registros do modelo de máquina com o nome mais baixo:

     Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx-test" -ResourceType template -MaxRecords 10 | select Name
     <!--NeedCopy-->
    
  • Para retornar um array de registros terminando com o nome mais alto:

     Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx-test" -ResourceType template -ForwardDirection $False -MaxRecords 10 | select Name
     <!--NeedCopy-->
    
  • Para retornar um array de registros começando no modelo de máquina associado ao ContinuationToken fornecido:

     Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx-test" -ResourceType template -ContinuationToken "ami-07xxxxxxxxxx" -MaxRecords 10
     <!--NeedCopy-->
    

Filtragem:

Os seguintes parâmetros opcionais adicionais são suportados para filtragem. Você pode combinar esses parâmetros com as opções de paginação.

  • -ContainsName "my_name": Se a string fornecida corresponder a parte de um nome de AMI, a AMI será incluída no resultado Get. Por exemplo:

     Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx-test" -ResourceType template -MaxRecords 100 -ContainName ‘apollo’ | select Name
     <!--NeedCopy-->
    
  • -Tags '{ "Key0": "Value0", "Key1": "Value1", "Key2": "Value2" }': Se uma AMI tiver pelo menos uma dessas tags, ela será incluída no resultado Get. Por exemplo:

     Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx-test" -ResourceType template -MaxRecords 100 -Tags '{"opex owner": "Not tagged"}' | select Name
     <!--NeedCopy-->
    

    Nota:

    Dois valores de tag são suportados. O valor de tag Not Tagged corresponde a itens que não possuem a tag fornecida em sua lista de tags. O valor de tag All values corresponde a itens que possuem a tag, independentemente do valor da tag. Caso contrário, a correspondência ocorre somente se o item tiver a tag e o valor for igual ao que é fornecido no filtro.

  • -Id "ami-0a2d913927e0352f3": Se a AMI corresponder ao ID fornecido, ela será incluída no resultado Get. Por exemplo:

     Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx-test" -ResourceType template -Id ami-xxxxxxxxxxxxx
     <!--NeedCopy-->
    

Filtragem no parâmetro AdditionalData:

O parâmetro de filtro AdditionalData lista modelos ou VMs com base em sua capacidade, oferta de serviço ou qualquer propriedade que esteja em AdditionalData. Por exemplo:

(Get-HypInventoryItem -ResourceType "launchtemplateversion" -LiteralPath "XDHyp:\HostingUnits\aws" -MaxRecords 200).AdditionalData
<!--NeedCopy-->

Você também pode adicionar um parâmetro -Warn para indicar as VMs incompatíveis. As VMs são incluídas com um campo AdditionalData chamado Warning. Por exemplo:

(Get-HypInventoryItem -ResourceType "launchtemplateversion" -LiteralPath "XDHyp:\HostingUnits\aws" -MaxRecords 200 -Template "ami-015xxxxxxxxx" -Warn $true).AdditionalData
<!--NeedCopy-->

Mais informações