Citrix DaaS

Migre cargas de trabalho entre locais de recursos usando o Image Portability Service

O Image Portability Service simplifica o gerenciamento de imagens entre plataformas. As APIs REST do Citrix Virtual Apps and Desktops podem ser usadas para automatizar a administração de recursos em um site do Citrix Virtual Apps and Desktops.

O fluxo de trabalho do Image Portability começa quando você usa o Citrix Cloud para iniciar a migração de uma imagem da sua localização local para a sua assinatura da nuvem pública. Depois de preparar a sua imagem, o Image Portability Service ajuda você a transferir a imagem para a sua assinatura da nuvem pública e prepará-la para execução. Por fim, o Citrix Provisioning ou o Machine Creation Services provisionam a imagem na sua assinatura da nuvem pública.

Componentes

Os componentes do Image Portability Service incluem:

  • Serviços do Citrix Cloud
  • Citrix Credential Wallet
  • Dispositivo Citrix Connector
  • Máquina virtual Compositing Engine
  • Scripts de exemplo do PowerShell

Serviços do Citrix Cloud

A API do Citrix Cloud Services é um serviço de API REST que interage com o Image Portability Service. Usando o serviço da API REST, você pode criar e monitorar trabalhos do Image Portability. Por exemplo, você faz uma chamada de API para iniciar um trabalho do Image Portability, como exportar um disco e, em seguida, faz chamadas para obter o status do trabalho.

Citrix Credentials Wallet

O serviço Citrix Credentials Wallet gerencia com segurança as credenciais do sistema, permitindo que o Image Portability Service interaja com os seus ativos. Por exemplo, ao exportar um disco do vSphere para um compartilhamento SMB, o Image Portability Service requer credenciais para abrir uma conexão com o compartilhamento SMB para gravar o disco. Se as credenciais estiverem armazenadas no Credential Wallet, o Image Portability Service pode recuperar e usar essas credenciais.

Esse serviço oferece a capacidade de gerenciar totalmente suas credenciais. A API do Cloud Services atua como um ponto de acesso, permitindo que você crie, atualize e exclua credenciais.

Compositing Engine

O Compositing Engine é o trabalhador central do Image Portability Service. O Compositing Engine (CE) é uma única máquina virtual criada no início de um trabalho de exportação ou preparação do Image Portability. Essas VMs são criadas no mesmo ambiente em que o trabalho está ocorrendo. Por exemplo, ao exportar um disco do vSphere, o CE é criado no servidor vSphere. Da mesma forma, ao executar um trabalho de preparação em Azure, AWS ou Google Cloud, o CE é criado no Azure, na AWS ou no Google, respectivamente. O CE monta o seu disco nele mesmo e, em seguida, faz as manipulações necessárias no disco. Após a conclusão do trabalho de preparação ou exportação, a VM CE e todos os seus componentes são excluídos.

Dispositivo Connector

O dispositivo Connector, que executa o software do provedor para gerenciar recursos IPS, é executado em seu ambiente (no local e na sua assinatura do Azure, da AWS ou do Google Cloud) e atua como um controlador de trabalhos individuais. Ele recebe instruções de trabalho do serviço de nuvem e cria e gerencia as máquinas virtuais do Compositing Engine. A máquina virtual do dispositivo Connector atua como um ponto único e seguro de comunicação entre os serviços de nuvem e seus ambientes. Implante um ou mais dispositivos Connector em cada uma das suas localizações do recurso (no local, Azure, AWS ou Google Cloud). Um dispositivo Connector é implantado em cada localização do recurso para segurança. Ao colocar o dispositivo Connector e o Compositing Engine juntos, a postura de segurança da implantação aumenta muito, pois todos os componentes e comunicações são mantidos dentro da sua localização do recurso.

Módulos PowerShell

Fornecemos uma coleção de módulos do PowerShell para uso em scripts como ponto de partida para desenvolver sua própria automação personalizada. Os módulos fornecidos são suportados como são, mas você pode modificá-los, se necessário, para sua implantação.

A automação do PowerShell usa os parâmetros de configuração fornecidos para compor uma chamada REST para o serviço da API do Citrix Cloud para iniciar o trabalho e, em seguida, fornecer atualizações periódicas à medida que o trabalho avança.

Se deseja desenvolver sua própria solução de automação, você pode fazer chamadas para o serviço de nuvem diretamente usando sua linguagem de programação preferida. Consulte o portal da API para obter informações detalhadas sobre como configurar e usar os pontos de extremidade REST e os módulos do PowerShell do Image Portability Service.

Fluxos de Trabalho

O Image Portability Service usa um fluxo de trabalho multifásico para preparar uma imagem de catálogo mestre a partir da localização do recurso local para sua assinatura de nuvem pública. O serviço exporta a imagem da plataforma de hipervisor local e você a carrega para a sua assinatura de nuvem pública (nosso utilitário de upload do PowerShell fornecido pode ajudar a automatizar isso). Em seguida, o Image Portability prepara a imagem para ser compatível com a sua plataforma de nuvem pública. Por fim, a imagem é publicada e está pronta para ser implantada como um novo catálogo de máquinas na localização do recurso na nuvem.

