guía c5 configuración de la api de s3 en freenas · página 1 de 27 guía c5 – configuración...

27
Página 1 de 27 Guía C5 Configuración de la API de S3 en FreeNAS Fase I. Crear grupo de cuenta de usuario y crear cuenta de usuario para S3 ........................................... 2 Paso 1. Contar con una cuenta en AWS y tenerla activa. .................................................................. 2 Paso 2. Crear un grupo de cuentas de usuario para el acceso a S3 .................................................. 2 Paso 3. Definir las políticas de acceso ............................................................................................... 2 Paso 4. Crear un usuario para el acceso de S3 ................................................................................. 3 Paso 5. Crear Bucket ......................................................................................................................... 6 Paso 6. Probar acceso a Bucket ........................................................................................................ 8 Fase II Configuración de srv03 (FreeNAS)........................................................................................... 10 Primera Parte: Pasos previos en FreeNAS.......................................................................................... 10 Segunda parte Instalar plugins (complementos) ............................................................................... 11 2.1 Instalar el plugin para acceso a S3 de AWS .............................................................................. 11 2.2 Configurar la jail de s3cmd ......................................................................................................... 12 2.3 Probar comunicación con la jail s3cmd_1 .................................................................................. 13 2.4 Instalar las librerías requeridas por la API de S3 en FreeBSD ................................................... 14 Tercera parte Crear dataset para los datos locales .......................................................................... 18 3.1 Crear un dataset para el almacenamiento de los archivos locales ............................................. 18 Cuarta parte Vincular el directorio local de FreeBSD a la jail s3cmd_1............................................. 20 Quinta parte Vincular un bucket con el directorio local ..................................................................... 22 5.1 Verificar la información que se requiere en la API de S3............................................................ 22 5.2 ejecutar asistente de configuración de s3cmd ............................................................................ 22 5.3 Pruebas de comunicación .......................................................................................................... 24 5.3.1 Listado de contenido ........................................................................................................... 24 5.3.2 Copiar un archivo desde la jail hacia el bucket .................................................................... 24 5.3.3 Subir un archivo cualquiera al bucket y descargarlo en la jail .............................................. 25 5.4 Sincronizar el contenido del punto de montaje del dataset y el bucket de destino...................... 26 Objetivo general Permitir la sincronización de archivos entre FreeNAS y el servicio S3 de AWS, por medio de la vinculación de un directorio local en FreeBSD y un Bucket Objetivos de la guía: Instalar el plugin S3. Configurar las opciones de red de la jail para s3_cmd Instalar las librerías de FreeBSD que permitan tener funcional el entorno de la API de S3. Asociar un dataset previamente creado para compartir recursos SMB/CIFS. Utilizar los comandos de sincronización.

Upload: vohanh

Post on 28-Sep-2018

224 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Guía C5 Configuración de la API de S3 en FreeNAS · Página 1 de 27 Guía C5 – Configuración de la API de S3 en FreeNAS Fase I. Crear grupo de cuenta de usuario y crear cuenta

Página 1 de 27

Guía C5 – Configuración de la API de S3 en FreeNAS Fase I. Crear grupo de cuenta de usuario y crear cuenta de usuario para S3 ........................................... 2

Paso 1. Contar con una cuenta en AWS y tenerla activa. .................................................................. 2

Paso 2. Crear un grupo de cuentas de usuario para el acceso a S3 .................................................. 2

Paso 3. Definir las políticas de acceso ............................................................................................... 2

Paso 4. Crear un usuario para el acceso de S3 ................................................................................. 3

Paso 5. Crear Bucket ......................................................................................................................... 6

Paso 6. Probar acceso a Bucket ........................................................................................................ 8

Fase II – Configuración de srv03 (FreeNAS) ........................................................................................... 10

Primera Parte: Pasos previos en FreeNAS .......................................................................................... 10

Segunda parte – Instalar plugins (complementos) ............................................................................... 11

2.1 Instalar el plugin para acceso a S3 de AWS .............................................................................. 11

2.2 Configurar la jail de s3cmd ......................................................................................................... 12

2.3 Probar comunicación con la jail s3cmd_1 .................................................................................. 13

2.4 Instalar las librerías requeridas por la API de S3 en FreeBSD ................................................... 14

Tercera parte – Crear dataset para los datos locales .......................................................................... 18

3.1 Crear un dataset para el almacenamiento de los archivos locales ............................................. 18

Cuarta parte – Vincular el directorio local de FreeBSD a la jail s3cmd_1............................................. 20

Quinta parte – Vincular un bucket con el directorio local ..................................................................... 22

5.1 Verificar la información que se requiere en la API de S3 ............................................................ 22

5.2 ejecutar asistente de configuración de s3cmd ............................................................................ 22

5.3 Pruebas de comunicación .......................................................................................................... 24

5.3.1 Listado de contenido ........................................................................................................... 24

5.3.2 Copiar un archivo desde la jail hacia el bucket .................................................................... 24

5.3.3 Subir un archivo cualquiera al bucket y descargarlo en la jail .............................................. 25

5.4 Sincronizar el contenido del punto de montaje del dataset y el bucket de destino ...................... 26

Objetivo general Permitir la sincronización de archivos entre FreeNAS y el servicio S3 de AWS, por medio de la vinculación de un directorio local en FreeBSD y un Bucket Objetivos de la guía:

Instalar el plugin S3.

Configurar las opciones de red de la jail para s3_cmd

Instalar las librerías de FreeBSD que permitan tener funcional el entorno de la API de S3.

Asociar un dataset previamente creado para compartir recursos SMB/CIFS.

Utilizar los comandos de sincronización.

Page 2: Guía C5 Configuración de la API de S3 en FreeNAS · Página 1 de 27 Guía C5 – Configuración de la API de S3 en FreeNAS Fase I. Crear grupo de cuenta de usuario y crear cuenta

Página 2 de 27

Fase I. Crear grupo de cuenta de usuario y crear cuenta de usuario para S3

Paso 1. Contar con una cuenta en AWS y tenerla activa.

Paso 2. Crear un grupo de cuentas de usuario para el acceso a S3 2.1 Services/IAM 2.2 Group 2.3 Clic en botón “Create new group” 2.4 Escriba un nombre, para esta guía utilice: gpoS3

2.5 Dar un clic en el botón “Next Step”

Paso 3. Definir las políticas de acceso 3.1 seleccione AmazonS3FullAccess

3.2 Dar un clic en el botón “Next Step” 3.3 Revisar los datos

Page 3: Guía C5 Configuración de la API de S3 en FreeNAS · Página 1 de 27 Guía C5 – Configuración de la API de S3 en FreeNAS Fase I. Crear grupo de cuenta de usuario y crear cuenta

Página 3 de 27

3.4 Dar un clic en el botón “Create Group”

Paso 4. Crear un usuario para el acceso de S3 4.1 Services/IAM 4.2 Users 4.3 Clic en botón “Add user” 4.4 Definir el nombre del usuario: acceso_S301 4.5 Seleccionar el tipo de acceso AWS: “Programmatic Access” 4.6 Clic en el botón “Next Permitions”

4.7 Definir la pertenencia a un grupo: dar clic en “Add user to group”

Page 4: Guía C5 Configuración de la API de S3 en FreeNAS · Página 1 de 27 Guía C5 – Configuración de la API de S3 en FreeNAS Fase I. Crear grupo de cuenta de usuario y crear cuenta

Página 4 de 27

4.8 Seleccionar el grupo “gpoS3”

4.9 Clic en el botón “Next Review”

Page 5: Guía C5 Configuración de la API de S3 en FreeNAS · Página 1 de 27 Guía C5 – Configuración de la API de S3 en FreeNAS Fase I. Crear grupo de cuenta de usuario y crear cuenta

Página 5 de 27

4.10 Verificar los valores de la cuenta de usuario.

Nombre de la cuenta: acceso_S301

Tipo de acceso: Programmatic access

Grupo de cuentas de usuario: gpoS3

4.11 Clic en botón “Create user”

4.12 Descargar archivo CSV con datos de usuario, en un lugar seguro. 4.13 Copiar el Access Key ID y el Secret Access key, en un lugar seguro 4.14 Dar clic en botón “Close”

Page 6: Guía C5 Configuración de la API de S3 en FreeNAS · Página 1 de 27 Guía C5 – Configuración de la API de S3 en FreeNAS Fase I. Crear grupo de cuenta de usuario y crear cuenta

Página 6 de 27

Paso 5. Crear Bucket 5.1 Ingresar a Services 5.2 Seleccionar S3 5.3 clic en botón “Create bucket”

Definir un nombre único para el Bucket name: por ejemplo: “repoempresay”

Región: Verificar que la región seleccionada corresponda a la región de la cuenta de AWS

5.4 Clic en botón “Next” 5.5 No se seleccionarán las propiedades sobre versionada, bitácora y etiquetas.

5.6 Clic en botón “Next”

Page 7: Guía C5 Configuración de la API de S3 en FreeNAS · Página 1 de 27 Guía C5 – Configuración de la API de S3 en FreeNAS Fase I. Crear grupo de cuenta de usuario y crear cuenta

Página 7 de 27

5.7 Seleccionar permisos del bucket

Asignar permisos al usuario propietario (cuenta de AWS): Read = Write =

Asignar permisos al objeto: Read = Write = ,

Permisos públicos: Do not grant public read Access

Manage System Permition: Do not grant Amazon S3 Log Delivery

5.8 Dar clic en botón “Next” 5.9 Revisar los permisos del Bucket

5.10 Dar clic en botón “Create bucket”

Page 8: Guía C5 Configuración de la API de S3 en FreeNAS · Página 1 de 27 Guía C5 – Configuración de la API de S3 en FreeNAS Fase I. Crear grupo de cuenta de usuario y crear cuenta

Página 8 de 27

Paso 6. Probar acceso a Bucket 6.1 Utilizar el navegador Web y crear un directorio en el bucket. 6.2 Subir cualquier archivo en el directorio creado en el bucket 6.3 Descargar el S3 Browser Enlace para descarga: http://s3browser.com/ 6.4. Instalar el S3Browser en un cliente Windows 6.5 Definir las credenciales

Page 9: Guía C5 Configuración de la API de S3 en FreeNAS · Página 1 de 27 Guía C5 – Configuración de la API de S3 en FreeNAS Fase I. Crear grupo de cuenta de usuario y crear cuenta

Página 9 de 27

6.6 Explorar los buckets creados

6.7 Probar la subida y descarga de archivos.

Page 10: Guía C5 Configuración de la API de S3 en FreeNAS · Página 1 de 27 Guía C5 – Configuración de la API de S3 en FreeNAS Fase I. Crear grupo de cuenta de usuario y crear cuenta

Página 10 de 27

Fase II – Configuración de srv03 (FreeNAS)

Primera Parte: Pasos previos en FreeNAS 0.1 Tener configurado los parámetros de red IPv4 y salida a Internet

0.2 Actualizar el sistema operativo y el Appliance. /Sistema/Actualización Botón Comprobar ahora

0.3 Tener un dataset o volumen disponible para configurar el almacenamiento local 0.4 Tener de 6.0 GB a 8.0 GB de memoria RAM (Recomendado en equipo físico de pruebas, en equipo de producción de 8.0 GB a 12 GB)

Page 11: Guía C5 Configuración de la API de S3 en FreeNAS · Página 1 de 27 Guía C5 – Configuración de la API de S3 en FreeNAS Fase I. Crear grupo de cuenta de usuario y crear cuenta

Página 11 de 27

Segunda parte – Instalar plugins (complementos) Verificar que el appliance de FreeNAS tenga salida a internet

2.1 Instalar el plugin para acceso a S3 de AWS 1. Seleccionar el menú plugins 2. Ubicar el complemento s3cmd 3. Dar clic e el botón “instalar”

4. Aceptar pantalla de confirmación.

5. Esperar proceso de descarga y creación de la jail.

Nota: este proceso puede tomar varios minutos ya que dependerá del ancho de banda para la Internet, la velocidad de los microporcesadores y la cantidad de memoria RAM Si se obtiene el error “no hay suficiente espacio en SWAP”, verifique que la MV o equipo físico tenga al menos 6.0 GB

Page 12: Guía C5 Configuración de la API de S3 en FreeNAS · Página 1 de 27 Guía C5 – Configuración de la API de S3 en FreeNAS Fase I. Crear grupo de cuenta de usuario y crear cuenta

Página 12 de 27

6. Verificar que se haya creado la jail

2.2 Configurar la jail de s3cmd Para asignar las direcciones IPv4 a una jail se utiliza el botón “edit” y no la configuración por comandos internos de la jail. 1. Dar clic en menú Jail 2. Seleccionar la jaula s3cmd_1 3. Dar clic en opción Editar.

4. Completar las opciones de configuración de la interfaz:

Verificar que se tenga la dirección 192.168.50+Y.31

Desactivar Vimage

Sysctls: allow.raw_sockets=true

Page 13: Guía C5 Configuración de la API de S3 en FreeNAS · Página 1 de 27 Guía C5 – Configuración de la API de S3 en FreeNAS Fase I. Crear grupo de cuenta de usuario y crear cuenta

Página 13 de 27

Dar clic en botón guardar 5. Reiniciar la jail

2.3 Probar comunicación con la jail s3cmd_1 1. Verificar que la jail responde desde la red 192.168.50+Y.0 Microsoft Windows [Versión 10.0.14393]

(c) 2016 Microsoft Corporation. Todos los derechos reservados.

C:\> ping 192.168.50.31

Haciendo ping a 192.168.50.31 con 32 bytes de datos:

Respuesta desde 192.168.50.31: bytes=32 tiempo<1m TTL=64

Page 14: Guía C5 Configuración de la API de S3 en FreeNAS · Página 1 de 27 Guía C5 – Configuración de la API de S3 en FreeNAS Fase I. Crear grupo de cuenta de usuario y crear cuenta

Página 14 de 27

Respuesta desde 192.168.50.31: bytes=32 tiempo<1m TTL=64

Respuesta desde 192.168.50.31: bytes=32 tiempo<1m TTL=64

