Use o Serviço de transferência do Cloud Storage para mover grandes conjuntos de dados do Cloud Storage para os compartilhamentos de arquivos do Filestore.
O Serviço de transferência do Cloud Storage permite transferir grandes conjuntos de dados com rapidez e segurança entre sistemas de armazenamento de objetos e arquivos, estejam eles hospedados no Cloud Storage, em provedores de nuvem de terceiros ou no local.
O Serviço de transferência do Cloud Storage aceita transferências aceleradas de grandes conjuntos de dados, lidando facilmente com centenas de TB de dados ou mais. Mova seus grandes conjuntos de dados para a nuvem e aproveite as operações de análise e machine learning disponíveis nas instâncias subjacentes do Compute Engine, em que as instâncias do Filestore são ativadas.
Com o Serviço de transferência do Cloud Storage, é fácil criar transferências gerenciadas pelo Google ou configurar transferências auto-hospedadas para controle total sobre o roteamento de rede e o uso da largura de banda.
Transferir dados de um bucket do Cloud Storage para um compartilhamento de arquivos do Filestore
A transferência de dados do Cloud Storage para um compartilhamento de arquivos do Filestore usando o Serviço de transferência do Cloud Storage requer as seguintes tarefas:
- Configurar o ambiente.
- Configurar o Filestore.
- Configurar o Storage Transfer Service.
- Crie e inicie o job de transferência.
As seções a seguir explicam cada tarefa.
Configure seu ambiente
Selecione ou crie um projeto.
Para os fins deste guia, verifique se os recursos de origem e de destino estão no mesmo projeto.
No Console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.
Se você estiver testando o Filestore e não planeja manter os recursos criados, recomendamos criar um projeto em vez de selecionar um atual. Depois de concluir os testes, é possível excluir o projeto, removendo todos os recursos associados a ele.
Ativar faturamento.
Verifique se a cobrança está ativada para o seu projeto do Google Cloud. Saiba como confirmar se o faturamento está ativado para o projeto.
-
API Filestore
API Resource Manager
API Pub/Sub
API Cloud Storage
API Storage Transfer
API Cloud Logging
API Compute Engine
API Service Usage
API Identity and Access Management
Opcional:
gcloud
, um componente importante do SDK Google Cloud, é instalado em todas as VMs do Compute Engine. Se estiver realizando uma das etapas a seguir na linha de comando local, configure o SDK Google Cloud.Instale e inicialize o Google Cloud SDK.
Se você instalou o SDK Google Cloud anteriormente, verifique se tem a versão mais recente disponível executando:
gcloud components update
Crie uma conta de serviço. Na seção Conceder a essa conta de serviço acesso ao projeto, atribua os seguintes papéis:
Owner
Project IAM Admin
Role Administrator
Pub/Sub Editor
Cloud Filestore Editor
Storage Object Admin
Storage Transfer Admin
Storage Transfer Agent
Copie e salve o nome da conta de serviço criada para uma etapa posterior.
Crie uma chave da conta de serviço para a conta que você acabou de criar. Para este guia, crie apenas uma chave. Faça o download do arquivo de chave e salve-o para uma etapa posterior.
Atribua funções a uma conta de usuário. Na página IAM, encontre sua conta de usuário e atribua a ela os seguintes papéis:
Owner
Project IAM Admin
Role Administrator
Storage Transfer Admin
Storage Admin
Para mais informações, consulte Permissões de usuário.
Configurar o Filestore
Crie uma instância do Filestore. Ao criar a instância, aplique as seguintes especificações:
Verifique se o bucket do Cloud Storage, a VM do cliente e a instância do Filestore residem na mesma região.
Selecione um tipo de instância Enterprise.
Opcional: para conjuntos de dados maiores, solicite um aumento de cota.
Copie o nome da instância e o endereço IP e salve para uma etapa posterior.
Ativar uma instância do Filestore em um computador cliente.
Neste guia, descrevemos uma transferência que usa quatro VMs do Compute Engine como máquinas clientes NFS. Crie uma única conta de serviço que opere em nome das quatro máquinas clientes. Cada máquina cliente terá três agentes do Serviço de transferência do Cloud Storage instalados.
Crie uma instância de VM do Compute Engine com acesso a outros serviços do Google Cloud.
Configure uma VM com as seguintes especificações:
Ao especificar um local, verifique se o bucket do Google Cloud, a VM do cliente e a instância do Filestore residem na mesma região.
Cada agente do Storage Transfer Service precisa de 4 vCPU e 8 GB de RAM. Para ter o melhor desempenho, execute vários agentes por VM. Para os fins deste guia, provisione uma instância de máquina virtual do
e2-standard-32
Compute Engine.Na seção Identidade e acesso à API, especifique o seguinte:
- Na lista suspensa Contas de serviço, selecione a conta de serviço que você acabou de criar.
Depois que a instância de VM do Compute Engine for criada, faça login na máquina usando SSH. Na página Instância de VM do Compute Engine, localize a instância que você criou e clique em SSH.
Use um editor de texto, como o Vim, para criar uma cópia do arquivo de chave da conta de serviço e salvá-lo temporariamente na VM. Por exemplo,
service-account-key.json
.gcloud
já está instalado na instância de VM do Compute Engine. Na linha de comando SSH, digite o seguinte comando para autorizar a conta de serviço a usargcloud
:gcloud auth activate-service-account ACCOUNT --key-file=KEY_FILE
onde:
ACCOUNT é o endereço de e-mail da conta de serviço que você criou. Por exemplo,
my-service-account@my-project.iam.gserviceaccount.com
.KEY_FILE é o caminho local relativo para o arquivo de chave que você copiou anteriormente. Por exemplo,
sa-key.json
.
Ainda a partir da linha de comando SSH, instale o NFS:
sudo apt-get -y update && sudo apt-get install nfs-common
Crie um diretório local para mapear para o compartilhamento de arquivos do Filestore. Ao repetir essas etapas para as instâncias subsequentes da VM do Compute Engine, use o mesmo nome e caminho:
sudo mkdir -p MY_DIRECTORY
onde:
- MY_DIRECTORY é o nome do diretório local POSIX da
instância de VM do Compute Engine. Por exemplo,
/usr/local/my_dir
.
- MY_DIRECTORY é o nome do diretório local POSIX da
instância de VM do Compute Engine. Por exemplo,
Ative o compartilhamento de arquivos associado à instância do Filestore executando o comando
mount
. É possível usar qualquer opção de ativação do NFS. Para conseguir o melhor desempenho, consulte as recomendações de ativação do NFS em Como ativar um compartilhamento de arquivos em uma instância de VM do Compute Engine:sudo mount -o rw,intr IP_ADDRESS:/FILE_SHARE MY_DIRECTORY
onde:
IP_ADDRESS é o endereço IP da instância do Filestore. Isso pode ser encontrado na página Instâncias do Filestore.
FILE_SHARE é o nome do compartilhamento de arquivos na instância. Por exemplo,
my_fs_instance
.MY_DIRECTORY é o nome do diretório que você mapeou na etapa anterior. Esse é um diretório na instância de VM do Compute Engine em que você quer ativar a instância do Filestore.
Confirme o ponto de montagem:
mount -l | grep nfs
Isso retorna o seguinte ou semelhante:
10.66.55.194:/my_fs_instance on /home/usr/my_dir type nfs (rw,relatime,vers=3,rsize=262144,wsize=1048576,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=10.66.55.194,mountvers=3,mountport=2050,mountproto=udp,local_lock=none,addr=10.66.55.194)
Você também pode usar o seguinte comando:
df -h --type=nfs
Isso retorna o seguinte ou semelhante:
Filesystem Size Used Avail Use% Mounted on 10.66.55.194:/my_fs_instance 1.0T 0 1.0T 0% /home/usr/my_dir
Anote o caminho do diretório POSIX local e salve para uma etapa posterior.
Repita as etapas anteriores para criar mais três instâncias de VM do Compute Engine e ativar a mesma instância do Filestore para cada uma delas. Use a mesma conta de serviço para gerenciar as quatro VMs do Compute Engine. Salve temporariamente uma cópia local da chave da conta de serviço em cada VM.
Configurar o Serviço de transferência do Cloud Storage
-
Digite este comando:
gcloud transfer authorize --add-missing --creds-file=KEY_FILE
onde:
- KEY_FILE é o caminho local relativo para o arquivo de chave que você copiou anteriormente. Por exemplo,
sa-key.json
.
Observe a notificação retornada referente à conta de serviço gerenciado pelo Google e salve o endereço de e-mail associado para a próxima etapa.
- KEY_FILE é o caminho local relativo para o arquivo de chave que você copiou anteriormente. Por exemplo,
Depois de alguns minutos, você verá a conta de serviço gerenciado pelo Google na página IAM. Após a propagação, verifique se os papéis a seguir estão atribuídos:
Pub/Sub Editor
Storage Admin
Instalar agentes de transferência.
Cada agente do Storage Transfer Service requer 4 vCPU e 8 GB de RAM.
Recomendamos instalar vários agentes para maximizar a tolerância a falhas e aproveitar o escalonamento dinâmico oferecido pelo Serviço de transferência do Cloud Storage. No exemplo a seguir, mostramos como instalar três agentes em uma máquina cliente. Na linha de comando SSH, execute o seguinte comando:
gcloud transfer agents install --pool=MY_AGENT_POOL --count=3 \ --creds-file=MY_SERVICE_ACCOUNT_KEY_FILE
onde:
MY_AGENT_POOL é o nome do pool de agentes que você criou anteriormente. Por exemplo,
my-agent-pool
.MY_SERVICE_ACCOUNT_KEY_FILE é o caminho relativo para a chave da conta de serviço. Por exemplo,
/relative/path/to/service-account-key.json
.
Repita essas etapas para cada computador cliente.
Criar e iniciar o job de transferência
- Criar um job de transferência para mover dados do bucket do Cloud Storage para
a instância do Filestore.
Faça referência ao diretório POSIX local que você salvou anteriormente para especificar o caminho de destino. Por exemplo,
/home/usr/my_dir
.
Monitorar o status da transferência
Console
Monitore o status da transferência na página Jobs de transferência do Console do Google Cloud.
Linha de comando
Você pode monitorar o status usando a linha de comando:
gcloud transfer jobs monitor JOB_NAME
onde:
- JOB_NAME é o nome do job de transferência. Por exemplo,
transferJobs/OPI6300379522015192941
.
A resposta mostra o seguinte:
Polling for latest operation name...done.
Operation name: my-sts-project_transferJobs/OPI6300379522015192941_0000000001660692377
Parent job: OPI6300379522015192941
Start time: 2022-08-16T23:26:17.600981Z
SUCCESS | 100% (731.9MiB of 731.9MiB) | Skipped: 129.8kiB | Errors: 0
End time: 2022-08-16T23:27:23.429472Z
Para mais informações, consulte Monitorar a atividade do agente ou Detalhes da transferência do sistema de arquivos.
A seguir
- Melhore o desempenho nos recursos do Google Cloud.
- Crie uma instância de VM do Compute Engine com acesso a outros serviços do Google Cloud.