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 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.
Las empresas que ofrecen servicios de almacenamiento de objetos S3, suelen contar con distintos planes en función de las prestaciones de la unidad de almacenamiento. Por ejemplo, en Amazon, 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 OASIX, contamos únicamente con un plan de almacenamiento de objetos en S3. Cada vez que se sube un objeto/bucket a SoaX, automáticamente se realizan 2 copias de este objeto/bucket que se almacena en 2 unidades SSD distintas. Estos SSD cuentan con las mismas especificaciones y prestaciones que los SSD utilizados para el resto del servicio de IaaS a diferencia de que únicamente se almacenan 2 copias en vez de 3. Por ese motivo, este tipo de almacenamiento resulta ser más económico.
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.
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: