Are you storing the data securely, scalable, highly available, and fault-tolerant? If not, consider using Amazon Simple Storage Service (Amazon S3) in the AWS cloud.
This tutorial will teach you how to launch an AWS S3 bucket in an Amazon account using bash or shell scripting.
Let’s dive into it quickly.
Table of Content
- What is Shell Script or Bash Script?
- What is the Amazon AWS S3 bucket?
- Prerequisites
- Building a shell script to create AWS S3 bucket in Amazon account
- Executing the Shell Script to Create AWS S3 bucket in Amazon Cloud
- Verifying the AWS S3 bucket in AWS account
- Conclusion
What is Shell Script or Bash Script?
Shell Script is a text file containing lists of commands executed on the terminal or shell in one go in sequential order. Shell Script performs various important tasks such as file manipulation, printing text, program execution.
Shell script includes various environmental variables, comments, conditions, pipe commands, functions, etc., to make it more dynamic.
When you execute a shell script or function, a command interpreter goes through the ASCII text line-by-line, loop-by-loop, test-by-test, and executes each statement as each line is reached from top to bottom.
What is the Amazon AWS S3 bucket?
AWS S3, why it is S3? The name itself tells that it’s a 3 word whose alphabet starts with “S.” The Full form of AWS S3 is a simple storage service. AWS S3 service helps in storing unlimited data safely and efficiently. Everything in the AWS S3 service is an object such as pdf files, zip files, text files, war files, anything. Some of the features of the AWS S3 bucket are below:
- To store the data in AWS S3 bucket you will need to upload the data.
- To keep your AWS S3 bucket secure addthe necessary permissions to IAM role or IAM user.
- AWS S3 buckets have unique name globally that means there will be only 1 bucket throughout different accounts or any regions.
- 100 buckets can be created in any AWS account, post that you need to raise a ticket to Amazon.
- Owner of AWS S3 buckets is specific to AWS account only.
- AWS S3 buckets are created region specific such as us-east-1 , us-east-2 , us-west-1 or us-west-2
- AWS S3 bucket objects are created in AWS S3 in AWS console or using AWS S3 API service.
- AWS S3 buckets can be publicly visible that means anybody on the internet can access it but is recommended to keep the public access blocked for all buckets unless very much required.
Prerequisites
- AWS account to create ec2 instance. If you don’t have AWS account please create from AWS account or AWS Account
- Windows 7 or plus edition where you will execute the shell script.
- AWS CLI installed. To install AWS CLI click here.
- Git bash. Yo install Git bash click here
- Code editor for writing the shell script on windows machine such as visual studio code. To install visual studio click here.
Building a shell script to create AWS S3 bucket in Amazon account
Now that you have a good idea about the AWS S3 bucket and shell script let’s learn how to build a shell script to create an AWS S3 bucket in an Amazon account.
- Create a folder of your windows machine at any location. Further under the same folder create a file named create-s3.sh and copy/paste the below code.
#! /usr/bin/bash
# This Script will create S3 bucket and tag the bucket with appropriate name.
# To check if access key is setup in your system
if ! grep aws_access_key_id ~/.aws/config; then
if ! grep aws_access_key_id ~/.aws/credentials; then
echo "AWS config not found or you don't have AWS CLI installed"
exit 1
fi
fi
# read command will prompt you to enter the name of bucket name you wish to create
read -r -p "Enter the name of the bucket:" bucketname
# Creating first function to create a bucket
function createbucket()
{
aws s3api create-bucket --bucket $bucketname --region us-east-2
}
# Creating Second function to tag a bucket
function tagbucket() {
aws s3api put-bucket-tagging --bucket $bucketname --tagging 'TagSet=[{Key=Name,Value="'$bucketname'"}]'
}
# echo command will print on the screen
echo "Creating the AWS S3 bucket and Tagging it !! "
echo ""
createbucket # Calling the createbucket function
tagbucket # calling our tagbucket function
echo "AWS S3 bucket $bucketname created successfully"
echo "AWS S3 bucket $bucketname tagged successfully "
Executing the Shell Script to Create AWS S3 bucket in Amazon Cloud
Previously you created the shell script to create an AWS S3 bucket in Amazon Cloud, which is great, but it is not doing much unless you run it. Let’s execute the shell script now.
- Open the visual studio code and then open the location of file create-s3.sh.

- Finally execute the shell script.
./create-s3.sh

Verifying the AWS S3 bucket in AWS account
Earlier in the previous section, the shell script ran successfully; let’s verify the if AWS S3 bucket has been created in the AWS account.
- Open your favorite web browser and navigate to the AWS Management Console and log in.
- While in the Console, click on the search bar at the top, search for ‘S3’, and click on the S3 menu item and you should see the list of AWS S3 buckets and the bucket that you specified in shell script.

- Also verify the tags that you applied in the AWS S3 bucket by navigating to proerties tab.

Conclusion
In this tutorial, you learned how to set up Amazon AWS S3 using shell script on AWS step by step. Most of your phone and website data are stored on AWS S3.
Now that you have a newly created AWS S3 bucket, what do you plan to store in it?
Ꮋello! This іs my first visit to your bⅼog! Wе are a collection of volunteers and starting a new initiative in a community in tһe
same niche. Your blog provided us beneficial inf᧐rmatiоn to work
on. You have dοne a wonderful job!
LikeLiked by 1 person
I have multiple aws accounts configured in my system. I named them Dev, Build & PROD.
Can you suggest on how to configure your shell script to ask which profile/account to be used.
Example: I want to create a S3 bucket in Build.
– I run the script and as I have no default setup it throws the error (AWS config not found ….)
What I need:
– It needs to ask, which account you wanted to create the S3 bucket. (dev, build or prod)
Thanks In advance.
Thanks a lot. You page is helping a lot for me.
LikeLiked by 1 person