Transferir conjuntos de datos grandes de Cloud Storage a Filestore

Usa el Servicio de transferencia de Storage para mover conjuntos de datos grandes de Cloud Storage a tus recursos compartidos de archivos de Filestore.

Flujo de trabajo que muestra cómo se transfieren datos de Cloud Storage a una instancia de Filestore mediante el servicio de transferencia de Storage. La instancia de Filestore está montada en varias instancias de Compute Engine.

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:

  1. Configura tu entorno.
  2. Configura Filestore.
  3. Configura el Servicio de transferencia de Storage.
  4. Crea e inicia la tarea de transferencia.

En las siguientes secciones se explica cómo realizar cada tarea.

Configurar un entorno

  1. 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.

    Ir al selector de proyectos

  2. 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.

  3. Habilita las siguientes APIs:

    • 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

  4. 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
    
  5. 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

    1. Copia y guarda el nombre de la cuenta de servicio que has creado para usarlo en un paso posterior.

    2. 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.

  6. 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

  1. Crea una instancia de Filestore. Cuando crees la instancia, aplica las siguientes especificaciones:

    1. Asegúrate de que el segmento de Cloud Storage, la VM cliente y la instancia de Filestore estén en la misma región.

    2. Selecciona un tipo de instancia regional o de empresa.

    3. Opcional: Si tienes conjuntos de datos más grandes, solicita un aumento de cuota.

    4. Copia el nombre de la instancia y la dirección IP, y guárdalos para un paso posterior.

  2. 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.

    1. Crea una instancia de VM de Compute Engine con acceso a otros Google Cloud servicios.

      1. Configura una VM con las siguientes especificaciones:

        1. 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.

        2. 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.

        3. En la sección Identidad y acceso de API, especifica lo siguiente:

          1. En el desplegable Cuentas de servicio, selecciona la cuenta de servicio que acabas de crear.
    2. 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.

    3. 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.

    4. Instala Docker en la VM.

    5. 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 usar gcloud:

      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.

    6. Desde la línea de comandos SSH, instala NFS:

      sudo apt-get -y update && sudo apt-get install nfs-common
      
    7. 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.
    8. 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.

    9. 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
      
    10. Anota la ruta del directorio POSIX local y guárdala para un paso posterior.

    11. 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

  1. Crea un grupo de agentes.

  2. Autoriza al agente de servicio para todas las funciones del Servicio de transferencia de Storage.

    1. 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.

    2. 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

  3. Instala agentes de transferencia.

    Cada agente del Servicio de transferencia de Storage requiere 4 vCPUs y 8 GB de RAM.

    1. 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.

    2. Repite estos pasos en cada máquina cliente.

Crear e iniciar la tarea de transferencia

  1. 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