Migrar contêineres implantados em VMs durante a criação da VM

O agente de inicialização de contêineres no Compute Engine foi descontinuado. Com ele, é possível implantar contêineres em instâncias do Compute Engine ao criar VMs.

Neste documento, descrevemos como migrar contêineres criados pelo agente de inicialização nas suas VMs ou grupos gerenciados de instâncias (MIGs) para outros serviços doTrusted Cloud .

Com base nos seus requisitos, escolha uma das seguintes opções para migrar os contêineres implantados em VMs usando o método descontinuado:

  • Se você quiser continuar executando contêineres em VMs e MIGs individuais, use scripts de inicialização ou cloud-init.
  • Se você tiver aplicativos de contêiner sem estado e jobs de pequeno a médio porte, use o Cloud Run.
  • Se o contêiner for um job em lote com um estado final definido e exigir mais recursos de computação, use o Batch.
  • Se você precisar de controle e escalonabilidade avançados ou não conseguir atender aos seus requisitos com as outras opções, use o GKE no Google Cloud.

Para mais casos de uso e soluções alternativas, consulte Comparar as opções de implantação de contêineres.

Opções descontinuadas para configurar contêineres em VMs

Quando você configura um contêiner durante a criação da VM, o Compute Engine usa o agente de inicialização do contêiner para ler os metadados gce-container-declaration que armazenam as informações do contêiner e para implantar o contêiner na VM.

As seguintes opções para implantar contêineres diretamente em uma VM ou MIG que usam o agente de inicialização de contêiner e o gce-container-metadata estão descontinuadas.

Console

A opção Implantar contêiner na página Criar uma instância foi descontinuada:

A opção "Implantar contêiner".

gcloud

Os seguintes comandos gcloud que configuram um contêiner em uma VM ou um modelo de instância estão descontinuados:

Terraform

O módulo do Terraform gce-container e a chave de metadados gce-container-declaration para configurar contêineres foram descontinuados.

Identificar instâncias que usam os metadados de contêiner obsoletos

Para determinar se alguma instância no seu projeto usa os metadados de contêiner descontinuados, execute o seguinte comando da Google Cloud CLI, que lista as instâncias com a chave e o valor de metadados gce-container-declaration:

gcloud compute instances list --filter="metadata.items.key:gce-container-declaration"

Esse comando fornece uma lista de todas as instâncias de VM no projeto configurado que contêm a chave de metadados gce-container-declaration. A chave de metadados identifica de forma exclusiva as VMs que estão no escopo da descontinuação. Se você estiver usando vários projetos, execute esse comando em todos os projetos ativos.

Se você quiser validar uma instância específica, execute o seguinte comando da Google Cloud CLI:

  gcloud compute instances describe VM_NAME --format="(metadata.items)"

Substitua VM_NAME pelo nome da instância de VM que você quer validar.

Para mais informações sobre como acessar metadados, consulte Acessar e consultar metadados.

Comparar as opções de implantação de contêineres

A tabela a seguir resume os casos de uso para execução de contêineres em VMs e recomenda soluções alternativas de contêineres para migrar suas cargas de trabalho:

