viernes, 6 de julio de 2018

Copia archivos a S3 desde tu pc con CLI

Subir archivos a AWS S3 desde el navegador no tiene ningún misterio, no es plan de hacer un post así de simple. Pero hacer una subida programada de archivos, o sincronizar una carpeta de tu servidor con un bucket S3, sin necesidad de montar un AWS Gateway de por medio, ¿eso es otra cosa, verdad? Pues es muy fácil, vamos allá.


Lo primero de todo, si queremos mover archivos de una máquina Windows a S3 es instalar el CLI en Windows. Para eso, ya teneis un post AQUI. Lo siguiente, es configurar ese CLI recientemente instalado. Tambien teneis un post sobre eso, AQUI. Con las bases montadas, sólo tenemos que ejecutar una consola CMD.

Vamos a suponer, por ejemplo, que tenemos una carpeta en C: llamada Backups, porque por ejemplo, queremos subir copias de seguridad de VM´s. Y que tenemos un bucket con el nombre "Backups" (lo siento, soy así de original). Bien, en ese caso, escribiríamos el siguiente comando:

aws s3 cp C:\Backups s3://Backups --recursive

O lo que es lo msmo, aws s3 "nombre de ruta local" s3//"nombre de tu bucket" --recursive

El --recursive no es necesario, es sólo por si dentro de la carpeta local tienes subcarpetas, para que copie todo el contenido.

Lo interesante de todo esto es programar un .bat con este comando y tareas programadas. Si por ejemplo configuras una tarea de backup adicional tipo Full backup en la carpeta local, podrias combinarla con este comando para que suba la copia a S3, montandote un DR (un sistema de recuperacion de desastres) sin esfuerzo, sin coste, y perfectamente funcional.

Hay otra opción interesante que consiste en la sincronización de archivos entre la carpeta y el bucket. La sentencia a escribir tiene esta estructura:

aws s3 sync "ruta origen" "nombre de tu bucket"

Aunque es una opción posible, la utilización de los buckets como medio de sincronización de archivos no la considero muy adecuada. O al menos, tan poco adecuada como publicar en tu servidor el bucket como si de un disco en red se tratase, al estilo Drive o Dropbox. En cualquier caso, esta última práctica es desaconsejada por Amazon. Para eso tienes otras opciones como EFS.

Dejo el enlace de la guia de uso de S3 con comandos: https://docs.aws.amazon.com/es_es/cli/latest/userguide/using-s3-commands.html

Como veis, hay bastantes parámetros para jugar, como que solo copia unas determinadas extensiones, o modificacion de permisos sobre los archivos subidos.

No hay comentarios:

Publicar un comentario

¡Gracias por colaborar en este blog con tus comentarios! :)