Versioning, MFA Delete en replicatie
Schakel versioning in om u tegen onbedoelde verwijdering te beschermen, configureer cross-region replication en voeg MFA Delete toe.
Versioning, MFA Delete en replicatie is een gratis AWS Solutions Architect-les op CoddyKit. Dit is les 3 van 4. Je kunt 3 lessen uit dit leerpad gratis volledig lezen — daarna ontgrendelt CoddyKit PRO alle lessen, plus praktische oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject AWS Solutions Architect. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus AWS Solutions Architect bevat in totaal 4 lessen.
S3-versioning: waarom het belangrijk is
S3 Versioning zorgt ervoor dat je elke versie van elk object in een bucket kunt bewaren, ophalen en herstellen. Wanneer versioning is ingeschakeld, maakt elke PUT een nieuwe versie met een unieke versie-ID; de oude versie wordt behouden en niet overschreven. Wanneer een object wordt verwijderd, voegt S3 een verwijdermarkering toe als de huidige versie, terwijl alle vorige versies behouden blijven. Dit beschermt tegen onbedoeld overschrijven, onbedoeld verwijderen en onbedoelde beschadiging van gegevens op applicatieniveau — de meest voorkomende scenario's voor gegevensverlies in productie.
# 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.pdfStatussen en overgangen van versioning
Een S3-bucket kan een van drie versioning-statussen hebben: Unversioned (standaard, zonder versie-ID's), Versioning-enabled (alle nieuwe objecten krijgen unieke versie-ID's en alle overschrijvingen maken nieuwe versies) of Versioning-suspended (nieuwe objecten krijgen een null-versie-ID, maar bestaande versies blijven behouden). Je kunt versioning niet verwijderen nadat het is ingeschakeld — je kunt het alleen opschorten. Objecten die zijn gemaakt voordat versioning werd ingeschakeld, hebben een null-versie-ID en worden pas beïnvloed wanneer ze worden overschreven of verwijderd.
Een vorige versie herstellen
Om een oudere versie van een object met versioning te herstellen, heb je twee opties. Optie 1: kopieer de oudere versie-ID terug naar dezelfde sleutel — hierdoor wordt een nieuwe versie gemaakt die een kopie is van de oudere inhoud en wordt die versie de huidige. Optie 2: verwijder de huidige versie of verwijdermarkering om de vorige versie als huidige zichtbaar te maken. Wanneer je in de console een object in een versiebeheerste bucket 'verwijdert' zonder een versie-ID op te geven, voegt S3 een verwijdermarkering toe — voor verzoeken zonder versioning lijkt het object verwijderd, maar alle versies bestaan nog.
# 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: extra bescherming
MFA Delete voegt een tweede beschermingslaag toe voor buckets met versioning. Wanneer dit is ingeschakeld, moet je geldige MFA-referenties opgeven in het API-verzoek om een specifieke versie permanent te verwijderen of de versioning-status te wijzigen (ingeschakeld → opgeschort). Dit beschermt tegen: een aanvaller die je AWS-referenties heeft buitgemaakt en kritieke versies permanent verwijdert; het per ongeluk of geautomatiseerd verwijderen van vastgezette objectversies; en interne dreigingen die audittrails proberen te vernietigen. MFA Delete kan alleen door de rootgebruiker via de CLI worden in- en uitgeschakeld.
# 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 dwingt een WORM-model (write once, read many) af voor naleving van regelgeving. Objecten die met Object Lock zijn vergrendeld, kunnen gedurende een opgegeven bewaartermijn niet worden verwijderd of overschreven — zelfs niet door de rootgebruiker van het account. Er zijn twee modi: Governance mode (gebruikers met speciale machtigingen kunnen de vergrendeling omzeilen of verwijderen) en Compliance mode (niemand, zelfs AWS niet, kan het object tijdens de bewaartermijn verwijderen — de sterkste bescherming). Object Lock moet worden ingeschakeld wanneer de bucket wordt gemaakt en vereist 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-replicatie tussen regio's (CRR)
Cross-Region Replication (CRR) repliceert automatisch nieuwe objecten en updates van een bronbucket in één regio naar een bestemmingsbucket in een andere regio. Gebruiksscenario's zijn: naleving (een kopie van gegevens in een specifiek land bewaren), herstel na calamiteiten (de RPO voor kritieke gegevens verlagen door een kopie in een tweede regio te bewaren) en latentieverlaging (objecten aanbieden vanuit de regio die het dichtst bij gebruikers ligt). Voor CRR moet versioning op zowel de bron- als de bestemmingsbucket zijn ingeschakeld en is een IAM-rol met de vereiste replicatiemachtigingen nodig.
# 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 rulesReplicatie binnen dezelfde regio (SRR)
Same-Region Replication (SRR) repliceert objecten binnen dezelfde regio. Gebruiksscenario's zijn: logaggregatie (logs uit meerdere bronbuckets naar één centrale bucket repliceren), synchronisatie van testomgevingen (een kopie van productiegegevens bewaren in een ontwikkelbucket binnen dezelfde regio) en naleving van gegevenssoevereiniteit binnen één land met meerdere AWS-AZ's. Net als CRR vereist SRR versioning op beide buckets en een IAM-rol. Alleen nieuwe objecten die na het inschakelen van replicatie worden gemaakt, worden automatisch gerepliceerd — gebruik S3 Batch Replication om bestaande objecten te repliceren.
Replicatie: wat wel en niet wordt gerepliceerd
S3-replicatie repliceert wel: nieuwe objecten, metagegevens, tags, ACL's en de versleutelingsstatus. Standaard repliceert replicatie niet: objecten die al bestonden voordat replicatie werd ingeschakeld (gebruik daarvoor S3 Batch Replication), verwijdermarkeringen (tenzij je Delete Marker Replication inschakelt), objecten in Glacier (niet repliceerbaar — herstel ze eerst) en gerepliceerde objecten (geen trapsgewijze replicatie tussen drie buckets). Inzicht in deze grenzen is belangrijk bij het ontwerpen van volledige strategieën voor herstel na calamiteiten, waarbij ook historische gegevens en verwijdergebeurtenissen moeten worden gerepliceerd.
S3 Replication Time Control (RTC)
Replication Time Control (RTC) is een optionele uitbreiding voor CRR die een Service Level Agreement biedt: 99,99% van de objecten wordt binnen 15 minuten gerepliceerd, met replicatiestatistieken en meldingen in CloudWatch. Zonder RTC biedt replicatie geen tijdsgarantie — de meeste objecten worden snel gerepliceerd, maar uitzonderingen kunnen uren duren. RTC is essentieel wanneer je vereisten voor herstel na calamiteiten of naleving een maximale Recovery Point Objective (RPO) voor gegevens in S3 voorschrijven. Naast de standaardkosten voor gegevensoverdracht bij replicatie brengt RTC kosten per GB voor replicatie met zich mee.
Impact van versiebeheer op opslagkosten
Als je versiebeheer inschakelt, stijgen de opslagkosten omdat S3 elke versie van elk object bewaart totdat je deze expliciet verwijdert. Een bestand van 100 MB dat 10 keer wordt overschreven, gebruikt daardoor 1.000 MB opslagruimte. Beperk dit met levenscyclusregels die niet-actuele versies na een ingesteld aantal dagen automatisch laten verlopen (bijvoorbeeld: niet-actuele versies die ouder zijn dan 30 dagen verwijderen), of verplaats niet-actuele versies naar goedkopere opslagklassen zoals Glacier. Combineer versiebeheer in productie altijd met levenscyclusregels om de opslagkosten te beheersen.
# 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}}]}'Bescherming tegen ransomware
S3-versiebeheer in combinatie met Object Lock (Compliance-modus) biedt sterke bescherming tegen ransomware. Als een aanvaller je objecten versleutelt of verwijdert, zorgt versiebeheer ervoor dat eerdere versies behouden blijven (tenzij de aanvaller ze permanent verwijdert — daarom voorkomt Object Lock permanente verwijdering tijdens de bewaartermijn). Schakel voor maximale bescherming versiebeheer en MFA Delete in, pas Object Lock in Compliance-modus toe op kritieke gegevens en repliceer naar een tweede Region met afzonderlijke IAM-inloggegevens. Zo voorkom je dat één gecompromitteerd account alle kopieën kan vernietigen.
Korte kennischeck
Toets je begrip van de AWS Solutions Architect-concepten (SAA-C03) uit deze les.
Samenvatting van de les
In deze les heb je geleerd dat versiebeheer alle versies van elk object bewaart en beschermt tegen onbedoelde verwijdering, dat MFA Delete en Object Lock extra onveranderlijkheid bieden voor compliance en bescherming tegen ransomware en dat CRR en SRR objecten naar andere buckets repliceren om aan vereisten voor noodherstel en compliance te voldoen. Hierna verkennen we S3-opslagklassen en levenscyclusbeleid voor kostenoptimalisatie.
Leer AWS Solutions Architect met een AI-tutor — gratis
Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.
- Cursussen
- 30
- Lessen
- 120
Veelgestelde vragen
Is de les “Versioning, MFA Delete en replicatie” gratis?
Ja — je kunt hier op het web alle 3 lessen van het leerpad AWS Solutions Architect, waaronder “Versioning, MFA Delete en replicatie”, gratis volledig lezen. Daarna ontgrendelt CoddyKit PRO alle lessen, plus interactieve oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. De cursus AWS Solutions Architect bevat in totaal 4 lessen.
Wat leer ik in “Versioning, MFA Delete en replicatie”?
Schakel versioning in om u tegen onbedoelde verwijdering te beschermen, configureer cross-region replication en voeg MFA Delete toe. Je oefent met AWS Solutions Architect door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.
Heb ik ervaring nodig om met AWS Solutions Architect te beginnen?
Ervaring vooraf is niet nodig. AWS Solutions Architect op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 3 van 4.
Hoe lang duurt de les “Versioning, MFA Delete en replicatie”?
De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.
Kan ik code schrijven en uitvoeren in deze les over AWS Solutions Architect?
Ja. Elke les over AWS Solutions Architect bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.
Alle lessen in deze cursus
- Buckets, objecten en Regions
- S3-toegangsbeheer: bucket policies en ACL's
- Versioning, MFA Delete en replicatie
- Storage classes en lifecycle policies