Criar catálogos usando imagens preparadas no AWS EC2
-
Crie imagens preparadas e use-as para criar um catálogo de máquinas MCS usando:
- Studio
- Comandos PowerShell
As etapas principais para criar um catálogo de máquinas MCS usando a imagem preparada são:
- Crie a definição da imagem e as versões iniciais da imagem.
- Use a versão da imagem como uma imagem preparada para criar um catálogo.
Criar uma definição de imagem e uma versão inicial da imagem
Usar o Studio
Para criar uma definição de imagem e a versão inicial da imagem, faça o seguinte:
- No Studio, vá para o nó Imagens e clique em “Criar Definição de Imagem”. Clique em “Avançar” na página “Introdução”.
- Na página “Definição de Imagem”, especifique o “Tipo de SO” e o “Tipo de Sessão” para a definição da imagem.
-
Na página “Imagem”, selecione “Recursos” (somente os recursos aplicáveis para a conexão definida são listados), uma imagem mestre para usar como modelo para criar a versão da imagem e um perfil de máquina para capturar propriedades de hardware. Selecione um perfil de máquina para capturar propriedades de hardware de uma instância de VM ou versão de modelo de inicialização.
Observação:
- Antes de selecionar uma imagem, verifique se a imagem mestre tem o VDA 2311 ou posterior instalado e se o driver MCSIO está instalado no VDA.
- O Serviço de Metadados de Instância (IMDS) V1 e V2 são ambos suportados.
- Na página “Especificação da Máquina”, selecione um tamanho de máquina. O tamanho da máquina do perfil de máquina (selecionado na página “Imagem”) é selecionado por padrão.
- Na página “NICs”, selecione ou adicione NICs para a imagem de preparação. Para cada NIC, selecione uma sub-rede VPC associada.
- Na página “Descrição da Versão”, insira uma descrição para a versão inicial da imagem criada.
- Na página “Resumo”, verifique os detalhes da definição da imagem e da versão inicial da imagem criada. Insira um nome e uma descrição para a definição da imagem. Clique em “Concluir”.
Criar versões de imagem
As versões de imagem permitem o gerenciamento de diferentes iterações ou atualizações de uma imagem específica. Essa funcionalidade permite manter várias versões de uma imagem para diferentes finalidades.
Para criar versões de imagem a partir da versão inicial da imagem, faça o seguinte:
Observação:
A unidade de hospedagem de todas as versões de imagem deve ser a mesma.
- Vá para o nó Imagens, selecione uma versão de imagem ou uma definição de imagem e clique em “Criar Versão de Imagem”.
- Na página “Definição de imagem”, você pode alterar a unidade de hospedagem e selecionar novamente a imagem mestre e o perfil de máquina para essa versão da imagem.
- Se você quiser que a configuração da versão da imagem seja diferente da versão inicial da imagem configurada, configure as definições nas páginas “Especificação da Máquina” e “NICs” da caixa de diálogo “Criar Versão de Imagem”.
- Adicione uma descrição para a versão da imagem. Clique em “Concluir”.
Observação:
Se a criação da versão da imagem falhar por qualquer motivo, a guia “Solução de Problemas” na parte inferior fornece uma opção “Tentar Novamente”.
Usar o PowerShell
Os comandos PowerShell detalhados para criar uma especificação de versão de imagem preparada são os seguintes:
-
Verifique os nomes de definição de imagem disponíveis usando o comando
Test-ProvImageDefinitionNameAvailable. Por exemplo,Test-ProvImageDefinitionNameAvailable -ImageDefinitionName <string[]> <!--NeedCopy--> -
Crie uma definição de imagem usando o comando
New-ProvImageDefinition. Por exemplo,New-ProvImageDefinition -ImageDefinitionName image1 -OsType Windows -VdaSessionSupport MultiSession <!--NeedCopy--> -
Crie uma nova configuração para a definição de imagem na conexão de Hospedagem especificada usando o comando
Add-ProvImageDefinitionConnection.Add-ProvImageDefinitionConnection -ImageDefinitionName image1 -HypervisorConnectionName test-conn <!--NeedCopy--> -
Crie uma versão de imagem usando o comando
New-ProvImageVersion. Por exemplo,New-ProvImageVersion -ImageDefinitionName image1 -Description "version 1" <!--NeedCopy--> -
Adicione uma especificação de versão de imagem mestre à versão da imagem usando o comando
Add-ProvImageVersionSpec. Por exemplo,Add-ProvImageVersionSpec -ImageDefinitionName image1 -ImageVersionNumber 1 -HostingUnitName aws -MasterImagePath "XDHyp:\HostingUnits\aws\win10-2411-ami (ami-00123456789abcdef).template”" <!--NeedCopy-->Observação:
-
Você pode adicionar apenas uma especificação de versão de imagem mestre a uma versão de imagem para uma unidade de hospedagem.
-
-
Crie uma especificação de versão de imagem preparada a partir da especificação de versão de imagem mestre usando o comando
New-ProvImageVersionSpec. O parâmetroSourceImageVersionSpecUidé derivado do comandoAdd-ProvImageVersionSpec. Por exemplo,```
New-ProvImageVersionSpec
- -SourceImageVersionSpecUid 00000000-0000-0000-0000-00000000000
-
-MachineProfile ‘XDHyp:\HostingUnits\aws\w2022-2411 (lt-00123456789abcdef).launchtemplate\lt-00123456789abcdef (1).launchtemplateversion’ -RunAsynchronously
```
Exemplo do conjunto completo de comandos PowerShell para criar definição de imagem, versão de imagem e especificação de versão de imagem preparada:
New-ProvImageDefinition -ImageDefinitionName image1 -OsType Windows -VdaSessionSupport MultiSession
Add-ProvImageDefinitionConnection -ImageDefinitionName image1 -HypervisorConnectionName aws-CustomProperties $CustomProperties
$imageVersion = New-ProvImageVersion -ImageDefinitionName image1 -Description "version 1"
$SourceImageVersionSpec = Add-ProvImageVersionSpec -ImageVersionUid $imageVersion.ImageVersionUid `
-HostingUnitUid $hostingunit.HostingUnitUid `
-MasterImagePath "XDHyp:\HostingUnits\aws\win10-2411-ami (ami-00123456789abcdef).template”
New-ProvImageVersionSpec -MachineProfile 'XDHyp:\HostingUnits\aws\w2022-2411 (lt-00123456789abcdef).launchtemplate\lt-00123456789abcdef (1).launchtemplateversion' -SourceImageVersionSpecUid $SourceImageVersionSpec.ImageVersionSpecUid
Add-ProvImageVersionSpecHostingUnit -ImageVersionSpecUid 00000000-0000-0000-0000-00000000000-HostingUnitName aws
$PreparedImageVersionSpec = Get-ProvImageVersionSpec -ImageVersionUid $imageVersion.ImageVersionUid | Where SourceImageVersionSpecUid-eq $SourceImageVersionSpec.ImageVersionSpecUid
<!--NeedCopy-->
Observação:
- Todas as especificações de versão de imagem em uma definição de imagem devem pertencer à mesma unidade de hospedagem.
- Uma versão de imagem pode ter apenas uma especificação de versão de imagem mestre e uma especificação de versão de imagem preparada.
- Todas as especificações de versão de imagem devem ter um perfil de máquina.
Compartilhar imagens preparadas entre zonas de disponibilidade e regiões
Agora você pode compartilhar uma única imagem preparada entre diferentes zonas de disponibilidade, vinculadas a diferentes unidades de hospedagem, dentro da mesma região AWS ou em regiões diferentes para seus ambientes AWS EC2. Isso permite que você use uma imagem preparada para criar e atualizar catálogos de máquinas MCS em várias zonas de disponibilidade e regiões. Ao compartilhar entre diferentes AZs em regiões diferentes, a versão da imagem preparada será copiada da região original para as regiões de destino.
Você pode manter uma única imagem preparada e usá-la para criar e atualizar catálogos de máquinas em várias zonas de disponibilidade e regiões vinculadas a diferentes unidades de hospedagem. Isso reduz significativamente sua sobrecarga de gerenciamento de imagens, garante consistência entre as implantações e otimiza o processo de provisionamento. Você também pode atualizar perfeitamente os catálogos de máquinas existentes com imagens preparadas de uma zona de disponibilidade ou região diferente.
Casos de uso
-
Gerenciamento Centralizado de Imagens: Você cria uma imagem preparada em uma zona de disponibilidade (por exemplo,
us-east-1a). Em seguida, você pode compartilhar essa imagem com outras zonas de disponibilidade, comous-east-1bdentro da mesma região AWSus-east-1ouus-west-1aem uma regiãous-west-1diferente. Isso permite que uma única imagem atenda a várias unidades de hospedagem e simplifica a manutenção para você. -
Criação e Atualização Eficientes de Catálogos: Você pode usar uma imagem preparada criada na
AZ 1(por exemplo,us-east-1a) para criar novos catálogos naAZ 1. Depois de compartilhar essa imagem com aAZ 2(por exemplo,us-east-1b), você pode usar a imagem compartilhada naAZ 2para criar e atualizar catálogos naAZ 2. - Implantações entre unidades de hospedagem e conexões de hospedagem: Se seu ambiente tiver várias unidades de hospedagem na mesma região AWS ou em regiões diferentes, você poderá compartilhar imagens preparadas de forma eficiente entre essas unidades de hospedagem.
Limitações
- Compartilhamento específico da região: Você só pode compartilhar imagens preparadas entre zonas de disponibilidade dentro da mesma Região AWS. Não é possível compartilhar entre diferentes regiões AWS ou diferentes contas AWS na implementação atual.
Considerações importantes
- Ordem de exclusão: Para excluir uma especificação de versão de imagem preparada original, você deve primeiro excluir todas as suas especificações de versão de imagem compartilhadas. Alternativamente, você deve excluir as especificações original e compartilhada simultaneamente.
- Dependência da versão da imagem: Ao remover uma versão da imagem, você deve primeiro remover quaisquer configurações de compartilhamento que dependam dessa versão específica da imagem. Os catálogos que você criou a partir da imagem original (não compartilhada) podem permanecer intactos.
- Retrocompatibilidade do catálogo: Você pode atualizar catálogos de máquinas existentes que foram implantados antes da introdução deste recurso. Use imagens preparadas que você criou em uma zona de disponibilidade ou região diferente daquela onde você implantou o catálogo originalmente.
- Exclusão completa: Ao excluir uma imagem preparada, você não poderá mais usá-la em nenhuma zona de disponibilidade onde a compartilhou ou a criou originalmente. Além disso, uma versão de imagem preparada não pode ser excluída até que todos os catálogos vinculados a essa versão de imagem preparada sejam excluídos primeiro.
Pré-requisitos
Antes de configurar ou usar este recurso, certifique-se de que você atende às seguintes condições:
- Seu ambiente deve ser um ambiente AWS EC2.
- Você deve configurar várias unidades de hospedagem (cada uma pode ser vinculada a diferentes zonas de disponibilidade) e conexões de host (cada uma pode ser vinculada a uma região diferente) na mesma conta AWS.
Configurar usando o PowerShell
Atualmente, você pode compartilhar imagens preparadas entre zonas de disponibilidade vinculadas a diferentes unidades de hospedagem usando apenas comandos do PowerShell.
Para compartilhar uma imagem preparada
- Certifique-se de ter o
ImageVersionSpecUidda imagem preparada que você deseja compartilhar. Você pode recuperá-lo usandoGet-ProvImageVersionSpecou comandosGet-semelhantes no PowerShell. - Determine o
HostingUnitNameda zona de disponibilidade (pode ser a mesma região ou uma diferente) onde você deseja disponibilizar a imagem preparada. Este é o nome da unidade de hospedagem que você configurou para essa zona de disponibilidade específica. -
Execute o comando
Add-ProvImageVersionSpecHostingUnit: Use o seguinte comando do PowerShell. Substitua<ImageVersionSpecUid>pelo Uid da sua imagem e<targetHostingUnitName>pelo nome da unidade de hospedagem na zona de disponibilidade de destino para a qual você deseja compartilhar a especificação da versão da imagem:Add-ProvImageVersionSpecHostingUnit -ImageVersionSpecUid <ImageVersionSpecUid> -HostingUnitName <targetHostingUnitName> <!--NeedCopy--> - Após a execução bem-sucedida, você pode ver o status da imagem na interface do usuário do Studio, indicando que você a compartilhou com a unidade de hospedagem especificada.
-
Para remover o compartilhamento de uma imagem preparada
-
- Certifique-se de ter o
ImageVersionSpecUidda imagem preparada da qual você deseja remover o compartilhamento.
- Certifique-se de ter o
- Determine o
HostingUnitNameda zona de disponibilidade da qual você deseja remover a imagem compartilhada. -
Execute o comando
Remove-ProvImageVersionSpecHostingUnit: Use o seguinte comando do PowerShell. Substitua<ImageVersionSpecUid>pelo Uid da sua imagem e<targetHostingUnitName>pelo nome da unidade de hospedagem na zona de disponibilidade de destino da qual você deseja remover o compartilhamento da especificação da versão da imagem:Remove-ProvImageVersionSpecHostingUnit -ImageVersionSpecUid <ImageVersionSpecUid> -HostingUnitName <targetHostingUnitName> <!--NeedCopy-->
Criar um catálogo de máquinas
Usar o Studio
Criar um catálogo de máquinas a partir do nó Imagens
Use a opção “Criar catálogo” no nó “Imagens” para criar um catálogo usando a versão da imagem.
Alternativamente, você pode selecionar a versão ao criar um catálogo no nó “Catálogos de Máquinas”, vinculando à opção de imagem preparada no fluxo de trabalho de criação de catálogo. Consulte Criar um catálogo de máquinas a partir do nó Catálogos de Máquinas.
Para criar um catálogo de máquinas MCS a partir do nó “Imagens”, faça o seguinte:
- Selecione uma versão da imagem e clique em “Criar catálogo”. Clique em “Avançar” na página “Introdução”.
- Nas páginas “Gerenciamento de Máquinas” e “Imagem”, as configurações são pré-selecionadas com base na versão da imagem selecionada. Na página Imagem, insira uma nota para a imagem preparada selecionada.
- Conclua as configurações nas páginas seguintes.
- Na página “Resumo”, verifique os detalhes do catálogo de máquinas. Insira um nome e uma descrição para o catálogo de máquinas. Clique em “Concluir”.
- Vá para o nó “Catálogos de Máquinas” para ver o catálogo de máquinas criado.
Criar um catálogo de máquinas a partir do nó Catálogos de Máquinas
Para criar um catálogo de máquinas MCS a partir do nó Catálogos de Máquinas, faça o seguinte:
- Clique em “Catálogos de Máquinas” no painel de navegação esquerdo.
- Clique em “Criar Catálogo de Máquinas”. A página “Configuração do Catálogo de Máquinas” é exibida.
- Na página “Tipo de Máquina”, selecione um tipo de máquina para o catálogo, por exemplo, “SO multissessão”.
-
Na página “Gerenciamento de Máquinas”, selecione as seguintes configurações:
- Selecione “Máquinas com gerenciamento de energia (por exemplo, máquinas virtuais ou PCs blade)”.
- Selecione “Tecnologia de provisionamento Citrix”. Em seguida, selecione “Citrix Machine Creation Services™”.
- No campo “Recursos”, selecione os recursos (Zona de Disponibilidade) que você configurou ao criar a conexão do host e clique em “Avançar”.
- Na página “Experiência da área de trabalho”, selecione uma área de trabalho aleatória ou estática que você deseja que os usuários tenham ao fazer login. Se uma área de trabalho estática for selecionada, especifique ainda se você deseja salvar as alterações que o usuário faz no disco local (persistente ou não persistente).
-
Na página “Imagem”, clique em “Selecionar uma imagem” para selecionar uma imagem preparada para o catálogo de máquinas. Selecione a versão preparada que você criou. Clique no nome da versão da imagem. Para ver mais detalhes sobre a versão da imagem selecionada, clique no número da versão, que está sublinhado. Clique em “Concluído”.
O perfil da máquina associado à imagem preparada é exibido e suas propriedades de hardware (por exemplo, tipo de instância, tipo de locação, mapeamentos de rede, grupos de segurança, propriedades de volume) são usadas para criar máquinas nos catálogos. Para alterar a origem do perfil da máquina para outra VM ou versão de modelo de inicialização, clique no botão de edição.
-
Na página “Máquinas Virtuais”:
- Insira o número de VMs para o catálogo.
- A especificação padrão da máquina é exibida, baseada no perfil da máquina. Para alterá-la, selecione o ícone de edição e selecione uma especificação de máquina.
- Na página “NICs”, selecione as NICs (ou ENIs) para as VMs.
- Na página “Identidades da Máquina”, configure o Active Directory local ou o Microsoft Entra híbrido para as máquinas no catálogo, selecionando o domínio e criando novas contas AD para as VMs a serem criadas neste catálogo de máquinas. As VMs provisionadas são unidas ao domínio selecionado. Especifique o esquema de nomenclatura de conta para as novas contas AD a serem criadas para as VMs. Clique em “Avançar”.
- Na página “Credenciais de domínio”, clique em “Inserir credenciais” para fornecer as credenciais para o domínio selecionado. Insira o nome de usuário e a senha de nível de administrador quando solicitado. Você também pode usar uma conta de serviço se já tiver credenciais de domínio salvas anteriormente, seguindo nossa documentação do produto.
- Clique nas páginas restantes até a página “Resumo”. Insira um nome para o catálogo de máquinas e selecione “Concluir” para criar o catálogo de máquinas.
Usar o PowerShell
Criar um catálogo usando uma especificação de versão de imagem preparada e um perfil de máquina
-
Crie um catálogo de máquinas MCS não persistente a partir da especificação da versão da imagem preparada usando o comando
New-ProvScheme. Por exemplo,New-ProvScheme -ProvisioningSchemeName <string> -ImageVersionSpecUid <Guid> -HostingUnitUid <Guid> -IdentityPoolUid <Guid> [-CleanOnBoot $true] [-MachineProfile <string>] [-ProvisioningSchemeType “MCS”] <!--NeedCopy-->Crie um catálogo de máquinas MCS persistente a partir da especificação da versão da imagem preparada usando o comando
New-ProvScheme. Por exemplo,New-ProvScheme -ProvisioningSchemeName <string> -ImageVersionSpecUid <Guid> -HostingUnitUid <Guid> -IdentityPoolUid <Guid> [-CleanOnBoot $false] [-MachineProfile <string>] [-ProvisioningSchemeType “MCS”] <!--NeedCopy-->
Exemplo do conjunto completo de comandos do PowerShell para criar um catálogo:
$Catalog = New-BrokerCatalog -AllocationType "Random" -IsRemotePC $False -MinimumFunctionalLevel "L7_20" -Name "awscatalog" -PersistUserChanges "Discard" -ProvisioningType "MCS" -Scope @() -SessionSupport "MultiSession"
$IdentityPool = New-AcctIdentityPool -AllowUnicode -Domain "domainname" -IdentityPoolName "awscatalog" -IdentityType "ActiveDirectory" -NamingScheme "aws##" -NamingSchemeType "Numeric" -Scope @()
$PreparedImageVersionSpec = Get-ProvImageVersionSpec -ImageDefinitionName image1 -ImageVersionNumber 1 -Filter "PreparationType -eq 'Mcs'"
$Task = New-ProvScheme -ProvisioningSchemeName awscatalog -ImageVersionSpecUid $PreparedImageVersionSpec.ImageVersionSpecUid -HostingUnitName aws -IdentityPoolName awscatalog -CleanOnBoot -Scope @() -SecurityGroup @() -MachineProfile 'XdHyp:\HostingUnits\cvad-test-scalestress\us-east-1a.availabilityzone\machine-profile-instance i (i-0xxxxxxxx).vm' -RunAsynchronously
Get-ProvTask -TaskId $Task.TaskId
$ProvScheme = Get-ProvScheme -ProvisioningSchemeName awscatalog
Set-BrokerCatalog -Name $Catalog.Name -ProvisioningSchemeId $ProvScheme.ProvisioningSchemeUid
<!--NeedCopy-->