Citrix DaaS

Ambientes de nuvem do Microsoft Azure Resource Manager

Siga as orientações deste artigo ao usar o Microsoft Azure Resource Manager para provisionar máquinas virtuais em sua implantação do serviço Citrix Virtual Apps ou Citrix Virtual Desktops.

Presumimos que você esteja familiarizado com o seguinte:

Provisionamento sob demanda do Azure

Com o provisionamento sob demanda do Azure, as VMs são criadas somente quando o Citrix Virtual Apps and Desktops inicia uma ação de inicialização, após a conclusão do provisionamento.

Quando você usa o MCS para criar catálogos de máquina no Azure Resource Manager, o recurso de provisionamento sob demanda do Azure:

  • Reduz os custos de armazenamento
  • Oferece criação de catálogos mais rápida

Quando você cria um catálogo MCS, o portal do Azure exibe o grupo de segurança de rede, as interfaces de rede, as imagens base e os discos de identidade nos grupos de recursos.

O portal do Azure não mostra uma VM até que o Citrix Virtual Apps and Desktops inicie uma ação de inicialização para ela. Em seguida, o status da VM na interface Full Configuration muda para On. Existem dois tipos de máquinas com as seguintes diferenças:

  • No caso de uma máquina em pool, o disco do sistema operacional e o cache de write-back existem somente quando a VM existe. Quando você desliga uma máquina em pool no console, a VM não fica visível no portal do Azure. Há uma economia significativa nos custos de armazenamento se você desligar as máquinas rotineiramente (por exemplo, fora do horário de trabalho).
  • Para uma máquina dedicada, o disco do sistema operacional é criado na primeira vez que a VM é ligada. A VM no portal do Azure permanece armazenada até que a identidade da máquina seja excluída. Quando você encerra uma máquina dedicada no console, a VM ainda fica visível no portal do Azure.

Conexão com o Azure Resource Manager

Create and manage connections descreve os assistentes que criam uma conexão. As informações a seguir abrangem detalhes específicos das conexões do Azure Resource Manager.

Considerações:

  • A Citrix recomenda usar o Service Principal com a função de colaborador. No entanto, consulte a seção Minimum permissions para obter a lista de permissões mínimas.
  • Ao criar a primeira conexão, o Azure solicita que você conceda as permissões necessárias. Em conexões futuras, ainda será necessário que você se autentique, mas o Azure se lembra do seu consentimento anterior e não exibe o prompt novamente.
  • As contas usadas para autenticação devem ser coadministradores da assinatura.
  • A conta usada para autenticação deve ser um membro do diretório da assinatura. É preciso distinguir dois tipos de conta: ‘Trabalho ou escola’ e ‘conta pessoal da Microsoft’. Veja CTX219211 para obter mais detalhes
  • Embora você possa usar uma conta Microsoft existente adicionando-a como membro do diretório da assinatura, pode haver complicações se o usuário tiver recebido anteriormente acesso de convidado a um dos recursos do diretório. Nesse caso, eles podem ter uma entrada de espaço reservado no diretório que não lhes concede as permissões necessárias e é retornado um erro.

    Retifique isso removendo os recursos do diretório e adicione-os de volta explicitamente. No entanto, exerça essa opção com cuidado, pois ela tem efeitos não intencionais em outros recursos que a conta pode acessar.

  • Há um problema conhecido em que determinadas contas são detectadas como convidados do diretório quando na verdade são membros. Configurações como essa geralmente ocorrem com contas de diretório estabelecidas mais antigas. Solução alternativa: adicione uma conta ao diretório, que recebe o valor de associação adequado.
  • Os grupos de recursos são simplesmente contêineres de recursos e podem conter recursos de regiões diferentes da sua própria região. Isso pode ser confuso se você espera que os recursos exibidos na região de um grupo de recursos estejam disponíveis.
  • Sua rede e sub-rede devem ser grandes o suficiente para hospedar o número de máquinas necessárias. Isso requer alguma previsão, mas a Microsoft ajuda você a especificar os valores corretos, com orientações sobre a capacidade do espaço de endereço.

Você pode estabelecer uma conexão de host com o Azure de duas maneiras:

  • Autenticar no Azure para criar uma entidade de serviço.
  • Use os detalhes de uma entidade de serviço criada anteriormente para se conectar ao Azure.

Crie uma entidade de serviço

Importante:

Esse recurso ainda não está disponível para assinaturas do Azure China e do Azure Germany.

Antes de começar, autentique-se no Azure. Pré-requisitos:

  • Você tem uma conta de usuário no locatário do Azure Active Directory da sua assinatura.
  • A conta de usuário do Azure AD também é coadministradora da assinatura do Azure que você deseja usar para provisionar recursos.
  • A autenticação requer permissões de administrador global.

Quando você se autentica no Azure para criar uma entidade de serviço, um aplicativo é registrado no Azure. Uma chave secreta (segredo do cliente) é criada para o aplicativo registrado. O aplicativo registrado usa o segredo do cliente para autenticar no Azure AD. Lembre-se de alterar o segredo do cliente antes que ele expire. Você recebe um alerta no console antes que a chave secreta expire. Consulte Segredo do aplicativo e a data de expiração secreta.

Para autenticar no Azure para criar uma entidade de serviço, conclua as seguintes etapas no assistente Add Connection and Resources :

  1. Na página Connection, selecione Create a new connection, o tipo de conexão Microsoft Azure e seu ambiente do Azure.

  2. Selecione quais ferramentas usar para criar as máquinas virtuais e, em seguida, selecione Next.

  3. Na página Connection Details, insira seu ID de assinatura do Azure e um nome para a conexão. Depois de inserir o ID da assinatura, o botão Create new será ativado.

    Nota:

    O nome da conexão pode conter de 1 a 64 caracteres e não pode conter apenas espaços em branco nem os caracteres \/;:#.*?=<>|[]{}"'()'.

  4. Selecione Create new e insira o nome de usuário e a senha da conta do Azure Active Directory.

  5. Selecione Sign in.

  6. Selecione Accept para conceder ao Citrix Virtual Apps and Desktops as permissões listadas. O Citrix Virtual Apps and Desktops cria uma entidade de serviço que permite gerenciar recursos do Azure em nome do usuário especificado.

  7. Depois de selecionar Accept, você retorna à página Connection no assistente.

    Nota:

    Depois de autenticar com êxito no Azure, os botões Create new e Use existing desaparecem. O texto Connection successful aparece, com uma marca de seleção verde, indicando a conexão bem-sucedida com sua assinatura do Azure.

  8. Na página Connection Details, selecione Next.

    Nota:

    Você não pode prosseguir para a próxima página até que você se autentique com êxito no Azure e faça a concessão das permissões necessárias.

  9. Configure recursos para a conexão. Os recursos compreendem a região e a rede.

    • Na página Region, selecione uma região.
    • Na página Network, faça o seguinte:
      • Digite um nome de recurso de 1 a 64 caracteres para ajudar a identificar a combinação de região e rede. Um nome de recurso não pode conter apenas espaços em branco nem os caracteres \/;:#.*?=<>|[]{}"'()'.
      • Selecione um par de rede virtual/grupo de recursos. (Se você tiver mais de uma rede virtual com o mesmo nome, o emparelhamento do nome da rede com o grupo de recursos fornecerá combinações exclusivas.) Se a região selecionada na página anterior não tiver nenhuma rede virtual, retorne a essa página e selecione uma região que tenha redes virtuais.
  10. Na página Summary, exiba um resumo das configurações e selecione Finish para concluir a configuração.

Use os detalhes de uma entidade de serviço criada anteriormente para se conectar ao Azure

Para criar uma entidade de serviço manualmente, conecte-se à sua assinatura do Azure Resource Manager e use os cmdlets do PowerShell fornecidos nas seções a seguir.

Pré-requisitos:

  • SubscriptionId: SubscriptionID do Azure Resource Manager para a assinatura onde você deseja provisionar VDAs.
  • ActiveDirectoryID: ID do locatário do aplicativo que você registrou no Azure AD.
  • ApplicationName: Nome do aplicativo a ser criado no Azure AD.

Para criar uma entidade de serviço:

  1. Conecte-se à sua assinatura do Azure Resource Manager.

    Connect-AzAccount

  2. Selecione a assinatura do Azure Resource Manager na qual você deseja criar a entidade de serviço.

    Get-AzSubscription -SubscriptionId $subscriptionId | Select-AzSubscription

  3. Crie o aplicativo em seu locatário do AD.

    $AzureADApplication = New-AzADApplication -DisplayName $ApplicationName

  4. Crie uma entidade de serviço.

    New-AzADServicePrincipal -ApplicationId $AzureADApplication.AppId

  5. Atribua uma função à entidade de serviço.

    New-AzRoleAssignment -RoleDefinitionName Contributor -ServicePrincipalName $AzureADApplication.AppId –scope /subscriptions/$SubscriptionId

  6. Na janela de saída do console do PowerShell, observe o ApplicationId. Você fornece esse ID ao criar a conexão do host.

No assistente Add Connection and Resources :

  1. Na página Connection, selecione Create a new connection, o tipo de conexão Microsoft Azure e seu ambiente do Azure.

  2. Selecione quais ferramentas usar para criar as máquinas virtuais e, em seguida, selecione Next.

  3. Na página Connection Details, insira seu ID de assinatura do Azure e um nome para a conexão.

    Nota:

    O nome da conexão pode conter de 1 a 64 caracteres e não pode conter apenas espaços em branco nem os caracteres \/;:#.*?=<>|[]{}"'()'.

  4. Selecione Use existing. Na janela Existing Service Principal Details, insira as seguintes configurações para a entidade de serviço existente. Depois de inserir os detalhes, o botão Save é ativado. Selecione Save. Você não pode progredir além desta página até fornecer detalhes válidos.

    • Subscription ID. Insira seu ID de assinatura do Azure. Para obter sua ID de assinatura, entre no portal do Azure e navegue até Subscriptions > Overview.
    • ID do Active Directory (ID do locatário). Insira a ID do Diretório (locatário) do aplicativo que você registrou no Azure AD.
    • Application ID. Insira a ID do aplicativo (cliente) do aplicativo que você registrou no Azure AD.
    • Application secret. Crie uma chave secreta (segredo do cliente). O aplicativo registrado usa a chave para autenticar no Azure AD. Recomendamos que você altere as chaves regularmente por motivos de segurança. Lembre-se de salvar a chave porque você não poderá recuperá-la mais tarde. Consulte Segredo do aplicativo e a data de expiração secreta.
    • Secret expiration date. Insira a data após a qual o segredo do aplicativo expira. Você recebe um alerta no console antes que a chave secreta expire. No entanto, se a chave secreta expirar, você receberá erros.

      Nota:

      Por motivos de segurança, o período de expiração não pode ser superior a dois anos a partir de agora.

    • Authentication URL. Esse campo é preenchido automaticamente e não é editável.
    • Management URL. Esse campo é preenchido automaticamente e não é editável.
    • Storage suffix. Esse campo é preenchido automaticamente e não é editável.
  5. Depois de selecionar Save, você retornará à página Connection Details. Selecione Next para prosseguir para a próxima página.

  6. Configure recursos para a conexão. Os recursos compreendem a região e a rede.

    • Na página Region, selecione uma região.
    • Na página Network, faça o seguinte:
      • Digite um nome de recurso de 1 a 64 caracteres para ajudar a identificar a combinação de região e rede. Um nome de recurso não pode conter apenas espaços em branco nem os caracteres \/;:#.*?=<>|[]{}"'()'.
      • Selecione um par de rede virtual/grupo de recursos. (Se você tiver mais de uma rede virtual com o mesmo nome, o emparelhamento do nome da rede com o grupo de recursos fornecerá combinações exclusivas.) Se a região selecionada na página anterior não tiver nenhuma rede virtual, retorne a essa página e selecione uma região que tenha redes virtuais.
  7. Na página Summary, exiba um resumo das configurações e selecione Finish para concluir a configuração.

Segredo do aplicativo e data de expiração secreta

Exibir o ID do aplicativo

Você pode visualizar o ID do aplicativo na interface Full Configuration.

No assistente Add Connection and Resources, selecione a conexão para exibir os detalhes. A guia Details mostra a ID do aplicativo.

ID do aplicativo na página Adicionar conexão e recursos

Exibir o segredo do aplicativo

Você pode exibir o segredo do aplicativo no portal do Azure.

  1. Obtenha o Application ID na interface Full Configuration.
  2. Faça login no portal do Azure.
  3. No Azure, selecione Azure Active Directory.
  4. Em App registrations no Azure AD, selecione o seu aplicativo.
  5. Acesse Certificates & secrets.
  6. Clique em Client secrets

