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:
Un origen o destino compatible con POSIX
Un bucket de Cloud Storage sin una política de retención Para transferir a un bucket con una política de retención, consulta Transfiere a un bucket con una política de retención.
El puerto TCP 443 (HTTPS) está abierto para conexiones salientes.
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-limitvalor lo suficientemente alto como para admitir subprocesos del agente del Servicio de transferencia de almacenamiento. El valor predeterminado de--pids-limites 2048, lo que puede causar problemas cuando se ejecuta más de un agente. Recomendamos configurar--pids-limit=-1para 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
-
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.
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
- Configura los permisos de Google Cloud
- Crea un grupo de agentes
- Instala los agentes de transferencia
- Crea un trabajo de transferencia
- Maximiza el rendimiento del agente de transferencia