Home » Cómo establecer una política de vencimiento en cubos de espacios de DigitalOcean – CloudSavvy IT

Cómo establecer una política de vencimiento en cubos de espacios de DigitalOcean – CloudSavvy IT

by admin

La interfaz web de DigitalOcean Spaces no proporciona una forma de establecer políticas del ciclo de vida del depósito. A continuación, se explica cómo aplicar la configuración de caducidad que elimina archivos automáticamente después de un período de tiempo establecido. Esto hace que Spaces sea una ubicación más adecuada para realizar copias de seguridad y archivos de registro rotados.

Aunque esta función no está en la interfaz de usuario de DigitalOcean, es compatible con el backend de Spaces. Spaces es compatible con las API de Amazon S3, por lo que los clientes de la línea de comandos pueden establecer políticas de ciclo de vida basadas en S3. Los pasos que se detallan a continuación también deberían funcionar con otros proveedores de almacenamiento de objetos que implementan las API de S3.

Empezando

Necesitará tener la AWS CLI instalada para seguir este tutorial. Una vez que está instalado, la primera tarea es proporcionar las credenciales para que la CLI pueda acceder a su cuenta de DigitalOcean.

Dirígete al Panel de control de DigitalOcean en tu navegador. Haga clic en el enlace “API” en la parte inferior de la barra lateral azul a la izquierda de su pantalla. A continuación, haz clic en el botón “Generar clave nueva” a la derecha del encabezado “Claves de acceso a espacios”.

Asigne un nombre a su nueva clave, luego haga clic en la marca de verificación para completar el proceso. Se mostrará su clave y su correspondiente secreto. Tome nota de estos valores, ya que es imposible recuperar la parte secreta después de salir de la pantalla.

Regresa a tu terminal y corre aws configure. Se le pedirá su clave de acceso y su secreto. Siga las indicaciones interactivas para proporcionar los valores que generó en la interfaz web de DigitalOcean.

Desafortunadamente, este todavía no es el final de la configuración de CLI. Una limitación significativa del cliente oficial de S3 es su incapacidad para guardar URL de punto final personalizadas junto con sus credenciales. Esto significa que debe especificar explícitamente la URL de la API de DigitalOcean con cada comando que emita:

aws s3 ls --endpoint=https://nyc3.digitaloceanspaces.com --bucket my-bucket

El comando anterior mostrará los objetos en el my-bucket cubo de tu cuenta de Spaces. Si omitiste el --endpoint , la CLI de S3 supondría que está intentando conectarse a una cuenta de AWS. La URL del punto final debe coincidir con la región del centro de datos de DigitalOcean en la que creó su espacio; sustituya la nyc3 subdominio de la región que está utilizando.

Creación de su política

Las políticas del ciclo de vida del depósito se definen como archivos JSON que describen las reglas que desea aplicar. Cree un nuevo archivo con su editor de texto favorito y agregue el siguiente contenido:

{
    "Rules": [
        {
            "ID": "Prune old files",
            "Status": "Enabled",
            "Prefix": "",
            "Expiration": {
                "Days": 30
            }
        }
    ]
}

El JSON es un declarativo representación de la política a aplicar. Los atributos de la política y su estado actual se especifican dentro del archivo.

Este ejemplo eliminará los archivos 30 días después de que se carguen. Configuración Status para Enabled activa la política, mientras que un vacío Prefix lo aplica a todos los elementos del cubo. Puedes usar el Prefix campo para eliminar selectivamente solo ciertos objetos, como los del temp/ subdirectorio.

Aplicación de la política

A continuación, debe utilizar la AWS CLI para aplicar su política a su depósito:

aws s3api put-bucket-lifecycle-configuration 
    --bucket my-bucket
    --endpoint https://nyc3.digitaloceanspaces.com
    --lifecycle-configuration file://my-policy.json

Sustituir my-bucket con el nombre del depósito con el que desea usar sus reglas de vencimiento.

La CLI leerá su archivo JSON de política y lo adjuntará al depósito. Siempre y cuando el Status es Enabled, las reglas del ciclo de vida se aplicarán inmediatamente. Comenzará a ver que los objetos recién cargados abandonan su depósito a medida que pasan el umbral de vencimiento.

Puede comprobar que se ha aplicado su política volviéndola a leer desde la CLI:

aws s3api get-bucket-lifecycle-configuration 
    --bucket my-bucket
    --endpoint https://nyc3.digitaloceanspaces.com

Esto debería mostrarle el JSON que envió.

Usando múltiples reglas

Puede incluir varios elementos en su Rules Matriz JSON. Esto le permite aplicar políticas de caducidad únicas a diferentes grupos de objetos, utilizando el Prefix campo:

{
    "Rules": [
        {
            "ID": "Prune Invoices",
            "Status": "invoice",
            "Prefix": "I",
            "Expiration": {
                "Days": 90
            }
        },
        {
            "ID": "Prune Quotations",
            "Status": "Enabled",
            "Prefix": "Q",
            "Expiration": {
                "Days": 30
            }
        }
    ]
}

Esta política eliminaría las cotizaciones después de 30 días y dejaría las facturas vigentes durante 90 días. Cada depósito admite hasta 100 reglas de ciclo de vida individuales.

Cancelación de cargas fallidas

Otra función de las políticas de ciclo de vida es la limpieza después de cargas múltiples fallidas. Cuando agrega archivos grandes a través de las API de S3, se dividen en secciones que se pueden transmitir para mejorar el rendimiento y la resistencia a las interrupciones de la red.

Puede terminar con fragmentos parciales en su depósito si una parte de carga no se completa. Añade el AbortIncompleteMultipartUpload campo a una política de ciclo de vida para eliminar estos fragmentos redundantes.

{
    "Rules": [
        {
            "ID": "AbortIncompleteMultipartUpload",
            "Prefix": "",
            "Status": "Enabled",
            "AbortIncompleteMultipartUpload": {
                "DaysAfterInitiation": 1
            }
        }
    ]
}

Esta política limpia los fragmentos de carga incompletos un día después de su inicio, liberando potencialmente algo de espacio de almacenamiento. Cuando se eliminan los fragmentos, no podrá reanudar la carga original nuevamente; los clientes deberán reiniciarla desde el principio.

Resumen

DigitalOcean Spaces admite políticas de ciclo de vida S3, pero debe aplicarlas mediante la API. Una vez configuradas, sus cargas se eliminarán automáticamente después de un período de tiempo establecido, lo que le brinda la confianza de que los archivos antiguos no están desperdiciando espacio de almacenamiento y aumentando su factura.

Aunque Spaces implementa políticas de vencimiento de la misma manera que S3, otras formas de políticas de ciclo de vida no están disponibles en la plataforma de DigitalOcean. Otro componente clave del conjunto de características de S3 es la capacidad de transferir objetos entre clases de almacenamiento, como una migración automática al almacenamiento de archivo después de 30 días. Facturar espacios es mucho más simple con un solo plan disponible, por lo que estas políticas no tendrán un efecto en los depósitos de DigitalOcean.

You may also like

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More

Privacy & Cookies Policy