====== Almacenamiento S3 (Amazon y Oracle) ====== ===== Descripción ===== Procedimientos para el uso y montaje de bucket amazon s3 ===== Prerrequisitos ===== Debe crear un bucket en amazon.\\ Debe crear un usuario IAM con permisos en s3, ojo debe tener en cuenta el acces key y su llave, esto para poder montar el bucket desde el servidor. ===== Procedimiento ===== ===== A. Instalación básica ===== **S3FS**\\ Haga una instalación basica de s3fs\\ -> apt-get install s3fs\\ \\ cree el archivo passwd-s3fs\\ -> vi /etc/passwd-s3fs\\ \\ en este archivo solamente debe poner el id y la llave del usuario que va realizar la conexión.\\ Ejemplo : AKIAICY5FFXE3TPO2UZQ:JE65BmW+j6yMJrll93C5NZuJchwpwNUyZ9QBLH3N\\ \\ -> chmod 600 /etc/passwd-s3fs\\ ya con este archivo puede hacer la conexión al bucket\\ \\ OJO \\ **mount-s3**\\ Hay otro mecanismo mas nuevo llamado mountpount s3\\ \\ https://aws.amazon.com/blogs/storage/the-inside-story-on-mountpoint-for-amazon-s3-a-high-performance-open-source-file-client/\\ https://docs.aws.amazon.com/es_es/AmazonS3/latest/userguide/mountpoint-installation.html ===== B. Montaje del bucket ===== ==== 1. Comando para el montaje del bucket ==== **S3FS**\\ Con este comando puede hacer el montaje del bucket\\ \\ -> s3fs NOMBRE_BUCKET  PUNTO_MONTAJE -o passwd_file=/etc/passwd_s3fs\\ -> dh -f\\ \\ podra ver el bucket montado.\\ \\ s3fs [bucket] [destination directory] -o endpoint=[region] -o passwd_file=${HOME}/.passwd-s3fs -o url=https:%%//%%[namespace].compat.objectstorage.[region].oraclecloud.com/ -onomultipart -o use_path_request_style O Puede colocarlo en el fstab s3fs#mybucket:/bodega /bodega fuse _netdev,allow_other,umask=0002,use_cache=/tmp/ 0 2 SI es remoto fuera de amazon, debe ser algo como s3fs#mybucket /mnt/dest fuse _netdev,allow_other,url=https:%%//%%s3.amazonaws.com 0 0 **mount-s3**\\ El nuevo mecanismo .. que es mas rapido y eficiente PERO no es un completo: No funcionan los vinculos y varios temas. Ideal para dejarlo como ReadOnly \\ https://docs.aws.amazon.com/es_es/AmazonS3/latest/userguide/mountpoint.html El script de montar usando el mount-s3 para mi es #!/bin/bash if [[ $USER != "www-data" ]]; then echo "OJO: Debe correrlo con sudo -u www-data" exit 1 fi export AWS_ACCESS_KEY_ID="AKIFM47F3UP4N" export AWS_SECRET_ACCESS_KEY="/3Wgkj/7hXVgSlb00GYabh" mount-s3 --allow-delete --allow-overwrite --allow-root --dir-mode 775 --file-mode 664 --uid 33 --gid 33 "my_bucket" /bodega # mount-s3 --allow-delete --allow-overwrite --allow-root --dir-mode 775 --file-mode 664 --uid 33 --gid 33 --cache /dk1/tmp "my_bucket" /bodega # mount-s3 --allow-delete --allow-overwrite --allow-root --dir-mode 775 --file-mode 664 --uid 33 --gid 33 --cache /dk1/tmp --prefix "bodega/" "my_bucket" /bodega OJO: ese montaje no se muestra con df .. tocar ejecutar mount y mirar si esta ==== 2. Comando para el automontaje del bucket ==== Edite el archivo /etc/fstab y agrege la siguiente linea\\ \\ s3fs#skn-home:/  /home fuse defaults,_netdev,allow_other,umask=022,use_cache=/tmp/ 0 0\\ \\ Pruebe la regla\\ -> mount -av\\ \\ si todo sale bien ya debe poder ver el bucket montado.\\ ===== Trucos ===== ==== 1. Subir muchos archivos a S3 ==== Lo mejor y mas rapido es usar el aws cli porque RINDE MUCHO\\ **Monte aws cli** wget "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" unzip awscli-exe-linux-x86_64.zip cd aws/ ./install /usr/local/bin/aws --version https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html\\ Ahora configurelo con el par de llaves y la zona aws configure Una vez tenga eso .. ya puede hacer la copia con aws s3 cp /mnt/orig/ s3://mybucket-en-amazon/ --recursive \\ https://codingsight.com/upload-files-to-aws-s3-with-the-aws-cli/\\ \\ ===== Problemas ===== ==== 1. Si el instale_mrtg.sh no le funciona, no puede.... ==== ===== Referencias ===== Yo solo use desde instalar el s3fs ya que en debian ya viene listo para instalar\\ Amazon\\ \\ -https://kerneltalks.com/cloud-services/how-to-mount-s3-bucket-in-linux-server/ -http://linuxroutes.com/mount-s3-bucket-linux-centos-rhel-ubuntu-using-s3fs/\\ \\ Oracle\\ \\ - https://blogs.oracle.com/cloud-infrastructure/post/mounting-an-object-storage-bucket-as-file-system-on-oracle-linux - https://database-heartbeat.com/2022/10/26/mount-bucket-as-file-system/\\ \\ FIN