Usa el Servicio de transferencia de almacenamiento para mover grandes conjuntos de datos de Cloud Storage a tus archivos compartidos de Filestore.
El Servicio de transferencia de almacenamiento te ayuda a transferir de forma rápida y segura grandes conjuntos de datos entre sistemas de almacenamiento de objetos y archivos, ya sea que tus datos estén alojados en Cloud Storage, proveedores de servicios en la nube externos o en instalaciones locales.
El Servicio de transferencia de almacenamiento admite transferencias aceleradas de conjuntos de datos grandes, ya que controla cientos de TB de datos o más. Mueve tus grandes conjuntos de datos a la nube para aprovechar las operaciones de análisis y aprendizaje automático disponibles en las instancias de Compute Engine subyacentes en las que se montan tus instancias de Filestore.
Con el Servicio de transferencia de almacenamiento, puedes crear transferencias administradas por Google o configurar transferencias autoalojadas para tener control total sobre el enrutamiento de red y el uso del ancho de banda.
Transfiere datos de un bucket de Cloud Storage a un archivo compartido de Filestore
Para transferir datos de Cloud Storage a un archivo compartido de Filestore con el Servicio de transferencia de almacenamiento, se requieren las siguientes tareas:
- Configura el entorno.
- Configura Filestore.
- Configura el Servicio de transferencia de almacenamiento.
- Crea e inicia el trabajo de transferencia.
En las siguientes secciones, se te guiará a través de cada tarea.
Configura tu entorno
Selecciona o crea un proyecto.
A los fines de esta guía, asegúrate de que tus recursos de origen y destino residan en el mismo proyecto.
En la consola de Google Cloud , en la página del selector de proyectos, selecciona o crea un proyecto deGoogle Cloud .
Si estás probando Filestore y no planeas conservar los recursos que crees, te recomendamos que crees un proyecto en lugar de seleccionar uno existente. Cuando termines de realizar las pruebas, puedes borrar el proyecto y quitar todos los recursos asociados con él.
Habilita la facturación.
Asegúrate de tener habilitada la facturación para tu proyecto de Google Cloud . Descubre cómo confirmar que tienes habilitada la facturación en un proyecto.
-
API de Filestore
API de Resource Manager
API de Pub/Sub
API de Cloud Storage
API de Storage Transfer
API de Cloud Logging
API de Compute Engine
API de Service Usage
API de Identity and Access Management
Opcional:
gcloud, un componente principal del SDK de Google Cloud, está instalado en todas las VMs de Compute Engine. Si realizas alguno de los siguientes pasos desde tu línea de comandos local, configura el SDK de Google Cloud.Instala y luego inicializa el SDK de Google Cloud.
Si ya instalaste el SDK de Google Cloud, ejecuta el siguiente comando para asegurarte de tener la última versión disponible:
gcloud components updateCrea una cuenta de servicio. En la sección Otorga a esta cuenta de servicio acceso al proyecto, asigna los siguientes roles:
OwnerProject IAM AdminRole AdministratorPub/Sub EditorCloud Filestore EditorStorage Object AdminStorage Transfer AdminStorage Transfer Agent
Copia y guarda el nombre de la cuenta de servicio que creaste para un paso posterior.
Crea una clave de cuenta de servicio para la cuenta que acabas de crear. Para los fines de esta guía, crea solo una clave. Descarga el archivo de claves y guárdalo para un paso posterior.
Asigna roles a una cuenta de usuario. En la página IAM, busca tu cuenta de usuario y asígnale los siguientes roles:
OwnerProject IAM AdminRole AdministratorStorage Transfer AdminStorage Admin
Para obtener más información, consulta Permisos del usuario.
Configura Filestore
Crea una instancia de Filestore. Cuando crees la instancia, aplica las siguientes especificaciones:
Asegúrate de que el bucket de Cloud Storage, la VM de cliente y la instancia de Filestore residan en la misma región.
Selecciona un tipo de instancia regional o empresarial.
Opcional: Para conjuntos de datos más grandes, solicita un aumento de la cuota.
Copia el nombre de la instancia y la dirección IP, y guárdalos para un paso posterior.
Activa una instancia de Filestore en una máquina cliente.
En esta guía, se describe una transferencia que usa cuatro VMs de Compute Engine como máquinas cliente de NFS. Crearás una sola cuenta de servicio que operará en nombre de las cuatro máquinas cliente. Cada máquina cliente tendrá tres agentes del Servicio de transferencia de almacenamiento instalados.
Crea una instancia de VM de Compute Engine con acceso a otros servicios deGoogle Cloud .
Configura una VM con las siguientes especificaciones:
Cuando especifiques una ubicación, asegúrate de que el bucket Google Cloud , la VM de cliente y la instancia de Filestore residan en la misma región.
Cada agente de Servicio de transferencia de almacenamiento necesita 4 CPU virtuales y 8 GB de RAM. Para obtener el mejor rendimiento, ejecuta varios agentes por VM. Para los fines de esta guía, aprovisiona una instancia de máquina virtual de Compute Engine
e2-standard-32.En la sección Identidad y acceso a la API, especifica lo siguiente:
- En el menú desplegable Cuentas de servicio, selecciona la cuenta de servicio que acabas de crear.
Una vez que se cree la instancia de VM de Compute Engine, accede a la máquina con SSH. En la página Instancia de VM de Compute Engine, busca la instancia que creaste y haz clic en SSH.
Usa un editor de texto, como Vim, para crear una copia del archivo de claves de la cuenta de servicio y guárdala de forma temporal en la VM. Por ejemplo,
service-account-key.json.gcloudya está instalado en la instancia de VM de Compute Engine. En la línea de comandos de SSH, ingresa el siguiente comando para autorizar a la cuenta de servicio a usargcloud:gcloud auth activate-service-account ACCOUNT --key-file=KEY_FILEDonde:
ACCOUNT es la dirección de correo electrónico de la cuenta de servicio que creaste. Por ejemplo,
my-service-account@my-project.iam.gserviceaccount.com.KEY_FILE es la ruta de acceso local relativa al archivo de claves que copiaste antes. Por ejemplo,
sa-key.json
Desde la línea de comandos de SSH, instala NFS:
sudo apt-get -y update && sudo apt-get install nfs-commonCrea un directorio local para asignar al archivo compartido de Filestore. Cuando repitas estos pasos para las siguientes instancias de VM de Compute Engine, usa el mismo nombre y ruta de acceso:
sudo mkdir -p MY_DIRECTORYDonde:
- MY_DIRECTORY es el nombre del directorio POSIX local para la instancia de VM de Compute Engine. Por ejemplo,
/usr/local/my_dir
- MY_DIRECTORY es el nombre del directorio POSIX local para la instancia de VM de Compute Engine. Por ejemplo,
Ejecuta el comando
mountpara activar el archivo compartido asociado a la instancia de Filestore. Puedes usar cualquiera de las opciones de activación de NFS. Para obtener el mejor rendimiento, consulta las recomendaciones de activación de NFS en Activa un archivo compartido en una instancia de VM de Compute Engine:sudo mount -o rw IP_ADDRESS:/FILE_SHARE MY_DIRECTORYDonde:
IP_ADDRESS es la dirección IP para la instancia de Filestore. Puedes encontrarlo en la página Instancias de Filestore.
FILE_SHARE es el nombre del archivo compartido de la instancia. Por ejemplo,
my_fs_instanceMY_DIRECTORY es el nombre del directorio al que asignaste la unidad en el paso anterior. Este es un directorio en la instancia de VM de Compute Engine en la que deseas activar la instancia de Filestore.
Confirma el punto de activación:
mount -l | grep nfsEsto devuelve lo siguiente o algo similar:
10.66.55.194:/my_fs_instance on /home/usr/my_dir type nfs (rw,relatime,vers=3,rsize=524288,wsize=524288,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=10.66.55.194,mountvers=3,mountport=2050,mountproto=udp,local_lock=none,addr=10.66.55.194)Como alternativa, también puedes usar el siguiente comando:
df -h --type=nfsEsto devuelve lo siguiente o algo similar:
Filesystem Size Used Avail Use% Mounted on 10.66.55.194:/my_fs_instance 1.0T 0 1.0T 0% /home/usr/my_dirToma nota de la ruta de acceso al directorio POSIX local y guárdala para un paso posterior.
Repite los pasos anteriores para crear tres instancias de VM de Compute Engine más y activar la misma instancia de Filestore en cada una de ellas. Usa la misma cuenta de servicio para administrar las cuatro VMs de Compute Engine. Guarda temporalmente una copia local de la clave de la cuenta de servicio en cada VM.
Configura el Servicio de transferencia de almacenamiento
-
Ingresa el siguiente comando:
gcloud transfer authorize --add-missing --creds-file=KEY_FILEDonde:
- KEY_FILE es la ruta de acceso local relativa al archivo de claves que copiaste antes. Por ejemplo,
sa-key.json
Toma nota de la notificación que se muestra sobre el agente de servicio y guarda la dirección de correo electrónico asociada para el siguiente paso.
- KEY_FILE es la ruta de acceso local relativa al archivo de claves que copiaste antes. Por ejemplo,
Después de unos minutos, deberías ver el agente de servicio en la página de IAM. Una vez que se propaguen, verifica que se hayan asignado los siguientes roles:
Pub/Sub EditorStorage Admin
Instala los agentes de transferencia.
Cada agente del Servicio de transferencia de almacenamiento requiere 4 CPU virtuales y 8 GB de RAM.
Recomendamos instalar varios agentes para maximizar la tolerancia a errores y aprovechar el escalamiento dinámico que ofrece el Servicio de transferencia de almacenamiento. En el siguiente ejemplo, se muestra cómo instalar tres agentes en una máquina cliente. En la línea de comandos de SSH, ejecuta el siguiente comando:
gcloud transfer agents install --pool=MY_AGENT_POOL --count=3 \ --creds-file=MY_SERVICE_ACCOUNT_KEY_FILEDonde:
MY_AGENT_POOL es el nombre del grupo de agentes que creaste anteriormente. Por ejemplo,
my-agent-poolMY_SERVICE_ACCOUNT_KEY_FILE es la ruta relativa a la clave de la cuenta de servicio. Por ejemplo,
/relative/path/to/service-account-key.json.
Repite estos pasos para cada máquina cliente.
Crea e inicia el trabajo de transferencia
- Crea un trabajo de transferencia para mover datos desde tu bucket de Cloud Storage a tu instancia de Filestore.
Haz referencia al directorio POSIX local que guardaste antes para especificar la ruta de destino. Por ejemplo,
/home/usr/my_dir.
Supervisa el estado de la transferencia
Console
Supervisa el estado de tu transferencia desde la página Trabajos de transferencia de la Google Cloud consola.
Línea de comandos
Puedes supervisar el estado con la línea de comandos:
gcloud transfer jobs monitor JOB_NAME
Donde:
- JOB_NAME es el nombre de tu trabajo de transferencia. Por ejemplo,
transferJobs/OPI6300379522015192941.
La respuesta muestra lo siguiente o algo similar:
Polling for latest operation name...done.
Operation name: my-sts-project_transferJobs/OPI6300379522015192941_0000000001660692377
Parent job: OPI6300379522015192941
Start time: 2022-08-16T23:26:17.600981Z
SUCCESS | 100% (731.9MiB of 731.9MiB) | Skipped: 129.8kiB | Errors: 0
End time: 2022-08-16T23:27:23.429472Z
Para obtener más información, consulta Supervisa la actividad del agente o Detalles de la transferencia del sistema de archivos.
¿Qué sigue?
- Mejora el rendimiento en todos los Google Cloud recursos.
- Crea una instancia de VM de Compute Engine con acceso a otros servicios de Google Cloud .