Simple Storage Service (S3) es un sistema de almacenamiento de objetos que ofrece escalabilidad, disponibilidad de datos, seguridad y rendimiento. Los clientes de todos los tamaños y sectores pueden utilizar S3 para almacenar y proteger cualquier cantidad de datos para diversos casos de uso, tales como lagos de datos, sitios web, aplicaciones móviles, copia de seguridad y restauración, archivado, aplicaciones empresariales, dispositivos IoT y análisis de big data.
Este sistema de almacenamiento de objetos está basado en el S3 de Amazon, pero ha sido implementado en nuestra plataforma debido a su estandarización en múltiples empresas.
SoaX permite la gestión del almacenamiento S3 ya que tenemos la posibilidad de crear tanto un repositorio S3 en el proyecto como también poder conectar una unidad S3 remota a nuestro proyecto.
En Oasix ofrecemos servicios de almacenamiento de objetos S3, con distintos planes en función de las prestaciones de la unidad de almacenamiento. Por ejemplo, podemos encontrar planes con almacenamiento en HDD o en SSD en los cuales el precio por gigabyte será distinto en función de dichas prestaciones.
En el protocolo de almacenamiento S3, los buckets y objetos son los principales recursos, y los objetos se almacenan en buckets. S3 tiene una estructura sin formato en lugar del sistema jerárquico que normalmente veríamos en un sistema de archivos convencional. Sin embargo, para la simplicidad organizativa, la consola de gestión de S3 en SOAX admite el concepto de carpetas como medio para agrupar objetos. Para ello, utiliza un prefijo de nombre compartido para los objetos (es decir, los objetos tienen nombres que comienzan con una cadena común). Los nombres de objetos también se denominan nombres de clave.
Este tipo de almacenamiento está orientado a datos donde se realice un acceso frecuente. La arquitectura de este tipo de almacenamiento se basa en una doble copia del objeto/bucket, que se almacena en 2 unidades HDD distintas. aplicando un buffer + caché con discos NVME, reservada para los datos con acceso intensivo de lectura/escritura, sacando así, el máximo rendimiento a dichos datos.
A modo de comparativa, mientras que en Amazon los buckets cuentan con un tamaño máximo de 5 terabytes, que, una vez llegado a ese límite, se ha de crear un bucket nuevo, en SoaX, los buckets son de tamaño infinito.
Este servicio está orientado para datos donde se realice un acceso poco frecuente, pero que sean accesibles de una forma rápida cuando se necesiten. Este tipo de almacenamiento utiliza técnicas de duplicación y compresión para obtener un balanceo óptimo entre el rendimiento y la economía del dato.
La técnica para la protección del dato que se utiliza en este tipo de almacenamiento es erasure coding, que consiste en la fragmentación del objeto en trozos más pequeños y almacenarlos en diferentes discos, nodos y armarios diferentes, dentro de estos trozos, existen datos de paridad capaces de reconstruir la perdida de cualquier trozo que se extravíe. Es el almacenamiento perfecto para copias de seguridad de larga duración.
A continuación, veremos cómo gestionar el almacenamiento S3 en SoaX. En primer lugar, nos dirigiremos al panel de gestión de SoaX. Una vez nos encontremos dentro de un proyecto, desde el menú lateral nos dirigiremos a la pestaña "Almacenamiento" donde veremos la pestaña "Objetos S3".
Una vez dentro del panel de gestión, veremos la siguiente interfaz:
Cada proyecto de SoaX cuenta con su contenedor. Todos los buckets internos/externos que agreguemos dentro de nuestro proyecto, se incluirán dentro de este contenedor.
Como podemos observar en la parte superior de la pantalla de S3, vemos que tenemos dos ventanas:
Emplearemos los usuarios para definir todas la credenciales que emplearemos sobre los buckets que crearemos posteriormente.
A continuación veremos cómo crear un nuevo usuario. Para ello lo primero que tendremos que hacer es presionar sobre el botón "Crear usuario", lo cual nos desplegara un menú de creación de usuario.
En este menú podemos observar los siguientes campos:
Aquí definiremos la cantidad de buckets de los cuales podrá disponer el usuario. Primero seleccionaremos si deseamos un número ilimitado mediante el cual no tendremos un tope en el número de buckets que podremos crear con dicho usuario o personalizado.
Si se decide una cantidad personalizada, se nos permitirá designar un número fijo de buckets que se podrán crear.
Por defecto, esta casilla nos aparecerá habilitada lo cual nos creara un par de claves S3 mediante las cuales accederemos a los buckets que creemos. Si lo deseamos podemos deshabilitar esta pestaña.
Al hacer esto se le permite al usuario emplear sus propias claves para acceder a los buckets.
Como podemos observar en la siguiente imagen:
Podremos definir tanto la cantidad de peso que soportaran nuestros buckets como el número de objetos que podremos introducir en ellos, al igual que en número máximo de buckets, en esta pestaña se nos dará la opción de elegir entre una cantidad ilimitada o personalizada.
A continuación veremos cómo crear un nuevo bucket dentro de nuestro contenedor.
Una vez dentro del panel de gestión, veremos la siguiente interfaz:
Para crear un bucket nuevo, lo primero que tendremos que hacer es presionar sobre el icono “Crear bucket”.
En este menú podemos observar los siguientes campos:
Anteriormente se ha mostrado como crear usuarios, ahora es cuando haremos uso de ellos. En este apartado nos encargaremos de asignar el bucket que creemos a unos de los usuarios que tenemos creados.
Aquí se definira el tipo de almacenamiento del cual dotaremos a nuestro bucket.
Puede usar Bloqueo de objetos de S3 para almacenar objetos mediante un modelo de escritura única y lectura múltiple (WORM). S3 Object Lock puede ayudar a evitar que se eliminen o se sobrescriban objetos durante un periodo de tiempo determinado o de manera indefinida. Puede usar Bloqueo de objetos de S3 para cumplir con los requisitos normativos que precisen de almacenamiento WORM o agregar una capa adicional de protección frente a cambios y eliminaciones de objetos.
Bloqueo de objetos de S3 proporciona dos modos de retención:
Estos modos de retención aplican diferentes niveles de protección a los objetos. Puede aplicar cualquier modo de retención a cualquier versión del objeto protegida por bloqueo de objetos.
En el modo Governance, los usuarios no pueden sobrescribir ni eliminar una versión del objeto ni alterar su configuración de bloqueo a menos que tengan permisos especiales. Con el modo Governance, evita que la mayoría de los usuarios eliminen un objeto.
En caso de querer eliminar un objeto habra que abrir un ticket a Soporte
En el modo Compliance, ningún usuario puede sobrescribir ni eliminar una versión de objeto protegida. Una vez que se ha bloqueado un objeto en el modo Compliance, no es posible cambiar su modo de retención ni acortar su periodo de retención. El modo de Compliance evita que se pueda sobrescribir o eliminar una versión del objeto durante toda la duración del periodo de retención.
Si deseamos comprobar las claves S3 que tenemos asignadas a nuestros usuarios tendremos que realizar el siguiente procedimiento: