0Pricing
Cloud & IT Cert Prep · Lezione

Versioning, MFA Delete e replica

Abiliterete il versioning per proteggervi dalle eliminazioni accidentali, configurerete la replica tra Regions e aggiungerete MFA Delete.

Versioning, MFA Delete e replica è una lezione Cloud & IT Cert Prep gratuita su CoddyKit. Questa è la lezione 3 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Cloud & IT Cert Prep, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Cloud & IT Cert Prep include 4 lezioni in totale.

Versioning S3: perché è importante

S3 Versioning consente di conservare, recuperare e ripristinare ogni versione di ogni oggetto archiviato in un bucket. Quando il versioning è abilitato, ogni PUT crea una nuova versione con un version ID univoco; la versione precedente viene conservata e non sovrascritta. Se un oggetto viene eliminato, S3 aggiunge un delete marker come versione corrente, mantenendo tutte le versioni precedenti. Questo protegge da sovrascritture accidentali, eliminazioni accidentali e corruzione involontaria dei dati a livello applicativo, gli scenari di perdita dei dati più comuni negli ambienti di produzione.

# 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.pdf

Stati e transizioni del versioning

Un bucket S3 può trovarsi in uno dei tre stati del versioning: Unversioned (predefinito, senza version ID), Versioning-enabled (tutti i nuovi oggetti ricevono version ID univoci e tutte le sovrascritture creano nuove versioni) oppure Versioning-suspended (i nuovi oggetti ricevono un version ID null, ma le versioni esistenti vengono conservate). Non è possibile eliminare il versioning dopo averlo abilitato: è possibile solo sospenderlo. Gli oggetti creati prima dell'abilitazione del versioning hanno un version ID null e non vengono modificati finché non vengono sovrascritti o eliminati.

Ripristino di una versione precedente

Per ripristinare una versione precedente di un oggetto sottoposto a versioning, sono disponibili due opzioni. Opzione 1: copi il version ID della versione precedente sulla stessa chiave; in questo modo crea una nuova versione che è una copia del contenuto precedente e la rende quella corrente. Opzione 2: elimini la versione corrente o il delete marker per rendere corrente la versione precedente. Quando si 'elimina' un oggetto in un bucket con versioning tramite la console senza specificare un version ID, S3 aggiunge un delete marker: l'oggetto appare eliminato nelle richieste senza versioning, ma tutte le versioni sono ancora presenti.

# 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.pdf

MFA Delete: protezione aggiuntiva

MFA Delete aggiunge un ulteriore livello di protezione per i bucket con versioning. Quando è abilitato, l'eliminazione permanente di una versione specifica o la modifica dello stato del versioning (enabled → suspended) richiede credenziali MFA valide nella richiesta API. Questo protegge da un attaccante che abbia compromesso le credenziali AWS e tenti di eliminare permanentemente versioni critiche, dall'eliminazione accidentale o automatizzata di versioni di oggetti conservate intenzionalmente e da minacce interne che tentino di distruggere i percorsi di controllo. MFA Delete può essere abilitato e disabilitato solo dall'utente root tramite la CLI.

# 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 applica un modello write-once-read-many (WORM) per la conformità normativa. Gli oggetti protetti con Object Lock non possono essere eliminati o sovrascritti durante un periodo di conservazione specificato, neppure dall'utente root dell'account. Sono disponibili due modalità: Governance mode (gli utenti con autorizzazioni speciali possono ignorare o rimuovere il blocco) e Compliance mode (nessuno, nemmeno AWS, può eliminare l'oggetto durante il periodo di conservazione: è il livello di protezione più elevato). Object Lock deve essere abilitato quando si crea il bucket e richiede il versioning.

# 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"}'

S3 Cross-Region Replication (CRR)

Cross-Region Replication (CRR) replica automaticamente i nuovi oggetti e gli aggiornamenti da un bucket di origine in una Region a un bucket di destinazione in una Region diversa. Casi d'uso: conformità (conservare una copia dei dati in un paese specifico), disaster recovery (ridurre l'RPO per i dati critici mantenendo una copia in una seconda Region) e riduzione della latenza (distribuire gli oggetti dalla Region più vicina agli utenti). CRR richiede il versioning abilitato sia sul bucket di origine sia su quello di destinazione, oltre a un ruolo IAM con le autorizzazioni di replica necessarie.

# 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 rules

Same-Region Replication (SRR)

Same-Region Replication (SRR) replica gli oggetti all'interno della stessa Region. Casi d'uso: aggregazione dei log (replicare i log da più bucket di origine in un unico bucket centrale), sincronizzazione degli ambienti di test (mantenere una copia dei dati di produzione in un bucket di sviluppo nella stessa Region) e conformità alla sovranità dei dati all'interno di un singolo paese con più AZ AWS. Come CRR, SRR richiede il versioning su entrambi i bucket e un ruolo IAM. Solo i nuovi oggetti creati dopo l'abilitazione della replica vengono replicati automaticamente: per replicare gli oggetti esistenti, utilizzi S3 Batch Replication.

