Como ativar os Serviços do Google e configurar as contas de serviço

Antes de iniciar uma migração, execute as etapas abaixo nas seções:

Como ativar a Google Cloud CLI e os serviços necessários

Todos os usuários do Migrate to Containers e do GKE precisam configurar a Google Cloud CLI e ativar os serviços necessários do Google.

Como preparar a Google Cloud CLI

Para preparar o gcloud, faça o seguinte:

  1. Instale e inicialize a gcloud CLI.
  2. Atualize a gcloud CLI:
    gcloud components update
  3. Verifique se a gcloud CLI está autorizada a acessar seus dados e serviços:
    gcloud auth login

    Uma nova guia do navegador será aberta e você precisará escolher uma conta.

  4. Defina as credenciais necessárias para acessar um bucket do Cloud Storage.

    Para um usuário individual, use o comando gcloud a seguir:

    gcloud auth application-default login

    Uma nova guia do navegador será aberta e você precisará escolher uma conta.

    Como alternativa, se você estiver usando uma conta de serviço, defina a variável de ambiente GOOGLE_APPLICATION_CREDENTIALS como o caminho do arquivo JSON que contém a chave da conta de serviço:

    export GOOGLE_APPLICATION_CREDENTIALS="[PATH]"

Como ativar serviços obrigatórios

O Migrate to Containers exige que você ative os seguintes serviços do Google:

Nome Título
servicemanagement.googleapis.com API Service Management
servicecontrol.googleapis.com API Service Control
cloudresourcemanager.googleapis.com API Cloud Resource Manager
compute.googleapis.com API do Compute Engine
container.googleapis.com API Kubernetes Engine
containerregistry.googleapis.com API Container Registry
cloudbuild.googleapis.com API Cloud Build

Para confirmar que os serviços obrigatórios estão ativados:

gcloud services list

Se você não encontrar os serviços necessários listados, ative-os:

gcloud services enable servicemanagement.googleapis.com servicecontrol.googleapis.com cloudresourcemanager.googleapis.com compute.googleapis.com container.googleapis.com containerregistry.googleapis.com cloudbuild.googleapis.com

Para mais informações sobre os serviços do gcloud, consulte serviços gcloud.

Como configurar contas de serviço

Uma conta de serviço é um tipo especial de conta usada por um aplicativo ou instância de máquina virtual (VM), não uma pessoa. Os aplicativos usam contas de serviço para fazer chamadas de API autorizadas.

Por exemplo, uma VM do Compute Engine pode ser executada como uma conta de serviço, e essa conta pode receber permissões para acessar os recursos de que precisa. Isso significa que essa conta é a identidade que controla o acesso a esses recursos.

Ao usar o Migrate to Containers, você cria duas contas de serviço:

Práticas recomendadas ao usar contas de serviço

Como prática recomendada, crie uma conta de serviço separada no mesmo projeto usado para o Migrate to Containers. Em seguida, atribua à conta de serviço apenas as permissões necessárias para realizar a operação necessária. Assim, você limita as permissões associadas à conta de serviço.

Como criar uma conta de serviço para acessar o Container Registry e o Cloud Storage

Crie uma conta de serviço com o papel storage.admin e a transmita ao instalar os componentes do Migrate to Containers:

  1. Crie a conta de serviço m4a-install:

    gcloud iam service-accounts create m4a-install \
     --project=PROJECT_ID
  2. Conceda o papel storage.admin à conta de serviço:

    gcloud projects add-iam-policy-binding PROJECT_ID  \
     --member="serviceAccount:m4a-install@PROJECT_ID.iam.gserviceaccount.com" \
     --role="roles/storage.admin"
  3. Faça o download do arquivo de chave da conta de serviço:

    gcloud iam service-accounts keys create m4a-install.json \
     --iam-account=m4a-install@PROJECT_ID.iam.gserviceaccount.com \
     --project=PROJECT_ID 

Depois de fazer o download da chave da conta de serviço como um arquivo JSON, instale o Migrate to Containers no cluster de destino do Google Kubernetes Engine usando o procedimento descrito em Como instalar o Migrate to Containers.

Como criar uma conta de serviço usando o Compute Engine como origem de migração