Fluxo de trabalho do Image Portability

Esses fluxos de trabalho de alto nível são baseados na configuração de provisionamento de origem e destino da imagem (Machine Creation ou Citrix Provisioning). O fluxo de trabalho escolhido determina quais etapas de trabalho do Image Portability são necessárias.

Consulte a tabela a seguir para entender quais trabalhos são necessários para cada um dos fluxos de trabalho IPS suportados.

Fluxo de trabalho (origem para destino) Exportar Carregar Preparar Publicar
MCS para MCS S S S N
PVS para MCS* N S S N
PVS para PVS no Azure/Google Cloud* N S S S
MCS para PVS no Azure/Google Cloud S S S S

*Presume que você tem a imagem original como um Citrix Provisioning vDisk e não precisa exportá-la diretamente do hipervisor da plataforma de origem.

Requisitos

Para começar a usar o Image Portability, você deve atender aos seguintes requisitos.

Uma imagem do Catálogo de máquinas Citrix

O IPS requer o uso de imagens que tenham uma das seguintes configurações testadas:

  • Windows Server 2016, 2019 e 2022H2

  • Windows 10 ou 11

  • Provisionado usando Machine Creation Services ou Citrix Provisioning

  • Citrix Virtual Apps and Desktops VDA versão 1912CU6, 1912CU7, 2203CU1, 2203CU2, 2212, 2303 ou 2305

  • Serviços de Área de Trabalho Remota ativados para acesso ao console no Azure

O Image Portability Service é compatível com os seguintes hipervisores e plataformas na nuvem:

Plataformas de origem:

  • VMware vSphere 7.0 e 8.0

  • Citrix Hypervisor/XenServer 8.2

  • Nutanix Prism Element 3.x

  • Microsoft Azure

  • Google Cloud Platform

Plataformas de destino:

  • VMware vSphere 8.0

  • Microsoft Azure

  • AWS

  • Google Cloud Platform

Um dispositivo Citrix Connector

Você precisa de um dispositivo Citrix Connector instalado e configurado em cada localização do recurso em que planeja usar o Image Portability. Por exemplo, se você usar o Image Portability para mover uma imagem do vSphere para o Azure, a AWS e o Google Cloud, precisará de pelo menos quatro dispositivos Citrix Connector:

Consulte Implantar dispositivos Connector para obter instruções detalhadas.

Um compartilhamento de arquivos (Windows) SMB

Você precisa de um compartilhamento de arquivos SMB do Windows para armazenamento temporário de dados durante trabalhos de exportação hospedados na localização do recurso no local onde você está usando o Image Portability Service. Certifique-se de que o espaço livre disponível no compartilhamento seja pelo menos o dobro do tamanho configurado do sistema de arquivos da imagem.

Uma máquina para executar scripts do PowerShell

Certifique-se de que a máquina executando os scripts do PowerShell tenha o seguinte:

  • PowerShell versão 5.1.

  • Uma conexão de rede rápida para o compartilhamento de arquivos SMB. Pode ser a mesma máquina que está hospedando o compartilhamento de arquivos.

  • Uma conexão de rede rápida com as plataformas de nuvem pública em que você planeja usar o recurso Image Portability. Por exemplo, Azure, AWS ou Google Cloud.

    Consulte a seção Preparar uma máquina para o PowerShell para obter detalhes sobre como baixar e configurar os módulos do Image Portability da Galeria do PowerShell.

Seu ID de cliente do Citrix Cloud

Certifique-se de ter uma assinatura do Citrix DaaS válida.

Para continuar, você precisa de acesso ao Citrix DaaS (anteriormente Citrix Virtual Apps and Desktops Service). Se você não tiver acesso, entre em contato com seu representante da Citrix.

Consulte a documentação de Introdução a APIs para obter instruções sobre como criar e configurar um cliente de API para usar com o Image Portability.

Configuração e permissões necessárias do Azure

Para que o Image Portability Service execute ações no seu recurso do Azure, você precisa conceder permissões a determinados recursos do Azure para a entidade de serviço do Azure usada pelo Image Portability Service. Para obter a lista detalhada, consulte Permissões necessárias do Microsoft Azure.

Você pode atribuir a função de Colaborador à entidade de serviço no recurso associado. Ou, para atribuir as permissões mínimas necessárias, você pode criar funções personalizadas com as permissões necessárias e atribuí-las à entidade de serviço com o escopo dos recursos apropriados.

Consulte a documentação do Azure para configurar funções de segurança para a sua entidade de serviço do Azure e para criar funções personalizadas.

Configuração e permissões necessárias do Google Cloud

Para que o Image Portability Service execute ações no seu projeto do Google Cloud, você concede permissões a determinados recursos para a entidade de serviço do Google Cloud usada pelo Image Portability Service.

Para ver a lista detalhada, consulte Permissões necessárias do Google Cloud.

Você pode atribuir essas permissões usando as seguintes funções:

  • Cloud Build Editor
  • Compute Admin
  • Storage Admin
  • Service Account User

Consulte a documentação do Google Cloud para obter mais informações sobre como configurar as permissões da conta de serviço.