Respuesta desde 192.168.50.31: bytes=32 tiempo<1m TTL=64

Estadísticas de ping para 192.168.50.31:

Paquetes: enviados = 4, recibidos = 4, perdidos = 0

(0% perdidos),

Tiempos aproximados de ida y vuelta en milisegundos:

Mínimo = 0ms, Máximo = 0ms, Media = 0ms

2. Verificar que la jail se comunica con un equipo en la red 192.168.50+Y.0 Puede utilizar la consola

root@s3cmd_1:/ # ping -c 3 192.168.50.155

PING 192.168.50.155 (192.168.50.155): 56 data bytes

64 bytes from 192.168.50.155: icmp_seq=0 ttl=128 time=0.870 ms

64 bytes from 192.168.50.155: icmp_seq=1 ttl=128 time=0.920 ms

64 bytes from 192.168.50.155: icmp_seq=2 ttl=128 time=0.481 ms

--- 192.168.50.155 ping statistics ---

3 packets transmitted, 3 packets received, 0.0% packet loss

round-trip min/avg/max/stddev = 0.481/0.757/0.920/0.196 ms

2.4 Instalar las librerías requeridas por la API de S3 en FreeBSD Listar las jails [root@srv03] ~# jls

JID IP Address Hostname Path

2 192.168.50.31 s3cmd_1 /mnt/mivol_30g/jails/s3cmd_1

Ejecutar la consola tcsh en la jail [root@srv03] ~# jexec 2 /bin/tcsh

Actualizar los comandos de FreeBSD en la jail root@s3cmd_1:/ # pkg update

Updating FreeBSD repository catalogue...

FreeBSD repository is up-to-date.

All repositories are up-to-date.

root@s3cmd_1:/ # pkg install gnupg

Updating FreeBSD repository catalogue...

FreeBSD repository is up-to-date.

All repositories are up-to-date.

The following 15 package(s) will be affected (of 0 checked):

New packages to be INSTALLED:

gnupg: 2.1.16

libgpg-error: 1.25

libassuan: 2.4.3

npth: 1.3

libgcrypt: 1.7.3

gnutls: 3.4.16

nettle: 3.2

Page 15: Guía C5 Configuración de la API de S3 en FreeNAS · Página 1 de 27 Guía C5 – Configuración de la API de S3 en FreeNAS Fase I. Crear grupo de cuenta de usuario y crear cuenta

Página 15 de 27

gmp: 5.1.3_3

libtasn1: 4.9

trousers: 0.3.14_1

tpm-emulator: 0.7.4_1

p11-kit: 0.23.2

pinentry: 0.9.7_1

pinentry-tty: 0.9.7

libksba: 1.3.5

Number of packages to be installed: 15

The process will require 33 MiB more space.

8 MiB to be downloaded.

Proceed with this action? [y/N]: y

[s3cmd_1] Fetching gnupg-2.1.16.txz: 100% 2 MiB 890.5kB/s 00:02

[s3cmd_1] Fetching libgpg-error-1.25.txz: 100% 161 KiB 165.4kB/s 00:01

[s3cmd_1] Fetching libassuan-2.4.3.txz: 100% 75 KiB 77.0kB/s 00:01

[s3cmd_1] Fetching npth-1.3.txz: 100% 20 KiB 20.2kB/s 00:01

[s3cmd_1] Fetching libgcrypt-1.7.3.txz: 100% 643 KiB 658.1kB/s 00:01

. . .

. . .

https://bugs.freebsd.org/bugzilla

More information about port maintainership is available at:

https://www.freebsd.org/doc/en/articles/contributing/ports-

contributing.html#maintain-port

Message from gnupg-2.1.16:

###############################################################################

A T T E N T I O N

In order to use gpg-agent, you need to install a pinentry dialog.

The following ports of pinentry dialogs are available:

security/pinentry-curses (ncurses based dialog)

security/pinentry-gtk2 (GTK 2.x based dialog)

security/pinentry-qt4 (QT4 based dialog)

security/pinentry-tty (console based dialog)

Identificar las versiones de los paquetes a instalar root@s3cmd_1:/ # pkg search py27-dateutil

py27-dateutil-2.5.3 Extensions to the standard Python datetime module

root@s3cmd_1:/ # pkg search py27-magic

py27-magic-5.29 Python module for determining file type

py27-magic-wormhole-0.8.0 Get things from one computer to another, safely

root@s3cmd_1:/ # pkg search py27-s3cmd

py27-s3cmd-1.6.1 Unix-like tools to manipulate stored files from the command line

Page 16: Guía C5 Configuración de la API de S3 en FreeNAS · Página 1 de 27 Guía C5 – Configuración de la API de S3 en FreeNAS Fase I. Crear grupo de cuenta de usuario y crear cuenta

Página 16 de 27

root@s3cmd_1:/ # pkg search gnupg

