Interview AWS

What is S3 versioning, and how does it interact with lifecycle rules?

AWS · Basic level

Answer

S3 versioning keeps previous object versions and uses delete markers instead of immediate permanent delete. Lifecycle rules should manage noncurrent versions, otherwise versioning can protect recovery but silently grow storage cost.

Technical explanation

Versioning is excellent for recovery but must be paired with lifecycle cost controls.

S3 security should start with Block Public Access, least-privilege IAM/bucket policies, encryption, ownership controls, and CloudTrail or S3 data-event visibility for sensitive buckets.

Cost management depends on lifecycle policies, storage classes, version retention, object size, retrieval fees, and access patterns.

Operationally, validate bucket policies, KMS permissions, lifecycle effects, and restore behavior before applying broad production changes.

Hands-on example

1. Create a non-production bucket with Block Public Access, bucket owner enforced object ownership, default encryption, and scoped IAM access.

2. Add a policy control relevant to the question, such as deny non-TLS, require SSE-KMS, or restrict access to a VPC endpoint.

3. Enable versioning or lifecycle where relevant, upload test objects, and verify transitions, deletes, restores, and access-denied behavior.

4. Review Access Analyzer, Config, CloudTrail, and Storage Lens before applying the pattern to production.

Preparing for an interview?

Check how well your resume matches the role with our free resume checker— match score, ATS check, and the skills you're missing.

More AWS interview questions

← All AWS questions