Configuração e permissões necessárias da Amazon Web Services

Para executar fluxos de trabalho do Image Portability Service com uma conta da Amazon Web Services (AWS), a respectiva identidade do Identity and Access Management (IAM) deve ter as permissões corretas.

Para ver a lista detalhada, consulte as Permissões necessárias da AWS.

Instalar o Image Portability Service

Para instalar o Image Portability Service você deve:

Implantar dispositivos Connector

O Image Portability exige que os dispositivos Citrix Connector criem trabalhos do Image Portability. Os dispositivos Connector ajudam a proteger as interações com seus ambientes locais e na nuvem pública. Os dispositivos Connector se comunicam de volta com o Image Portability Service para informar sobre o status do trabalho e a integridade geral do serviço.

Para implantar e configurar o dispositivo Connector em seu ambiente, siga as etapas em Dispositivo Connector para Cloud Services.

Observe a configuração de hardware e o acesso à porta de rede necessários para o dispositivo ao planejar sua implantação.

Quando seu dispositivo é implantado e registrado, os componentes necessários para habilitar o Image Portability são instalados automaticamente.

Preparar uma máquina para o PowerShell

Para ajudá-lo a começar a usar o Image Portability, criamos módulos do PowerShell que você pode personalizar e usar com o serviço.

As seções a seguir descrevem como preparar uma máquina para executar os scripts do PowerShell. Esses scripts são apenas alguns exemplos. Modifique ou aprimore-os para atender às suas necessidades.

Nota:

Após a instalação inicial, use o Update-Module para atualizar o módulo do PowerShell.

Requisitos do PowerShell

Para usar os scripts do PowerShell, você precisa do seguinte:

  • Um computador Windows para executar os scripts do PowerShell que conduzem os trabalhos do Image Portability. O computador:

    • Tem a versão mais recente do PowerShell.

    • Tem uma conexão de rede de 10 Gb/s ou melhor para o compartilhamento de arquivos SMB no local e uma conexão rápida com a sua nuvem pública (Azure, AWS ou Google Cloud, por exemplo).

    • Pode ser o mesmo computador que hospeda o compartilhamento de arquivos.

    • É um computador executando o Windows 10, Windows Server 2019 ou Windows Server 2022, com os patches mais recentes da Microsoft.

    • Pode se conectar à Galeria do Microsoft PowerShell para baixar as bibliotecas do PowerShell necessárias.

Dependendo da sua versão do Windows, talvez seja necessário desativar o suporte ao TLS 1.0/1.1. Consulte a documentação de suporte do Microsoft PowerShell Gallery TLS para obter mais informações.

Por padrão, o PowerShell não se autentica automaticamente por meio de um servidor proxy. Verifique se você configurou a sua sessão do PowerShell para usar o seu servidor proxy, de acordo com a Microsoft, e as práticas recomendadas do fornecedor do proxy.

Se você vir erros ao executar os scripts do PowerShell relacionados a uma versão ausente ou antiga do PowerShellGet, será necessário instalar a versão mais recente da seguinte maneira:

Install-Module -Name PowerShellGet -Force -Scope CurrentUser -AllowClobber
<!--NeedCopy-->

Instale bibliotecas e módulos

O Image Portability Service utiliza bibliotecas da Galeria do Microsoft PowerShell para conduzir operações de portabilidade.

Importante:

Após a instalação inicial, use o Update-Module para instalar novas versões.

  1. Execute o seguinte comando do PowerShell para baixar os módulos mais recentes:

    Install-Module -Name "Citrix.Workloads.Portability","Citrix.Image.Uploader" -Scope CurrentUser
    <!--NeedCopy-->
    
    • Para alterar a variável de ambiente PATH:

      Pressione Y e Enter para aceitar.

    • Para instalar o provedor NuGet:

      Pressione Y e Enter para aceitar.

    • Se informado sobre um repositório não confiável:

      Pressione A (Sim para todos) e Enter para continuar.

  2. Confirme se todos os módulos necessários foram baixados executando o comando:

    Get-InstalledModule -Name Citrix.*
    <!--NeedCopy-->
    

    Esse comando retorna uma saída semelhante à seguinte:

    Nome Repositório Descrição
    Citrix.Image.Uploader PSGallery Comandos para carregar um VHD(x) para uma conta de armazenamento do Azure, AWS ou GCP e obter informações sobre um VHD(x)
    Citrix.Workloads.Portability PSGallery Cmdlet autônomo para o trabalho de imagem do Citrix Image Portability Service

Atualize os módulos para a versão mais recente

Execute o seguinte comando para atualizar o script para a versão mais recente.

Update-Module -Name "Citrix.Workloads.Portability","Citrix.Image.Uploader" -Force
<!--NeedCopy-->

Instale o SDK do PowerShell remoto do Citrix Virtual Apps and Desktops

O Image Portability Service requer o SDK do PowerShell remoto do Citrix Virtual Apps and Desktops para criar e gerenciar trabalhos de portabilidade no Citrix Cloud.

Baixe e instale o SDK do PowerShell remoto no seu computador.

Instale componentes de terceiros específicos da plataforma

