Requisitos para las transferencias del sistema de archivos

Antes de crear un trabajo de transferencia del sistema de archivos, deberás habilitar las API necesarias y, luego, instalar Docker.

Si recibes errores durante la primera configuración, confirma que el usuario con el que accediste tenga los permisos necesarios para realizar los pasos de configuración. En muchos casos, estos permisos no están disponibles para todos los usuarios, por lo que es posible que debas comunicarte con un administrador del proyecto a fin de obtener asistencia.

Requisitos del sistema

Si quieres usar el Servicio de transferencia de almacenamiento para las transferencias del sistema de archivos, necesitas lo siguiente:

A continuación, se enumeran los requisitos de la máquina del agente de transferencia:

  • Un servidor Linux de 64 bits compatible con Docker o una máquina virtual que pueda acceder a los datos que planeas transferir Docker Community Edition, es compatible con los sistemas operativos CentOs, Debian, Fedora y Ubuntu.

    Para usar otros sistemas operativos de Linux, consulta Docker Enterprise.

  • Al menos 8 GB de memoria por contenedor y al menos 4 CPU para que sean más eficaces.

  • Cualquier restricción a nivel del sistema o del usuario sobre la cantidad de IDs de proceso permitidos, como los configurados con ulimit -u, debe tener en cuenta la cantidad de agentes que planeas ejecutar. Cada proceso del agente puede crear hasta cientos de subprocesos. Recomendamos quitar los límites de ID de proceso cuando se ejecutan agentes de transferencia.

    Los clientes que usan Podman para crear contenedores de agentes deben especificar un --pids-limit valor lo suficientemente alto como para admitir subprocesos del agente del Servicio de transferencia de almacenamiento. El valor predeterminado de --pids-limit es 2048, lo que puede causar problemas cuando se ejecuta más de un agente. Recomendamos configurar --pids-limit=-1 para permitir IDs de proceso ilimitados por contenedor.

Extremos obligatorios

Se debe poder acceder a los siguientes extremos de DNS para el agente de transferencia. Si bien un agente solo puede usar un subconjunto de estos extremos según su configuración, se deben permitir todos los extremos para garantizar la funcionalidad completa.

Extremos de Google

Esta lista de extremos obligatorios está sujeta a cambios. Para evitar interrupciones en la transferencia, te recomendamos que permitas el dominio base googleapis.com y gcr.io, siempre que las políticas de seguridad de tu organización lo permitan.

Extremo Servicio Objetivo
storagetransfer.googleapis.com Servicio de transferencia de almacenamiento El agente lo usa para conectarse al Servicio de transferencia de almacenamiento, recibir tareas de transferencia y generar informes sobre su estado.
storage.googleapis.com Cloud Storage Se usa para realizar operaciones de transferencia de datos principales, como enumerar, leer y escribir objetos en tus buckets de Cloud Storage.
www.googleapis.com API de Google Se usa para descargar actualizaciones de versión para el agente de transferencia.
monitoring.googleapis.com Cloud Monitoring Se usa para exportar el rendimiento de la transferencia y las métricas de estado del agente.
logging.googleapis.com Cloud Logging Se usa para publicar registros de actividad y del sistema del agente.
oauth2.googleapis.com Google OAuth 2.0 Se usa para intercambiar credenciales de forma segura y recuperar tokens de acceso de corta duración para la autorización de la API.
iamcredentials.googleapis.com Credenciales de cuenta de servicio de IAM Se usa para generar credenciales temporales cuando el agente está configurado para actuar en nombre de una cuenta de servicio específica.
cloudresourcemanager.googleapis.com Resource Manager Se usa durante la instalación y configuración del agente para verificar la configuración y los permisos del proyecto.
gcr.io Container Registry Se usa para descargar la imagen de contenedor del agente del Servicio de transferencia de almacenamiento durante la instalación.

Para optimizar el rendimiento de la transferencia, el agente puede usar diferentes protocolos HTTP, incluidos HTTP/1.1 y HTTP/2 como mínimo, cuando se comunica con varios extremos. Asegúrate de que los proxies o firewalls configurados admitan correctamente y tengan un buen rendimiento en todos estos tipos de protocolos.

Extremos regionales

Si configuraste tus agentes para usar extremos regionales (p.ej., storage.REGION.rep.googleapis.com), tus reglas de proxy o firewall deben permitir esos nombres de dominio específicos en lugar del extremo storage.googleapis.com estándar.

Extremos de almacenamiento de origen y destino

El agente también requiere acceso a la red a los sistemas de almacenamiento de origen y destino específicos, como las APIs compatibles con S3, los clústeres de HDFS o NFS para POSIX.

Restricciones de escalamiento en trabajos y agentes

El Servicio de transferencia de almacenamiento tiene las siguientes restricciones de escalamiento en trabajos y agentes de transferencia:

  • Menos de mil millones de archivos por trabajo
  • El límite de ancho de banda debe ser superior a 1 MBps
  • Hasta 100 agentes por grupo de agentes
  • Hasta 800 grupos de agentes por proyecto

Habilita las APIs

  1. Habilita la API de Google Storage Transfer.

    Roles necesarios para habilitar las APIs

    Para habilitar las APIs, necesitas el permiso serviceusage.services.enable. Si creaste el proyecto, es probable que ya tengas este permiso a través del rol de propietario (roles/owner). De lo contrario, puedes obtener este permiso a través del rol de administrador de Service Usage (roles/serviceusage.serviceUsageAdmin). Obtén información para otorgar roles.

    Habilitar la API

Instala Docker

Si usas la Google Cloud CLI o Docker para instalar y ejecutar agentes de transferencia, instala Docker Engine en una máquina Linux física o virtual.

Si usas Podman para instalar y ejecutar agentes de transferencia, ve directamente a las instrucciones de instalación específicas de Podman.

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

Si se produce un error de instalación, consulta Solución de problemas.

Permite que Docker se autentique

Para permitir que el contenedor de Docker se autentique con tus credenciales predeterminadas de gcloud, crea un volumen de Docker que contenga un archivo con tus credenciales predeterminadas de la aplicación. Para ello, ejecuta el siguiente comando:

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

Próximos pasos