gnupg-2.1.16 The GNU Privacy Guard

gnupg1-1.4.21_1 Minimal version of the PGP-compatible GNU Privacy Guard

gnupg20-2.0.29 The GNU Privacy Guard

p5-GnuPG-0.19_1 Perl module for interfacing with GnuPG

p5-GnuPG-Interface-0.52_1 Perl module for interfacing with GnuPG

p5-Mail-GnuPG-0.23 Perl5 interface to process and/or create PGP email

pecl-gnupg-1.4.0_1 PECL wrapper around the gpgme library

py27-gnupg-2.0.2 Python wrapper for GnuPG

py27-python-gnupg-0.3.8 Python wrapper for the GNU Privacy Guard (GPG or GnuPG)

Instalar los paquetes acordes a la versión de FreeBSD root@s3cmd_1:/ # pkg install gnupg

Updating FreeBSD repository catalogue...

FreeBSD repository is up-to-date.

All repositories are up-to-date.

Checking integrity... done (0 conflicting)

The following 15 package(s) will be affected (of 0 checked):

tcsd_enable="YES"

You might want to edit /usr/local/etc/tcsd.conf to reflect your setup.

. . .

. . . (hay más mensajes)

root@s3cmd_1:/ # pkg install py27-dateutil-2.5.3

Updating FreeBSD repository catalogue...

FreeBSD repository is up-to-date.

All repositories are up-to-date.

The following 3 package(s) will be affected (of 0 checked):

New packages to be INSTALLED:

py27-dateutil: 2.5.3

py27-setuptools27: 28.8.0

py27-six: 1.10.0

Number of packages to be installed: 3

The process will require 3 MiB more space.

592 KiB to be downloaded.

Proceed with this action? [y/N]: y

[s3cmd_1] Fetching py27-dateutil-2.5.3.txz: 100% 219 KiB 224.7kB/s 00:01

[s3cmd_1] Fetching py27-setuptools27-28.8.0.txz: 100% 356 KiB 364.8kB/s 00:01

[s3cmd_1] Fetching py27-six-1.10.0.txz: 100% 16 KiB 16.6kB/s 00:01

Checking integrity... done (0 conflicting)

[s3cmd_1] [1/3] Installing py27-setuptools27-28.8.0...

[s3cmd_1] [1/3] Extracting py27-setuptools27-28.8.0: 100%

[s3cmd_1] [2/3] Installing py27-six-1.10.0...

[s3cmd_1] [2/3] Extracting py27-six-1.10.0: 100%

[s3cmd_1] [3/3] Installing py27-dateutil-2.5.3...

[s3cmd_1] [3/3] Extracting py27-dateutil-2.5.3: 100%

Page 17: Guía C5 Configuración de la API de S3 en FreeNAS · Página 1 de 27 Guía C5 – Configuración de la API de S3 en FreeNAS Fase I. Crear grupo de cuenta de usuario y crear cuenta

Página 17 de 27

root@s3cmd_1:/ # pkg install py27-magic-5.29

Updating FreeBSD repository catalogue...

FreeBSD repository is up-to-date.

All repositories are up-to-date.

The following 1 package(s) will be affected (of 0 checked):

New packages to be INSTALLED:

py27-magic: 5.29

Number of packages to be installed: 1

6 KiB to be downloaded.

Proceed with this action? [y/N]: y

[s3cmd_1] Fetching py27-magic-5.29.txz: 100% 6 KiB 5.9kB/s 00:01

Checking integrity... done (0 conflicting)

[s3cmd_1] [1/1] Installing py27-magic-5.29...

[s3cmd_1] [1/1] Extracting py27-magic-5.29: 100%

root@s3cmd_1:/ # pkg install py27-s3cmd-1.6.1

Updating FreeBSD repository catalogue...

FreeBSD repository is up-to-date.

All repositories are up-to-date.

The following 2 package(s) will be affected (of 0 checked):

New packages to be INSTALLED:

py27-s3cmd: 1.6.1

python2: 2_3

Number of packages to be installed: 2

145 KiB to be downloaded.

Proceed with this action? [y/N]: y

[s3cmd_1] Fetching py27-s3cmd-1.6.1.txz: 100% 144 KiB 147.0kB/s 00:01

[s3cmd_1] Fetching python2-2_3.txz: 100% 1 KiB 1.1kB/s 00:01

Checking integrity... done (0 conflicting)

[s3cmd_1] [1/2] Installing python2-2_3...

[s3cmd_1] [1/2] Extracting python2-2_3: 100%

[s3cmd_1] [2/2] Installing py27-s3cmd-1.6.1...

[s3cmd_1] [2/2] Extracting py27-s3cmd-1.6.1: 100%

Verificar que el sistema de paquetes se encuentre actualizado y sin conflictos root@s3cmd_1:/ # pkg autoremove