O módulo PowerShell do Image Portability Service não instala dependências de terceiros. Portanto, você pode limitar a instalação apenas às plataformas que deseja. Se você estiver usando uma das plataformas a seguir, siga as instruções relevantes para a instalação das dependências da plataforma:

VMware

Se você estiver criando trabalhos do Image Portability que se comunicam com o seu ambiente VMware, execute o seguinte comando para instalar os módulos do VMware PowerShell necessários.

Install-Module -Name VMWare.PowerCLI -Scope CurrentUser -AllowClobber -Force -SkipPublisherCheck
<!--NeedCopy-->
Amazon Web Services

Se você estiver criando trabalhos do Image Portability na AWS, baixe e instale a Interface de linha de comando da AWS e execute estes comandos para instalar os módulos necessários do AWS PowerShell:

Install-Module -Name AWS.Tools.Installer
Install-AWSToolsModule AWS.Tools.EC2,AWS.Tools.S3
<!--NeedCopy-->
Azure

Se você estiver criando trabalhos do Image Portability no Azure, baixe e instale os utilitários de linha de comando do Azure e execute esses comandos para instalar os módulos necessários do Azure PowerShell:

Install-Module -Name Az.Accounts -Scope CurrentUser -AllowClobber -Force
Install-Module -Name Az.Compute -Scope CurrentUser -AllowClobber -Force
<!--NeedCopy-->
Google Cloud

Se você estiver criando trabalhos do Image Portability no Google Cloud, baixe e instale o SDK do Google Cloud no seu computador.

Desinstale scripts e módulos

Execute os seguintes comandos para desinstalar os módulos usados pelo software Image Portability.

Nota:

Scripts e componentes de terceiros não são removidos automaticamente ao desinstalar módulos IPS.

Para desinstalar os módulos:

Get-InstalledModule -Name "Citrix.Workloads.Portability","Citrix.Images.Uploader" | Uninstall-Module
<!--NeedCopy-->

Adicionar credenciais ao Credential Wallet

Para cenários de automação de ponta a ponta, você pode configurar o Image Portability Service para autenticar de forma não interativa com o Citrix Cloud, a sua nuvem pública e os recursos locais. Além disso, o Image Portability Service usa credenciais armazenadas no Citrix Credential Wallet sempre que as nossas APIs são autenticadas diretamente com os seus recursos locais e na nuvem pública. Definir credenciais conforme descrito nesta seção é uma etapa necessária para executar trabalhos de exportação, preparação e publicação.

Ao executar trabalhos, o Image Portability Service requer acesso a recursos que você pode controlar. Por exemplo, para que o Image Portability Service exporte um disco de um servidor vSphere para um compartilhamento SMB, o serviço precisa de acesso de login para os dois sistemas. Para proteger essas informações de conta, o Image Portability Service usa o serviço Citrix Credential Wallet. Esse serviço armazena suas credenciais na carteira com um nome definido pelo usuário. Quando quiser executar um trabalho, forneça o nome da credencial a ser usada. Além disso, essas credenciais podem ser atualizadas ou excluídas da carteira a qualquer hora.

As credenciais geralmente são armazenadas para estas plataformas:

  • Microsoft Azure
  • AWS
  • Google Cloud
  • Compartilhamento SMB
  • VMware vSphere
  • Nutanix AHV
  • XenServer

Para gerenciar credenciais, consulte Credentials Management na seção Image Portability Service APIs do Developer API Portal.

Usar o Image Portability Service

Preparar imagens nas localizações de recursos locais para sua assinatura de nuvem pública requer a criação de trabalhos do Image Portability no Citrix Cloud. Você pode criar um trabalho para fazer chamadas diretas de API para o serviço no seu script ou programa, ou usando os módulos do PowerShell de exemplo que desenvolvemos para automatizar chamadas de API. Consulte Image Portability Service Developer API Portal para obter informações sobre o uso de APIs REST e módulos do PowerShell para criar trabalhos IPS.

Publicar catálogos de máquinas usando o Citrix Provisioning

O Image Portability Service (IPS) é usado com o Machine Creation Services (MCS) no Azure, na AWS e no Google Cloud, ou com o Citrix Provisioning (PVS) no Azure ou no Google Cloud. Você pode combinar as soluções PowerShell e REST descritas neste guia com as ferramentas da sua plataforma, as APIs da sua plataforma ou os SDKs do Citrix DaaS para criar um fluxo de trabalho completo e automatizado para criar um catálogo de máquinas com base na imagem preparada. Dependendo da plataforma de nuvem escolhida, podem ser necessárias etapas intermediárias entre a conclusão de um trabalho de preparação de IPS e a criação de um catálogo ou atribuição a um alvo de PVS.

AWS

Os trabalhos de preparação do IPS na AWS produzem um volume. O Machine Creation Services exige uma Amazon Machine Image (AMI) durante a criação do catálogo. Para gerar uma AMI da imagem migrada, primeiro você precisa criar um instantâneo da imagem do volume resultante e depois criar uma AMI com base nesse instantâneo. Isso pode ser feito com a interface de linha de comando (CLI) da AWS:

