Versionado, MFA Delete y replicación
Active el versionado para protegerse frente a eliminaciones accidentales, configure la replicación entre regiones y añada MFA Delete.
Versionado, MFA Delete y replicación es una lección gratuita de Cloud & IT Cert Prep en CoddyKit. Esta es la lección 3 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Cloud & IT Cert Prep, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Cloud & IT Cert Prep incluye 4 lecciones en total.
Versionado de S3: por qué es importante
S3 Versioning le permite conservar, recuperar y restaurar todas las versiones de cada objeto almacenado en un bucket. Cuando el versionado está habilitado, cada PUT crea una nueva versión con un identificador de versión único; la versión anterior se conserva en lugar de sobrescribirse. Si se elimina un objeto, S3 añade un marcador de eliminación como versión actual, pero conserva todas las versiones anteriores. Esto protege frente a sobrescrituras accidentales, eliminaciones accidentales y corrupción de datos no intencionada a nivel de la aplicación, que son los escenarios más comunes de pérdida de datos en producción.
# Enable versioning on a bucket
aws s3api put-bucket-versioning \
--bucket my-important-bucket \
--versioning-configuration Status=Enabled
# List all versions of an object
aws s3api list-object-versions \
--bucket my-important-bucket \
--prefix my-document.pdfEstados y transiciones del versionado
Un bucket de S3 puede encontrarse en uno de tres estados de versionado: sin versionado (predeterminado, sin identificadores de versión), con el versionado habilitado (todos los objetos nuevos reciben identificadores de versión únicos y todas las sobrescrituras crean versiones nuevas) o con el versionado suspendido (los objetos nuevos reciben un identificador de versión null, pero las versiones existentes se conservan). No puede eliminar el versionado una vez habilitado; solo puede suspenderlo. Los objetos creados antes de habilitar el versionado tienen un identificador de versión null y no se ven afectados hasta que se sobrescriben o eliminan.
Restaurar una versión anterior
Para restaurar una versión anterior de un objeto versionado, tiene dos opciones. Opción 1: copie el identificador de la versión anterior en la misma clave; esto crea una nueva versión que es una copia del contenido anterior y la convierte en la versión actual. Opción 2: elimine la versión actual o el marcador de eliminación para que la versión anterior pase a ser la actual. Cuando «elimina» un objeto de un bucket con versionado mediante la consola sin especificar un identificador de versión, S3 añade un marcador de eliminación; el objeto parece eliminado para las solicitudes sin versionado, pero todas las versiones siguen existiendo.
# Restore a specific version by copying it back to the same key
aws s3api copy-object \
--bucket my-important-bucket \
--copy-source 'my-important-bucket/my-document.pdf?versionId=abc123'\
--key my-document.pdfMFA Delete: protección adicional
MFA Delete añade una segunda capa de protección para los buckets con versionado. Cuando está habilitado, para eliminar permanentemente una versión específica o cambiar el estado de versionado del bucket (de habilitado → suspendido) es necesario proporcionar credenciales MFA válidas en la solicitud de la API. Esto protege frente a un atacante que haya comprometido sus credenciales de AWS y elimine permanentemente versiones críticas, frente a la eliminación accidental o automatizada de versiones de objetos protegidas y frente a amenazas internas que intenten destruir registros de auditoría. MFA Delete solo puede habilitarse y deshabilitarse mediante la CLI por el usuario root.
# Enable MFA Delete (must be done as root user)
aws s3api put-bucket-versioning \
--bucket my-important-bucket \
--versioning-configuration Status=Enabled,MFADelete=Enabled \
--mfa 'arn:aws:iam::123456789012:mfa/root-account-mfa-device 123456'S3 Object Lock
S3 Object Lock impone un modelo de escritura única y múltiples lecturas (WORM) para cumplir requisitos normativos. Los objetos bloqueados con Object Lock no se pueden eliminar ni sobrescribir durante un periodo de retención especificado, ni siquiera por el usuario root de la cuenta. Hay dos modos: Governance mode (los usuarios con permisos especiales pueden anular o eliminar el bloqueo) y Compliance mode (nadie, ni siquiera AWS, puede eliminar el objeto durante el periodo de retención; es la protección más sólida). Object Lock debe habilitarse al crear el bucket y requiere el versionado.
# Apply a retention rule to an object
aws s3api put-object-retention \
--bucket my-compliance-bucket \
--key audit-log-2024.csv \
--version-id abc123 \
--retention '{"Mode":"COMPLIANCE","RetainUntilDate":"2027-01-01T00:00:00Z"}'Replicación entre regiones de S3 (CRR)
Cross-Region Replication (CRR) replica automáticamente los objetos nuevos y las actualizaciones desde un bucket de origen de una región a un bucket de destino de otra región. Casos de uso: cumplimiento normativo (conservar una copia de los datos en un país específico), recuperación ante desastres (reducir el RPO de los datos críticos manteniendo una copia en una segunda región) y reducción de la latencia (servir los objetos desde la región más cercana a los usuarios). CRR requiere que el versionado esté habilitado tanto en el bucket de origen como en el de destino, además de un rol de IAM con los permisos de replicación necesarios.
# Apply a replication configuration
aws s3api put-bucket-replication \
--bucket source-bucket-us-east-1 \
--replication-configuration file://replication-config.json
# Config specifies Role ARN, destination bucket ARN, and filter rulesReplicación en la misma región (SRR)
Same-Region Replication (SRR) replica objetos dentro de la misma región. Casos de uso: agregación de registros (replicar registros de varios buckets de origen en un bucket central), sincronización de entornos de prueba (conservar una copia de los datos de producción en un bucket de desarrollo dentro de la misma región) y cumplimiento de la soberanía de los datos dentro de un mismo país que tiene varias AZ de AWS. Al igual que CRR, SRR requiere el versionado en ambos buckets y un rol de IAM. Solo los objetos nuevos creados después de habilitar la replicación se replican automáticamente; use S3 Batch Replication para replicar los objetos existentes.
Replicación: qué se replica y qué no
La replicación de S3 sí replica objetos nuevos, metadatos, etiquetas, ACL y el estado de cifrado. De forma predeterminada, la replicación no replica objetos que ya existían antes de habilitarla (use S3 Batch Replication para esos objetos), marcadores de eliminación (salvo que habilite Delete Marker Replication), objetos de Glacier (no se pueden replicar; primero debe restaurarlos) ni objetos replicados (no hay replicación en cascada entre tres buckets). Comprender estos límites es importante para diseñar estrategias completas de recuperación ante desastres en las que también sea necesario replicar los datos históricos y los eventos de eliminación.
S3 Replication Time Control (RTC)
Replication Time Control (RTC) es un complemento opcional de CRR que proporciona un acuerdo de nivel de servicio: el 99,99 % de los objetos se replica en un plazo de 15 minutos, con métricas de replicación y notificaciones en CloudWatch. Sin RTC, la replicación no ofrece ninguna garantía de tiempo; la mayoría de los objetos se replica rápidamente, pero algunos casos atípicos pueden tardar horas. RTC es esencial cuando sus requisitos de recuperación ante desastres o cumplimiento normativo especifican un objetivo de punto de recuperación (RPO) máximo para los datos de S3. Añade un coste de replicación por GB al coste estándar de transferencia de datos de replicación.
Impacto del versionado en los costos de almacenamiento
Habilitar el versionado aumenta los costos de almacenamiento porque S3 conserva cada versión de cada objeto hasta que se elimina explícitamente. Un archivo de 100 MB que se sobrescribe 10 veces ahora consume 1.000 MB de almacenamiento. Mitigue esto con reglas de ciclo de vida que expiren automáticamente las versiones no actuales después de una cantidad determinada de días (por ejemplo, eliminar versiones no actuales con más de 30 días), o transfiera las versiones no actuales a clases de almacenamiento más económicas como Glacier. Siempre combine el versionado con reglas de ciclo de vida para controlar los costos de almacenamiento en producción.
# Lifecycle rule to expire non-current versions after 30 days
aws s3api put-bucket-lifecycle-configuration \
--bucket my-important-bucket \
--lifecycle-configuration '{"Rules":[{"ID":"expire-old-versions","Status":"Enabled","NoncurrentVersionExpiration":{"NoncurrentDays":30}}]}'Protección contra ransomware
El versionado de S3 combinado con Object Lock (modo Compliance) proporciona una sólida protección contra el ransomware. Si un atacante cifra o elimina sus objetos, el versionado garantiza que las versiones anteriores se conserven (a menos que el atacante las elimine permanentemente, motivo por el cual Object Lock impide la eliminación permanente durante el período de retención). Para obtener la máxima protección: habilite el versionado, habilite MFA Delete, aplique Object Lock en modo Compliance a los datos críticos y replique en una segunda Region con credenciales de IAM independientes para evitar que el compromiso de una sola cuenta destruya todas las copias.
Comprobación rápida
Compruebe su comprensión de los conceptos de AWS Solutions Architect (SAA-C03) de esta lección.
Resumen de la lección
En esta lección aprendió que: el versionado conserva todas las versiones de cada objeto y protege contra la eliminación accidental, MFA Delete y Object Lock proporcionan inmutabilidad adicional para el cumplimiento normativo y la protección contra ransomware y CRR y SRR replican objetos en otros buckets para cumplir requisitos de DR y cumplimiento normativo. A continuación, exploraremos las clases de almacenamiento de S3 y las políticas de ciclo de vida para optimizar los costos.
Preguntas frecuentes
¿La lección «Versionado, MFA Delete y replicación» es gratis?
Sí — el texto completo de «Versionado, MFA Delete y replicación» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Cloud & IT Cert Prep, actualiza a CoddyKit PRO. El curso de Cloud & IT Cert Prep incluye 4 lecciones en total.
¿Qué aprenderé en «Versionado, MFA Delete y replicación»?
Active el versionado para protegerse frente a eliminaciones accidentales, configure la replicación entre regiones y añada MFA Delete. Practicas Cloud & IT Cert Prep con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Cloud & IT Cert Prep?
No se requiere experiencia previa. Cloud & IT Cert Prep en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 4.
¿Cuánto tiempo toma la lección «Versionado, MFA Delete y replicación»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Cloud & IT Cert Prep?
Sí. Cada lección de Cloud & IT Cert Prep incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Buckets, objetos y regiones
- Control de acceso de S3: políticas de bucket y ACL
- Versionado, MFA Delete y replicación
- Clases de almacenamiento y políticas de ciclo de vida