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:
Una fuente o un 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, 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-limitlo suficientemente alto como para admitir subprocesos de agentes 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 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
-
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.
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
- Configura los permisos de Google Cloud
- Crea un grupo de agentes
- Instala agentes de transferencia
- Crea un trabajo de transferencia
- Maximiza el rendimiento del agente de transferencia