> aws ec2 create-snapshot --volume-id <VolumeId>
> aws ec2 register-image --name <AmiName> --architecture 'x86_64' --root-device-name '/dev/sda1 --boot-mode uefi --ena-support --virtualization-type 'hvm' --block-device-mappings 'DeviceName=/dev/sda1,Ebs={SnapshotId=<SnapshotID>}'
<!--NeedCopy-->

O <VolumeId> é a saída do trabalho de preparação do IPS. A AMI resultante pode ser usada como uma imagem mestre do MCS.

Um exemplo de script do PowerShell para automatizar essa parte do fluxo de trabalho é fornecido no módulo Citrix.Workloads.Portability como um script chamado New-ImsAwsImage.ps1.

Azure

No Azure, o IPS produz discos gerenciados que podem ser usados diretamente como imagens mestre do MCS. Para atribuir a imagem resultante aos destinos PVS, o IPS fornece uma operação de “publish” para copiar o disco gerenciado para um arquivo VHD(x) na sua loja PVS.

Google Cloud

Os trabalhos de preparação do IPS no Google Cloud produzem um disco. O MCS exige um modelo de instância do Google Cloud. O processo de criação de um modelo de instância MCS a partir de um disco é abordado em detalhes em Preparar uma instância de VM mestre e um disco permanente.

Para destinos PVS no Google Cloud, o IPS fornece uma operação de “publish” para copiar o disco para um arquivo VHD(x) na sua loja PVS.

Automatizar a configuração do VDA

Ao preparar uma imagem gerenciada pela Citrix que se originou no local, você pode reconfigurar o VDA na imagem para dar suporte ao ambiente de destino para o qual a imagem está sendo preparada. O Image Portability Service pode aplicar alterações de configuração do VDA em tempo real durante a fase de preparação do fluxo de trabalho. Há três parâmetros de configuração que definem como o VDA opera na imagem migrada: InstallMisa, InstallPvs e XdReconfigure. Defina esses parâmetros ao criar trabalhos IPS da seguinte forma:

InstallMisa = $true
<!--NeedCopy-->

Configurar o InstallMisa como true permite que o Image Portability Service instale quaisquer componentes do VDA ausentes que seriam necessários para provisionar a imagem usando o MCS.

Configurar o InstallMisa como true também requer a configuração do CloudProvisioningType como Mcs.

InstallPvs = '2206'
<!--NeedCopy-->

A versão do servidor PVS com a qual a imagem é usada: (string, default $null). Por exemplo: 2206, 7.33 ou 2203cu1 (necessário se o tipo de provisionamento for PVS).

Defina InstallPvs para a versão do servidor PVS em que a imagem está sendo implantada. Quando InstallPvs é definido, o Image Portability Service (IPS) instala automaticamente a versão especificada do software do dispositivo de destino PVS na imagem durante os trabalhos de preparação. O IPS suporta as duas compilações mais recentes (versão básica ou atualizações cumulativas) para os dois últimos lançamentos de Long-Term Service Release (LTSR) e Current Releases (CR).

A configuração do InstallPvs também exige que o CloudProvisioningType seja configurado como Pvs.

Para InstallMisa e InstallPvs, observe o seguinte:

  • Somente as versões recentes de LTSR e CR do VDA suportam esse recurso.

  • Se os componentes necessários já estiverem presentes para o VDA instalado, nenhuma alteração será feita, mesmo que os parâmetros sejam configurados.

  • Para versões suportadas do VDA, o Image Portability instala a versão apropriada dos componentes necessários, mesmo que os componentes necessários do VDA não estejam presentes.

  • Para versões não suportadas do VDA, a reconfiguração falha e uma mensagem é registrada no log se os componentes necessários do VDA não estiverem presentes. O trabalho de preparação é concluído mesmo que a reconfiguração do VDA não seja concluída.

XdReconfigure requer um dos seguintes valores: controllers ou site_guid. Alguns exemplos de parâmetros de configuração usando cada valor:

Usando controllers:

XdReconfigure = @(
    [pscustomobject]@{
        ParameterName = 'controllers'
        ParameterValue = 'comma-separated-list-of-your-cloud-connectors-fqdns'
    }
)
<!--NeedCopy-->

onde o ParameterValue é a lista de FQDNs dos novos DDCs para onde você deseja apontar o VDA. Vários DDCs podem ser especificados no formato separado por vírgulas.

Usando site_guid:

XdReconfigure = @(
    [pscustomobject]@{
        ParameterName = 'site_guid'
        ParameterValue = 'active-directory-site-guid'
    }
)
<!--NeedCopy-->

XdReconfigure também aceita valores que são suportados ao executar o instalador da linha de comando do VDA com a opção de instalação /reconfigure, por exemplo, XenDesktopVdaSetup.exe /reconfigure. Alguns exemplos desses valores: wem_agent_port, wem_cached_data_sync_port, wem_cloud_connectors e wem_server. Para obter uma lista completa das opções de linha de comando de reconfiguração do VDA, consulte a documentação do VDA do Citrix DaaS.

Nota:

Você pode usar -DryRun enquanto executa seus comandos para validar sua configuração e as configurações de rede do seu dispositivo conector.

