Montaje de un Bucket de GCP con Rclone

En este tutorial, aprenderemos a montar un bucket de Google Cloud Platform (GCP) en nuestras máquinas utilizando Rclone. Este proceso nos permitirá acceder y gestionar archivos en el bucket de manera eficiente desde nuestro entorno local. A continuación, detallaremos paso a paso cómo realizar este montaje.

Requisitos Previos

1. Cuenta de Servicio

Antes de comenzar, necesitaremos crear una cuenta de servicio en Google Cloud Platform en el proyecto relevante y generar un token de autenticación siguiendo estos pasos:

  1. Accede al IAM (Identity and Access Management) en tu proyecto.
  2. Si aún no tienes una cuenta de servicio, crea una nueva.
  3. Una vez creada, accede a la cuenta de servicio deseada en la pestaña «Cuentas de Servicio».
  4. Dirígete a la pestaña «Claves» y crea una nueva clave seleccionando «Agregar clave» → «Crear clave nueva». Elige el tipo de clave como «JSON» y descarga el archivo generado.

2. Instalación del Software Rclone

Descargaremos la última versión de Rclone desde rclone.org/downloads. Dependiendo de tu distribución de Linux, selecciona el enlace correspondiente:

3. Instalación de Fuse3

Para que el punto de montaje funcione correctamente, necesitaremos instalar Fuse3. Utiliza los siguientes comandos según tu distribución:

Ubuntu/Debian

apt install fuse3 -y

CentOS/RedHat/AlmaLinux/Rocky

yum install -y fuse3

Configuración del Punto de Montaje

Configuración de Origen

Para configurar el origen del montaje, podemos utilizar el asistente incluido en Rclone o generar manualmente un archivo rclone.conf.

Generación con Asistente:

Ejecuta rclone config y sigue estos pasos:

n) New remote
name> gcloud
Storage> 15
client_id> (dejar en blanco)
client_secret> (dejar en blanco)
project_number> (introducir numero de proyecto de GCP)
service_account_file> (introducir la ruta donde hemos almacenado el token de la cuenta de servicio)
anonymous> false
object_acl> bucketOwnerFullControl
bucket_acl> private
bucket_policy_only> true
location> 3
storage_class> 1
y/n> n
y/e/d> y
e/n/d/r/c/s/q> q

Una vez completada la configuración, copia el archivo generado a /etc/rclone.conf y edita el archivo añadiendo la siguiente línea:

directory_markers = true
Generación Manual:

Crea un nuevo archivo /etc/rclone.conf con el siguiente formato:

[remote]
type = google cloud storage
project_number = (introducir numero de proyecto de GCP)
service_account_file = (introducir la ruta donde hemos almacenado el token de la cuenta de servicio)
object_acl = bucketOwnerFullControl
bucket_acl = private
location = eu
storage_class = REGIONAL
bucket_policy_only = true
directory_markers = true

Preparación para el Automontaje

Para configurar el automontaje, necesitamos generar un archivo para systemd, añadir una línea en fstab y enlazar mount.rclone al ejecutable de Rclone.

Generar Fichero para Systemd

Crea un nuevo archivo /etc/systemd/system/mnt-(nombre-descriptivo).mount con el siguiente contenido:


#/etc/systemd/system/mnt-(nombredescriptivo).mount
[Unit]
After=network-online.target
[Mount]
Type=rclone
What=(nombre de origen)://(nombre de bucket)
Where=(ruta de destino)
Options=rw,allow_other,allow_root,args2env,vfs-cache-mode=writes,vfs-cache-max-age=0s,cache-dir=/var/rclone,dir-cache-time="0",uid=(id usuario montaje),gid=(grupo usuario montaje),file-perms=664,dir-perms=775,umask=002,gcs-directory-markers
Añadir Entrada en fstab

Agrega una línea en fstab siguiendo este patrón:

(nombre de origen)://(nombre de bucket) (ruta de destino) rclone rw,allow_other,allow_root,nofail,_netdev,x-systemd.automount,args2env,vfs_cache_mode=writes,dir-cache-time="0",vfs-cache-max-age=0s,config=/etc/rclone.conf,cache_dir=/var/cache/rclone,uid=(id usuario montaje),gid=(grupo usuario montaje),file-perms=664,dir-perms=775,umask=002,gcs-directory-markers
Enlazar mount.rclone a Rclone

Ejecuta el siguiente comando:

ln -s /usr/bin/rclone /usr/sbin/mount.rclone

:wq!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *