¡Esta es una revisión vieja del documento!


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

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

Volver arriba