Usa el Servicio de transferencia de Storage para mover conjuntos de datos grandes de Cloud Storage a tus recursos compartidos de archivos de Filestore.
El Servicio de transferencia de Storage te ayuda a transferir de forma rápida y segura grandes conjuntos de datos entre sistemas de almacenamiento de objetos y archivos, tanto si tus datos están alojados en Cloud Storage como en proveedores de servicios en la nube de terceros o en instalaciones locales.
El servicio de transferencia de Storage admite transferencias aceleradas de grandes conjuntos de datos, que pueden incluir cientos de terabytes de datos o más. Mueve tus conjuntos de datos de gran tamaño a la nube para aprovechar las operaciones de analíticas 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 Storage, puedes crear transferencias gestionadas por Google o configurar transferencias autohospedadas para tener un control total sobre el enrutamiento de la red y el uso del ancho de banda.
Transferir datos de un segmento de Cloud Storage a un sistema de archivos compartido de Filestore
Para transferir datos de Cloud Storage a un sistema de archivos compartido de Filestore mediante el Servicio de transferencia de Storage, debes realizar las siguientes tareas:
- Configura tu entorno.
- Configura Filestore.
- Configura el Servicio de transferencia de Storage.
- Crea e inicia la tarea de transferencia.
En las siguientes secciones se explica cómo realizar cada tarea.
Configurar un entorno
Selecciona o crea un proyecto.
En esta guía, se presupone que los recursos de origen y de destino se encuentran en el mismo proyecto.
En la Google Cloud consolaGoogle Cloud , en la página del selector de proyectos, selecciona o crea un proyecto.
Si estás probando Filestore y no tienes la intención de conservar los recursos que crees, te recomendamos que crees un proyecto en lugar de seleccionar uno disponible. Cuando hayas terminado las pruebas, puedes eliminar el proyecto y, con él, todos los recursos asociados.
Habilita la facturación.
Comprueba que la facturación esté habilitada en tu Google Cloud proyecto. Consulta cómo confirmar que la facturación está habilitada en tu proyecto.
-
API de Filestore
API de Resource Manager
Pub/Sub API
API de Cloud Storage
API Transfer de Storage
API de registro en la nube
API de Compute Engine
API de Uso de Servicio
API de gestión de identidades y accesos
Opcional:
gcloud
, un componente principal del SDK de Google Cloud, se instala en todas las VMs de Compute Engine. Si vas a realizar alguno de los siguientes pasos desde tu línea de comandos local, configura el SDK de Google Cloud.Instala e inicializa el SDK de Google Cloud.
Si ya has instalado el SDK de Google Cloud, asegúrate de que tienes la versión más reciente disponible ejecutando el siguiente comando:
gcloud components update
Crea una cuenta de servicio. En la sección Conceder a esta cuenta de servicio acceso al proyecto, asigna los siguientes roles:
Owner
Project IAM Admin
Role Administrator
Pub/Sub Editor
Cloud Filestore Editor
Storage Object Admin
Storage Transfer Admin
Storage Transfer Agent
Copia y guarda el nombre de la cuenta de servicio que has creado para usarlo en 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 clave y guárdalo para utilizarlo más adelante.
Asigna roles a una cuenta de usuario. En la página IAM, busca tu cuenta de usuario y asígnale los siguientes roles:
Owner
Project IAM Admin
Role Administrator
Storage Transfer Admin
Storage Admin
Para obtener más información, consulta Permisos de usuario.
Configurar Filestore
Crea una instancia de Filestore. Cuando crees la instancia, aplica las siguientes especificaciones:
Asegúrate de que el segmento de Cloud Storage, la VM cliente y la instancia de Filestore estén en la misma región.
Selecciona un tipo de instancia regional o de empresa.
Opcional: Si tienes conjuntos de datos más grandes, solicita un aumento de cuota.
Copia el nombre de la instancia y la dirección IP, y guárdalos para un paso posterior.
Monta 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 NFS. Crearás una única cuenta de servicio que opere en nombre de los cuatro equipos cliente. Cada equipo cliente tendrá instalados tres agentes de Storage Transfer Service.
Crea una instancia de VM de Compute Engine con acceso a otros Google Cloud servicios.
Configura una VM con las siguientes especificaciones:
Cuando especifiques una ubicación, asegúrate de que el Google Cloud segmento, la VM cliente y la instancia de Filestore se encuentren en la misma región.
Cada agente del Servicio de transferencia de Storage necesita 4 vCPUs 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
e2-standard-32
Compute Engine.En la sección Identidad y acceso de API, especifica lo siguiente:
- En el desplegable Cuentas de servicio, selecciona la cuenta de servicio que acabas de crear.
Una vez creada la instancia de VM de Compute Engine, inicia sesión en la máquina mediante SSH. En la página Instancia de VM de Compute Engine, busca la instancia que has creado y haz clic en SSH.
Usa un editor de texto, como Vim, para crear una copia del archivo de clave de la cuenta de servicio y guárdala temporalmente de forma local en la VM. Por ejemplo,
service-account-key.json
.gcloud
ya está instalado en la instancia de VM de Compute Engine. En la línea de comandos SSH, introduce el siguiente comando para autorizar a la cuenta de servicio a usargcloud
:gcloud auth activate-service-account ACCOUNT --key-file=KEY_FILE
donde:
ACCOUNT es la dirección de correo de la cuenta de servicio que has creado. Por ejemplo,
my-service-account@my-project.iam.gserviceaccount.com
.KEY_FILE es la ruta local relativa al archivo de claves que has copiado anteriormente. Por ejemplo,
sa-key.json
.
Desde la línea de comandos SSH, instala NFS:
sudo apt-get -y update && sudo apt-get install nfs-common
Crea un directorio local para asignarlo al recurso compartido de archivos de Filestore. Cuando repitas estos pasos para las siguientes instancias de VM de Compute Engine, usa el mismo nombre y ruta:
sudo mkdir -p MY_DIRECTORY
donde:
- MY_DIRECTORY es el nombre del directorio POSIX local de la instancia de VM de Compute Engine. Por ejemplo,
/usr/local/my_dir
.
- MY_DIRECTORY es el nombre del directorio POSIX local de la instancia de VM de Compute Engine. Por ejemplo,
Monta el recurso compartido de archivos asociado a la instancia de Filestore ejecutando el comando
mount
. Puedes usar cualquier opción de montaje de NFS. Para obtener el mejor rendimiento, consulta las recomendaciones de montaje de NFS en Montar un sistema de archivos compartido en una instancia de VM de Compute Engine:sudo mount -o rw IP_ADDRESS:/FILE_SHARE MY_DIRECTORY
donde:
IP_ADDRESS es la dirección IP de la instancia de Filestore. Puedes encontrarlo en la página Instancias de Filestore.
FILE_SHARE es el nombre del recurso compartido de archivos de la instancia. Por ejemplo,
my_fs_instance
.MY_DIRECTORY es el nombre del directorio que has asignado en el paso anterior. Es un directorio de la instancia de VM de Compute Engine en el que quieres montar la instancia de Filestore.
Confirma el punto de montaje:
mount -l | grep nfs
Se 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=262144,wsize=1048576,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)
También puedes usar el siguiente comando:
df -h --type=nfs
Se 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_dir
Anota la ruta del 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 monta la misma instancia de Filestore en cada una de ellas. Usa la misma cuenta de servicio para gestionar las cuatro VMs de Compute Engine. Guarda temporalmente una copia local de la clave de la cuenta de servicio en cada VM.
Configurar el Servicio de transferencia de Storage
Autoriza al agente de servicio para todas las funciones del Servicio de transferencia de Storage.
Introduce el siguiente comando:
gcloud transfer authorize --add-missing --creds-file=KEY_FILE
donde:
- KEY_FILE es la ruta local relativa al archivo de claves que has copiado anteriormente. Por ejemplo,
sa-key.json
.
Anota la notificación devuelta sobre el agente de servicio y guarda la dirección de correo asociada para el siguiente paso.
- KEY_FILE es la ruta local relativa al archivo de claves que has copiado anteriormente. Por ejemplo,
Al cabo de unos minutos, deberías ver el agente de servicio en la página IAM. Una vez propagados, comprueba que se han asignado los siguientes roles:
Pub/Sub Editor
Storage Admin
Instala agentes de transferencia.
Cada agente del Servicio de transferencia de Storage requiere 4 vCPUs y 8 GB de RAM.
Te recomendamos que instales varios agentes para maximizar la tolerancia a fallos y aprovechar el escalado dinámico que ofrece Storage Transfer Service. En el siguiente ejemplo se muestra cómo instalar tres agentes en un equipo cliente. En la línea de comandos SSH, ejecuta el siguiente comando:
gcloud transfer agents install --pool=MY_AGENT_POOL --count=3 \ --creds-file=MY_SERVICE_ACCOUNT_KEY_FILE
donde:
MY_AGENT_POOL es el nombre del grupo de agentes que has creado anteriormente. Por ejemplo,
my-agent-pool
.MY_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 en cada máquina cliente.
Crear e iniciar la tarea de transferencia
- Crea una tarea de transferencia para mover datos de tu segmento de Cloud Storage a tu instancia de Filestore.
Haz referencia al directorio POSIX local que has guardado anteriormente para especificar la ruta de destino. Por ejemplo,
/home/usr/my_dir
.
Monitorizar el estado de la transferencia
Consola
Monitoriza el estado de tu transferencia en la página Tareas de transferencia de la Google Cloud consola.
Línea de comandos
Puedes monitorizar el estado mediante la línea de comandos:
gcloud transfer jobs monitor JOB_NAME
donde:
- JOB_NAME es el nombre de tu tarea 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 Monitorizar la actividad de los agentes o Detalles de la transferencia del sistema de archivos.
Siguientes pasos
- Mejorar el rendimiento de los Google Cloud recursos.
- Crea una instancia de VM de Compute Engine con acceso a otros Google Cloud servicios.