Transfiere conjuntos de datos grandes de Cloud Storage a Filestore

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

Flujo de trabajo en el que se muestran los datos que se mueven desde Cloud Storage a una instancia de Filestore mediante el Servicio de transferencia de almacenamiento. La instancia de Filestore se activa en varias instancias de Compute Engine.

El Servicio de transferencia de almacenamiento te ayuda a transferir grandes conjuntos de datos con rapidez y seguridad entre sistemas de almacenamiento de objetos y archivos, sin importar si tus datos están alojados en Cloud Storage, en proveedores de servicios en la nube de terceros o de forma local.

El Servicio de transferencia de almacenamiento admite transferencias aceleradas de grandes conjuntos de datos con cientos de TB de datos o más. Mueve tus conjuntos de datos grandes a la nube para aprovechar las estadísticas y las operaciones de aprendizaje automático disponibles en las instancias de Compute Engine subyacentes donde se activan tus instancias de Filestore.

Con el Servicio de transferencia de almacenamiento, puedes crear con facilidad transferencias administradas por Google o configurar transferencias autoalojadas para tener un 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

La transferencia de datos de Cloud Storage a un archivo compartido de Filestore mediante el Servicio de transferencia de almacenamiento requiere las siguientes tareas:

  1. Configurar el entorno
  2. Configura Filestore
  3. Configurar el Servicio de transferencia de almacenamiento
  4. Crea y, luego, inicia el trabajo de transferencia.

En las siguientes secciones, se explica cada tarea.

Configura tu entorno

  1. Selecciona o crea un proyecto.

    Para los fines de esta guía, asegúrate de que los recursos de origen y destino residan en el mismo proyecto.

    En la página del selector de proyectos de la consola, selecciona o crea un proyecto de Google Cloud.

    Si estás probando Filestore y no planeas conservar los recursos que creaste, te recomendamos crear un proyecto en lugar de seleccionar un proyecto existente. Cuando termines con la prueba, puedes borrar el proyecto y quitar todos los recursos asociados con él.

    Ir al selector de proyectos

  2. Habilita la facturación.

    Asegúrate de que la facturación esté habilitada para tu proyecto de Google Cloud. Descubre cómo confirmar que tienes habilitada la facturación en un proyecto.

  3. Habilita las siguientes APIs:

    • API de Filestore

    • API de Resource Manager

    • API de Pub/Sub

    • API de Cloud Storage

    • API de transferencia de Storage

    • API de Cloud Logging

    • API de Compute Engine

    • API de Service Usage

    • API de Identity and Access Management

  4. gcloud, un componente principal del SDK de Google Cloud, se instala en cada VM de Compute Engine (opcional). Si realizas cualquiera 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 update
    
  5. Crea una cuenta de servicio. En la sección Otorga 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 creaste para un paso posterior.

    2. Crea una clave de cuenta de servicio para la cuenta que acabas de crear. A los fines de esta guía, crea solo una clave. Descarga el archivo de claves y guárdalo para un paso posterior.

  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 del usuario.

Configura Filestore

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

    1. Asegúrate de que el bucket de Cloud Storage, la VM del cliente y la instancia de Filestore residen en la misma región.

    2. Selecciona un tipo de instancia de Enterprise.

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

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

  2. Activa una instancia de Filestore en una máquina cliente.

    En esta guía, se describe una transferencia que usa cuatro VM de Compute Engine como máquinas cliente de NFS. Deberás crear una sola cuenta de servicio que opere en nombre de las cuatro máquinas cliente. Cada máquina cliente tendrá tres agentes del Servicio de transferencia de almacenamiento instalados.

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

      1. Configura una VM con las siguientes especificaciones:

        1. Cuando especifiques una ubicación, asegúrate de que el bucket de Google Cloud, la VM del cliente y la instancia de Filestore residen en la misma región.

        2. Cada agente del Servicio de transferencia de almacenamiento necesita 4 CPU virtuales y 8 GB de RAM. Para obtener el mejor rendimiento, ejecuta varios agentes por VM. A los fines de esta guía, aprovisiona una instancia de máquina virtual de Compute Engine e2-standard-32.

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

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

    3. Usa un editor de texto, como Vim, para crear una copia del archivo de claves de la cuenta de servicio y guardarlo 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 de SSH, ingresa el siguiente comando a fin de autorizar a la cuenta de servicio para que use gcloud:

      gcloud auth activate-service-account ACCOUNT --key-file=KEY_FILE
      

      Donde:

      • 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 local relativa al archivo de claves que copiaste antes. Por ejemplo, sa-key.json

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

      sudo apt-get -y update && sudo apt-get install nfs-common
      
    7. Crea un directorio local para asignar a los archivos compartidos de Filestore. Cuando repitas estos pasos para instancias de VM de Compute Engine posteriores, usa el mismo nombre y la misma 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. Activa los archivos compartidos asociados con la instancia de Filestore mediante la ejecución del comando mount. Puedes usar cualquier opción 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,intr IP_ADDRESS:/FILE_SHARE MY_DIRECTORY
      

      Donde:

      • 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 en la instancia. Por ejemplo, my_fs_instance

      • MY_DIRECTORY es el nombre del directorio al que asignaste en el paso anterior. Este es un directorio de la instancia de VM de Compute Engine en el que quieres activar la instancia de Filestore.

    9. Confirma el punto de activación:

      mount -l | grep nfs
      

      Esto muestra lo siguiente o uno 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)
      

      Como alternativa, también puedes usar el siguiente comando:

      df -h --type=nfs
      

      Esto muestra lo siguiente o uno 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. Toma nota de la ruta del directorio de 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 activar la misma instancia de Filestore en cada una. Usa la misma cuenta de servicio para administrar las cuatro VM de Compute Engine. Guarda de manera temporal una copia local de la clave de la cuenta de servicio en cada VM.

Configura el Servicio de transferencia de almacenamiento

  1. Crea un grupo de agentes.

  2. Autoriza la cuenta de servicio administrada por Google para todas las funciones del Servicio de transferencia de almacenamiento.

    1. Ingresa 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 copiaste antes. Por ejemplo, sa-key.json

      Toma nota de la notificación que se muestra sobre la cuenta de servicio administrada por Google y guarda la dirección de correo electrónico asociada para el siguiente paso.

    2. Después de unos minutos, deberías ver la cuenta de servicio administrada por Google en la página IAM. Una vez propagado, verifica que se asignen los siguientes roles:

      • Pub/Sub Editor

      • Storage Admin

  3. Instala agentes de transferencia.

    Cada agente del Servicio de transferencia de almacenamiento requiere 4 CPU virtuales y 8 GB de RAM.

    1. Recomendamos la instalación de 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. Desde 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_FILE
      

      Donde:

      • MY_AGENT_POOL es el nombre del grupo de agentes que creaste antes. 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 para cada máquina cliente.

Crea e inicia el trabajo de transferencia

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

Consola

Supervisa el estado de la transferencia desde la página Trabajos de transferencia de la consola de Google Cloud.

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 uno 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?