AWS S3 bucket

woman in black long sleeved top
Reading Time: 3 minutes

Amazon S3 (Simple Storage Service) is a cloud-based object storage service offered by Amazon Web Services (AWS). S3 is a scalable, secure, and highly available way to store and retrieve data. AWS S3 bucket is a container for storing objects in the Amazon S3 cloud.

Uses of AWS S3 Bucket

Backup and Disaster Recovery

AWS S3 bucket is an excellent choice for backing up data and creating disaster recovery solutions. You can replicate data across multiple regions and availability zones to ensure that your data remains safe and available.

Website Hosting

S3 can host static websites and serve static assets like images, videos, and CSS files. You can use Amazon CloudFront to serve dynamic content and improve website performance.

Data Lake

AWS S3 bucket can act as a data lake, which means that you can store all your data in a centralized location and analyze it using various AWS analytics services like Amazon Athena, Amazon EMR, Amazon Redshift, etc.

Media Storage and Distribution

S3 can store and distribute media assets like images, videos, and audio files. You can use Amazon CloudFront to deliver content to users globally with low latency and high data transfer speeds.

Steps to setup AWS CLI on Linux system

To interact with an S3 bucket from the command line interface (CLI), we can use the AWS CLI tool.

Install the AWS CLI using the appropriate package manager for your Linux distribution. For example, on Ubuntu, you can use the following command:

sudo apt-get install awscli

By using this command you can verify that AWS CLI is correctly installed in your system.

aws --version

This command will display the version number of the AWS CLI of your system.

Configure the AWS CLI by running the following command:

aws configure

After this, You will be prompted to enter your AWS access key ID, secret access key, default region name, and default output format. You can obtain your access key ID and secret access key from the AWS Management Console.

Once you have configured the AWS CLI, you can start using it to interact with AWS services from the command line.

Commands to Run S3 Bucket in AWS CLI

Once you have configured the AWS CLI in your local machine, you can use the following command to list all of the S3 buckets in your AWS account:

aws s3 ls

To create a new S3 bucket, use the following command:

aws s3 mb s3://bucket-name

you can give any name in the place of bucket name.

To upload a file to your S3 bucket, use the following command:

aws s3 cp /path/to/local/file s3://bucket-name

Replace /path/to/local/file with the path to the file on your local machine that you want to upload.

To download a file from your S3 bucket, use the following command:

aws s3 cp s3://bucket-name/path/to/file /path/to/local/destination

Replace path/to/file with the path to the file in your S3 bucket that you want to download, and /path/to/local/destination with the path on your local machine where you want to save the downloaded file.

Benefits of AWS S3 Bucket


S3 is designed to be highly scalable. It can store and retrieve any amount of data from anywhere in the world. You can scale up or down your storage requirements without worrying about capacity planning or upfront costs.


S3 is designed to provide 99.99% durability for your data. It automatically replicates data across multiple availability zones, which makes it highly reliable.


S3 provides industry-standard security features like encryption, access control, and logging. You can choose to encrypt your data in transit and at rest to ensure that it remains secure.


S3 provides a cost-effective way to store and retrieve data. You only pay for the storage you use, and there are no upfront costs or minimum fees.


AWS S3 bucket is a powerful and flexible object storage service that provides reliable, secure, and scalable storage for your data. It offers a variety of use cases, including backup and disaster recovery, website hosting, data lakes, and media storage and distribution. By leveraging S3, you can reduce your storage costs, improve your data availability, and scale your storage requirements as your business grows.

Written by 

Rakhi Pareek is a Software Consultant at Knoldus. She believes in continuous learning with new technologies. Her current practice area is Scala. She loves to maintain a diary to put on her thoughts daily. Her hobby is doodle art.