Checking integrity... done (0 conflicting)

Nothing to do.

root@s3cmd_1:/ # pkg update

Updating FreeBSD repository catalogue...

FreeBSD repository is up-to-date.

All repositories are up-to-date.

Page 18: Guía C5 Configuración de la API de S3 en FreeNAS · Página 1 de 27 Guía C5 – Configuración de la API de S3 en FreeNAS Fase I. Crear grupo de cuenta de usuario y crear cuenta

Página 18 de 27

Tercera parte – Crear dataset para los datos locales Este paso solo se realizará si no existe un dataset para los archivos, este dataset corresponde al directorio local que es compartido por los protocolos SMB/CIFS, NFS y WebDAV de srv03

3.1 Crear un dataset para el almacenamiento de los archivos locales 1. Seleccionar Almacenamiento 2. Seleccionar el volumen (por ejemplo: vol_3g) 3. Dar clic en el botón “Create Dataset”

4. llenar formulario

Nombre: dtset_win

Nivel compresión: Heredar lz4

Tipo de recurso: UNIX

Distinción entre mayúsculas y minúsculas: Sensible

Page 19: Guía C5 Configuración de la API de S3 en FreeNAS · Página 1 de 27 Guía C5 – Configuración de la API de S3 en FreeNAS Fase I. Crear grupo de cuenta de usuario y crear cuenta

Página 19 de 27

5. Dar clic en botón “Añadir un conjunto de datos”

Nota: Hay que recordar que este paso solo se realizará si no hubiera un dataset (en la guía anterior se debió crear un dataset para los datos compartidos por medio de SMB/CIFS, NFS y WebDAV)

Page 20: Guía C5 Configuración de la API de S3 en FreeNAS · Página 1 de 27 Guía C5 – Configuración de la API de S3 en FreeNAS Fase I. Crear grupo de cuenta de usuario y crear cuenta

Página 20 de 27

Cuarta parte – Vincular el directorio local de FreeBSD a la jail s3cmd_1 1. Seleccionar menú jaulas 2. Seleccionar la jaula s3cmd_1 3. Seleccionar Almacenamiento 4. Seleccionar Añadir Almacenamiento

5. Crear directorio interno en la jail y asociarlo con el dataset dset_win

Origen: /mnt/vol_3g/dtset_win

Destino: /mnt/dtset_win_ori

Solo lectura: deshabilitado

Crear directorio: Habilitado

6. Dar clic en el botón OK

Page 21: Guía C5 Configuración de la API de S3 en FreeNAS · Página 1 de 27 Guía C5 – Configuración de la API de S3 en FreeNAS Fase I. Crear grupo de cuenta de usuario y crear cuenta

Página 21 de 27

6. Verificar que se haya añadido el dataset

7 Verificar que el recurso esté montado dentro de la jail 7.1 Copie desde un equipo cliente Windows o Linux algunos archivos al directorio local. 7.2 Ingresar a la consola de la jail 7.3 verificar que se puede ver el contenido del punto /mnt/dtset_win_ori root@s3cmd_1:/ # ls -l /mnt/dtset_win_ori/

total 3

-rwxrwxr-x+ 1 1001 1001 0 Dec 13 07:52 .windows

-rwxrwxr-x+ 1 1001 1001 15 Dec 13 08:09 carta01.txt

-rwxrwxr-x+ 1 1001 1001 20 Dec 13 08:28 carta02.txt

-rwxrwxr-x+ 1 1001 1001 200 Dec 13 08:28 carta03.txt

Page 22: Guía C5 Configuración de la API de S3 en FreeNAS · Página 1 de 27 Guía C5 – Configuración de la API de S3 en FreeNAS Fase I. Crear grupo de cuenta de usuario y crear cuenta

Página 22 de 27

Quinta parte – Vincular un bucket con el directorio local

5.1 Verificar la información que se requiere en la API de S3 1. La ruta del programa gpg 2. El valor del Access key ID y del Secret access key 3. La región donde se encuentran los buckets

5.1.1 Ruta del programa para cifrado y firmas digitales (en FreeBSD se está utilizando la versión 2 de gpg) root@s3cmd_1:/ # whereis gpg

gpg: /usr/local/bin/gpg

root@s3cmd_1:/ # ls -l /usr/local/bin/gpg

lrwxr-xr-x 1 root wheel 4 Dec 13 07:34 /usr/local/bin/gpg -> gpg2

5.1.2 Valores del Access Key y del Secret Access Key 5.1.3 Para verificar la región de los bucket Vaya a s3 / buckets/ seleccionar el bucket deseado / dar clic en botón properties Puede seleccionar vista antigua para que la pantalla de S3 sea similar a la siguiente figura

5.2 ejecutar asistente de configuración de s3cmd 5.2.1 Digite el siguiente comando root@s3cmd_1:/ # s3cmd --configure