Segredo do aplicativo no portal do Azure

Alterar a data de expiração secreta

Use a interface Full Configuration para adicionar ou modificar a data de expiração do segredo do aplicativo em uso.

  1. No assistente Add Connection and Resources, clique com o botão direito do mouse em uma conexão e clique em Edit Connection.
  2. Na página Connection Properties, clique em Secret expiration date para adicionar ou modificar a data de expiração do segredo do aplicativo em uso.

Alterar a data de expiração do segredo

Criar um novo segredo do aplicativo

Você pode criar um novo segredo de aplicativo de uma conexão por meio do portal do Azure.

  1. Selecione Azure Active Directory.
  2. Em App registrations no Azure AD, selecione o seu aplicativo.
  3. Acesse Certificates & secrets.
  4. Clique em Client secrets > New client secret.

    Criar novo segredo do aplicativo

  5. Forneça uma descrição do segredo e especifique uma duração. Quando terminar, selecione Adicionar.

    Nota:

    Lembre-se de salvar o segredo do cliente porque você não pode recuperá-lo mais tarde.

  6. Copie o valor do segredo do cliente e a data de expiração.
  7. Na interface Full Configuration, edite a conexão correspondente e substitua o conteúdo no campo Application secret e Secret expiration date pelos valores copiados.

Criar um catálogo de máquinas por meio de uma imagem do Azure Resource Manager

Essas informações são um complemento às orientações em Criar catálogos de máquinas.

Uma imagem é o modelo usado para criar as VMs em um catálogo de máquinas. Antes de criar o catálogo de máquinas, crie uma imagem no Azure Resource Manager. Para obter informações gerais sobre imagens, consulte Criar catálogos de máquinas.

Dica:

O uso de disco não gerenciado para provisionar a VM está preterido.

No assistente de criação de catálogo de máquinas:

  • As páginas Create machine catalogs e Machine Management não contêm informações específicas do Azure. Siga as instruções no artigo Criar catálogos de máquinas.

  • Na página Master Image, selecione uma imagem que você deseja usar como imagem mestre para todas as máquinas no catálogo. O assistente Select an image é exibido. Selecione a assinatura em que a imagem reside, selecione um grupo de recursos e vá para o Azure VHD, a Galeria de Computação do Azure (anteriormente Galeria de Imagens Compartilhadas) ou a versão da imagem do Azure.

    Ao selecionar uma imagem, considere o seguinte:

    • Verifique se um Citrix VDA está instalado na imagem.
    • Se você selecionar um VHD conectado a uma VM, deverá desligá-la antes de prosseguir para a próxima etapa.

    Nota:

    • A assinatura correspondente à conexão (host) que criou as máquinas no catálogo é indicada com um ponto verde. As outras assinaturas são aquelas que têm a Galeria de Computação do Azure compartilhada com essa assinatura. Nessas assinaturas, somente galerias compartilhadas são exibidas.
    • O uso de um perfil de máquina com início confiável como Security Type é obrigatório quando você seleciona uma imagem ou instantâneo com início confiável habilitado. Em seguida, você pode ativar ou desativar o SecureBoot e o vTPM especificando seus valores no Perfil de Máquina. O Trusted Launch não é compatível com a Galeria de Imagens Compartilhadas. Para obter informações sobre o início confiável do Azure, consulte https://docs.microsoft.com/en-us/azure/virtual-machines/trusted-launch.
    • Você pode criar um esquema de provisionamento usando o disco de SO efêmero no Windows com início confiável. Ao selecionar uma imagem com início confiável, você deve selecionar um perfil de máquina com início confiável que esteja habilitado com vTPM. Para criar catálogos de máquinas usando o disco de SO efêmero, consulte Como criar máquinas usando discos de SO efêmeros.
    • Quando a replicação de imagem está em andamento, você pode prosseguir e selecionar a imagem como a imagem mestre e concluir a configuração. No entanto, a criação do catálogo pode demorar mais para ser concluída enquanto a imagem está sendo replicada. O MCS exige que a replicação seja concluída dentro de uma hora a partir da criação do catálogo. Se a replicação expirar, a criação do catálogo não se completará. Você pode verificar o status da replicação no Azure. Tente novamente se a replicação ainda estiver pendente ou após a conclusão da replicação.
    • Quando você seleciona uma imagem mestre para catálogos de máquinas no Azure, o MCS identifica o tipo de SO com base na imagem mestre e no perfil de máquina selecionados. Se o MCS não conseguir identificá-lo, selecione o tipo de SO que corresponde à imagem mestre.

    Para permitir que as VMs no catálogo herdem configurações de um perfil de máquina, marque a caixa de seleção Use a machine profile. Na lista de grupos de recursos, localize um grupo de recursos conforme necessário. Em seguida, no grupo de recursos, selecione uma especificação de modelo de VM ou ARM para usar como o perfil da máquina.

    Valide a especificação do modelo ARM para garantir que possa ser usada como um perfil de máquina para criar um catálogo de máquinas. Há duas maneiras de validar a especificação do modelo ARM:

    • Depois de selecionar a especificação do modelo ARM na lista de grupos de recursos, clique em Next. Mensagens de erro são exibidas se a especificação do modelo ARM tiver erros.
    • Execute um dos seguintes comandos do PowerShell:
      • Test-ProvInventoryItem -HostingUnitName <string> -InventoryPath <string>
      • Test-ProvInventoryItem -HostingUnitUid <Guid> -InventoryPath <string>

    Exemplos de configurações que as máquinas virtuais podem herdar de um perfil de máquina incluem:

    • Rede acelerada
    • Diagnóstico de inicialização
    • Cache de disco do host (relacionado aos discos OS e MCSIO)
    • Tamanho da máquina (salvo indicação em contrário)
    • Tags colocadas na VM

    Depois de criar o catálogo, você pode visualizar as configurações que a imagem herda do perfil da máquina. No nó Machine Catalogs, selecione o catálogo para exibir seus detalhes no painel inferior. Em seguida, clique na guia Template Properties para visualizar as propriedades do perfil da máquina. A seção Tags exibe até três tags. Para visualizar todas as tags colocadas na VM, clique em View all.

    Se desejar que o MCS provisione VMs em um host dedicado do Azure, habilite a caixa de seleção Use a host group de hosts e selecione um grupo de hosts na lista. Um grupo de hosts é um recurso que representa uma coleção de hosts dedicados. Um host dedicado é um serviço que fornece servidores físicos que hospedam uma ou mais máquinas virtuais. Seu servidor é dedicado à sua assinatura do Azure, não compartilhado com outros assinantes. Quando você usa um host dedicado, o Azure garante que suas VMs sejam as únicas máquinas em execução nesse host. Esse recurso é adequado para cenários em que você precisa atender aos requisitos regulamentares ou de segurança interna. Para saber mais sobre grupos de hosts e considerações para usá-los, consulte Hosts dedicados do Azure.

    Importante:

    • Somente são exibidos os grupos de hosts que têm o posicionamento automático do Azure habilitado.
    • Ao usar um perfil de máquina, você não pode usar um grupo de hosts.
    • O uso de um grupo de hosts altera a página Virtual Machines oferecida posteriormente no assistente. Somente os tamanhos de máquina que o grupo de hosts selecionado contém são mostrados nessa página. Além disso, as zonas de disponibilidade são selecionadas automaticamente e não estão disponíveis para seleção.
  • A página Storage and License Types só aparece quando você usa uma imagem do Azure Resource Manager.

    Página Storage and License Types

    Os seguintes tipos de armazenamento podem ser usados no catálogo de máquinas:

    • Premium SSD. Oferece uma opção de armazenamento em disco de alto desempenho e baixa latência adequada para VMs com cargas de trabalho intensivas de E/S.
    • Standard SSD. Oferece uma opção de armazenamento econômica que é adequada para cargas de trabalho que exigem desempenho consistente em níveis de IOPS mais baixos. Um disco de identidade do Azure é sempre criado usando o SSD padrão.
    • Standard HDD. Oferece uma opção de armazenamento em disco confiável e de baixo custo adequada para VMs que executam cargas de trabalho insensíveis à latência.
    • Azure ephemeral OS disk. Oferece uma opção de armazenamento econômica que reutiliza o disco local das VMs para hospedar o disco do sistema operacional. Como alternativa, você pode usar o PowerShell para criar máquinas que usam discos de SO efêmeros. Para obter mais informações, consulte Discos efêmeros do Azure. Leve em consideração os seguintes aspectos ao usar um disco de SO efêmero:
      • O disco de SO efêmero do Azure e o MCS I/O não podem estar ativados ao mesmo tempo.
      • Para atualizar máquinas que usam discos de SO efêmeros, você deve selecionar uma imagem cujo tamanho não exceda o tamanho do disco de cache ou do disco temporário da VM.
      • Não é possível usar a opção Retain system disk during power cycles oferecida posteriormente no assistente.

    O tipo de armazenamento determina quais tamanhos de máquina são oferecidos na página Máquinas Virtuais do assistente. O MCS configura discos premium e padrão para usar o Armazenamento com Redundância Local (LRS). O LRS faz várias cópias síncronas dos dados do disco em um único data center. Os discos de SO efêmeros do Azure usam o disco local das VMs para armazenar o sistema operacional. Para obter detalhes sobre os tipos de armazenamento do Azure e a replicação de armazenamento, consulte o seguinte:

    Selecione se deseja usar as licenças existentes do Windows ou do Linux.

    • Licenças do Windows: o uso de licenças do Windows junto com imagens do Windows (imagens de suporte da plataforma Azure ou imagens personalizadas) permite executar VMs do Windows no Azure a um custo reduzido. Existem dois tipos de licenças:

      • Windows Server license. Possibilita que você use suas licenças do Windows Server ou do Azure Windows Server, permitindo que você use os Benefícios Híbridos do Azure. Para obter detalhes, consulte https://azure.microsoft.com/en-us/pricing/hybrid-benefit/. O Azure Hybrid Benefit reduz o custo de execução de VMs no Azure para a taxa de computação básica, dispensando o custo de licenças extras do Windows Server da galeria do Azure.

      • Windows Client license. Permite que você traga suas licenças do Windows 10 para o Azure, permitindo que você execute VMs do Windows 10 no Azure sem a necessidade de licenças extras. Para obter detalhes, consulte Licenças de acesso para cliente e licenças de gerenciamento.

    Nota:

    A opção de licença do Windows Client varia de acordo com o sistema operacional selecionado durante a configuração do catálogo de máquinas. Se você selecionar Multi-session OS, a opção aparecerá como Use my Windows 10 licenses. Se você selecionar Single-session OS, a opção aparecerá como Use my Windows Client licenses.

    Você pode verificar se a VM provisionada está usando o benefício de licenciamento executando o seguinte comando do PowerShell: Get-AzVM -ResourceGroup MyResourceGroup -Name MyVM.

    Como alternativa, você pode usar o SDK PowerShell Get-Provscheme para realizar a verificação. Por exemplo: Get-Provscheme -ProvisioningSchemeName "My Azure Catalog". Para obter mais informações sobre esse cmdlet, consulte https://developer-docs.citrix.com/projects/citrix-virtual-apps-desktops-sdk/en/latest/MachineCreation/Get-ProvScheme/.

    • Licenças do Linux: com as licenças BYOS (traga sua própria assinatura) do Linux, você não precisa pagar pelo software. A cobrança da BYOS inclui apenas a taxa de hardware de computação. Existem dois tipos de licenças:

      • RHEL_BYOS: para usar o tipo RHEL_BYOS com sucesso, habilite o Red Hat Cloud Access na sua assinatura do Azure.
      • SLES_BYOS: as versões BYOS do SLES incluem suporte da SUSE.

      Você pode definir o valor de LicenseType para as opções do Linux em New-ProvScheme e Set-ProvScheme.

      Exemplo de configuração de LicenseType como RHEL_BYOS em New-ProvScheme:

      New-ProvScheme -CleanOnBoot -ProvisioningSchemeName "azureCatalog" -RunAsynchronously -Scope @() -SecurityGroup @() -CustomProperties '<CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><Property xsi:type="StringProperty" Name="UseManagedDisks" Value="true" /><Property xsi:type="StringProperty" Name="StorageAccountType" Value="StandardSSD_LRS" /><Property xsi:type="StringProperty" Name="ResourceGroups" Value="hu-dev-mcs" /><Property xsi:type="StringProperty" Name="OsType" Value="Linux" /><Property xsi:type="StringProperty" Name="LicenseType" Value="RHEL_BYOS" /></CustomProperties>'
      <!--NeedCopy-->
      

      Exemplo de configuração de LicenseType como SLES_BYOS em Set-ProvScheme:

      Set-ProvScheme -ProvisioningSchemeName "azureCatalog" -CustomProperties '<CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><Property xsi:type="StringProperty" Name="UseManagedDisks" Value="true" /><Property xsi:type="StringProperty" Name="StorageAccountType" Value="StandardSSD_LRS" /><Property xsi:type="StringProperty" Name="ResourceGroups" Value="hu-dev-mcs" /><Property xsi:type="StringProperty" Name="OsType" Value="Linux" /><Property xsi:type="StringProperty" Name="LicenseType" Value="SLES_BYOS" /></CustomProperties>'
      <!--NeedCopy-->
      

      Nota:

      Se o valor LicenseType estiver vazio, os valores padrão serão Azure Windows Server License ou Azure Linux License, dependendo do valor de OsType.

      Exemplo de configuração de LicenseType como vazio:

      Set-ProvScheme -ProvisioningSchemeName "azureCatalog" -CustomProperties '<CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><Property xsi:type="StringProperty" Name="UseManagedDisks" Value="true" /><Property xsi:type="StringProperty" Name="StorageAccountType" Value="StandardSSD_LRS" /><Property xsi:type="StringProperty" Name="ResourceGroups" Value="hu-dev-mcs" /><Property xsi:type="StringProperty" Name="OsType" Value="Linux" /></CustomProperties>'
      <!--NeedCopy-->
      

    Consulte os seguintes documentos para entender os tipos de licença e seus benefícios:

    A Galeria de Imagens Compartilhadas do Azure (SIG) é um repositório para gerenciar e compartilhar imagens. Ele permite que você disponibilize suas imagens em toda a organização. Recomendamos que você armazene uma imagem na SIG ao criar grandes catálogos de máquinas não persistentes, pois isso permite redefinições mais rápidas dos discos de SO VDA. Depois de selecionar Place image in Azure Shared Image Gallery, a seção de configurações da Galeria de Imagens Compartilhadas do Azure será exibida, permitindo que você especifique mais configurações de SIG:

    • Ratio of virtual machines to image replicas. Permite especificar a proporção de máquinas virtuais para réplicas de imagem que você deseja que o Azure mantenha. Por padrão, o Azure mantém uma única réplica de imagem para cada 40 máquinas não persistentes. Em máquinas persistentes, o número assume o valor padrão 1.000.

    • Contagem máxima de réplica. Permite especificar o número máximo de réplicas de imagem que você deseja que o Azure mantenha. O padrão é 10.

  • Na página Virtual Machines, indique quantas VMs você deseja criar. Você deve especificar pelo menos um e selecionar um tamanho de máquina. Após a criação do catálogo, você pode alterar o tamanho da máquina editando o catálogo.

  • A página NICs não contém informações específicas do Azure. Siga as instruções no artigo Criar catálogos de máquinas.

  • Na página Disk Settings, escolha se deseja ativar o cache write-back. Depois de ativar o cache de write-back, você pode fazer o seguinte:

    • Configurar o tamanho do disco e da RAM usados para armazenar dados temporários em cache. Para obter mais informações, consulte Configurar cache para dados temporários.

    • Selecionar o tipo de armazenamento para o disco de cache de write-back. As seguintes opções de armazenamento estão disponíveis para uso no disco de cache de write-back:

      • Premium SSD
      • Standard SSD
      • Standard HDD
    • Selecione o tipo para o disco de cache de write-back.

      • Use non-persistent write-back cache disk. Se selecionado, o disco de cache write-back é excluído durante os ciclos de alimentação de energia. Todos os dados redirecionados para ele serão perdidos. Se o disco temporário da VM tiver espaço suficiente, ele será usado para hospedar o disco de cache write-back para reduzir seus custos. Após a criação do catálogo, você pode verificar se as máquinas provisionadas usam o disco temporário. Para fazer isso, clique no catálogo e verifique as informações na guia Template Properties. Se o disco temporário for usado, você verá Non-persistent Write-back Cache Disk e seu valor será Yes (using VM’s temporary disk). Caso contrário, você verá Non-persistent Write-back Cache Disk e seu valor será Yes (not using VM’s temporary disk).
      • Use persistent write-back cache disk. Se selecionado, o disco de cache de write-back persistirá para as VMs provisionadas. Habilitar a opção aumenta os custos de armazenamento.

      Para obter mais informações, consulte Criar catálogos de máquinas.

    • Escolha se deseja reter os discos do sistema para VDAs durante os ciclos de alimentação de energia.

      • Retain system disk during power cycles. Por padrão, o disco do sistema é excluído no desligamento e recriado na inicialização. Isso garante que o disco esteja sempre em um estado limpo, mas resulta em tempos de reinicialização mais longos da VM. Se as gravações do sistema forem redirecionadas para o cache de RAM e transbordarem para o disco de cache, o disco do sistema permanecerá inalterado. Ativar essa opção aumenta os custos de armazenamento, mas reduz os tempos de reinicialização da VM. Selecione Enable write-back cache para tornar essa opção disponível.
        • Retain VMs across power cycles. Selecione essa opção para manter a personalização da VM e permitir que as VMs sejam iniciadas por meio do portal do Azure.
    • Escolha se deseja criptografar os dados nas máquinas provisionadas no catálogo. A criptografia no lado do servidor com uma chave de criptografia gerenciada pelo cliente permite gerenciar a criptografia em um nível de disco gerenciado e proteger os dados nas máquinas no catálogo. Para obter mais informações, consulte Criptografia do servidor do Azure.

  • Na página Resource Group, escolha se deseja criar grupos de recursos ou usar grupos existentes.

    • Se você optar por criar grupos de recursos, selecione Next.
    • Se você optar por usar grupos de recursos existentes, selecione grupos na lista Available Provisioning Resource Groups. Lembre-se: selecione grupos suficientes para acomodar as máquinas que você está criando no catálogo. Será exibida uma mensagem se você escolher muito poucos. Talvez você queira selecionar mais do que o mínimo necessário se planeja adicionar mais VMs ao catálogo posteriormente. Você não pode adicionar mais grupos de recursos a um catálogo depois que o catálogo é criado.

    Para obter mais informações, consulte Azure resource groups.

  • As páginas Machine Identities, Domain Credentials, Summary não contêm informações específicas do Azure. Siga as instruções no artigo Criar catálogos de máquinas.