Casos de uso Tipo de substituição Custo Solução recomendada
  • Continue executando o contêiner em uma VM ou um MIG.
  • Menos familiarizado com soluções gerenciadas ou sem servidor.
  • Executar contêiner para testes e desenvolvimento.
  • Sua carga de trabalho consiste em uma única VM.
  • Execute o contêiner no modo privilegiado.
  • Substituição direta Sem custo extra Use scripts de inicialização para criar as VMs.
  • Continue executando o contêiner em uma VM ou um MIG.
  • Executar vários contêineres em uma única VM.
  • Configure cenários avançados em contêineres ou VMs.
    Por exemplo, crie usuários, importe arquivos, monte discos ou use o modo privilegiado.
  • Sua carga de trabalho consiste em várias VMs ou MIGs.
  • Substituição direta Sem custo extra Use cloud-init para executar tarefas durante o ciclo de vida da VM.
    Executar um job em lote que tem um estado final definido e requer recursos de computação adicionais. Serviço gerenciado Depende das características da carga de trabalho e da complexidade da configuração do contêiner. Batch
  • Executar aplicativos sem estado.
  • Execute trabalhos de pequeno a médio porte.
  • Serviço gerenciado Não para soluções de baixo custo para cargas de trabalho menores. Cloud Run
  • Você já tem um cluster do GKE.
  • Você precisa de controle e escalonabilidade avançados.
  • Serviço gerenciado Depende das características da carga de trabalho e da complexidade da configuração do contêiner. Google Kubernetes Engine

    Ao fazer a transição do agente de inicialização de contêiner do Compute Engine para uma solução alternativa, considere as seguintes mudanças necessárias e o possível esforço de implementação:

    • VMs que executam o Container-Optimized OS: assuma total responsabilidade pela configuração, segurança e manutenção da VM e do ambiente de execução de contêineres, o que geralmente envolve scripts com scripts de inicialização ou cloud-init.
    • Cloud Run ou Batch: verifique se os aplicativos são sem estado e se adequam ao modelo de execução orientado por solicitações ou baseado em jobs. Essa abordagem pode envolver a adaptação de aplicativos para trabalhar com serviços externos de gerenciamento de estado.
    • GKE: adote os princípios do Kubernetes, defina cargas de trabalho usando arquivos de manifesto do Kubernetes e gerencie recursos do cluster.

    Usar scripts de inicialização para implantar contêineres em VMs

    É possível executar um contêiner básico em uma VM usando um script de inicialização.

    Considere os seguintes pontos ao usar um script de inicialização para configurar contêineres:

    • É possível usar um script de inicialização para cenários básicos. Para configurações avançadas, considere usar cloud-init.
    • Como você está criando uma nova VM com um contêiner configurado usando o script de inicialização, planeje a transição de todas as cargas de trabalho implantadas nas VMs atuais.
    • Teste e garanta que tudo funcione conforme o esperado antes de rotear o tráfego para a VM recém-criada com um contêiner.

    Para criar uma VM e implantar um contêiner em uma VM ou um MIG, faça o seguinte:

    1. Mapear o contêiner atual nos metadados da VM para o comando do script de inicialização
    2. Criar um script de inicialização com base na configuração de metadados atual
    3. Criar uma VM usando o script de inicialização ou Criar um MIG usando o script de inicialização.

    Mapear os metadados do contêiner para o comando docker run

    É possível mapear os metadados da VM ou as flags gcloud para argumentos docker run e incluir isso no script de inicialização para criar VMs.

    Algumas flags gcloud são traduzidas diretamente para metadados da VM. Essas flags também são traduzidas diretamente para flags do docker run. Se você tiver um contêiner em uma VM, poderá ler a configuração de metadados da VM e criar um script de inicialização usando os comandos docker run equivalentes.

      # Get your existing VM instance configuration in yaml format
      gcloud compute instances describe VM_NAME --format="(metadata.items)"
    

    O resultado será assim:

      metadata:
        items:
        - key: gce-container-declaration
          value: |
            spec:
              containers:
              - args:
                - '"hello world!"'
                command:
                - echo
                env:
                - name: ONE
                  value: '1'
                image: docker.io/library/busybox
                name: my-instance
                securityContext:
                  privileged: true
                stdin: true
                tty: true
              restartPolicy: Always
        - key: google-logging-enabled
          value: 'true'
    

    Use a tabela a seguir para mapear a especificação atual para comandos docker run:

    Flag da Google Cloud CLI Chave de metadados da VM Comando "docker run"
    --container-image containers.image Especifique como um argumento sem flag.
    Por exemplo:
    docker run gcr.io/google-containers/busybox
    --container-command command Especifique como um argumento sem flag, após o nome da imagem do contêiner.
    Por exemplo:
    docker run gcr.io/google-containers/busybox echo "hello world"
    --container-arg args Especifique como um argumento sem flag, depois do comando.
    Por exemplo:
    docker run gcr.io/google-containers/busybox echo "hello world"
    --container-env containers.env array --env KEY=VALUE [--env KEY=VALUE ...]
    --container-restart-policy restartPolicy --restart
    Os valores possíveis são no, on-failure e always. O padrão é no.
    --container-stdin containers.stdin -i
    Flag booleana, verdadeira se presente, falsa por padrão.
    --container-tty containers.tty -t
    Flag booleana, verdadeira se presente, falsa por padrão.
    --container-privileged containers.securityContext.privileged --privileged
    Flag booleana, verdadeira se presente, falsa por padrão.
    --container-mount-disk - Não há comando docker run equivalente.
    Você pode ativar o disco separadamente.

    Exemplos de scripts de inicialização

    Os exemplos a seguir mostram como incluir os comandos docker no script de inicialização:

    • Exemplo 1: executa um contêiner independente em uma VM baseada no Container-Optimized OS.
    • Exemplo 2: executa um contêiner de servidor da Web em uma VM baseada no Container-Optimized OS.

    Exemplo 1

    Execute um contêiner independente em uma VM baseada no Container-Optimized OS:

    #!/bin/bash
    
    # A name for the container
    CONTAINER_NAME="my-app-container"
    
    # Stop and remove the container if it exists
    docker stop $CONTAINER_NAME || true
    docker rm $CONTAINER_NAME || true
    
    # Pull the latest version of the container image from Docker Hub
    docker pull busybox:latest
    
    # Run docker container from image in docker hub
    docker run busybox:latest \
      echo "hello world!"
    

    Exemplo 2

    Execute um contêiner de servidor da Web em uma VM baseada no Container-Optimized OS:

    #!/bin/bash
    
    # Enable incoming traffic
    iptables -A INPUT -j ACCEPT
    
    # A name for the container
    CONTAINER_NAME="my-app-container"
    
    # Stop and remove the container if it exists
    docker stop $CONTAINER_NAME || true
    docker rm $CONTAINER_NAME || true
    
    # Pull the latest version of the container image from Docker Hub
    docker pull nginx:latest
    
    # Run docker container from image in docker hub
    docker run \
      --name=$CONTAINER_NAME \
      --privileged \
      --restart=always \
      --tty \
      --detach \
      --network="host" \
      nginx:latest
    

    Outras opções de configuração para implantação de contêineres

    Nesta seção, descrevemos os parâmetros de configuração adicionais para implantar contêineres nas suas VMs.

    Para mais informações sobre essas opções, consulte Configurar opções para executar um contêiner.

    Acesso a imagens do Artifact Registry

    Se você precisar acessar imagens de contêiner de gcr.io ou pkg.dev, use a ferramenta docker-credential-gcr, que já vem instalada no Container-Optimized OS, e configure a autenticação no Artifact Registry para Docker. Execute o comando a seguir antes de executar o contêiner:

      # Set home directory to save docker credentials
      HOME=/home/appuser
    
      # Configure docker with credentials for gcr.io and pkg.dev
      docker-credential-gcr configure-docker
    

    Para mais informações, consulte Configurar a autenticação para o Artifact Registry no Docker.

    Configurar a geração de registros

    Recomendamos usar o Cloud Logging ativando um agente de geração de registros em uma VM.

    Como alternativa, se você quiser mudar o driver de geração de registros, inclua o parâmetro --log-driver com o comando docker run:

      # Use Cloud Logging logging driver
      docker run --log-driver=gcplogs nginx:latest
    

    Para mais informações, consulte Como usar o Cloud Logging com o Container-Optimized OS.

    Configurar o firewall interno

    O Container-Optimized OS nega o tráfego de entrada por padrão. Portanto, é necessário adicionar regras iptables para permitir esse tráfego. Esses comandos configuram o firewall interno do sistema operacional host. Além disso, configure o firewall da nuvem privada virtual para permitir esse tráfego na nova VM.

    Para mais informações, consulte Usar regras de firewall da VPC.

      # Enable all incoming and routed traffic
      iptables -A INPUT -p -j ACCEPT
      iptables -A FORWARD -p -j ACCEPT
    

    Para mais informações, consulte Como configurar o firewall do host.

    Anexar volumes ao contêiner

    Se os volumes estiverem anexados ao contêiner, os metadados dele incluirão a entrada volumes e uma matriz volumeMounts. O name de uma entrada em volumes corresponde ao nome de uma entrada em volumeMounts e vice-versa. Para cada volume coletado, reúna as informações necessárias na entrada volumes ou volumeMounts.

    Se nenhum volume estiver anexado ao contêiner, pule esta seção e crie uma VM usando o script de inicialização.

    Para mais informações sobre discos e sistema de arquivos no Container-Optimized OS, consulte Visão geral de discos e sistema de arquivos.

    Montar o sistema de arquivos tmpfs

    Para ativar um sistema de arquivos tmpfs vazio em um contêiner, especifique o argumento --tmpfs com o comando docker run. Por exemplo, para ativar um sistema de arquivos de cache no seu contêiner nginx, execute o seguinte comando:

      # mount a cache file system to the nginx container
      docker run -d --name=$CONTAINER_NAME --tmpfs /var/cache/nginx:rw,size=512m,noexec,nosuid,nodev --network="host" nginx:latest
    

    Para mais informações sobre como montar sistemas de arquivos tmpfs, consulte Montagens tmpfs.

    Montar um diretório de host

    Para ativar um diretório de uma VM de host em um contêiner, especifique o argumento --mount com o comando docker run:

      # mount a read-only directory to the nginx container
      docker run -d --name=$CONTAINER_NAME --mount type=bind,source=/var/www/html,target=/usr/share/nginx/html,ro nginx:latest
    

    Para mais informações, consulte Montagens de vinculação.

    Ativar um disco permanente no contêiner

    A ativação de um disco no contêiner exige etapas adicionais. Para montar um disco, primeiro monte-o na VM e, em seguida, monte esse disco no contêiner:

    1. Para montar o disco na VM, execute o seguinte comando:

      #!/bin/bash
      
      DISK_DEVICE_NAME="my-persistent-disk" # This name MUST match the 'device-name' in the gcloud --disk flag
      DISK_BY_ID_PATH="/dev/disk/by-id/google-${DISK_DEVICE_NAME}"
      HOST_MOUNT_POINT="/mnt/disks/my-persistent-disk" # This is the path where the disk will be mounted on the VM
      CONTAINER_MOUNT_PATH="/usr/share/my-persistent-disk" # This is the path where the disk will be mounted in the container
      
      # format a disk as an ext4 filesystem, if it doesn't already contain one
      file -sL $DISK_BY_ID_PATH | grep -q filesystem || \
              mkfs.ext4 -m 0 -E lazy_itable_init=0,lazy_journal_init=0,discard $DISK_BY_ID_PATH
      
      # create a directory for mounting point
      sudo mkdir -p "${HOST_MOUNT_POINT}"
      
      # mount a disk to the VM
      sudo mount -o defaults,discard "${DISK_BY_ID_PATH}" "${HOST_MOUNT_POINT}"
      
    2. Depois de montar o disco na VM, adicione a flag --mount com o comando docker run para montar o disco no contêiner:

      docker run -d --name=$CONTAINER_NAME --mount type=bind,source="${HOST_MOUNT_POINT}",target="${CONTAINER_MOUNT_PATH}",readonly nginx:latest
      

    Criar uma VM usando o script de inicialização

    Depois de criar um script de inicialização com a configuração do contêiner, use esse script para criar uma VM com base no Container-Optimized OS. Para mais informações sobre como criar uma VM com base no Container-Optimized OS, consulte Criar uma instância com base em uma imagem pública.

    Para mais informações sobre como usar scripts de inicialização, consulte Como usar scripts de inicialização em VMs do Linux.

    Console

    1. No console Trusted Cloud , acesse a página Criar uma instância.

      Acesse "Criar uma instância"

      Se solicitado, selecione o projeto e clique em Continuar. A página Criar uma instância aparece e mostra o painel Configuração da máquina.

    2. No painel Configuração da máquina, selecione a família e o tipo de máquina para sua VM.

    3. No menu de navegação, clique em SO e armazenamento. No painel Sistema operacional e armazenamento, configure o disco de inicialização fazendo o seguinte:

      1. Clique em Alterar. O painel Disco de inicialização aparece e mostra a guia Imagens públicas.
      2. Na lista Sistema operacional, selecione SO otimizado para contêiner.
      3. Na lista Versão, selecione a versão do SO.
      4. Na lista Tipo de disco de inicialização, selecione o tipo de disco de inicialização.
      5. (Opcional) Se você precisar de mais discos, adicione-os na seção Discos extras.
      6. Clique em Selecionar.
    4. No menu de navegação, clique em Avançado.

      1. Na seção Automação, cole o script de inicialização que você criou para a implantação do contêiner.
    5. Para criar e iniciar a VM, clique em Criar.

    gcloud

    Ao usar a CLI gcloud, armazene um script de inicialização em um arquivo separado.

    1. Para criar uma VM usando um script de inicialização, execute o seguinte comando:

      gcloud compute instances create VM_NAME \
          --zone=ZONE \
          --image-family=IMAGE_FAMILY \
          --image-project=IMAGE_PROJECT \
          --machine-type=MACHINE_TYPE \
          --metadata-from-file=startup-script=STARTUP_SCRIPT_FILE
      

      Substitua:

      • VM_NAME: nome da nova VM.
      • ZONE: a zona em que a instância será criada.
      • IMAGE_PROJECT: o projeto de imagem do Container-Optimized OS que contém a imagem, por exemplo, cos-cloud.
      • IMAGE_FAMILY: a família de imagens do Container-Optimized OS, por exemplo, cos-stable.
      • MACHINE_TYPE: tipo de máquina para a nova VM, que pode ser predefinido ou personalizado.
      • STARTUP_SCRIPT_FILE: o caminho relativo na sua máquina para o arquivo de script de inicialização, por exemplo, ./startup_script.sh.

      Exemplo:

      # Create COS-based VM by using a startup script
      gcloud compute instances create "cos-instance-with-startup-script" \
      --zone="us-central1-c" \
      --machine-type="e2-medium" \
      --image-family="cos-stable" \
      --image-project="cos-cloud" \
      --metadata-from-file=startup-script="./startup_script.sh"
      
    2. Verifique se o Compute Engine criou a VM executando o seguinte comando:

      gcloud compute instances describe VM_NAME
      

      Substitua VM_NAME pelo nome da VM criada.

    Terraform

    Para criar uma VM, use o recurso google_compute_instance.

    provider "google" {
    project = "PROJECT_ID"
    }
    
    resource "google_compute_instance" "cos_vm_instance" {
    name         = "VM_NAME"
    machine_type = "MACHINE_TYPE"
    zone         = "ZONE"
    
    # Use a Container-Optimized OS image for the boot disk
    boot_disk {
      initialize_params {
        image = "IMAGE_PROJECT/IMAGE_FAMILY"
      }
    }
    
    # Attaches the instance to the default network
    network_interface {
      network = "default"
    }
    
    # Specify the relative path to the startup script on your local machine
    metadata = {
      startup-script = file("STARTUP_SCRIPT_FILE")
    }
    }
    

    Substitua:

    • VM_NAME: nome da nova VM
    • ZONE: a zona em que a instância será criada.
    • IMAGE_PROJECT: o projeto de imagem do Container-Optimized OS que contém a imagem, por exemplo, cos-cloud.
    • IMAGE_FAMILY: a família de imagens do Container-Optimized OS, por exemplo, cos-stable.
    • MACHINE_TYPE: tipo de máquina para a nova VM, que pode ser predefinido ou personalizado.
    • STARTUP_SCRIPT_FILE: o caminho relativo na sua máquina para o arquivo de script de inicialização, por exemplo, ./startup_script.sh.

    Exemplo:

    provider "google" {
      project = "my-project"
    }
    
    resource "google_compute_instance" "my_container_vm" {
      name = "my-container-vm-startup"
      machine_type = "e2-medium"
      zone = "us-central1-a"
    
      boot_disk {
        initialize_params {
          image = "cos-cloud/cos-stable"
        }
      }
    
      network_interface {
        network = "default"
      }
    
      metadata = {
        startup-script = file("./startup_script.sh")
      }
    }
    

    Criar um MIG usando o script de inicialização

    Depois de criar um modelo de instância usando o script de inicialização, use um dos métodos a seguir para criar um MIG.

    Para mais informações sobre como criar MIGs, consulte Criar um grupo gerenciado de instâncias.

    Console

    1. Crie um modelo de instância com base no script de inicialização criado na seção anterior.

      1. Na seção Sistema operacional, selecione um SO otimizado para contêiner e uma versão.
      2. Na seção Automação, cole o script de inicialização que você criou para a implantação do contêiner.
    2. Crie um MIG usando o modelo de instância criado na etapa anterior.

    gcloud

    1. Crie um modelo de instância usando o comando instance-templates create.

      Use uma imagem do Container-Optimized OS para a VM. É possível especificar o caminho relativo para o arquivo de script de inicialização na flag --metadata-from-file.

    2. Crie um MIG usando o modelo de instância criado na etapa anterior.

    Exemplo:

      # Create the instance template that uses a startup script
      gcloud compute instance-templates create startup-template \
          --machine-type=e2-medium \
          --image-family=cos-stable \
          --image-project=cos-cloud \
          --metadata-from-file=startup-script=./startup_script.sh
    
      # Create the managed instance group
        gcloud compute instance-groups managed create startup-mig \
          --template=startup-template \
          --size=2 \
          --zone=us-central1-a
    

    Terraform

    Use os recursos google_compute_instance_template e google_compute_instance_group_manager para criar um modelo de instância e um MIG, conforme mostrado no exemplo a seguir:

    Exemplo:

    resource "google_compute_instance_template" "startup_template" {
      name_prefix = "startup-template-"
      machine_type = "e2-medium"
      disk {
        source_image = "cos-cloud/cos-stable"
        auto_delete  = true
        boot         = true
      }
    
      network_interface {
        network = "default"
      }
      metadata = {
        startup-script = file("./startup_script.sh")
    }
    }
    
    resource "google_compute_instance_group_manager" "startup_mig" {
      name               = "startup-mig"
      base_instance_name = "startup-vm"
      zone               = "us-central1-a"
      version {
        instance_template = google_compute_instance_template.startup_template.id
      }
      target_size = 2
    }
    

    Testar e limpar

    Depois de criar uma VM ou um MIG, valide se o aplicativo está sendo executado no contêiner e funcionando conforme o esperado. Para corrigir problemas, consulte Solução de problemas.

    Se o aplicativo estiver sendo executado corretamente nas novas VMs criadas com o script de inicialização, exclua as VMs e os MIGs que usam o método descontinuado de implantação de contêineres.

    Solução de problemas

    Para resolver problemas que podem ocorrer ao configurar contêineres em VMs usando um script de inicialização, consulte os registros do script de inicialização e do contêiner.

    • Para ver os registros do script de inicialização na instância de VM, execute o seguinte comando:

      sudo journalctl | grep "startup script"
      
    • Para ver os registros do contêiner do Docker, execute o comando docker logs:

      docker logs CONTAINER_NAME
      

      Substitua CONTAINER_NAME pelo nome do contêiner.

    Para solucionar outros problemas, consulte os seguintes documentos:

    Usar o cloud-init com o Container-Optimized OS

    É possível usar o cloud-init, uma solução multiplataforma e padrão do setor, para implantar contêineres em VMs que executam o Container-Optimized OS. Com essa ferramenta, é possível executar uma configuração personalizada durante a criação ou inicialização da VM. Para mais informações, consulte Como usar cloud-init com o formato de configuração do Cloud.

    Usar serviços gerenciados para implantação de contêineres

    Esta seção descreve os serviços gerenciados fornecidos pelo Trusted Cloud by S3NS que você pode usar para implantar contêineres.

    Cloud Run

    O Cloud Run é uma boa opção para aplicativos de contêiner sem estado e jobs de pequeno a médio porte.

    Os principais recursos do Cloud Run incluem:

    • Você pode escolher alocar CPUs apenas durante o processamento de solicitações ou alocar sempre.
    • É possível executar um aplicativo de contêiner sem estado ou um job individualmente, de acordo com uma programação ou como parte de um fluxo de trabalho.
    • É possível configurar tempos limite para cada solicitação ou tarefa.
    • É altamente escalonável e seguro.
    • Ele tem balanceamento de carga e escalonamento automático integrados.

    Para mais informações sobre como implantar contêineres no Cloud Run, consulte Implantar imagens de contêiner no Cloud Run

    Lote

    O Batch é um serviço totalmente gerenciado que permite programar, enfileirar e executar cargas de trabalho de processamento em lote em recursos do Trusted Cloud by S3NS . Ele foi projetado para executar cargas de trabalho em lote e paralelas, incluindo aquelas empacotadas em contêineres.

    Para mais informações sobre como implantar contêineres no Batch, consulte os seguintes documentos:

    Google Kubernetes Engine

    Se você estiver executando aplicativos complexos, microsserviços, operação contínua e precisar de controle e escalonabilidade refinados, o Google Kubernetes Engine (GKE) será a oferta mais adequada. Para mais informações sobre como implantar contêineres no GKE, consulte os seguintes documentos:

    Receber suporte

    Se você tiver dúvidas sobre o processo de migração ou precisar de ajuda, consulte as perguntas frequentes ou entre em contato com o suporte doTrusted Cloud .