Requisitos para transferências de sistema de arquivos

Antes de criar um job de transferência do sistema de arquivos, é necessário ativar as APIs necessárias e instalar o Docker.

Se você receber erros ao realizar a configuração inicial, confirme se o usuário que fez login tem permissão para executar as etapas de configuração. Em muitos casos, essas permissões não estão disponíveis para todos os usuários, e talvez seja necessário entrar em contato com um administrador do projeto para receber ajuda.

Requisitos do sistema

Para usar o Serviço de transferência do Cloud Storage em transferências do sistema de arquivos, você precisa do seguinte:

Os requisitos de máquina do agente de transferência estão listados abaixo:

  • Um servidor Linux ou máquina virtual de 64 bits compatível com o Docker (em inglês) capaz de acessar os dados que você quer transferir. O Docker Community Edition (links em inglês) é compatível com sistemas operacionais CentOs, Debian, Fedora e Ubuntu.

    Para usar outros sistemas operacionais Linux, consulte Docker Enterprise (links em inglês).

  • Pelo menos 8 GB de memória por contêiner e pelo menos quatro CPUs para ser mais eficaz.

  • Qualquer restrição no nível do sistema ou do usuário no número de IDs de processos permitidos, como configurado com ulimit -u, precisa considerar o número de agentes que você planeja executar. Cada processo de agente pode criar até centenas de linhas de execução. Recomendamos remover os limites de ID do processo ao executar agentes de transferência.

    Os clientes que usam o Podman para criar contêineres de agente precisam especificar um valor --pids-limit alto o suficiente para acomodar as linhas de execução do agente do Serviço de transferência do Cloud Storage. O valor padrão de --pids-limit é 2.048, o que pode causar problemas ao executar mais de um agente. Recomendamos definir --pids-limit=-1 para permitir IDs de processo ilimitados por contêiner.

Endpoints obrigatórios

Os endpoints de DNS a seguir precisam estar acessíveis ao agente de transferência. Embora um agente possa usar apenas um subconjunto desses endpoints, dependendo da configuração, todos eles precisam ser permitidos para garantir a funcionalidade completa.

Endpoints do Google

Esta lista de endpoints obrigatórios está sujeita a mudanças. Para evitar interrupções na transferência, recomendamos permitir o domínio base googleapis.com e gcr.io, desde que as políticas de segurança da sua organização permitam.

Endpoint Serviço Finalidade
storagetransfer.googleapis.com Serviço de transferência do Cloud Storage Usado pelo agente para se conectar ao Serviço de transferência do Cloud Storage, receber tarefas de transferência e informar o status de integridade.
storage.googleapis.com Cloud Storage Usado para realizar operações de transferência de dados principais, incluindo listar, ler e gravar objetos nos buckets do Cloud Storage.
www.googleapis.com APIs do Google Usado para fazer o download de atualizações de versão do agente de transferência.
monitoring.googleapis.com Cloud Monitoring Usado para exportar métricas de desempenho de transferência e integridade do agente.
logging.googleapis.com Cloud Logging Usado para publicar registros de atividades e do sistema do agente.
oauth2.googleapis.com Google OAuth 2.0 Usado para trocar credenciais com segurança e recuperar tokens de acesso de curta duração para autorização da API.
iamcredentials.googleapis.com Credenciais da conta de serviço do IAM Usado para gerar credenciais temporárias quando o agente está configurado para representar uma conta de serviço específica.
cloudresourcemanager.googleapis.com Resource Manager Usado durante a instalação e configuração do agente para verificar a configuração e as permissões do projeto.
gcr.io Container Registry Usado para fazer o download da imagem do contêiner do agente do Serviço de transferência do Cloud Storage durante a instalação.

Para otimizar o desempenho da transferência, o agente pode usar diferentes protocolos HTTP, incluindo HTTP/1.1 e HTTP/2 no mínimo, ao se comunicar com vários endpoints. Verifique se os proxies ou firewalls configurados oferecem suporte adequado e têm bom desempenho em todos esses tipos de protocolo.

Pontos de extremidade regionais

Se você configurou seus agentes para usar endpoints regionais (por exemplo, storage.REGION.rep.googleapis.com), esses nomes de domínio específicos precisam ser permitidos pelas regras de proxy ou firewall em vez do endpoint storage.googleapis.com padrão.

Endpoints de armazenamento de origem e destino

O agente também exige acesso à rede dos sistemas de armazenamento de origem e destino específicos, como APIs compatíveis com S3, clusters HDFS ou NFS para POSIX.

Restrições de escalonamento em jobs e agentes

O Serviço de transferência do Cloud Storage tem as restrições de escala a seguir para jobs e agentes de transferência:

  • Menos de um bilhão de arquivos por job
  • O limite de largura de banda precisa ser maior que 1 MBps
  • Até 100 agentes por pool de agentes
  • Até 800 pools de agentes por projeto

Ativar APIs

  1. Ative a API Google Storage Transfer.

    Funções necessárias para ativar APIs

    Para ativar as APIs, é necessário ter o papel do IAM de administrador de uso do serviço (roles/serviceusage.serviceUsageAdmin), que contém a permissão serviceusage.services.enable. Saiba como conceder papéis.

    Ativar a API

Instalar o Docker

Se você estiver usando a Google Cloud CLI ou o Docker para instalar e executar agentes de transferência, instale o Docker Engine em uma máquina Linux física ou virtual.

Se você estiver usando o Podman para instalar e executar agentes de transferência, pule diretamente para as instruções de instalação específicas do Podman.

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo systemctl enable docker --now

Se você encontrar um erro de instalação, consulte Solução de problemas.

Permitir a autenticação do Docker

Para permitir que o contêiner do Docker autentique com suas credenciais padrão do gcloud, execute o comando a seguir para criar um volume do Docker contendo um arquivo com suas credenciais padrão do aplicativo.

sudo docker run -ti --name gcloud-config google/cloud-sdk gcloud auth application-default login

A seguir