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:
- Accede al IAM (Identity and Access Management) en tu proyecto.
- Si aún no tienes una cuenta de servicio, crea una nueva.
- Una vez creada, accede a la cuenta de servicio deseada en la pestaña «Cuentas de Servicio».
- 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:
- Para Ubuntu/Debian: rclone-current-linux-amd64.deb
- Para CentOS/RedHat/AlmaLinux/Rocky: rclone-current-linux-amd64.rpm
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!