Establece reglas de ciclo de vida para exportaciones temporales

AWSBeginner
Practicar Ahora

Introducción

Un equipo conserva exportaciones temporales durante noventa días, mientras que los registros permanentes del mismo bucket deben quedar fuera de esa política. Configurarás e inspeccionarás una regla de ciclo de vida delimitada y después limpiarás los recursos de práctica.

Completa primero Organiza documentos con claves y metadatos para conocer prefijos, propiedades, descargas y limpieza. La conexión de la CLI, el bucket, la exportación y el registro permanente están preparados en esta VM nueva. Utiliza Terminal y la pestaña AWS View, a su lado. Comprobarás la configuración almacenada en lugar de esperar a acciones futuras basadas en la antigüedad.

Relación con las certificaciones

Este laboratorio ofrece práctica para los siguientes temas de examen.

Inspecciona los datos temporales y permanentes

En este paso, identificarás el alcance previsto de la política e inspeccionarás el registro permanente que debe quedar excluido.

Una regla de ciclo de vida especifica qué objetos gestionar y qué hacer a medida que envejecen. Una transición cambia la clase de almacenamiento; la caducidad elimina los objetos almacenados que cumplen los requisitos. Ninguna de las dos acciones cambia un archivo local. Empieza identificando qué claves almacenadas pertenecen a esta regla.

Entra en el espacio de trabajo con cd, que cambia de directorio:

cd /home/labex/project

Enumera recursivamente el bucket preparado para ver las claves completas de objetos, incluidos los prefijos:

aws s3 ls s3://labex-export-retention/ --recursive

Hay dos claves: exports/monthly.csv y records/retention-policy.txt. La exportación es mayor de 128 KB; el registro permanente es un pequeño archivo de texto. Un prefijo es el comienzo de una clave de objeto, no un directorio real. Una regla filtrada a exports/ coincide con la exportación, pero excluye records/retention-policy.txt.

Descarga el registro permanente con cp y después inspecciona sus bytes con cat:

aws s3 cp s3://labex-export-retention/records/retention-policy.txt permanent-record.txt
cat permanent-record.txt
Permanent record: retain until approved removal.

En AWS View, despliega records/retention-policy.txt para ver el mismo texto almacenado. Compararás este registro después de configurar la regla. Una política de ciclo de vida no debería hacer caducar accidentalmente datos ajenos a la tarea solo porque comparten un bucket.

Escribe y aplica una regla de ciclo de vida delimitada

En este paso, almacenarás una regla de ciclo de vida que describe los requisitos de retención del equipo.

S3 Standard es la clase predeterminada para datos de acceso frecuente. S3 Standard-IA (acceso poco frecuente) mantiene la recuperación inmediata, pero cobra por recuperar datos y tiene una duración mínima de almacenamiento de treinta días. Aquí las exportaciones pasan a consultarse poco después de treinta días y se conservan hasta el día noventa, por lo que pasan sesenta días en Standard-IA. Los objetos menores de 128 KB no se transfieren a otra clase con el comportamiento predeterminado del ciclo de vida; la exportación preparada supera ese umbral. Estos son criterios de selección, no una promesa de ahorros concretos.

La caducidad a los noventa días es adecuada para exportaciones desechables, no para registros permanentes. Este bucket tiene desactivado el control de versiones; la caducidad puede eliminar permanentemente los objetos que cumplan los requisitos. En un bucket con versiones, la caducidad de la versión actual y la eliminación de versiones no actuales tienen efectos distintos y requieren acciones consideradas por separado.

Esquema: la regla se aplica a exports/. Los umbrales de días describen cuándo se cumplen los requisitos; no garantizan la ejecución en un instante exacto.

Cronología de retención de exportaciones

JSON describe la configuración mediante objetos ({}), arrays ([]), nombres de campos entre comillas, cadenas y valores numéricos de días. El array Rules contiene la política completa del bucket. ID da nombre a la regla, Status la activa y Filter.Prefix restringe su alcance. Transitions y Expiration especifican las dos acciones.

El comando del shell cat > lifecycle.json <<'JSON' escribe las líneas siguientes en un archivo hasta el JSON de cierre. Esto es un documento aquí, o here-document; el delimitador entre comillas mantiene literal el contenido. Copia el bloque completo, incluido su delimitador final:

cat > lifecycle.json <<'JSON'
{
  "Rules": [
    {
      "ID": "temporary-export-retention",
      "Status": "Enabled",
      "Filter": {"Prefix": "exports/"},
      "Transitions": [{"Days": 30, "StorageClass": "STANDARD_IA"}],
      "Expiration": {"Days": 90}
    }
  ]
}
JSON

Revisa el archivo antes de aplicarlo:

cat lifecycle.json

Confirma que el prefijo es exports/, con su barra final. Un prefijo vacío afectaría a todos los objetos del bucket, incluido el registro permanente.

aws s3api expone operaciones individuales de la API de S3. put-bucket-lifecycle-configuration escribe la configuración; --bucket elige el bucket y file://lifecycle.json hace que la CLI lea su argumento JSON de tu archivo local. Esta operación reemplaza toda la configuración de ciclo de vida del bucket; al actualizar una configuración existente, incluye las reglas que quieras conservar. Este ejercicio empieza sin ninguna:

aws s3api put-bucket-lifecycle-configuration --bucket labex-export-retention --lifecycle-configuration file://lifecycle.json

Un comando correcto no muestra un cuerpo de respuesta. A continuación, inspecciona lo que el servicio almacenó realmente en lugar de confiar solo en tu archivo local.

Revisa la política almacenada y el registro sin cambios

En este paso, leerás la política almacenada en S3 y confirmarás que tanto los datos nuevos como el registro permanente excluido siguen accesibles.

Recupera la configuración de ciclo de vida del bucket:

aws s3api get-bucket-lifecycle-configuration --bucket labex-export-retention

El array Rules de la respuesta contiene una regla Enabled: prefijo exports/, transición a STANDARD_IA a los treinta días y caducidad a los noventa. El servicio puede incluir campos adicionales en la respuesta; compara los campos de la regla con el requisito. Esta respuesta es la evidencia autorizada de la configuración, mientras que un archivo JSON local por sí solo no demuestra que se haya aplicado una regla.

AWS View muestra la misma regla almacenada sobre los objetos. No muestra una transición ni una eliminación completadas: esos umbrales están en el futuro.

Ejemplo: la regla de ciclo de vida exclusiva de exports y el registro permanente sin cambios.

Este ejemplo muestra la configuración almacenada y los bytes actuales del registro. No representa una acción completada basada en la antigüedad.

head-object lee las propiedades de un objeto sin descargar su cuerpo. Inspecciona la exportación recién creada:

aws s3api head-object --bucket labex-export-retention --key exports/monthly.csv

Su ContentLength es mayor de 131072 bytes. Hoy permanece en Standard; el campo StorageClass puede omitirse para esa clase predeterminada. La regla no cambia inmediatamente la clase de almacenamiento de un objeto nuevo solo porque la activaste. El procesamiento programado es asíncrono una vez cumplidos los requisitos, no una cuenta atrás de cronómetro desde que se ejecutó este comando.

Descarga de nuevo el registro permanente excluido:

aws s3 cp s3://labex-export-retention/records/retention-policy.txt permanent-record-after.txt

cmp compara archivos byte a byte. && muestra un mensaje solo si la comparación tiene éxito:

cmp permanent-record.txt permanent-record-after.txt && echo 'Permanent record unchanged'

El mensaje confirma que su contenido sigue intacto. Ambas claves siguen apareciendo en el bucket:

aws s3 ls s3://labex-export-retention/ --recursive

El prefijo almacenado establece que el registro permanente está fuera de esta regla. Que siga presente hoy también confirma que no lo eliminaste ni sobrescribiste accidentalmente al configurar la política; esto por sí solo no demuestra el comportamiento futuro del programador.

Elimina la política y los recursos del ejercicio

En este paso, eliminarás la política almacenada y después los objetos y el bucket del laboratorio sin esperar a la caducidad futura.

Eliminar una configuración de ciclo de vida impide que esa política siga rigiendo el bucket; no elimina por sí mismo sus objetos. Elimina la política mediante la operación individual de la API:

aws s3api delete-bucket-lifecycle --bucket labex-export-retention

Comprueba que ya no está configurada:

aws s3api get-bucket-lifecycle-configuration --bucket labex-export-retention

Se espera que este comando falle con NoSuchLifecycleConfiguration. El bucket sigue existiendo, pero su política de ciclo de vida no. AWS View elimina el resumen de la regla y conserva ambos objetos.

El registro permanente estaba excluido de la caducidad automática. Ahora lo eliminarás deliberadamente como parte de la limpieza de este ejercicio desechable, utilizando su clave exacta. Elimina primero la exportación temporal:

aws s3 rm s3://labex-export-retention/exports/monthly.csv
aws s3 rm s3://labex-export-retention/records/retention-policy.txt

Confirma que la lista correcta no contiene filas de objetos:

aws s3 ls s3://labex-export-retention/ --recursive

Elimina el bucket vacío con rb y después confirma que el almacenamiento sigue respondiendo:

aws s3 rb s3://labex-export-retention
aws s3 ls

El mensaje remove_bucket indica el bucket de este ejercicio; la lista final no tiene buckets y AWS View muestra No buckets. Tus copias locales de la política y del registro permanecen para revisarlas. Configuraste una política de retención futura y limpiaste explícitamente los recursos de práctica; son operaciones independientes.

Resumen

Convertiste los requisitos de datos temporales en una regla de ciclo de vida de S3 con alcance preciso, seleccionaste una clase de almacenamiento considerando el acceso y la duración mínima y configuraste la caducidad. Leíste la regla almacenada en S3 y confirmaste que el registro permanente permanecía fuera de su prefijo y sin cambios.

La evidencia de configuración es distinta de la ejecución programada futura. Terminaste eliminando la política y borrando explícitamente los recursos de almacenamiento del laboratorio, sin esperar a las acciones basadas en la antigüedad.