Para usar o Compute Engine como origem de migração, crie uma conta de serviço com os papéis compute.viewer e compute.storageAdmin:

  1. Crie a conta de serviço m4a-ce-src:

    gcloud iam service-accounts create m4a-ce-src \
     --project=PROJECT_ID
  2. Conceda o papel compute.viewer à conta de serviço:

    gcloud projects add-iam-policy-binding PROJECT_ID  \
     --member="serviceAccount:m4a-ce-src@PROJECT_ID.iam.gserviceaccount.com" \
     --role="roles/compute.viewer"
  3. Conceda o papel compute.storageAdmin à conta de serviço:

    gcloud projects add-iam-policy-binding PROJECT_ID  \
     --member="serviceAccount:m4a-ce-src@PROJECT_ID.iam.gserviceaccount.com" \
     --role="roles/compute.storageAdmin"
  4. Faça o download do arquivo de chave da conta de serviço:

    gcloud iam service-accounts keys create m4a-ce-src.json \
     --iam-account=m4a-ce-src@PROJECT_ID.iam.gserviceaccount.com \
     --project=PROJECT_ID 

Depois de fazer o download da chave da conta de serviço como um arquivo JSON, é possível criar uma origem para migrar cargas de trabalho do Compute Engine. Consulte Como adicionar uma origem de migração.

Usar o Migrate to VMs como origem de migração

Preparar o Migrate to Virtual Machines como uma origem de migração

Para usar o Migrate to Virtual Machines 5.0 como uma origem de migração, primeiro você precisa ativar os serviços do Migrate to Virtual Machines e instalar o conector, conforme descrito nas etapas a seguir:

  1. Como ativar os serviços do Migrate to Virtual Machines.
  2. Como instalar o Migrate Connector.

Especificar a conta de serviço do Migrate to Virtual Machines

Para usar o Migrate to Virtual Machines como origem de migração, crie uma conta de serviço com o papel vmmigration.admin vinculado ao projeto de serviço:

  1. Crie a conta de serviço m2c-m2vm-src-service:

    gcloud iam service-accounts create m2c-m2vm-src-service  --project=PROJECT_ID
    
  2. Conceda o papel vmmigration.admin à conta de serviço:

    gcloud projects add-iam-policy-binding PROJECT_ID  \
    --member="serviceAccount:m2c-m2vm-src-service@PROJECT_ID.iam.gserviceaccount.com" \
    --role="roles/vmmigration.admin"
    
  3. Faça o download do arquivo de chave da conta de serviço:

    gcloud iam service-accounts keys create m2c-m2vm-src-service.json \
    --iam-account=m2c-m2vm-src-service@PROJECT_ID.iam.gserviceaccount.com \
    --project=PROJECT_ID
    

Especificar a conta de serviço do projeto de destino do Migrate to Virtual Machines

Para usar o Migrate to Virtual Machines como origem de migração, crie uma conta de serviço com os papéis compute.instanceAdmin.v1 e compute.storageAdmin vinculados no projeto de destino:

  1. Crie a conta de serviço m2c-m2vm-src-gce:

    gcloud iam service-accounts create m2c-m2vm-src-gce  --project=PROJECT_ID
    
  2. Conceda o papel compute.instanceAdmin.v1 à conta de serviço:

    gcloud projects add-iam-policy-binding TARGET_PROJECT_ID  \
    --member="serviceAccount:m2c-m2vm-src-gce@PROJECT_ID.iam.gserviceaccount.com
    --role="roles/compute.instanceAdmin.v1"
    
  3. Conceda o papel compute.storageAdmin à conta de serviço:

    gcloud projects add-iam-policy-binding TARGET_PROJECT_ID  \
    --member="serviceAccount:m2c-m2vm-src-gce@PROJECT_ID.iam.gserviceaccount.com" \
    --role="roles/compute.storageAdmin"
    
  4. Faça o download do arquivo de chave da conta de serviço:

    gcloud iam service-accounts keys create m2c-m2vm-src-gce.json \
    --iam-account=m2c-m2vm-src-gce@PROJECT_ID.iam.gserviceaccount.com \
    --project=PROJECT_ID
    

Depois de fazer o download da chave da conta de serviço como um arquivo JSON, crie uma origem para migrar cargas de trabalho do Migrate to Virtual Machines. Consulte Como adicionar uma origem de migração.

A seguir