Enter new values or accept defaults in brackets with Enter.

Refer to user manual for detailed description of all options.

Access key and Secret key are your identifiers for Amazon S3. Leave them empty for

using the env variables.

5.2.2 Escriba el valor del Access Key Access Key [AKIAJTFUJLTWULKY4EMA]: AKI_EL_ACCESS_KEY

5.2.3 Escriba el valor del Secreet Key Secret Key [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]: Onn7_Aqui_el_Secret_Ke

Page 23: Guía C5 Configuración de la API de S3 en FreeNAS · Página 1 de 27 Guía C5 – Configuración de la API de S3 en FreeNAS Fase I. Crear grupo de cuenta de usuario y crear cuenta

Página 23 de 27

5.2.4 Defina la región de los buckets Default Region [US]: Oregon

5.2.5 Definir la palabra o frase para la encriptación de la comunicación Encryption password is used to protect your files from reading

by unauthorized persons while in transfer to S3

Encryption password [test]: Cristo_vive

6.2.6 Definir la ruta del programa para cifrado y firmas digitales Path to GPG program [None]: /usr/local/bin/gpg

6.2.7 Definir si se utilizará HTTPS When using secure HTTPS protocol all communication with Amazon S3

servers is protected from 3rd party eavesdropping. This method is

slower than plain HTTP, and can only be proxied with Python 2.7 or newer

Use HTTPS protocol [No]: Enter

Page 24: Guía C5 Configuración de la API de S3 en FreeNAS · Página 1 de 27 Guía C5 – Configuración de la API de S3 en FreeNAS Fase I. Crear grupo de cuenta de usuario y crear cuenta

Página 24 de 27

6.2.8 Definir si se utilizará un HTTP proxy On some networks all internet access must go through a HTTP proxy.

Try setting it here if you can't connect to S3 directly

HTTP Proxy server name:

6.2.9 Verificar la información que utilizará la API New settings:

Access Key: AKIAIP235NBOS6QFN42Q

Secret Key: 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

Default Region: Oregon

Encryption password: Cristo_vive

Path to GPG program: /usr/local/bin/gpg

Use HTTPS protocol: False

HTTP Proxy server name:

HTTP Proxy server port: 0

6.2.10 Prueba de comunicación con las credenciales Test access with supplied credentials? [Y/n] Y

Please wait, attempting to list all buckets...

Success. Your access key and secret key worked fine :-)

Now verifying that encryption works...

Success. Encryption and decryption worked fine :-)

6.2.11 Guardar la configuración Save settings? [y/N] y

Configuration saved to '/root/.s3cfg'

5.3 Pruebas de comunicación

5.3.1 Listado de contenido

A. Listar los buckets disponibles root@s3cmd_1:/ # s3cmd ls

2016-12-04 15:37 s3://contabcuc

2016-06-10 01:24 s3://pruebacuc01

B. Listar el contenido del bucket contabcuc root@s3cmd_1:/ # s3cmd ls s3://contabcuc

Nota: para este ejemplo, no hay archivos

5.3.2 Copiar un archivo desde la jail hacia el bucket

Para este ejemplo se creará un archivo con el ombre prueba01.txt, con el contenido del directorio raíz A. Listar el contenido para próxima verificación root@s3cmd_1:/ # ls /

.cshrc bin lib proc sys

.plugins boot libexec rescue tmp

.profile dev media root usr

COPYRIGHT etc mnt sbin var

Page 25: Guía C5 Configuración de la API de S3 en FreeNAS · Página 1 de 27 Guía C5 – Configuración de la API de S3 en FreeNAS Fase I. Crear grupo de cuenta de usuario y crear cuenta

Página 25 de 27

B. Crear archivo con el contenido del directorio raíz root@s3cmd_1:/ # ls > /root/prueba01.txt

C. Copiar el archivo desde la jail hasta el bucket root@s3cmd_1:/ # s3cmd put /root/prueba01.txt s3://contabcuc

upload: '/root/prueba01.txt' -> 's3://contabcuc/prueba01.txt' [1 of 1]

112 of 112 100% in 0s 314.49 B/s done

upload: '/root/prueba01.txt' -> 's3://contabcuc/prueba01.txt' [1 of 1]

112 of 112 100% in 0s 282.52 B/s done

D. Verificar que se haya creado enviado el archivo root@s3cmd_1:/ # s3cmd ls s3://contabcuc

2016-12-13 17:37 112 s3://contabcuc/prueba01.txt

5.3.3 Subir un archivo cualquiera al bucket y descargarlo en la jail

A. Desde un navegador Web subir un archivo cualquiera al bucket

B. Listar archivos en el bucket root@s3cmd_1:/ # s3cmd ls s3://contabcuc

