1. Answers
  2. Create an S3 Bucket with Lifecycle Policy

How do I make an S3 bucket with a lifecycle policy?

In this guide, we will create an Amazon S3 bucket with a lifecycle policy that transitions objects to different storage classes and expires them after a certain period. This is useful for managing storage costs by automatically archiving or deleting objects that are no longer needed.

Key Points:

  1. Define an S3 bucket resource where the data will be stored.
  2. Implement a lifecycle policy to transition and expire objects based on certain conditions.
  3. Demonstrate the structure and settings required for managing lifecycle rules.

Here’s the code to create an S3 bucket with a lifecycle policy:

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

// Create an S3 bucket
const example = new aws.s3.BucketV2("example", {
    bucket: "my-example-bucket",
    versionings: [{
        enabled: true,
    }],
    lifecycleRules: [{
        id: "log",
        enabled: true,
        transitions: [
            {
                days: 30,
                storageClass: "STANDARD_IA",
            },
            {
                days: 60,
                storageClass: "GLACIER",
            },
        ],
        expirations: [{
            days: 90,
        }],
    }],
});
export const bucketName = example.bucket;

Concluding Summary:

In this guide, we created an S3 bucket with a lifecycle policy using AWS as the cloud provider. The lifecycle policy included rules to transition objects to different storage classes after a specified number of days and to expire objects after a certain period. This helps manage the storage efficiently and keep costs in check by automating data management.

Make sure to customize the bucket, days, and storage_class values as required for your use case. Using lifecycle policies in S3 is a powerful way to automate data management and reduce costs over time.

Deploy this code

Want to deploy this code? Sign up for a free Pulumi account to deploy in a few clicks.

Sign up

New to Pulumi?

Want to deploy this code? Sign up with Pulumi to deploy in a few clicks.

Sign up