Referência

Esta seção detalha as informações de referência técnica, com base em suas necessidades.

Permissões exigidas pelo Image Portability Services

Esta seção detalha as permissões exigidas pelo Image Portability Service em cada uma das plataformas suportadas, local e na nuvem.

Permissões necessárias do Connector Appliance

O Connector Appliance precisa acessar as seguintes URLs para preparar imagens no Image Portability Service:

*.layering.cloud.com
credentialwallet.citrixworkspaceapi.net
graph.microsoft.com
login.microsoftonline.com
management.azure.com
*.blob.storage.azure.net
<!--NeedCopy-->

Permissões necessárias do VMware vCenter

As seguintes permissões do vCenter são necessárias para executar o trabalho de disco de exportação IPS em um ambiente VMware. Essas permissões podem ser encontradas em Roles na seção Access Control do painel de administração do vCenter.

-  Cryptographic operations
    -  Direct Access

-  Datastore
    -  Allocate space
    -  Browse datastore
    -  Low level file operations
    -  Remove file

-  Folder
    -  Create folder
    -  Delete folder

-  Network
    -  Assign network

-  Resource
    -  Assign virtual machine to resource pool

-  Virtual machine
    -  Change Configuration
        -  Add existing disk
        -  Add new disk
        -  Remove disk

    -  Edit Inventory
        -  Create from existing
        -  Create new
        -  Remove

    -  Interaction
        -  Power off
        -  Power on
<!--NeedCopy-->

Permissões necessárias do Microsoft Azure

O Image Portability exige que a sua conta de serviço do Azure tenha as seguintes permissões.

Quando o grupo de recursos a ser usado para o Compositing Engine é especificado (ou seja, na propriedade resourceGroup em uma solicitação REST ou no parâmetro -AzureVmResourceGroup ao usar os comandos Citrix.Workloads.Portability PowerShell), as seguintes permissões são necessárias no escopo do grupo de recursos.

Microsoft.Compute/disks/beginGetAccess/action
Microsoft.Compute/disks/endGetAccess/action
Microsoft.Compute/disks/delete
Microsoft.Compute/disks/read
Microsoft.Compute/disks/write
Microsoft.Compute/virtualMachines/delete
Microsoft.Compute/virtualMachines/powerOff/action
Microsoft.Compute/virtualMachines/read
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.Resources/deployments/operationStatuses/read
Microsoft.Resources/deployments/read
Microsoft.Resources/deployments/write
Microsoft.Resources/subscriptions/resourcegroups/read
<!--NeedCopy-->

Quando o grupo de recursos a ser usado para o Compositing Engine não é especificado, as seguintes permissões são necessárias no escopo da assinatura.

Microsoft.Compute/disks/beginGetAccess/action
Microsoft.Compute/disks/endGetAccess/action
Microsoft.Compute/disks/read
Microsoft.Compute/disks/write
Microsoft.Compute/virtualMachines/powerOff/action
Microsoft.Compute/virtualMachines/read
Microsoft.Compute/virtualMachines/write
Microsoft.Network/networkInterfaces/join/action
Microsoft.Network/networkInterfaces/read
Microsoft.Network/networkInterfaces/write
Microsoft.Network/networkSecurityGroups/join/action
Microsoft.Network/networkSecurityGroups/read
Microsoft.Network/networkSecurityGroups/write
Microsoft.Resources/deployments/operationStatuses/read
Microsoft.Resources/deployments/read
Microsoft.Resources/deployments/write
Microsoft.Resources/subscriptions/resourceGroups/delete
Microsoft.Resources/subscriptions/resourceGroups/write
Microsoft.Authorization/roleAssignments/read
Microsoft.Authorization/roleDefinitions/read
<!--NeedCopy-->

As permissões a seguir são necessárias no escopo do grupo de recursos de destino especificado (ou seja, o grupo de recursos especificado na propriedade targetDiskResourceGroupName em uma solicitação REST ou no parâmetro -TargetResourceGroup ao usar o PowerShell).

Microsoft.Compute/disks/beginGetAccess/action
Microsoft.Compute/disks/delete
Microsoft.Compute/disks/read
Microsoft.Compute/disks/write
Microsoft.Compute/snapshots/delete
Microsoft.Compute/snapshots/read
Microsoft.Compute/snapshots/write
<!--NeedCopy-->

As permissões a seguir são necessárias no escopo do grupo de recursos de rede virtual especificado (ou seja, o grupo de recursos especificado na propriedade virtualNetworkResourceGroupName em uma solicitação REST ou no parâmetro -AzureVirtualNetworkResourceGroupName ao usar o PowerShell).

Microsoft.Network/virtualNetworks/read
Microsoft.Network/virtualNetworks/subnets/join/action
<!--NeedCopy-->

Importante:

