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, que admite 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 valor de --pids-limit lo suficientemente alto como para admitir subprocesos de agentes 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 una cantidad ilimitada de IDs de proceso por contenedor.

Extremos obligatorios

El agente de transferencia debe poder acceder a los siguientes extremos de DNS. 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 registrar su estado.
storage.googleapis.com Cloud Storage Se usa para realizar operaciones básicas de transferencia de datos, 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 del agente de transferencia.
monitoring.googleapis.com Cloud Monitoring Se usa para exportar las métricas de rendimiento de la transferencia y 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 la cuenta de servicio de IAM Se usa para generar credenciales temporales cuando el agente está configurado para suplantar 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 todos estos tipos de protocolos y tengan un buen rendimiento en todos ellos.

Extremos regionales

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

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 escala en los 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 si aún no lo está.

    Roles necesarios para habilitar las APIs

    Para habilitar 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 más información para otorgar roles.

    Habilitar la API

Instala Docker

Si usas 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 las credenciales predeterminadas de tu aplicación ejecutando el siguiente comando:

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

Próximos pasos