Replica: cosa viene e cosa non viene replicato

La replica S3 replica: nuovi oggetti, metadati, tag, ACL e stato della crittografia. Per impostazione predefinita, la replica non replica: gli oggetti esistenti prima dell'abilitazione della replica (utilizzi S3 Batch Replication per questi oggetti), i delete marker (a meno che non abiliti Delete Marker Replication), gli oggetti in Glacier (non replicabili: devono prima essere ripristinati) e gli oggetti replicati (non è prevista una replica a cascata tra tre bucket). Comprendere questi limiti è importante per progettare strategie DR complete, in cui devono essere replicati anche i dati storici e gli eventi di eliminazione.

S3 Replication Time Control (RTC)

Replication Time Control (RTC) è un componente aggiuntivo opzionale per CRR che fornisce uno Service Level Agreement: il 99,99% degli oggetti viene replicato entro 15 minuti, con metriche di replica e notifiche in CloudWatch. Senza RTC, la replica non offre alcuna garanzia sui tempi: la maggior parte degli oggetti viene replicata rapidamente, ma per alcuni casi possono essere necessarie ore. RTC è essenziale quando i requisiti di DR o conformità specificano un Recovery Point Objective (RPO) massimo per i dati in S3. Prevede un costo di replica per GB, aggiuntivo rispetto al normale costo di trasferimento dei dati della replica.

Impatto del versioning sui costi di archiviazione

L'attivazione del versioning aumenta i costi di archiviazione perché S3 conserva ogni versione di ogni oggetto finché non viene eliminata esplicitamente. Un file da 100 MB sovrascritto 10 volte occupa ora 1.000 MB di spazio di archiviazione. Per ridurre questo impatto, utilizzi regole del ciclo di vita che facciano scadere automaticamente le versioni non correnti dopo un numero prestabilito di giorni (ad esempio, eliminando le versioni non correnti più vecchie di 30 giorni) oppure che spostino le versioni non correnti verso classi di archiviazione più economiche, come Glacier. In produzione, associ sempre il versioning alle regole del ciclo di vita per tenere sotto controllo i costi di archiviazione.

# 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}}]}'

Protezione dal ransomware

Il versioning di S3 combinato con Object Lock (modalità Compliance) offre una solida protezione dal ransomware. Se un aggressore crittografa o elimina i Suoi oggetti, il versioning garantisce la conservazione delle versioni precedenti (a meno che l'aggressore non le elimini definitivamente: per questo Object Lock impedisce l'eliminazione definitiva durante il periodo di conservazione). Per ottenere la massima protezione: attivi il versioning, attivi MFA Delete, applichi Object Lock in modalità Compliance ai dati critici e replichi i dati in una seconda Regione con credenziali IAM separate, così da impedire che la compromissione di un singolo account distrugga tutte le copie.

Verifica rapida

Verifichi la Sua comprensione dei concetti di AWS Solutions Architect (SAA-C03) trattati in questa lezione.

Riepilogo della lezione

In questa lezione ha imparato che: il versioning conserva tutte le versioni di ogni oggetto e protegge dalle eliminazioni accidentali, MFA Delete e Object Lock offrono un'immutabilità aggiuntiva per la conformità e la protezione dal ransomware e CRR e SRR replicano gli oggetti in altri bucket per soddisfare i requisiti di DR e conformità. Ora esamineremo le classi di archiviazione S3 e le policy del ciclo di vita per ottimizzare i costi.

Domande Frequenti

La lezione «Versioning, MFA Delete e replica» è gratuita?

Sì — il testo completo di «Versioning, MFA Delete e replica» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Cloud & IT Cert Prep, passa a CoddyKit PRO. Il corso Cloud & IT Cert Prep include 4 lezioni in totale.

Cosa imparerò in «Versioning, MFA Delete e replica»?

Abiliterete il versioning per proteggervi dalle eliminazioni accidentali, configurerete la replica tra Regions e aggiungerete MFA Delete. Eserciti Cloud & IT Cert Prep con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Cloud & IT Cert Prep?

Non è richiesta alcuna esperienza precedente. Cloud & IT Cert Prep su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 3 di 4.

Quanto tempo richiede la lezione «Versioning, MFA Delete e replica»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Cloud & IT Cert Prep?

Sì. Ogni lezione Cloud & IT Cert Prep include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Bucket, oggetti e Regions
  2. Controllo degli accessi S3: policy dei bucket e ACL
  3. Versioning, MFA Delete e replica
  4. Classi di storage e policy del ciclo di vita
← Torna a Cloud & IT Cert Prep