A opção ceVmSku de trabalhos “prepare” e “prepareAndPublish” controla o tipo de VM do Azure para a qual o disco gerenciado resultante é adequado. Você deve selecionar uma ceVMSku com a mesma família e versão das VMs que você pretende provisionar a partir da imagem de saída. O valor padrão de Standard_D2S_v3 é adequado para ser executado em todas as máquinas da família v3 D. Com a v4 e as SKUs de VM mais recentes, a Microsoft tornou opcional o disco de recurso temporário conectado às VMs. Isso afeta o posicionamento correto de pagefile. Se você pretende usar uma SKU de VM sem um disco de recurso temporário para as máquinas que você provisiona usando a imagem de saída, certifique-se de que sua ceVmSku também não tenha um disco de recurso temporário. Se a ceVmSku for um tipo com um disco de recurso temporário, o IPS move o pagefile do Windows para esse disco. Você recebe uma caixa de diálogo de aviso em cada login se usar um disco preparado dessa forma em uma SKU que não tenha um disco de recurso temporário. Se a ceVmSku não tiver um disco temporário, o pagefile será configurado no volume raiz do sistema. Isso poderá resultar em cobranças de E/S não intencionais se você usar uma imagem preparada dessa forma em uma SKU que inclua um disco de recurso temporário.

Permissões necessárias do Google Cloud

O Image Portability exige que a sua conta de serviço do Google Cloud tenha as seguintes permissões:

cloudbuild.builds.create
cloudbuild.builds.get
cloudbuild.builds.list
compute.disks.create
compute.disks.delete
compute.disks.get
compute.disks.list
compute.disks.setLabels
compute.disks.use
compute.globalOperations.get
compute.images.create
compute.images.delete
compute.images.get
compute.images.list
compute.images.setLabels
compute.images.useReadOnly
compute.instances.create
compute.instances.delete
compute.instances.get
compute.instances.setLabels
compute.instances.setMetadata
compute.instances.setServiceAccount
compute.instances.setTags
compute.instances.stop
compute.instances.updateDisplayDevice
compute.networks.get
compute.subnetworks.use
compute.subnetworks.useExternalIp
compute.zoneOperations.get
compute.zones.list
iam.serviceAccounts.actAs
iam.serviceAccounts.get
iam.serviceAccounts.list
resourcemanager.projects.get
storage.buckets.create
storage.buckets.delete
storage.buckets.get
storage.objects.create
storage.objects.delete
storage.objects.get
storage.objects.list
<!--NeedCopy-->

Permissões necessárias da AWS

O Image Portability requer que você anexe um documento de política JSON com a seguinte configuração ao usuário do IAM (Identity and Access Management):

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": [
                "ebs:StartSnapshot",
                "ebs:PutSnapshotBlock",
                "ebs:CompleteSnapshot",
                "ec2:CreateTags",
                "ec2:CreateImage",
                "ec2:DeleteSnapshot",
                "ec2:DeleteVolume",
                "ec2:DeregisterImage",
                "ec2:DescribeImages",
                "ec2:DescribeInstances",
                "ec2:DescribeRegions",
                "ec2:DescribeSecurityGroups",
                "ec2:DescribeSnapshots",
                "ec2:DescribeSubnets",
                "ec2:RebootInstances",
                "ec2:RegisterImage",
                "ec2:RunInstances",
                "ec2:TerminateInstances",
            ],
            "Effect": "Allow",
            "Resource": "*"
        }
    ]
}
<!--NeedCopy-->

Nota:

Se desejar, você pode reduzir ainda mais o escopo do Recurso, conforme necessário.

Permissões necessárias da Nutanix AHV

Image Portability exige que você seja Cluster Admin na configuração da Nutanix AHV.

Permissões necessárias do XenServer

O Image Portability exige que você tenha, no mínimo, a função “VM Admin” para o pool em que o host XenServer está.

Trabalho em rede

O Image Portability Service (IPS) cria uma VM funcional chamada Compositing Engine (CE) para realizar operações de imagem. Todos os Connector Appliances no local de recursos associado devem ser capazes de se comunicar com o CE via HTTP. Toda comunicação entre um Connector Appliance (CA) e o CE é iniciada pelo CA, exceto por uma única exceção no caso do vSphere, em que ocorre a comunicação HTTPS bidirecional entre o CE e o CA.

Em ambientes de nuvem (Azure, AWS, Google Cloud), o CE é criado com um endereço IP privado. Portanto, o CE deve estar na mesma rede virtual que o CA ou em uma rede virtual acessível a partir do CA.

Além disso, para trabalhos que envolvem arquivos em um compartilhamento SMB (por exemplo, trabalhos de exportação), o CE deve estar em uma rede com conectividade com o compartilhamento SMB.

Consulte a documentação da API do Image Portability Service para obter detalhes sobre como especificar a rede a ser usada para o CE em cada plataforma compatível.

Para trabalhos “prepare”, o sistema operacional contido na imagem é inicializado (no CE) para realizar a especialização e outras tarefas. Se a imagem contiver agentes de gerenciamento ou de segurança que telefonam para um servidor de controle, esses processos podem interferir no processo de preparação.

Se a opção de cancelamento de ingresso no domínio for especificada, a conectividade da rede poderá afetar os resultados. Se a VM do Compositing Engine puder acessar o controlador de domínio do Active Directory pela rede, o cancelamento do ingresso removerá a conta do computador do domínio. Isso interrompe a associação de domínio da VM de origem da qual a imagem foi extraída.

