Guía Básica de Uso S3 Cloud Storage en Data Center Designer

Rate this post

Introducción

IONOS S3 Object Storage es la solución de almacenamiento S3 ofrecida dentro de la plataforma de IONOS Cloud. El servicio de S3 es gestionado a través del Data Center Designer (DCD) y ofrece a nuestros clientes un almacenamiento de objetos S3 compatible, seguro y económico. 

En esta guía intentaremos mostrar cómo dar de alta un bucket en S3 y subir contenido desde nuestra interfaz gráfica, Data Center Designer.

Alta de un bucket en S3

Lo primero es acceder al Data Center Designer (DCD) en la url https://dcd.arsys.es/latest/ con nuestras credenciales.

Data Center Designer (DCD)
Dashboard de Data Center Designer

La gestión de nuestros buckets de S3, incluyendo nuevas altas, se realiza desde la ventana de Object Storage:

Object Storage de Data Center Designer

La cual abre una nueva ventana emergente con la Consola de gestión de S3:

Consola de gestión de S3

Para dar de alta un nuevo bucket de S3 haremos click en la opción de Add New Bucket:

Añadir nuevo bucket

Al ponerle el nombre a los buckets o las carpetas debemos respetar las siguientes reglas:

  • el nombre debe ser único en toda la plataforma de Ionos S3 Object Storage
  • la longitud debe ser de 3 a 63 caracteres
  • el primer carácter debe ser un número o una letra
  • usar sólo  letras minúsculas (a-z) y números (0-9)

El uso de caracteres especiales como (-), ( . ) y (_) está permitido de acuerdo a las siguientes condiciones:

  • el nombre no debe terminar en (-), (.) y (_)
  • no se deben utilizar múltiples puntos seguidos (…)
  • no se deben utilizar guiones al lado de los puntos, (-.)
  • no se debe seguir el formato de una dirección IPv4 (ej. 192.168.1.4)
  • no debe contener (_) si el bucket se va usar para auto-tiering
  • no se puede usar (_) si el bucket se configura en una región diferente de la de por defecto
Nuevo bucket creado

Creación de objetos en S3

 Desde la ventana de Objects en nuestra interfaz de Object Storage:

Creación de objetos en S3

O haciendo click en el nombre de nuestro bucket:

Segundo método para crear objetos en S3

Accedemos a la ventana para la gestión de objetos de S3:

Gestión de objetos de S3

Desde esta ventana podemos:

  • Subir contenido a nuestro bucket  (UPLOAD FILE), con posibilidad de encriptación:
Subir contenido al bucket
Contenido subido al bucket

Desde la ventana de “Upload Files“ no se pueden subir objetos de tamaño superior a 5GB. Esta limitación no se aplica desde la API ni desde otras aplicaciones.

  • Crear carpetas (CREATE FOLDER), para organizar nuestros objetos. Las carpetas son contenedores lógicos para nuestros datos, para almacenar la información de una manera similar a un sistema de archivos. No se pueden definir permisos ni propiedades a una carpeta, esto se realiza a nivel de buckets o de objetos.
Crear carpetas

A una carpeta no se le puede cambiar el nombre una vez creada y los objetos que ya han sido subidos a S3 no pueden ser movidos a una carpeta o cambiados de carpeta.

  • Buscar contenido (SEARCH BY PREFIX): la búsqueda se realiza sobre la carpeta / bucket en el que nos encontramos, no se puede buscar objetos entre carpetas o buckets.
Buscar contenido
  • Descargar objetos: haciendo click en el nombre de un objeto puedes descargar el mismo en tu equipo.
  • Eliminar objetos: Para eliminar un bucket éste debe estar vacío, de lo contrario se recibe el siguiente mensaje de error.
Eliminar objetos
Mensaje de error

La eliminación de objetos o carpetas se puede realizar de forma manual o automática (descrita en el apartado Eliminación automático de objetos). Para la eliminación manual basta con marcar nuestros objetos o carpetas y hacer click en la opción de Delete:

Eliminación manual de objetos y carpetas

Gestión de Propiedades en S3

Las propiedades de los objetos de S3 se gestionan a nivel de bucket y/o a nivel de objeto.

Gestión de las propiedades de S3

Propiedades del Bucket:

Propiedades del bucket

Propiedades de los objetos:

Propiedades de los objetos

Versionado de los objetos

Desde las propiedades de un bucket podemos habilitar el versionado de objetos.

Esta propiedad nos permite que cuando un usuario sube un objeto a S3 con el mismo nombre que uno ya existente en el mismo bucket o carpeta todas las versiones, actual y anteriores, se almacenan.

Por defecto el versionado de objetos está deshabilitado. Sí una vez activo se decide deshabilitar posteriormente, las versiones de los objetos anteriores se mantienen, no se eliminan.

Habilitar visionado de objetos

Para mostrar las versiones de los objetos haremos click en “Show Versions” de la vista de objetos en nuestro S3:

Mostrar versiones de los objetos
Todas las versiones del objeto