Conclua o assistente.

Usar valores de propriedade do perfil da máquina

O catálogo de máquinas usa as seguintes propriedades que são definidas nas propriedades personalizadas:

  • Zona de disponibilidade
  • ID do grupo de hosts dedicados
  • ID do conjunto de criptografia de disco
  • Tipo de sistema operacional
  • Tipo de licença
  • Tipo de armazenamento

Se essas propriedades personalizadas não forem definidas explicitamente, os valores da propriedade serão definidos a partir da especificação do modelo ARM ou da VM, o que for usado como o perfil da máquina. Além disso, se ServiceOffering não for especificado, ele será definido a partir do perfil da máquina.

Nota:

Se algumas das propriedades estiverem ausentes no perfil da máquina e não estiverem definidas nas propriedades personalizadas, os valores padrão das propriedades serão usados sempre que aplicável.

A seção a seguir descreve alguns cenários em New-ProvScheme e Set-ProvScheme quando CustomProperties tem todas as propriedades definidas ou os valores são derivados de MachineProfile.

  • Cenário New-ProvScheme

    • MachineProfile tem todas as propriedades e CustomProperties não estão definidas. Exemplo:

      New-ProvScheme -MachineProfile "XDHyp:\HostingUnits\azureunit\machineprofile.folder\azure.resourcegroup\mpA.vm"

      Os valores a seguir são definidos como propriedades personalizadas para o catálogo:

       Get-ProvScheme | select CustomProperties
       <CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
       <Property xsi:type="StringProperty" Name="StorageAccountType" Value="<mpA-value>"/>
       <Property xsi:type="StringProperty" Name="OSType" Value="<mpA-value>"/>
       <Property xsi:type="StringProperty" Name="LicenseType" Value="<mpA-value>"/>
       <Property xsi:type="StringProperty" Name="DiskEncryptionSetId" Value="<mpA-value>"/>
       <Property xsi:type="StringProperty" Name="DedicatedHostGroupId" Value="<mpA-value>"/>
       <Property xsi:type="StringProperty" Name="Zones" Value="<mpA-value>"/>
       </CustomProperties>
       <!--NeedCopy-->
      
    • MachineProfile tem algumas propriedades e CustomProperties não estão definidas. Exemplo: MachineProfile tem somente LicenseType e OsType.

      New-ProvScheme -MachineProfile "XDHyp:\HostingUnits\azureunit\machineprofile.folder\azure.resourcegroup\mpA.vm"

      Os valores a seguir são definidos como propriedades personalizadas para o catálogo:

       Get-ProvScheme | select CustomProperties
       <CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
       <Property xsi:type="StringProperty" Name="OSType" Value="<mpA-value>"/>
       <Property xsi:type="StringProperty" Name="LicenseType" Value="<mpA-value>"/>
       </CustomProperties>
       <!--NeedCopy-->
      
    • Tanto MachineProfile quanto CustomProperties definem todas as propriedades. Exemplo:

      New-ProvScheme -MachineProfile "XDHyp:\HostingUnits\azureunit\machineprofile.folder\azure.resourcegroup\mpA.vm" -CustomProperties $CustomPropertiesA

      As propriedades personalizadas têm prioridade. Os valores a seguir são definidos como propriedades personalizadas para o catálogo:

       Get-ProvScheme | select CustomProperties
       <CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
       <Property xsi:type="StringProperty" Name="StorageAccountType" Value="<CustomPropertiesA-value>"/>
       <Property xsi:type="StringProperty" Name="OSType" Value="<CustomPropertiesA-value>"/>
       <Property xsi:type="StringProperty" Name="LicenseType" Value="<CustomPropertiesA-value>"/>
       <Property xsi:type="StringProperty" Name="DiskEncryptionSetId" Value="<CustomPropertiesA-value>"/>
       <Property xsi:type="StringProperty" Name="DedicatedHostGroupId" Value="<CustomPropertiesA-value>"/>
       <Property xsi:type="StringProperty" Name="Zones" Value="<CustomPropertiesA-value>"/>
       </CustomProperties>
       <!--NeedCopy-->
      
    • Algumas propriedades são definidas em MachineProfile e algumas propriedades são definidas em CustomProperties. Exemplo:
      • CustomProperties definem LicenseType e StorageAccountType
      • MachineProfile define LicenseType, OsType e Zones

      New-ProvScheme -MachineProfile "XDHyp:\HostingUnits\azureunit\machineprofile.folder\azure.resourcegroup\mpA.vm" -CustomProperties $CustomPropertiesA

      Os valores a seguir são definidos como propriedades personalizadas para o catálogo:

       Get-ProvScheme | select CustomProperties
       <CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
       <Property xsi:type="StringProperty" Name="StorageAccountType" Value="<CustomPropertiesA-value>"/>
       <Property xsi:type="StringProperty" Name="OSType" Value="<mpA-value>"/>
       <Property xsi:type="StringProperty" Name="LicenseType" Value="<CustomPropertiesA-value>"/>
       <Property xsi:type="StringProperty" Name="Zones" Value="<mpA-value>"/>
       </CustomProperties>
       <!--NeedCopy-->
      
    • Algumas propriedades são definidas em MachineProfile e algumas propriedades são definidas em CustomProperties. Além disso, ServiceOffering não está definida. Exemplo:

      • CustomProperties definem StorageType
      • MachineProfile define LicenseType
       New-ProvScheme -MachineProfile "XDHyp:\HostingUnits\azureunit\machineprofile.folder\azure.resourcegroup\mp.vm"
       -ServiceOffering "XDHyp:\HostingUnits\azureunit\serviceoffering.folder<explicit-machine-size>.serviceoffering"
       <!--NeedCopy-->
      

      Os valores a seguir são definidos como propriedades personalizadas para o catálogo:

       Get-ProvScheme | select ServiceOffering
       serviceoffering.folder<explicit-machine-size>.serviceoffering
      
       Get-ProvScheme | select CustomProperties
       <CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
       <Property xsi:type="StringProperty" Name="StorageAccountType" Value="explicit-storage-type"/>
       <Property xsi:type="StringProperty" Name="LicenseType" Value="value-from-machineprofile"/>
       </CustomProperties>
       <!--NeedCopy-->
      
    • Se OsType não estiver em CustomProperties nem em MachineProfile, então:
      • O valor é lido a partir da imagem mestre.
      • Se a imagem mestre for um disco não gerenciado, OsType será definido como Windows. Exemplo:

      New-ProvScheme -MachineProfile "XDHyp:\HostingUnits\azureunit\machineprofile.folder\azure.resourcegroup\mpA.vm" -MasterImageVM "XDHyp:\HostingUnits\azureunit\image.folder\linux-master-image.manageddisk"

      O valor da imagem mestre é gravado nas propriedades personalizadas, nesse caso, Linux.

       Get-ProvScheme | select CustomProperties
       <CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
       <Property xsi:type="StringProperty" Name="OSType" Value="Linux"/>
       </CustomProperties>
       <!--NeedCopy-->
      
  • Cenários Set-ProvScheme

    • Um catálogo existente com:

      • CustomProperties para StorageAccountType e OsType
      • MachineProfile mpA.vm que define Zones
    • Atualizações:

      • MachineProfile mpB.vm que define StorageAccountType
      • Um novo conjunto de propriedades personalizadas $CustomPropertiesB que define LicenseType e OsType

      Set-ProvScheme -MachineProfile "XDHyp:\HostingUnits\azureunit\machineprofile.folder\azure.resourcegroup\mpB.vm" -CustomProperties $CustomPropertiesB

      Os valores a seguir são definidos como propriedades personalizadas para o catálogo:

       Get-ProvScheme | select CustomProperties
       <CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
       <Property xsi:type="StringProperty" Name="StorageAccountType" Value="<mpB-value>"/>
       <Property xsi:type="StringProperty" Name="OSType" Value="<CustomPropertiesB-value>"/>
       <Property xsi:type="StringProperty" Name="LicenseType" Value="<CustomPropertiesB-value>"/>
           </CustomProperties>
       <!--NeedCopy-->
      
    • Um catálogo existente com:
      • CustomProperties para StorageAccountType e OsType
      • MachineProfile mpA.vm que define StorageAccountType e LicenseType
    • Atualizações:
      • Um novo conjunto de propriedades personalizadas $CustomPropertiesB que define StorageAccountType e OsType.

      Set-ProvScheme -CustomProperties $CustomPropertiesB

      Os valores a seguir são definidos como propriedades personalizadas para o catálogo:

       Get-ProvScheme | select CustomProperties
       <CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
       <Property xsi:type="StringProperty" Name="StorageAccountType" Value="<CustomPropertiesB-value>"/>
       <Property xsi:type="StringProperty" Name="OSType" Value="<CustomPropertiesB-value>"/>
       <Property xsi:type="StringProperty" Name="LicenseType" Value="<mp-A-value>"/>
       </CustomProperties>
       <!--NeedCopy-->
      
    • Um catálogo existente com:
      • CustomProperties para StorageAccountType e OsType
      • MachineProfile mpA.vm que define Zones
    • Atualizações:
      • Um MachineProfile mpB.vm que define StorageAccountType e LicenseType
      • ServiceOffering não está especificado

      Set-ProvScheme -MachineProfile "XDHyp:\HostingUnits\azureunit\machineprofile.folder\azure.resourcegroup\mpB.vm"

      Os valores a seguir são definidos como propriedades personalizadas para o catálogo:

       Get-ProvScheme | select ServiceOffering
       serviceoffering.folder<value-from-machineprofile>.serviceoffering
      
       Get-ProvScheme | select CustomProperties
       <CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
       <Property xsi:type="StringProperty" Name="StorageAccountType" Value="<mpB-value>"/>
       <Property xsi:type="StringProperty" Name="OSType" Value="<prior-CustomProperties-value>"/>
       <Property xsi:type="StringProperty" Name="LicenseType" Value="<mpB-value>"/>
       </CustomProperties>
       <!--NeedCopy-->
      

Usar o PowerShell para habilitar extensões de VM do Azure

Depois de selecionar a especificação do modelo ARM, execute os seguintes comandos do PowerShell para trabalhar com as extensões de VM do Azure:

  • Para exibir a lista de extensões de VM do Azure com suporte: Get-ProvMetadataConfiguration
  • Para adicionar extensões de VM adicionais: Add-ProvMetadataConfiguration. Por exemplo, Add-ProvMetadataConfiguration -PluginType "AzureRM" -ConfigurationName "Extension" -ConfigurationValue "CustomScriptExtension"

    Se você tentar adicionar qualquer um dos itens a seguir, o comando falhará com uma mensagem de erro:

    • Extensão definida pela Citrix.
    • Extensão definida pelo usuário existente.
    • Chaves de configuração não suportadas. Atualmente, a chave de configuração suportada é Extension.
  • Para remover extensões da lista: Remove-ProvMetadataConfiguration. Você pode remover as extensões que adicionou.

Localização do arquivo de paginação

Em ambientes do Azure, o local do arquivo de paginação é configurado quando você cria uma máquina virtual pela primeira vez. O formato da configuração do arquivo de paginação é: localização do arquivo de paginação [tamanho mínimo] [tamanho máximo] (o tamanho em MB). Para obter mais informações, consulte Como determinar o tamanho do arquivo de paginação apropriado.

Durante a preparação da imagem, quando você cria o esquema de provisionamento, o MCS determina a localização do arquivo de paginação com base em determinadas regras. Depois de criar o esquema de provisionamento, você não pode:

  • Alterar o tamanho da máquina virtual
  • Atualizar o perfil da máquina
  • Alterar as propriedades EOS e MCS I/O

Determinação da localização do arquivo de paginação

Recursos como EOS e MCS I/O têm seu próprio local de arquivo de paginação esperado e são exclusivos entre si. A tabela a seguir mostra a localização esperada do arquivo de paginação para cada recurso:

Recurso Local esperado do arquivo de paginação
EOS Disco do sistema operacional
MCS I/O Disco temporário do Azure primeiro, caso contrário, disco de cache de write-back

Nota:

Mesmo que você dissocie a preparação da imagem da criação do esquema de provisionamento, o MCS determina corretamente o local do arquivo de paginação. O local padrão do arquivo de paginação é o disco do SO.

Cenários de configuração do arquivo de paginação

A tabela a seguir descreve alguns dos cenários possíveis de configuração do arquivo de paginação durante a preparação da imagem e a atualização do esquema de provisionamento:

Durante Cenário Resultado
Preparação da imagem Você define o arquivo de paginação de imagem de origem no disco temporário, enquanto o tamanho da máquina virtual especificado no esquema de provisionamento não tem disco temporário O arquivo de paginação é colocado no SO
Preparação da imagem Você define o arquivo de página de imagem de origem no disco do SO, enquanto o tamanho da VM especificado no esquema de provisionamento tem um disco temporário O arquivo de paginação é colocado no disco temporário.
Preparação da imagem Você define o arquivo de paginação de imagem de origem no disco temporário e ativa o disco de SO efêmero no esquema de provisionamento O arquivo de paginação é colocado no disco do SO
Atualização do esquema de provisionamento Você tenta atualizar o esquema de provisionamento. O tamanho original da máquina virtual tem um disco temporário, enquanto a máquina virtual de destino não tem um disco temporário Rejeita a alteração com uma mensagem de erro
Atualização do esquema de provisionamento Você tenta atualizar o esquema de provisionamento. O tamanho original da máquina virtual não tem um disco temporário, enquanto a máquina virtual de destino tem um disco temporário Rejeita a alteração com uma mensagem de erro

Atualizar configuração do arquivo de paginação

Usando os comandos do PowerShell, você pode especificar as configurações do arquivo de paginação, incluindo o local e o tamanho. Isso substitui as configurações do arquivo de paginação determinadas pelo MCS. Você pode fazer isso executando o seguinte comando New-ProvScheme durante a criação do catálogo de máquinas:

New-ProvScheme -CleanOnBoot `
    -HostingUnitName "zijinnet" `
    -IdentityPoolName "PageFileSettingExample" `
    -ProvisioningSchemeName "PageFileSettingExample" `
    -InitialBatchSizeHint 1 `
    -MasterImageVM "XDHyp:\HostingUnits\zijinnet\image.folder\neal-zijincloud-resources.resourcegroup\CustomWin10VDA_OsDisk_1_9473d7c8a6174b2c8284c7d3efeea88f.manageddisk" `
    -NetworkMapping @{"0"="XDHyp:\HostingUnits\zijinnet\virtualprivatecloud.folder\East US.region\virtualprivatecloud.folder\neal-zijincloud-resources.resourcegroup\neal-zijincloud-resources-vnet.virtualprivatecloud\default.network"} `
    -ServiceOffering "XDHyp:\HostingUnits\zijinnet\serviceoffering.folder\Standard_B2ms.serviceoffering" `
    -CustomProperties '<CustomProperties xmlns=" http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi=" http://www.w3.org/2001/XMLSchema-instance"> `
    <Property xsi:type="StringProperty" Name="PersistOsDisk" Value="false"/> `
    <Property xsi:type="StringProperty" Name="PersistVm" Value="false"/> `
    <Property xsi:type="StringProperty" Name="PageFileDiskDriveLetterOverride" Value="d"/> `
    <Property xsi:type="StringProperty" Name="InitialPageFileSizeInMB" Value="2048"/> `
    <Property xsi:type="StringProperty" Name="MaxPageFileSizeInMB" Value="8196"/> `
    <Property xsi:type="StringProperty" Name="StorageAccountType" Value="Premium_LRS"/> `
    <Property xsi:type="StringProperty" Name="LicenseType" Value="Windows_Client"/> `
    </CustomProperties>'
<!--NeedCopy-->

Para obter informações sobre como criar um catálogo usando o SDK Remoto do PowerShell, consulte Creating a catalog using PowerShell.

Restrições:

  • Você pode atualizar a configuração do arquivo de paginação quando você cria o esquema de provisionamento executando o comando New-ProvScheme. Não é possível alterar a configuração do arquivo de paginação posteriormente.
  • Você deve fornecer todas as propriedades personalizadas (‘PageFileDiskDriveLetterOverride’, ‘InitialPageFileSizeInMB’ e ‘MaxPageFileSizeInMB’) no comando New-ProvScheme ou nenhuma delas.
  • Esse recurso não é compatível no Citrix Studio.
  • O tamanho inicial do arquivo de paginação deve estar entre 16 MB e 16777216 MB.
  • O tamanho máximo do arquivo de paginação deve ser maior ou igual ao tamanho inicial do arquivo de paginação e menor que 16777216 MB.
  • Você pode definir o tamanho do arquivo de paginação inicial e o tamanho máximo do arquivo de paginação como zero ao mesmo tempo.

Limitação do Azure

O Azure Resource Manager controla as solicitações de assinaturas e locatários, roteando o tráfego com base em limites definidos, adaptados às necessidades específicas do provedor. Consulte Throttling Resource Manager requests no site da Microsoft para obter mais informações. Existem limites para assinaturas e locatários, onde o gerenciamento de muitas máquinas pode se tornar problemático. Por exemplo, uma assinatura com muitas máquinas pode ter problemas de desempenho relacionados a operações de energia.

Dica:

Para obter mais informações, consulte Improving Azure performance with Machine Creation Services.

Para ajudar a mitigar esses problemas, o Citrix DaaS permite que você remova a limitação interna do MCS para usar mais da cota de solicitação disponível do Azure.

Recomendamos as seguintes configurações ideais ao ativar ou desativar VMs em assinaturas grandes, por exemplo, aquelas que contêm 1.000 VMs:

  • Operações simultâneas absolutas: 500
  • Máximo de novas operações por minuto: 2000
  • Simultaneidade máxima de operações: 500

Use a interface Full Configuration para configurar as operações do Azure para uma determinada conexão de host:

  1. Em Manage > Full Configuration, selecione Hosting no painel esquerdo.
  2. Selecione uma conexão relacionada ao Azure para editá-la.
  3. No assistente Editar conexão, selecione Avançado.
  4. Na página Advanced, use as opções de configuração para especificar o número de ações simultâneas e o máximo de novas ações por minuto e quaisquer opções de conexão adicionais.

Limitação do Azure

Por padrão, o MCS oferece suporte a 500 operações simultâneas no máximo. Como alternativa, você pode usar o SDK remoto do PowerShell para definir o número máximo de operações simultâneas.

Use a propriedade PowerShell, MaximumConcurrentProvisioningOperations, para especificar o número máximo de operações simultâneas de provisionamento do Azure. Ao usar essa propriedade, leve em consideração:

  • O valor padrão de MaximumConcurrentProvisioningOperations é 500.
  • Configure o parâmetro MaximumConcurrentProvisioningOperations por meio do comando do PowerShell Set-item.

Grupos de recursos do Azure

Os grupos de recursos de provisionamento do Azure fornecem uma maneira de provisionar as VMs que fornecem aplicativos e áreas de trabalho aos usuários. Você pode adicionar grupos de recursos do Azure vazios existentes ao criar um catálogo de máquinas do MCS ou criar novos grupos de recursos para você. Para obter informações sobre grupos de recursos do Azure, consulte a documentação da Microsoft.

Uso do grupo de recursos do Azure

Não há limite para o número de máquinas virtuais, discos gerenciados, instantâneos e imagens por Grupo de Recursos do Azure. (O limite de 240 VMs por 800 discos gerenciados por Grupo de Recursos do Azure foi removido.)

  • Ao usar uma entidade de serviço de escopo completo para criar um catálogo de máquinas, o MCS cria apenas um Grupo de Recursos do Azure e usa esse grupo para o catálogo.
  • Ao usar uma entidade de serviço de escopo restrito para criar um catálogo de máquinas, você deve fornecer um Grupo de Recursos do Azure vazio e pré-criado para o catálogo.

Discos efêmeros do Azure

Um disco efêmero do Azure permite que você redefina o objetivo do disco de cache para armazenar o disco de SO para uma máquina virtual habilitada para o Azure. Essa funcionalidade é útil para ambientes do Azure que exigem um disco SSD de maior desempenho em relação a um disco HDD padrão. Para usar discos efêmeros, você deve definir a propriedade personalizada UseEphemeralOsDisk como true ao executar New-ProvScheme.

Nota:

Se a propriedade personalizada UseEphemeralOsDisk estiver definida como false ou se não for especificado nenhum valor, todos os VDAs provisionados continuarão a usar um disco de SO provisionado.

Veja a seguir um exemplo de conjunto de propriedades personalizadas que devem ser usadas no esquema de provisionamento:

"CustomProperties": [
            {
                "Name": "UseManagedDisks",
                "Value": "true"
            },
            {
                "Name": "StorageType",
                "Value": "Standard_LRS"
            },
            {
                "Name": "UseSharedImageGallery",
                "Value": "true"
            },
            {
                "Name": "SharedImageGalleryReplicaRatio",
                "Value": "40"
            },
            {
                "Name": "SharedImageGalleryReplicaMaximum",
                "Value": "10"
            },
            {
                "Name": "LicenseType",
                "Value": "Windows_Server"
            },
            {
                "Name": "UseEphemeralOsDisk",
                "Value": "true"
            }
        ],
<!--NeedCopy-->

Como criar máquinas usando discos de SO efêmeros

Os discos de SO efêmeros são controlados com base na propriedade UseEphemeralOsDisk do parâmetro CustomProperties.

Considerações importantes para discos efêmeros

Para provisionar discos de sistema operacional efêmeros usando New-ProvScheme, considere as seguintes restrições:

  • O tamanho da VM usado para o catálogo deve oferecer suporte a discos de SO efêmeros.
  • O tamanho do cache ou disco temporário associado ao tamanho da VM deve ser maior ou igual ao tamanho do disco de SO.
  • O tamanho do disco temporário deve ser maior que o tamanho do disco de cache.

Considere também esses problemas nas seguintes situações:

  • Criação do esquema de provisionamento.
  • Modificação do esquema de provisionamento.
  • Atualização da imagem.

Otimização de armazenamento de disco efêmero do Azure e do MCS (Machine Creation Services) (MCS I/O)

O disco de SO efêmero do Azure e o MCS I/O não podem estar ativados ao mesmo tempo.

As considerações importantes são as seguintes:

  • Não é possível criar um catálogo de máquinas com o disco de SO efêmero e o MCS I/O ativados ao mesmo tempo.
  • No assistente Machine Catalog Setup, se você selecionar Azure ephemeral OS disk na página Storage and License Types, você não terá a opção para configurações de disco de cache de write-back na página Disk Settings.

    Disco de SO efêmero do Azure selecionado

    Configurações de disco de cache de write-back não disponíveis

  • Os parâmetros do PowerShell (UseWriteBackCache e UseEphemeralOsDisk) definidos como true em New-ProvScheme ou Set-ProvScheme falham com uma mensagem de erro apropriada.
  • Para catálogos de máquinas existentes criados com os dois recursos ativados, você ainda pode:
    • atualizar um catálogo de máquinas.
    • adicionar ou excluir VMs.
    • excluir um catálogo de máquinas.

Criptografia do servidor do Azure

O Citrix DaaS oferece suporte a chaves de criptografia gerenciadas pelo cliente para discos gerenciados do Azure por meio do Azure Key Vault. Com esse suporte, você pode gerenciar seus requisitos organizacionais e de conformidade criptografando os discos gerenciados de seu catálogo de máquinas usando sua própria chave de criptografia. Para obter mais informações, consulte Server-side encryption of Azure Disk Storage.

Ao usar esse recurso para discos gerenciados:

  • Para alterar a chave com a qual o disco está criptografado, altere a chave atual no DiskEncryptionSet. Todos os recursos associados a essa alteração de DiskEncryptionSet devem ser criptografados com a nova chave.

  • Quando você desabilita ou exclui sua chave, todas as VMs com discos que usam essa chave são desligadas automaticamente. Após o desligamento, as VMs não são utilizáveis, a menos que a chave seja habilitada novamente ou você atribua uma nova chave. Qualquer catálogo usando a chave não pode ser ligado e você não pode adicionar VMs a ele.

Considerações importantes ao usar chaves de criptografia gerenciadas pelo cliente

Considere o seguinte ao usar esse recurso:

  • Todos os recursos relacionados às chaves gerenciadas pelo cliente (Azure Key Vaults, conjuntos de criptografia de disco, VMs, discos e instantâneos) devem residir na mesma assinatura e região.

  • Depois de habilitar a chave de criptografia gerenciada pelo cliente, você não poderá desativá-la posteriormente. Se quiser desativar ou remover a chave de criptografia gerenciada pelo cliente, copie todos os dados para um disco gerenciado diferente que não esteja usando a chave de criptografia gerenciada pelo cliente.

  • Os discos criados a partir de imagens personalizadas criptografadas usando criptografia no lado do servidor e chaves gerenciadas pelo cliente devem ser criptografados usando as mesmas chaves gerenciadas pelo cliente. Esses discos devem estar na mesma assinatura.

  • Os instantâneos criados a partir de discos criptografados com criptografia do lado do servidor e chaves gerenciadas pelo cliente devem ser criptografados com as mesmas chaves gerenciadas pelo cliente.

  • Discos, instantâneos e imagens criptografados com chaves gerenciadas pelo cliente não podem ser movidos para outro grupo de recursos e assinatura.

  • Os discos gerenciados criptografados atualmente ou anteriormente usando a Criptografia de Disco do Azure não podem ser criptografados usando chaves gerenciadas pelo cliente.

  • Consulte o site da Microsoft para ver as limitações dos conjuntos de criptografia de disco por região.

Nota:

Consulte Quickstart: Create a Key Vault using the Azure portal para obter informações sobre como configurar a criptografia do lado do servidor do Azure.

Chave de criptografia gerenciada pelo cliente do Azure

Ao criar um catálogo de máquinas, você pode escolher se deseja criptografar dados nas máquinas provisionadas no catálogo. A criptografia no lado do servidor com uma chave de criptografia gerenciada pelo cliente permite gerenciar a criptografia em um nível de disco gerenciado e proteger os dados nas máquinas no catálogo. Um Conjunto de Criptografia de Disco (DES) representa uma chave gerenciada pelo cliente. Para usar esse recurso, você deve primeiro criar seu DES no Azure. Um DES está no seguinte formato:

  • /subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/Sample-RG/providers/Microsoft.Compute/diskEncryptionSets/SampleEncryptionSet

Selecione um DES na lista. O DES selecionado deve estar na mesma assinatura e região que seus recursos. Se a imagem estiver criptografada com um DES, use o mesmo DES ao criar o catálogo da máquina. Você não pode alterar o DES depois de criar o catálogo.

Se você criar um catálogo com uma chave de criptografia e depois desabilitar o DES correspondente no Azure, não poderá mais ligar as máquinas no catálogo ou adicionar máquinas a ele.

Hosts dedicados do Azure

Você pode usar o MCS para provisionar VMs em hosts dedicados do Azure. Antes de provisionar VMs em hosts dedicados do Azure:

  • Crie um grupo de hosts.
  • Crie hosts nesse grupo de hosts.
  • Verifique se há capacidade de host suficiente reservada para a criação de catálogos e máquinas virtuais.

Você pode criar um catálogo de máquinas com locação de host definida por meio do seguinte script do PowerShell:

New-ProvScheme <otherParameters> -CustomProperties '<CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 <Property xsi:type="StringProperty" Name="HostGroupId" Value="myResourceGroup/myHostGroup" />
 ...other Custom Properties...
 </CustomProperties>
<!--NeedCopy-->

Ao usar o MCS para provisionar máquinas virtuais em hosts dedicados do Azure, considere:

  • Um host dedicado é uma propriedade de catálogo e não pode ser alterado depois que o catálogo é criado. Atualmente, a locação dedicada não é suportada no Azure.
  • Um grupo de hosts do Azure pré-configurado, na região da unidade de hospedagem, é necessário ao usar o parâmetro HostGroupId.
  • É necessário o posicionamento automático do Azure. Essa funcionalidade faz uma solicitação para integrar a assinatura associada ao grupo de hosts. Para obter mais informações, consulte VM Scale Set on Azure Dedicated Hosts - Public Preview Se o posicionamento automático não estiver habilitado, o MCS emitirá um erro durante a criação do catálogo.

Galeria de Imagens Compartilhadas do Azure

Use a Galeria de Imagens Compartilhadas do Azure como um repositório de imagens publicadas para máquinas provisionadas do MCS no Azure. Você pode armazenar uma imagem publicada na galeria para acelerar a criação e a hidratação dos discos de SO, melhorando os tempos de início e de inicialização do aplicativo para VMs não persistentes. A galeria de imagens compartilhadas contém os três elementos a seguir:

  • Galeria. As imagens são armazenadas aqui. O MCS cria uma galeria para cada catálogo de máquinas.
  • Definição de imagem da galeria. Essa definição inclui informações (tipo e estado do sistema operacional, região do Azure) sobre a imagem publicada. O MCS cria uma definição de imagem para cada imagem criada para o catálogo.
  • Versão da imagem da galeria. Cada imagem em uma Galeria de imagens compartilhadas pode ter várias versões, e cada versão pode ter várias réplicas em diferentes regiões. Cada réplica é uma cópia completa da imagem publicada. O Citrix DaaS cria uma versão de imagem Standard_LRS (versão 1.0.0) para cada imagem com o número apropriado de réplicas na região do catálogo, com base no número de máquinas no catálogo, na proporção de réplica configurada e no máximo de réplicas configuradas.

Nota:

A funcionalidade da Galeria de Imagens Compartilhadas só funciona com discos gerenciados. Não está disponível para catálogos de máquinas legadas.

Para obter mais informações, consulte Azure shared image gallery overview.

Configurar a Galeria de Imagens Compartilhadas

Use o comando New-ProvScheme para criar um esquema de provisionamento com suporte à Galeria de Imagens Compartilhadas. Use o comando Set-ProvScheme para habilitar ou desabilitar esse recurso para um esquema de provisionamento e para alterar a taxa de réplica e os valores máximos de réplica.

Três propriedades personalizadas foram adicionadas aos esquemas de provisionamento para dar suporte ao recurso Galeria de Imagens Compartilhadas:

UseSharedImageGallery

  • Define se a Galeria de Imagens Compartilhadas deve ser usada para armazenar as imagens publicadas. Se definido como True, a imagem é armazenada como uma imagem da Galeria de Imagens Compartilhadas, caso contrário, a imagem é armazenada como um instantâneo.
  • Os valores válidos são true e false.
  • Se a propriedade não estiver definida, o valor padrão será False.

SharedImageGalleryReplicaRatio

  • Define a proporção de máquinas para réplicas de versão de imagem da galeria.
  • Os valores válidos são números inteiros maiores que 0.
  • Se a propriedade não estiver definida, os valores padrão serão usados. O valor padrão para discos de SO permanentes é 1000 e o valor padrão para discos de SO não persistentes é 40.

SharedImageGalleryReplicaMaximum

  • Define o número máximo de réplicas para cada versão da imagem da galeria.
  • Os valores válidos são números inteiros maiores que 0.
  • Se a propriedade não estiver definida, o valor padrão será 10.
  • Atualmente, o Azure oferece suporte a até 10 réplicas para uma versão única de imagem de galeria. Se a propriedade for definida com um valor maior do que o suportado pelo Azure, o MCS tentará usar o valor especificado. O Azure gera um erro, que registra o MCS deixa a contagem de réplicas atual inalterada.

Dica:

Ao usar a Galeria de Imagens Compartilhadas para armazenar uma imagem publicada para catálogos provisionados do MCS, o MCS define a contagem de réplicas da versão da imagem da galeria com base no número de máquinas no catálogo, na proporção de réplicas e no máximo de réplicas. A contagem de réplicas é calculada dividindo-se o número de máquinas no catálogo pela taxa de réplica (arredondando para o valor inteiro mais próximo) e, em seguida, limitando o valor à contagem máxima de réplicas. Por exemplo, com uma taxa de réplica de 20 e um máximo de 5, 0 a 20 máquinas têm uma réplica criada, 21 a 40 têm 2 réplicas, 41 a 60 têm 3 réplicas, 61 a 80 têm 4 réplicas, mais de 81 têm 5 réplicas.

Caso de uso: Atualizando a taxa de réplica da Galeria de Imagens Compartilhadas e o máximo de

O catálogo de máquinas existente usa a Galeria de Imagens Compartilhadas. Use o comando Set-ProvScheme para atualizar as propriedades personalizadas para todas as máquinas existentes no catálogo e quaisquer máquinas futuras:

Set-ProvScheme -ProvisioningSchemeName catalog-name -CustomProperties '<CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Property xsi:type="StringProperty" Name="StorageType" Value="Standard_LRS"/> <Property xsi:type="StringProperty" Name="UseManagedDisks" Value="True"/> <Property xsi:type="StringProperty" Name="UseSharedImageGallery" Value="True"/> <Property xsi:type="IntProperty" Name="SharedImageGalleryReplicaRatio" Value="30"/> <Property xsi:type="IntProperty" Name="SharedImageGalleryReplicaMaximum" Value="20"/></CustomProperties>'
<!--NeedCopy-->

Caso de uso: convertendo um catálogo de instantâneos em um catálogo da Galeria de Imagens Compartilhadas

Para esse caso de uso:

  1. Execute Set-ProvScheme com o sinalizador UseSharedImageGallery definido como True. Opcionalmente, inclua as propriedades SharedImageGalleryReplicaRatio e SharedImageGalleryReplicaMaximum.
  2. Atualizar o catálogo.
  3. Aplique um ciclo de energia nas máquinas para forçar uma atualização.

Por exemplo:

Set-ProvScheme -ProvisioningSchemeName catalog-name -CustomProperties '<CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Property xsi:type="StringProperty" Name="StorageType" Value="Standard_LRS"/> <Property xsi:type="StringProperty" Name="UseManagedDisks" Value="True"/> <Property xsi:type="StringProperty" Name="UseSharedImageGallery" Value="True"/> <Property xsi:type="IntProperty" Name="SharedImageGalleryReplicaRatio" Value="30"/> <Property xsi:type="IntProperty" Name="SharedImageGalleryReplicaMaximum" Value="20"/></CustomProperties>'
<!--NeedCopy-->

Dica:

Os parâmetros SharedImageGalleryReplicaRatio e SharedImageGalleryReplicaMaximum não são necessários. Após a conclusão do comando Set-ProvScheme, a imagem da Galeria de Imagens Compartilhadas ainda não foi criada. Depois que o catálogo estiver configurado para usar a galeria, a próxima operação de atualização do catálogo armazenará a imagem publicada na galeria. O comando de atualização do catálogo cria a galeria, a imagem da galeria e a versão da imagem. O ciclo de energia das máquinas as atualiza, momento em que a contagem de réplicas é atualizada, se apropriado. A partir desse momento, todas as máquinas não persistentes existentes são redefinidas usando a imagem da Galeria de Imagens Compartilhadas e todas as máquinas recém-provisionadas são criadas usando a imagem. O instantâneo antigo é limpo automaticamente dentro de algumas horas.

Caso de uso: conversão de um catálogo da galeria de imagens compartilhadas em um catálogo de instantâneos

Para esse caso de uso:

  1. Execute Set-ProvScheme com o sinalizador UseSharedImageGallery definido como False ou não definido.
  2. Atualizar o catálogo.
  3. Aplique um ciclo de energia nas máquinas para forçar uma atualização.

Por exemplo:

Set-ProvScheme -ProvisioningSchemeName catalog-name -CustomProperties '<CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Property xsi:type="StringProperty" Name="StorageType" Value="Standard_LRS"/> <Property xsi:type="StringProperty" Name="UseManagedDisks" Value="True"/> <Property xsi:type="StringProperty" Name="UseSharedImageGallery" Value="False"/></CustomProperties>'
<!--NeedCopy-->

Dica:

Ao contrário da atualização de um instantâneo para um catálogo da Galeria de Imagens Compartilhadas, os dados personalizados de cada máquina ainda não foram atualizados para refletir as novas propriedades personalizadas. Execute o seguinte comando para ver as propriedades personalizadas originais da Galeria de Imagens Compartilhadas: Get-ProvVm -ProvisioningSchemeName catalog-name. Depois que o comando Set-ProvScheme for concluído, o instantâneo da imagem ainda não foi criado. Depois que o catálogo estiver configurado para não usar a galeria, a próxima operação de atualização do catálogo armazenará a imagem publicada como um instantâneo. A partir desse momento, todas as máquinas não persistentes existentes são redefinidas usando o instantâneo e todas as máquinas recém-provisionadas são criadas a partir do instantâneo. O ciclo de energia das máquinas as atualiza, momento em que os dados personalizados da máquina são atualizados para refletir que UseSharedImageGallery está definido como False. Os ativos antigos da Galeria de Imagens Compartilhadas (galeria, imagem e versão) são limpos automaticamente em algumas horas.

Compartilhamento de imagem com outra entidade de serviço no mesmo locatário

Para selecionar uma imagem na Galeria de Computação do Azure que pertença a uma assinatura diferente, a imagem deve ser compartilhada com a entidade de serviço (SPN) dessa assinatura.

Por exemplo, se houver uma entidade de serviço (SPN 1) configurada no Studio como:

Entidade de serviço: SPN 1

Assinatura: subscription 1

Locatário: tenant 1

A imagem está em uma assinatura diferente, configurada no Studio como:

Assinatura: subscription 2

Locatário: tenant 1

Se você quiser compartilhar a imagem em subscription 2 com subscription 1 (SPN 1), vá para subscription 2 e compartilhe o grupo de recursos com SPN1.

A imagem deve ser compartilhada com outro SPN usando o controle de acesso baseado em função (RBAC) do Azure. O Azure RBAC é o sistema de autorização usado para gerenciar o acesso aos recursos do Azure. Para obter mais informações sobre o Azure RBAC, consulte o documento da Microsoft O que é o RBAC do Azure (controle de acesso baseado em função do Azure)?. Para conceder acesso, você atribui funções às entidades de serviço no escopo do grupo de recursos com a função de Colaborador. Para atribuir funções do Azure, você deve ter permissão Microsoft.Authorization/roleAssignments/write, como Administrador de Acesso do Usuário ou Proprietário. Para obter mais informações sobre como compartilhar imagens com outro SPN, consulte o documento da Microsoft Atribuir funções do Azure usando o portal do Azure.

Usar o PowerShell para selecionar uma imagem de uma assinatura diferente

Você pode selecionar uma imagem na Galeria de Computação do Azure que pertença a uma assinatura compartilhada diferente no mesmo locatário do Azure para criar e atualizar catálogos MCS usando comandos do PowerShell.

  1. Na pasta raiz da unidade de hospedagem, a Citrix cria uma nova pasta de assinatura compartilhada chamada sharedsubscription.
  2. Liste todas as assinaturas compartilhadas em um locatário.

    Get-ChildItem -Path "XDhyp:\HostingUnits\azres\sharedsubscription.folder"
    <!--NeedCopy-->
    
  3. Selecione uma assinatura compartilhada e, em seguida, liste todos os grupos de recursos compartilhados da assinatura compartilhada.

    Get-ChildItem -Path "XDhyp:\HostingUnits\azres\image.folder\abc123.sharedsubscription"
    <!--NeedCopy-->
    
  4. Selecione um grupo de recursos e liste todas as galerias do grupo de recursos.

    Get-ChildItem -Path "XDhyp:\HostingUnits\azres\image.folder\abc123.sharedsubscription\ xyz.resourcegroup"
    <!--NeedCopy-->
    
  5. Selecione uma galeria e liste todas as definições de imagem da galeria.

    Get-ChildItem -Path "XDhyp:\HostingUnits\azres\image.folder\abc123.sharedsubscription\xyz.resourcegroup\testgallery.gallery"
    <!--NeedCopy-->
    
  6. Selecione uma definição de imagem e liste todas as versões da definição de imagem.

    Get-ChildItem -Path "XDhyp:\HostingUnits\azres\image.folder\abc123.sharedsubscription\xyz.resourcegroup\sigtestdef.imagedefinition"
    <!--NeedCopy-->
    
  7. Crie e atualize um catálogo MCS usando os seguintes elementos:

    • Resource group
    • Gallery
    • Gallery image definition
    • Gallery image version

    Para obter informações sobre como criar um catálogo usando o Remote PowerShell SDK, consulte https://developer-docs.citrix.com/projects/citrix-virtual-apps-desktops-sdk/en/latest/creating-a-catalog/.

Provisionar máquinas em zonas de disponibilidade especificadas

Você pode provisionar máquinas em zonas de disponibilidade específicas em ambientes do Azure. Você pode conseguir isso usando a interface Full Configuration ou o PowerShell.

Nota:

Se nenhuma zona for especificada, o MCS permitirá que o Azure coloque as máquinas dentro da região. Se mais de uma zona for especificada, o MCS distribuirá aleatoriamente as máquinas entre elas.

Configuração das zonas de disponibilidade na interface Full Configuration

Ao criar um catálogo de máquinas, você pode especificar zonas de disponibilidade nas quais deseja provisionar máquinas. Na página Virtual Machines, selecione uma ou mais zonas de disponibilidade nas quais você deseja criar máquinas.

Há dois motivos pelos quais nenhuma zona de disponibilidade está disponível: a região não tem zonas de disponibilidade ou o tamanho da máquina selecionada não está disponível.

Configuração de zonas de disponibilidade por meio do PowerShell

Com o PowerShell, você pode visualizar o Citrix DaaS que oferece itens de inventário por meio de Get-Item. Por exemplo, para visualizar a oferta de serviços da Eastern US region Standard_B1ls:

$serviceOffering = Get-Item -path "XDHyp:\Connections\my-connection-name\East US.region\serviceoffering.folder\Standard_B1ls.serviceoffering"
<!--NeedCopy-->

Para visualizar as zonas, use o parâmetro AdditionalData para o item:

$serviceOffering.AdditionalData

Se as zonas de disponibilidade não forem especificadas, não haverá alteração na forma como as máquinas são provisionadas.

Para configurar zonas de disponibilidade por meio do PowerShell, use a propriedade personalizada Zones disponível com a operação New-ProvScheme. A propriedade Zones define uma lista de zonas de disponibilidade para provisionar máquinas. Essas zonas podem incluir uma ou mais zonas de disponibilidade. Por exemplo, <Property xsi:type="StringProperty" Name="Zones" Value="1, 3"/> para as zonas 1 e 3.

Use o comando Set-ProvScheme para atualizar as zonas para um esquema de provisionamento.

Se for fornecida uma zona inválida, o esquema de provisionamento não será atualizado e uma mensagem de erro será exibida fornecendo instruções sobre como corrigir o comando inválido.

Dica:

Se você especificar uma propriedade personalizada inválida, o esquema de provisionamento não será atualizado e será exibida uma mensagem de erro relevante.

Usar grupos de hosts e zonas de disponibilidade do Azure ao mesmo tempo

Há uma verificação prévia para avaliar se a criação de um catálogo de máquinas será bem-sucedida com base na zona de disponibilidade especificada na propriedade personalizada e na zona do grupo de hosts. A criação do catálogo falhará se a propriedade personalizada da zona de disponibilidade não corresponder à zona do grupo de hosts.

Para obter informações sobre a configuração de zonas de disponibilidade por meio do PowerShell, consulte Configuração de zonas de disponibilidade por meio do PowerShell.

Para obter informações sobre hosts dedicados do Azure, consulte Hosts dedicados do Azure.

A tabela a seguir descreve as várias combinações de zona de disponibilidade e zona de grupo de hosts e quais resultam na criação bem-sucedida ou com falha de um catálogo de máquinas.

Zona do grupo de hosts Zona de disponibilidade em propriedade personalizada Resultado da criação do catálogo de máquinas
Especificada. Por exemplo, o grupo de hosts está na Zona 1 Não especificada Bem-sucedido. As máquinas são criadas na zona do grupo de hosts
Especificada. Por exemplo, o grupo de hosts está na Zona 1 Mesma zona da zona do grupo de hosts. Por exemplo, a zona na propriedade personalizada é definida como 1 Bem-sucedido. As máquinas são criadas na Zona 1
Especificada. Por exemplo, o grupo de hosts está na Zona 1 Diferente da zona do grupo de hosts. Por exemplo, a zona na propriedade personalizada é definida como 2 Como a zona de disponibilidade especificada e a zona do grupo de hosts não correspondem, a criação do catálogo falha com um erro relevante durante as verificações prévias
Especificada. Por exemplo, o grupo de hosts está na Zona 1 Várias zonas especificadas. Por exemplo, zonas nas propriedades personalizadas são definidas como 1,2 ou 2,3 Como a zona de disponibilidade especificada e a zona do grupo de hosts não correspondem, a criação do catálogo falha com um erro relevante durante as verificações prévias
Não especificada. Por exemplo, a zona do grupo de hosts é None Não especificada Como a zona de disponibilidade especificada e a zona do grupo de hosts correspondem (ou seja, nenhuma zona), a criação do catálogo é bem-sucedida. As máquinas não são criadas em nenhuma zona
Não especificada. Por exemplo, a zona do grupo de hosts é None Especificada. Por exemplo, as zonas na propriedade personalizada são definidas como uma ou várias zonas. Como a zona de disponibilidade especificada e a zona do grupo de hosts não correspondem, a criação do catálogo falha com um erro relevante durante as verificações prévias

Disco efêmero do Azure

Os discos efêmeros do Azure permitem que você redefina o objetivo do disco de cache para armazenar o disco de SO para uma máquina virtual habilitada para o Azure. Essa funcionalidade é útil para ambientes do Azure que exigem um disco SSD de maior desempenho em relação a um disco HDD padrão.

Nota:

Os catálogos persistentes não oferecem suporte a discos de SO efêmeros.

Os discos de SO efêmeros exigem que seu esquema de provisionamento use discos gerenciados e uma Galeria de Imagens Compartilhadas. Para obter mais informações, consulte Galeria de Imagens Compartilhadas do Azure.

Usando o PowerShell para configurar um disco efêmero

Para configurar um disco de SO efêmero do Azure para um catálogo, use o parâmetro UseEphemeralOsDisk em Set-ProvScheme. Defina o valor do parâmetro UseEphemeralOsDisk como true.

Nota:

Para usar esse recurso, você também deve habilitar os parâmetros UseManagedDisks e UseSharedImageGallery.

Por exemplo:

Set-ProvScheme -ProvisioningSchemeName catalog-name -CustomProperties <CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Property xsi:type="StringProperty" Name="UseManagedDisks" Value="true" />
<Property xsi:type="StringProperty" Name="UseSharedImageGallery" Value="true" />
<Property xsi:type="StringProperty" Name="UseEphemeralOsDisk" Value="true" />
</CustomProperties>'
<!--NeedCopy-->

Armazenando um disco temporário do sistema operacional efêmero

Você tem a opção de armazenar um disco de SO efêmero no disco temporário da VM ou em um disco de recursos. Essa funcionalidade permite que você use um disco de SO efêmero com uma VM que não tenha um cache ou que tenha cache insuficiente. Essas VMs têm um disco temporário ou de recursos para armazenar um disco de SO efêmero, como Ddv4.

Considere o seguinte:

  • Um disco efêmero é armazenado no disco de cache da VM ou no disco temporário (recurso) das VMs. O disco de cache tem preferência em relação ao disco temporário, a menos que o disco de cache não seja grande o suficiente para conter o conteúdo do disco de SO.
  • Para atualizações, uma nova imagem maior que o disco de cache, mas menor que o disco temporário, resulta na substituição do disco de SO efêmero pelo disco temporário da VM.

Preservação de uma máquina virtual provisionada durante o ciclo de energia

Escolha se deseja preservar uma máquina virtual provisionada durante o ciclo de energia. Use o parâmetro do PowerShell New-ProvScheme CustomProperties. Esse parâmetro oferece suporte a uma propriedade extra, PersistVm, usada para determinar se uma máquina virtual provisionada persiste quando a energia é desligada. Defina a propriedade PersistVm como true para manter uma máquina virtual quando desligada ou defina a propriedade como false para garantir que a máquina virtual não seja preservada quando desligada.

Nota:

A propriedade PersistVm só se aplica a um esquema de provisionamento com as propriedades CleanOnBoot e UseWriteBackCache habilitadas. Se a propriedade PersistVm não for especificada para máquinas virtuais não persistentes, elas serão excluídas do ambiente do Azure quando desligadas.

No exemplo a seguir, o parâmetro New-ProvScheme CustomProperties define a propriedade PersistVm como true:

<CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Property xsi:type="StringProperty" Name="UseManagedDisks" Value="true" />
<Property xsi:type="StringProperty" Name="StorageType" Value="Standard_LRS" />
<Property xsi:type="StringProperty" Name="PersistWBC" Value="false" />
<Property xsi:type="StringProperty" Name="PersistOsDisk" Value="true" />
<Property xsi:type="StringProperty" Name="PersistVm" Value="true" />
<Property xsi:type="StringProperty" Name="ResourceGroups" Value="demo-resourcegroup" />
<Property xsi:type="StringProperty" Name="LicenseType" Value="Windows_Client" />
</CustomProperties>
<!--NeedCopy-->

No exemplo a seguir, o New-ProvScheme CustomProperties parâmetro preserva o cache de gravação PersistVM definindo como true:

 New-ProvScheme
 -AzureAdJoinType "None"
 -CleanOnBoot
 -CustomProperties "<CustomProperties xmlns=`"http://schemas.citrix.com/2014/xd/machinecreation`" xmlns:xsi=`"http://www.w3.org/2001/XMLSchema-instance`"><Property xsi:type=`"StringProperty`" Name=`"UseManagedDisks`" Value=`"true`" /><Property xsi:type=`"StringProperty`" Name=`"StorageType`" Value=`"Standard_LRS`" /><Property xsi:type=`"StringProperty`" Name=`"PersistWBC`" Value=`"false`" /><Property xsi:type=`"StringProperty`" Name=`"PersistOsDisk`" Value=`"true`" /><Property xsi:type=`"StringProperty`" Name=`"PersistVm`" Value=`"true`" /><Property xsi:type=`"StringProperty`" Name=`"ResourceGroups`" Value=`"demo-resourcegroup`" /><Property xsi:type=`"StringProperty`" Name=`"LicenseType`" Value=`"Windows_Client`" /></CustomProperties>"
 -HostingUnitName "demo"
 -IdentityPoolName "NonPersistent-MCSIO-PersistVM"
 -MasterImageVM "XDHyp:\HostingUnits\demo\image.folder\scale-test.resourcegroup\demo-snapshot.snapshot"
 -NetworkMapping @ {"0"="XDHyp:\HostingUnits\demo\virtualprivatecloud.folder\East US.region\virtualprivatecloud.folder\ji-test.resourcegroup\jitest-vnet.virtualprivatecloud\default.network"}
-ProvisioningSchemeName "NonPersistent-MCSIO-PersistVM"
 -ServiceOffering "XDHyp:\HostingUnits\demo\serviceoffering.folder\Standard_B2ms.serviceoffering" -UseWriteBackCache
 -WriteBackCacheDiskSize 127
 -WriteBackCacheMemorySize 256
 <!--NeedCopy-->

Dica:

A propriedade PersistVm determina se uma máquina virtual provisionada deve ser preservada. A propriedade PersistOsdisk determina se o disco de SO deve ser mantido. Para preservar uma máquina virtual provisionada, primeiro preserve o disco de SO. Você não pode excluir o disco de SO sem primeiro excluir a máquina virtual. Você pode usar a propriedade PersistOsdisk sem usar a especificação do parâmetro PersistVm.

Tipos de armazenamento

Selecione diferentes tipos de armazenamento para máquinas virtuais em ambientes do Azure que usam o MCS. Para VMs de destino, o MCS oferece suporte a:

  • Disco de SO: SSD, SSD ou HDD premium
  • Disco de cache de gravação: SSD, SSD ou HDD premium

Ao usar esses tipos de armazenamento, considere o seguinte:

  • Certifique-se de que sua VM oferece suporte ao tipo de armazenamento selecionado.
  • Se sua configuração usar um disco efêmero do Azure, você não terá a opção de configuração de disco de cache de write-back.