Portanto, recomendamos isolar a rede fornecida para a operação a partir de outros recursos da rede. Isso pode ser feito por meio do isolamento da sub-rede ou com regras de firewall. Consulte Isolamento de rede para obter detalhes.

Em alguns ambientes de hipervisor locais, o hipervisor pode ser configurado com um certificado de servidor TLS, que não é confiável pelo conjunto de autoridades de certificação raiz confiáveis da AC ou não corresponde ao nome do host do servidor. Em tais situações, o IPS fornece propriedades de solicitação de trabalho que podem ser usadas para contornar o problema. Consulte Certificados TLS para obter detalhes.

Proxies de rede

Se o tráfego de rede entre a autoridade de certificação e a Internet passar por um proxy que executa a introspecção de TLS, pode ser necessário adicionar a Autoridade de Certificação Raiz do proxy (ou seja, o certificado que o proxy usa para assinar os certificados TLS que ele gera) ao conjunto de autoridades de certificação raiz da AC. Consulte Registrar seu Connector Appliance no Citrix Cloud para obter mais informações.

Isolamento de rede
  • Azure

    No Azure, o CE é criado por padrão com um grupo de segurança de rede (NSG) anexado à sua NIC se a entidade de serviço do Azure usada na operação tiver as permissões necessárias do Azure 1.

    Esse NSG está configurado para bloquear todo o tráfego de entrada/saída do CE, exceto:

    • saída SMB (porta 445)
    • entrada HTTPS (porta 443)
    • o necessário para os serviços internos do Azure.

    O uso do NSG pode ser forçado definindo a propriedade networkIsolation na solicitação de trabalho como true. Nesse caso, o trabalho falha se a entidade de serviço usada na operação não tiver as permissões necessárias. O uso do NSG pode ser desativado definindo a propriedade networkIsolation como false.

  • AWS

Na AWS, para obter o isolamento da rede do CE, você pode criar um grupo ou grupos de segurança de rede que bloqueiam todo o tráfego indesejado e, na solicitação de trabalho, atribuir os grupos de segurança à instância do CE usando o parâmetro de solicitação securityGroupIds, que usa uma lista de IDs de grupos de segurança como valor.

  • Google Cloud

No Google Cloud, para obter o isolamento da rede do CE, você pode criar regras de firewall que bloqueiam todo o tráfego indesejado e depois aplicá-las ao CE por meio de marcações de rede. O IPS cria o CE com a marcação de rede compositing-engine e você pode atribuir a ela outras marcações de rede usando o parâmetro de solicitação de trabalho networkTags, que usa uma lista de tags como um valor.

Certificados TLS

Se o certificado do servidor do hipervisor for assinado por uma autoridade que não confia na autoridade de certificação, há duas abordagens alternativas que podem ser usadas para resolver o problema.

  1. Especifique na solicitação de trabalho um certificado adicional da Autoridade de Certificação Raiz para usar na verificação do certificado. Esse certificado deve ser a Autoridade de Certificação Raiz usada para assinar o certificado do servidor do hipervisor.
  2. Especifique na solicitação de trabalho a impressão digital SHA-1 do certificado do servidor do hipervisor. Nesse caso, a validação do certificado é feita verificando se a impressão digital SHA-1 do certificado retornado pelo hipervisor corresponde à fornecida na solicitação de trabalho. Observe que esse método pode não funcionar se houver um proxy de interceptação de TLS entre o CE e o hipervisor.

Os parâmetros de solicitações de trabalho acima, fornecidos respectivamente abaixo para cada plataforma, são:

  • vSphere
    1. vCenterSslCaCertificate
    2. vCenterSslFingerprint
  • Nutanix
    1. prismSslCaCertificate
    2. prismSslFingerprint
  • XenServer
    1. xenSslCaCertificate
    2. xenSslFingerprint

Consulte a documentação da API do Image Portability Service para obter mais detalhes.

Os erros de validação do certificado também podem ocorrer quando ocorre uma incompatibilidade entre o nome do host do servidor do hipervisor e o nome do host em seu certificado. Nesse caso, a correspondência de nomes de host pode ser desativada definindo o seguinte parâmetro como true na solicitação de trabalho:

  • vSphere
    • vCenterSslNoCheckHostname
  • Nutanix
    • prismSslNoCheckHostname
  • XenServer
    • xenSslNoCheckHostname

Documentação relacionada

  1. If Se um grupo de recursos explícito estiver sendo usado para a operação, as seguintes permissões no escopo do grupo de recursos: - Microsoft.Network/networkSecurityGroups/join/action - Microsoft.Network/networkSecurityGroups/read - Microsoft.Network/networkSecurityGroups/write

    Otherwise the following permissions at the scope of the subscription if no explicit resource group is being used:

    • Microsoft.Network/networkSecurityGroups/delete
    • Microsoft.Network/networkSecurityGroups/join/action
    • Microsoft.Network/networkSecurityGroups/read
    • Microsoft.Network/networkSecurityGroups/write

Migre cargas de trabalho entre locais de recursos usando o Image Portability Service