Eliminación automática de objetos

Es posible eliminar rápidamente el contenido de los buckets sin tener que seleccionar los objetos o versiones de forma individual. Esto es útil para borrar ficheros almacenados, por ejemplo logs, generados automática y regularmente.

Para configurar este borrado accederemos a la pestaña de “LIFECYCLE POLICY” en las propiedades de nuestro bucket y haremos click en la opción de “+ ADD NEW RULE”.

Añadir nueva regla al objeto

Escribiremos un nombre con el que podamos identificar fácilmente esta nueva política (ej. “delete 2019”) y en el campo “Object Prefix field” deberemos escribir la ruta hasta los objetos a eliminar. Las carpetas se separan por /. Ejemplo 2019/ afectaría a todo el contenido en la carpeta 2019, incluyendo subcarpetas. Si dejamos el campo vacío borraría todos los objetos del bucket.

Por último activamos el check de “Expire Objects” que nos amplía la información en la ventana y las opciones de configuración del borrado:

Configuración del borrado de un objeto

En caso de no tener el versionado activado marcaremos “Current version”, en cambio si el está activado en nuestro bucket tenemos 2 opciones:

  • Current Version: eliminaría la última versión de un objeto
  • Previous version: eliminaría todas las versiones de un objeto excepto la última

Selección de la expiración del objeto

El siguiente paso es seleccionar los ficheros a borrar. Para ello en el caso de haber marcado:

  • Current Version: Nos permite elegir entre borrar ficheros en función de su último acceso o en base a su fecha de creación según elijamos en la parte inferior en “Lifecycle rule bucket level setting”
Expiración en función del último acceso

O pasada una fecha concreta a completar.

  • Previous version: Nos permite configurar el número de días desde la versión ya no se la última y proceder a su eliminación.

Cuando un fichero es eliminado no desaparece completamente de nuestro S3 si no que queda en tamaño 0 y tiene una marca de “Marked Delete”
Para borrar los ficheros marcados tenemos la opción en las reglas de marcar el checkbox de eliminar los objetos expirados:

Borrar objetos expirados

Nota: Si se quieren crear múltiples reglas para diferentes objetos dentro de un mismo bucket todas las reglas deben comenzar por un número que las priorice: 1., 2., 3.

Gestión de permisos

Cada usuario de Arsys DCD es el propietario de sus propios buckets en la consola de S3 Object Storage y tiene acceso total a su contenido. Asignando privilegios de acceso a un grupo de usuarios de acuerdo a las reglas de acceso de S3 (ACL – Access control list) se puede gestionar el acceso a los buckets y objetos de nuestro S3.

S3 Object Storage

Por defecto, los buckets y los objetos de S3 son Privados, solamente el propietario del bucket puede acceder a los mismos. Para gestionar y compartir los objetos hay diferentes alternativas:

Gestión de permisos manual

En nuestra pestaña de propiedades > Bucket Permissions hay definidos los siguientes GRANTEE:

  • Public: acceso público para todos los usuarios
  • Authenticated Users: Usuarios de la plataforma IONOS S3 Object Storage
  • Log Delivery Group: Grupo utilizado para la funcionalidad de logging
  • Individual Users: Usuarios individuales de la plataforma IONOS S3 Object Storage (no limitado a un contrato concreto), requiere el conocimiento del S3 ID del usuario.
    Ejemplo: 31923098|0fae8c5e-cf55-47e9-86a1-1xxfsfsdsd420

A cada uno de estos GRANTEE o perfiles se les pueden asignar diferentes permisos:

  • Read Access (Readable):
    • Permiso a nivel de Bucket: Acceso de lectura a los contenidos de un bucket, como lista. Abrir y descargar objetos no está permitido.
    • Permiso a nivel de Objeto: Acceso para abrir y descargar los objetos. 
  • Write Access (Writable): Acceso para subir y eliminar objetos
  • Read Access to Permissions (ACP Readable): Permiso de lectura sobre los permisos de un bucket u objeto.
  • Write Access to Permissions  (ACP Writable): Permiso de escritura sobre los permisos de un bucket u objeto.
Canned ACLs (Permisos predefinidos)

Existen perfiles de acceso predefinidos de manera que no es necesario configurar el tipo de acceso de los diferentes tipos de usuarios manualmente.

Tipos de acceso de los perfiles
  • Private: Valor por defecto, acceso total para el propietario del bucket.
  • Public Read:
    • Acceso total para el propietario del bucket
    • Acceso lectura a los buckets (listas de contenido) para los usuarios de IONOS S3 Object Storage
  • Public Read Write:
    • Acceso total para el propietario del bucket
    • Acceso lectura y escritura para los usuarios de IONOS S3 Object Storage
  • Authenticated Read:
    • Acceso total para el propietario del bucket
    • Acceso lectura para los usuarios de IONOS S3 Object Storage
  • Log Deliver Write:
    • Acceso total para el propietario del bucket
    • Acceso escritura para el grupo de Log Delivery, es necesario para guardar los logs en caso de activar la funcionalidad de logging.
  • Bucket Owner Read (a nivel de objeto):
    • Acceso total para el propietario del objeto
    • Acceso sólo de lectura para el propietario del bucket
  • Bucket Owner Full (a nivel de objeto):
    • Acceso total para el propietario del objeto y del bucket
Compartir objetos con una URL

Para compartir objetos con usuarios que no tienen acceso a un cliente de S3 se puede crear un acceso público al objeto a través de una URL. Esta URL puede generarse desde la consola de y si se desea usar HTTPS.

Crear acceso público
Habilitar acceso público

Los objetos que se comparten de esta manera se consideran como públicos, independientemente de los permisos configurados. Sin embargo, podemos limitar el número máximo de descargar del objeto o fijar una fecha de expiración.

Al hacer click en el botón Apply se nos mostrará la URL generada para nuestro objeto:

URL generada para el objeto

Y la opción de compartirla por correo electrónico.

Compartir objetos en una web

Otra opción para compartir contenido con usuarios que no tienen acceso a una aplicación de S3 es configurar nuestros buckets como un website, que puede ser accesible desde un navegador web. Esta opción es útil para compartir colecciones de objetos.

Es importante notar que al configurar nuestro bucket de esta manera todo el contenido se actualiza como Public Readable.

Compartir objetos en una web

Al hacer click en Enable podremos incluir un documento de ‘Index’ y un documento de ‘Error’ para nuestra web. La web es estática, no se puede personalizar el contenido ni ejecutar server-side scripts.

Habilitar el compartir objetos en una web

Para acceder a nuestro bucket-hosted website utilizaremos la siguiente dirección: http://<Bucketname>.<S3WebsiteEndpoint>/<IndexDocument>

Ejemplo: http://mywebsite.s3-website-de-central.proftbricks.com/index.thm

Los objetos contenidos en el bucket quedarán disponibles de la siguiente manera: http://<Bucketname>.<S3WebsiteEndpoint>/<Objectname>Objectname pueden ser también carpetas.

Object Storage Keys

Acceder a un almacenamiento de objetos requiere tener configurada una Key. Por defecto cuando se crea un usuario en el DCD con permisos sobre el Object Storage se le asigna una Key. Estas Key se gestionan desde el menú de Object Storage Key Manager:

Object Storage Key Manager

Una Object Storage Key constan como se puede observar en la siguiente imagen de una Key y un Secreto.

Llave y secreto

Para generar nuevas llaves podemos hacer click en el botón de GENERATE KEY:

Generar llave

Tener varias Keys pueden servir para compartirlas con otros usuarios o con scripts automáticos temporalmente. Una vez ejecutada su tarea podemos eliminar la Key y le retiramos los permisos. También son necesarias para utilizar programas de terceros para dotarlos de acceso a nuestro S3 Storage.

Consulta del espacio ocupado en S3

Para consultar el espacio que estamos ocupando en nuestro S3 podemos utilizar por ejemplo la aplicación s3browser y utilizar una Key de acceso a S3.

  1. Descargamos el siguiente aplicativo o uno de similares características: S3 Browser
  2. Tras instalar el software, seleccionamos Accounts y Add New account
Añadir nueva cuenta en S3
  1. Rellenamos los datos que se muestran a continuación, como el endpoint donde tenemos configurado nuestro S3, Access Key y Secret (como se muestra en el apartado S3 Object Storage Key
Editar cuenta en S3

Posibles endpoints:

  • FR7/Fráncfort
    • Región S3 (valor predeterminado global): de
    • Extremo S3:
    • Extremo del sitio web estático heredado de S3: s3-website-de-central.profitbricks.com
    • Extremo heredado de S3:
  • TXL/Berlín
    • Región S3 (restricción de ubicación): eu-central-2
    • Extremo S3: s3-eu-central-2.ionoscloud.com
    • Extremo del sitio web estático de S3: s3-website-eu-central-2.ionoscloud.com
    • Extremo heredado de S3: s3-eu-central-2.profitbricks.com
  • VIT/Logroño
    • Región S3 (restricción de ubicación): eu-south-2
    • Extremo S3: s3-eu-south-2.ionoscloud.com
    • Extremo del sitio web estático de S3: s3-website-eu-south-2.ionoscloud.com
    • Extremo heredado de S3: s3-eu-south-2.profitbricks.com

Con esta configuración ya tendremos acceso a nuestro S3 y podremos ver los buckets creados, consultar espacio ocupado, etc…

Ejemplo:

Configuración del espacio en S3
  1. (opcional) Crearemos un nuevo Bucket:
Selección de nuevo bucket
Creación de nuevo bucket
  1. (opcional) Subimos los documentos/ficheros que necesitemos a nuestro Bucket
  1. (opcional) Seleccionamos el Bucket
Subida de documentos al bucket

Y en la parte inferior, seleccionamos Properties para ver el tamaño del Bucket.

Properties del bucket