Dica:

StorageType está configurado para um tipo de sistema operacional e uma conta de armazenamento. WBCDiskStorageType está configurado para o tipo de armazenamento de cache de gravação. Para um catálogo normal, é necessário StorageType. Se WBCDiskStorageType não estiver configurado, StorageType será usado como padrão para WBCDiskStorageType.

Se WBCDiskStorageType não estiver configurado, StorageType será usado como padrão para WBCDiskStorageType.

Configurando tipos de armazenamento

Para configurar os tipos de armazenamento para a VM, use o parâmetro StorageType em New-ProvScheme. Defina o valor do parâmetro StorageType como um dos tipos de armazenamento compatíveis.

Veja a seguir um exemplo de conjunto do parâmetro CustomProperties em um esquema de provisionamento:

Set-ProvScheme -ProvisioningSchemeName catalog-name -CustomProperties '<CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Property xsi:type="StringProperty" Name="UseManagedDisks" Value="true" />
<Property xsi:type="StringProperty" Name="StorageType" Value="Premium_LRS" />
<Property xsi:type="StringProperty" Name="LicenseType" Value="Windows_Client" />
</CustomProperties>'
<!--NeedCopy-->

Recuperar informações para VMs do Azure, instantâneos, disco de SO e definição de imagem da galeria

Você pode exibir informações para uma VM do Azure, incluindo disco de SO e tipo, instantâneo e definição de imagem da galeria. Essas informações são exibidas para recursos na imagem mestre quando um catálogo de máquinas é atribuído. Use essa funcionalidade para exibir e selecionar uma imagem do Linux ou do Windows. Uma propriedade do PowerShell, TemplateIsWindowsTemplate, foi adicionada ao parâmetro AdditionDatafield. Esse campo contém informações específicas do Azure: tipo de VM, disco de SO, informações da imagem da galeria e informações do tipo do sistema operacional. Se TemplateIsWindowsTemplate for definido como True, isso indica que o tipo de sistema operacional é Windows; se TemplateIsWindowsTemplate for definido como False, isso indica que o tipo de sistema operacional é Linux.

Dica:

As informações exibidas pela propriedade do TemplateIsWindowsTemplate PowerShell são derivadas da API do Azure. Às vezes, esse campo pode estar vazio. Por exemplo, um instantâneo de um disco de dados não contém o campo TemplateIsWindowsTemplate porque o tipo de sistema operacional não pode ser recuperado de um instantâneo.

Por exemplo, defina o parâmetro AdditionData da VM do Azure como True para o tipo de sistema operacional Windows usando o PowerShell:

PS C:\Users\username> (get-item XDHyp:\HostingUnits\mynetwork\image.folder\username-dev-testing-rg.resourcegroup\username-dev-tsvda.vm).AdditionalData
Key Value
ServiceOfferingDescription Standard_B2ms
HardDiskSizeGB 127
ResourceGroupName FENGHUAJ-DEV-TESTING-RG
ServiceOfferingMemory 8192
ServiceOfferingCores 2
TemplateIsWindowsTemplate True
ServiceOfferingWithTemporaryDiskSizeInMb 16384
SupportedMachineGenerations Gen1,Gen2
<!--NeedCopy-->

Recupere informações de nome de região de VMs do Azure, discos gerenciados, instantâneos, VHD do Azure e modelos ARM

Você pode exibir informações de nome de região de uma VM do Azure, discos gerenciados, instantâneos, VHD do Azure e modelos ARM. Essas informações são exibidas para recursos na imagem mestre quando um catálogo de máquinas é atribuído. Uma propriedade do PowerShell chamada RegionName exibe as informações do nome da região quando você executa o comando do PowerShell com o parâmetro AdditionalData.

Por exemplo, use o seguinte comando do PowerShell para obter informações de uma VM no Azure.

PS C:\Windows\system32> (get-item XDHyp:\HostingUnits\myAzureNetwork\image.folder\hu-dev-testing-rg.resourcegroup\hu-dev-tsvda.vm).AdditionalData
Key Value
HardDiskSizeGB 127
ResourceGroupName HU-DEV-TESTING-RG
RegionName East US
TemplateIsWindowsTemplate True
LicenseType
ServiceOfferingDescription Standard_B2ms
ServiceOfferingMemory 8192
ServiceOfferingCores 2
SupportedMachineGenerations Gen1,Gen2
ServiceOfferingWithTemporaryDiskSizeInMb 16384
SecurityType
SecureBootEnabled
VTpmEnabled
<!--NeedCopy-->

Azure Marketplace

O Citrix DaaS suporta o uso de uma imagem mestre no Azure que contém informações do plano para criar um catálogo de máquinas. Para obter mais informações, consulte Microsoft Azure Marketplace.

Dica:

Algumas imagens encontradas no Azure Marketplace, como a imagem padrão do Windows Server, não acrescentam informações do plano. O recurso Citrix DaaS é para imagens pagas.

Verifique se a imagem criada na Galeria de Imagens Compartilhadas contém informações do plano do Azure

Use o procedimento nesta seção para visualizar imagens da Galeria de Imagens Compartilhadas no Citrix Studio. Opcionalmente, essas imagens podem ser usadas para uma imagem mestre. Para colocar a imagem em uma Galeria de Imagens Compartilhadas, crie uma definição de imagem em uma galeria.

Galeria de imagens compartilhadas do Azure Marketplace

Na página Publishing options, verifique as informações do plano de compra.

Os campos de informações do plano de compra estão inicialmente vazios. Preencha esses campos com as informações do plano de compra usadas para a imagem. Se você deixar de preencher as informações do plano de compra, isso pode causar falha no processo do catálogo de máquinas.

Azure Marketplace verifica as opções de publicação do VDA

Depois de verificar as informações do plano de compra, crie uma versão da imagem dentro da definição. Isso é usado como a imagem mestre. Clique em Add version:

Azure Marketplace adiciona a versão VDA

Na seção Version details, selecione o instantâneo da imagem ou o disco gerenciado como origem:

Opções de VDA selecionadas do Azure Marketplace

Sobre as permissões do Azure

Esta seção contém as permissões mínimas e gerais necessárias para o Azure.

Permissões mínimas

As permissões mínimas oferecem melhor controle de segurança. No entanto, novos recursos que exigem permissões adicionais falharão devido ao uso de permissões mínimas.

Criar uma conexão de host

Adicione uma nova conexão de host usando as informações obtidas do Azure.

"Microsoft.Network/virtualNetworks/read",
"Microsoft.Compute/virtualMachines/read",
"Microsoft.Compute/disks/read",
<!--NeedCopy-->

Gerenciamento de energia de VMs

Ligue ou desligue as instâncias da máquina.

"Microsoft.Compute/virtualMachines/read",
"Microsoft.Resources/subscriptions/resourceGroups/read",
"Microsoft.Compute/virtualMachines/deallocate/action",
"Microsoft.Compute/virtualMachines/start/action",
"Microsoft.Compute/virtualMachines/restart/action",
<!--NeedCopy-->

Criar, atualizar ou excluir VMs

Crie um catálogo de máquinas e, em seguida, adicione, exclua, atualize máquinas e exclua o catálogo de máquinas.

A seguir está a lista de permissões mínimas necessárias quando a imagem mestre é um disco gerenciado ou os instantâneos estão localizados na mesma região da conexão de hospedagem.

"Microsoft.Resources/subscriptions/resourceGroups/read",
"Microsoft.Resources/deployments/validate/action",
"Microsoft.Compute/virtualMachines/read",
"Microsoft.Compute/virtualMachines/write",
"Microsoft.Compute/virtualMachines/delete",
"Microsoft.Compute/virtualMachines/deallocate/action",
"Microsoft.Compute/snapshots/read",
"Microsoft.Compute/snapshots/write",
"Microsoft.Compute/snapshots/delete",
"Microsoft.Compute/snapshots/beginGetAccess/action",
"Microsoft.Compute/snapshots/endGetAccess/action",
"Microsoft.Compute/disks/read",
"Microsoft.Compute/disks/write",
"Microsoft.Compute/disks/delete",
"Microsoft.Compute/disks/beginGetAccess/action",
"Microsoft.Compute/disks/endGetAccess/action",
"Microsoft.Network/virtualNetworks/read",
"Microsoft.Network/virtualNetworks/subnets/join/action",
"Microsoft.Network/virtualNetworks/subnets/read",
"Microsoft.Network/networkSecurityGroups/read",
"Microsoft.Network/networkSecurityGroups/write",
"Microsoft.Network/networkSecurityGroups/delete",
"Microsoft.Network/networkSecurityGroups/join/action",
"Microsoft.Network/networkInterfaces/read",
"Microsoft.Network/networkInterfaces/write",
"Microsoft.Network/networkInterfaces/delete",
"Microsoft.Network/networkInterfaces/join/action",
<!--NeedCopy-->

Você precisa das seguintes permissões extras com base nas permissões mínimas para os seguintes recursos:

  • Se a imagem mestre for um VHD em uma conta de armazenamento localizada na mesma região da conexão de hospedagem:

     "Microsoft.Storage/storageAccounts/read",
     "Microsoft.Storage/storageAccounts/listKeys/action",
     <!--NeedCopy-->
    
  • Se a imagem mestre for uma ImageVersion da Galeria de Imagens Compartilhadas:

     "Microsoft.Compute/galleries/read",
     "Microsoft.Compute/galleries/images/read",
     "Microsoft.Compute/galleries/images/versions/read",
     <!--NeedCopy-->
    
  • Se a imagem mestre for um disco gerenciado. Instantâneos, ou VHD, está em uma região diferente da região da conexão de hospedagem:

     "Microsoft.Storage/storageAccounts/read",
     "Microsoft.Storage/storageAccounts/listKeys/action",
     "Microsoft.Storage/storageAccounts/write",
     "Microsoft.Storage/storageAccounts/delete",
     <!--NeedCopy-->
    
  • Se você usar o grupo de recursos gerenciados pela Citrix:

     "Microsoft.Resources/subscriptions/resourceGroups/write",
     "Microsoft.Resources/subscriptions/resourceGroups/delete",
     <!--NeedCopy-->
    
  • Se você colocar a imagem mestre na Galeria de Imagens Compartilhadas:

     "Microsoft.Compute/galleries/write",
     "Microsoft.Compute/galleries/images/write",
     "Microsoft.Compute/galleries/images/versions/write",
     "Microsoft.Compute/galleries/read",
     "Microsoft.Compute/galleries/images/read",
     "Microsoft.Compute/galleries/images/versions/read",
     "Microsoft.Compute/galleries/delete",
     "Microsoft.Compute/galleries/images/delete",
     "Microsoft.Compute/galleries/images/versions/delete",
     <!--NeedCopy-->
    
  • Se você usar o suporte a host dedicado do Azure:

     "Microsoft.Compute/hostGroups/read",
     "Microsoft.Compute/hostGroups/write",
     "Microsoft.Compute/hostGroups/hosts/read",
     <!--NeedCopy-->
    
  • Se você usar a criptografia do lado do servidor (SSE) com chaves gerenciadas pelo cliente (CMK):

     "Microsoft.Compute/diskEncryptionSets/read",
     <!--NeedCopy-->
    
  • Se você implantar VMs usando modelos ARM (perfil de máquina):

     "Microsoft.Resources/deployments/write",
     "Microsoft.Resources/deployments/operationstatuses/read",
     "Microsoft.Resources/deployments/read",
     "Microsoft.Resources/deployments/delete",
     <!--NeedCopy-->
    
  • Se você usar a especificação de modelo do Azure como um perfil de máquina:

     "Microsoft.Resources/templateSpecs/read",
     "Microsoft.Resources/templateSpecs/versions/read",
     <!--NeedCopy-->
    

Criação, atualização e exclusão de máquinas com disco não gerenciado

A seguir está a lista de permissões mínimas necessárias quando a imagem mestre é VHD e usa o grupo de recursos conforme fornecido pelo administrador:

"Microsoft.Resources/subscriptions/resourceGroups/read",
"Microsoft.Storage/storageAccounts/delete",
"Microsoft.Storage/storageAccounts/listKeys/action",
"Microsoft.Storage/storageAccounts/read",
"Microsoft.Storage/storageAccounts/write",
"Microsoft.Compute/virtualMachines/deallocate/action",
"Microsoft.Compute/virtualMachines/delete",
"Microsoft.Compute/virtualMachines/read",
"Microsoft.Compute/virtualMachines/write",
"Microsoft.Resources/deployments/validate/action",
"Microsoft.Network/networkInterfaces/delete",
"Microsoft.Network/networkInterfaces/join/action",
"Microsoft.Network/networkInterfaces/read",
"Microsoft.Network/networkInterfaces/write",
"Microsoft.Network/networkSecurityGroups/delete",
"Microsoft.Network/networkSecurityGroups/join/action",
"Microsoft.Network/networkSecurityGroups/read",
"Microsoft.Network/networkSecurityGroups/write",
"Microsoft.Network/virtualNetworks/subnets/read",
"Microsoft.Network/virtualNetworks/read",
"Microsoft.Network/virtualNetworks/subnets/join/action"
<!--NeedCopy-->

Permissão geral

A função de colaborador tem acesso total para gerenciar todos os recursos. Esse conjunto de permissões não impede que você obtenha novos recursos.

O conjunto de permissões a seguir fornece a melhor compatibilidade daqui para frente, embora inclua mais permissões do que o necessário com o conjunto de recursos atual:

"Microsoft.Compute/diskEncryptionSets/read",
"Microsoft.Compute/disks/beginGetAccess/action",
"Microsoft.Compute/disks/delete",
"Microsoft.Compute/disks/endGetAccess/action",
"Microsoft.Compute/disks/read",
"Microsoft.Compute/disks/write",
"Microsoft.Compute/galleries/delete",
"Microsoft.Compute/galleries/images/delete",
"Microsoft.Compute/galleries/images/read",
"Microsoft.Compute/galleries/images/versions/delete",
"Microsoft.Compute/galleries/images/versions/read",
"Microsoft.Compute/galleries/images/versions/write",
"Microsoft.Compute/galleries/images/write",
"Microsoft.Compute/galleries/read",
"Microsoft.Compute/galleries/write",
"Microsoft.Compute/hostGroups/hosts/read",
"Microsoft.Compute/hostGroups/read",
"Microsoft.Compute/hostGroups/write",
"Microsoft.Compute/snapshots/beginGetAccess/action",
"Microsoft.Compute/snapshots/delete",
"Microsoft.Compute/snapshots/endGetAccess/action",
"Microsoft.Compute/snapshots/read",
"Microsoft.Compute/snapshots/write",
"Microsoft.Compute/virtualMachines/deallocate/action",
"Microsoft.Compute/virtualMachines/delete",
"Microsoft.Compute/virtualMachines/read",
"Microsoft.Compute/virtualMachines/restart/action",
"Microsoft.Compute/virtualMachines/start/action",
"Microsoft.Compute/virtualMachines/write",
"Microsoft.Network/networkInterfaces/delete",
"Microsoft.Network/networkInterfaces/join/action",
"Microsoft.Network/networkInterfaces/read",
"Microsoft.Network/networkInterfaces/write",
"Microsoft.Network/networkSecurityGroups/delete",
"Microsoft.Network/networkSecurityGroups/join/action",
"Microsoft.Network/networkSecurityGroups/read",
"Microsoft.Network/networkSecurityGroups/write",
"Microsoft.Network/virtualNetworks/subnets/read",
"Microsoft.Network/virtualNetworks/read",
"Microsoft.Network/virtualNetworks/subnets/join/action",
"Microsoft.Resources/deployments/operationstatuses/read",
"Microsoft.Resources/deployments/read",
"Microsoft.Resources/deployments/validate/action",
"Microsoft.Resources/deployments/write",
"Microsoft.Resources/deployments/delete",
"Microsoft.Resources/subscriptions/resourceGroups/read",
"Microsoft.Resources/subscriptions/resourceGroups/write",
"Microsoft.Resources/subscriptions/resourceGroups/delete",
"Microsoft.Storage/storageAccounts/delete",
"Microsoft.Storage/storageAccounts/listKeys/action",
"Microsoft.Storage/storageAccounts/read",
"Microsoft.Storage/storageAccounts/write",
"Microsoft.Resources/templateSpecs/read",
"Microsoft.Resources/templateSpecs/versions/read",
<!--NeedCopy-->

Mais informações