Launching an S3 Bucket Using Terraform

In this walkthrough, we’ll be creating an S3 bucket in Amazon Web Services (AWS) using Terraform. This is a pretty straightforward walkthrough but you will change a bit of information in your .tf files.

Prerequisites

AWS account

Terraform CLI

IDE (Pycharm or Cloud9 for example)

Step 1

Create a new IAM user with full S3 access. I’m going to grant my IAM user Administrator Access and S3 Full access.

Using the aws configure command, input your new IAM user’s credentials.

Step 2

Head over to Github and fork this repository. Once you’ve done that, git clone the repo in your CLI.

cd into your repository.

Head over to your variables.tf file as we are going to make a few updates.

The first thing you’ll want to do is change the region of your AWS account. In this case, my account is in us-east-1. Next, you’re going to change the name of your S3 bucket making sure it is globally unique.

There isn’t anything we have to change in the main.tf file but let’s review a few main pieces of the code inside the file and what it’s going to do.

aws_s3_bucket_acl: This part defines whether the bucket access will be private or not. In the AWS console, this is what it looks like.

aws_s3_bucket_public_access_block: This line of code defines if the contents of the bucket can be publicly accessed or not. Setting this to “true” will block public access.

Console

Step 3

Now that we’ve set up our configuration code, let’s initialize terraform with terraform init

Let’s run our code with terraform apply and watch our S3 bucket be deployed.

To confirm that your S3 bucket has been created, head over to the AWS management console.

Don’t forget to terraform destroy your resources so you don’t incur any additional AWS charges outside of the free tier.

Leave a Comment

MFH IT Solutions (Regd No -LIN : AP-03-46-003-03147775)

Consultation & project support organization.

Contact

MFH IT Solutions (Regd)
NAD Kotha Road, Opp Bashyam School, Butchurajupalem, Jaya Prakash Nagar Visakhapatnam, Andhra Pradesh – 530027