Tengo un bucket de Amazon Simple Storage Service (Amazon S3) que almacena millones de objetos. Quiero utilizar una regla de configuración del ciclo de vida para vaciar el bucket de forma que no se me cobre más por el almacenamiento.
Solución
Importante: La siguiente solución elimina definitivamente todos los datos de tu bucket de Amazon S3. No es posible recuperar los datos, por lo que deberás revisar todos los objetos y datos del bucket antes de eliminarlos.
Para vaciar un bucket con una regla de configuración de estilo de vida, utiliza la consola o la CLI.
Uso de la consola
Puedes crear una regla de configuración del ciclo de vida en la consola que establezca el vencimiento de las versiones actuales de los objetos y elimine definitivamente las versiones anteriores de los mismos. Para crear la regla, sigue estos pasos:
- Abre la consola de Amazon S3.
- En la lista de buckets, selecciona el bucket que desees vaciar.
- Elige la pestaña Administración.
- Elige Crear la regla del ciclo de vida.
- En Nombre de la regla de ciclo de vida, introduce un nombre de regla.
- En Elegir un ámbito de regla, selecciona Aplicar a todos los objetos del bucket.
- Selecciona I acknowledge that this rule will apply to all objects in the bucket.
- En Acciones de la regla del ciclo de vida, selecciona las siguientes opciones: Hacer que venzan las versiones actuales de los objetos Eliminar permanentemente las versiones no actuales de los objetos Eliminar objetos vencidos, eliminar marcadores o cargas multiparte incompletas
- En Hacer que venzan las versiones actuales de los objetos, en el campo Días después de la creación del objeto, indica 1.
- En Permanently delete noncurrent versions of objects, en el campo Días tras los que los objetos dejan de ser actuales, indica 1.
- Deja en blanco el campo Número de versiones más recientes que retener (opcional) para eliminar todas las versiones.
- Selecciona Eliminar las cargas multiparte incompletas e indica 1 en el campo Cantidad de días.
- Elige Crear regla.
- Para crear una segunda regla del ciclo de vida, repite los pasos 4 a 7.
- Selecciona la siguiente opción: Eliminar marcadores de eliminación de objetos vencidos o Eliminar las cargas multiparte incompletas.
- Selecciona Eliminar marcadores de eliminación de objetos vencidos.
- Elige Crear regla.
Amazon S3 ejecuta las reglas del ciclo de vida una vez al día. Después de que Amazon S3 ejecute las reglas por primera vez, todos los objetos que cumplan los requisitos de vencimiento se marcarán para eliminarlos. No se te continuará cobrando por los objetos marcados para eliminarlos.
Amazon S3 establece el vencimiento de las versiones de objetos y elimina los marcadores de eliminación de forma asíncrona. Es posible que las reglas tarden unos días en ejecutarse antes de que el bucket se vacíe. Para obtener más información sobre la eliminación asíncrona de objetos en Amazon S3, consulta Vencimiento de objetos.
Uso de la CLI
Puedes utilizar la Interfaz de la línea de comandos de AWS (AWS CLI) para crear una regla del ciclo de vida que vacíe su bucket de S3 con los pasos siguientes:
- Crea un archivo (como lifecycle-rules.json) con tu contenido JSON.
Ejemplo de JSON:
{
"Rules": [{
"Expiration": {
"Days": 1
},
"ID": "FullDelete",
"Filter": {
"Prefix": ""
},
"Status": "Enabled",
"NoncurrentVersionExpiration": {
"NoncurrentDays": 1
},
"AbortIncompleteMultipartUpload": {
"DaysAfterInitiation": 1
}
},
{
"Expiration": {
"ExpiredObjectDeleteMarker": true
},
"ID": "DeleteMarkers",
"Filter": {
"Prefix": ""
},
"Status": "Enabled"
}
]
}
- Utiliza el archivo JSON en el comando de la AWS CLI:
aws s3api put-bucket-lifecycle-configuration --bucket delete-marker-testing-demo --lifecycle-configuration file://lifecycle-rules.json
Nota: Puedes agregar un prefijo para aplicar la regla solo a nivel de prefijo, como el siguiente:
"Filter": {
"Prefix": "folder1/"
},
Información relacionada
Eliminar los marcadores de eliminación de objetos vencidos en un bucket con control de versiones activado
Administración del ciclo de vida de los objetos
¿Cómo elimino objetos y buckets de Amazon S3?
Eliminar un bucket
Configurar el ciclo de vida de S3 de un bucket