2016-12-13 17:49 397416 s3://contabcuc/Hola.docx

2016-12-13 17:37 112 s3://contabcuc/prueba01.txt

C. Copiar desde el bucket hacia el jail root@s3cmd_1:/ # s3cmd get s3://contabcuc/Hola.docx /root

download: 's3://contabcuc/Hola.docx' -> '/root/Hola.docx' [1 of 1]

download: 's3://contabcuc/Hola.docx' -> '/root/Hola.docx' [1 of 1]

397416 of 397416 100% in 1s 218.96 kB/s done

Page 26: Guía C5 Configuración de la API de S3 en FreeNAS · Página 1 de 27 Guía C5 – Configuración de la API de S3 en FreeNAS Fase I. Crear grupo de cuenta de usuario y crear cuenta

Página 26 de 27

D. Verificar la copia del archivo root@s3cmd_1:/ # ls /root/

.cshrc .history .login .s3cfg prueba01.txt

.gnupg .k5login .profile Hola.docx

5.4 Sincronizar el contenido del punto de montaje del dataset y el bucket de destino 5.4.1 Realizar la sincronización root@s3cmd_1:/ # s3cmd -v sync /mnt/jdset_win s3://contabcuc

INFO: Compiling list of local files...

INFO: Running stat() and reading/calculating MD5 values on 4 files, this may take some time...

INFO: Retrieving list of remote files for s3://contabcuc/jdset_win ...

INFO: Forwarding request to us-west-2

INFO: Found 4 local files, 0 remote files

INFO: Verifying attributes...

INFO: Summary: 4 local files to upload, 0 files to remote copy, 0 remote files to delete

WARNING: jdset_win/.windows: Owner username not known. Storing UID=1001 instead.

WARNING: jdset_win/.windows: Owner groupname not known. Storing GID=1001 instead.

upload: '/mnt/jdset_win/.windows' -> 's3://contabcuc/jdset_win/.windows' [1 of 4]

0 of 0 0% in 0s 0.00 B/s done

WARNING: jdset_win/carta01.txt: Owner username not known. Storing UID=1001 instead.

WARNING: jdset_win/carta01.txt: Owner groupname not known. Storing GID=1001 instead.

upload: '/mnt/jdset_win/carta01.txt' -> 's3://contabcuc/jdset_win/carta01.txt' [2 of 4]

15 of 15 100% in 0s 61.57 B/s done

ARNING: jdset_win/carta02.txt: Owner username not known. Storing UID=1001 instead.

WARNING: jdset_win/carta02.txt: Owner groupname not known. Storing GID=1001 instead.

upload: '/mnt/jdset_win/carta02.txt' -> 's3://contabcuc/jdset_win/carta02.txt' [3 of 4]

20 of 20 100% in 0s 78.28 B/s done

WARNING: jdset_win/carta03.txt: Owner username not known. Storing UID=1001 instead.

WARNING: jdset_win/carta03.txt: Owner groupname not known. Storing GID=1001 instead.

upload: '/mnt/jdset_win/carta03.txt' -> 's3://contabcuc/jdset_win/carta03.txt' [4 of 4]

200 of 200 100% in 0s 757.48 B/s done

Done. Uploaded 235 bytes in 1.1 seconds, 213.82 B/s.

5.4.2 Verificar que se haya subido el directorio root@s3cmd_1:/ # s3cmd ls s3://contabcuc

DIR s3://contabcuc/jdset_win/

2016-12-13 17:49 397416 s3://contabcuc/Hola.docx

2016-12-13 17:37 112 s3://contabcuc/prueba01.txt

root@s3cmd_1:/ # s3cmd ls s3://contabcuc/jdset_win/

2016-12-13 17:59 0 s3://contabcuc/jdset_win/.windows

2016-12-13 17:59 15 s3://contabcuc/jdset_win/carta01.txt

2016-12-13 17:59 20 s3://contabcuc/jdset_win/carta02.txt

2016-12-13 17:59 200 s3://contabcuc/jdset_win/carta03.txt

Page 27: Guía C5 Configuración de la API de S3 en FreeNAS · Página 1 de 27 Guía C5 – Configuración de la API de S3 en FreeNAS Fase I. Crear grupo de cuenta de usuario y crear cuenta

Página 27 de 27

Nota: si se desea un proceso automatizado se puede utilizar el comando cron / crontab Tarea. Agregue otro archivo al directorio /mnt/jdset_win y compruebe que en el proceso de sincronización, solo el archivo que se ha agregado se subirá. Recuerde que el directorio dentro de la jail se ha montado como read only, por lo que solamente podrá agregar un archivo por la red SMB Para mayor información sobre los comabdos de la API de s3cmd consulte: http://s3tools.org/s3cmd-howto Para mayor información del comando cron consulte https://www.freebsd.org/doc/handbook/configtuning-cron.html