Introduction
Here, weâll focus on how to create an S3 storage bucket along with budget alerts using the easiest approach. Weâll also cover the key settings you should be aware of during the process so that you can confidently create and customize your own buckets in the future based on your specific needs. So, letâs get started!
What is AWS S3
Amazon S3 (Simple Storage Service) is one of the most popular and powerful storage services offered by AWS. It allows you to store virtually any type of data such as text files, images, videos, and even static websites. In S3, data is stored as objects inside buckets, which are essentially containers that act like folders to organize your files in the cloud.
Advantages
- Scalable: S3 can automatically scale from just a few bytes to petabytes of data without any manual intervention.
- Cost Effective: Itâs free for up to 5 GB of Standard storage (as part of the AWS Free Tier). Beyond that, the cost is minimal for small scale usage, but it can increase significantly with higher storage or request volumes.
There are many more advantages, but these are the most important ones and letâs be honest, theyâre probably the reason youâre here in the first place. đ
Let's start
1. Sign In to AWS Console
Signing in to AWS is obviously mandatory if you want to use any of its services.
I wonât go into the step by step process of creating an AWS account you can easily follow any tutorial on YouTube for that. Just remember, AWS does require your payment details during account setup, but donât worry it wonât charge you unless you use a service beyond the free tier.
You can create an S3 bucket using either the root user or an IAM user just make sure the IAM user has the necessary permissions.
2. Go to S3 Service page
Click on the Services menu (located between the AWS logo and the search bar), then scroll down to the bottom. Under the Storage section, you'll find several storage-related services offered by AWS. Click on S3 to continue.
3. Create Bucket
Now, letâs begin our journey to create our very first S3 bucket.
Click on the orange âCreate bucketâ button. At this point, we need to be very careful, because the next few settings are extremely important for how your storage will behave.
If anything goes wrong, you might just end up like this =>
1> General configuration
This is where youâll define the basic details of your bucket, like its name, region, etc.
AWS Region: This is the first option you'll see. It determines the geographic region where your S3 bucket will be created. If the selected region isn't what you intended, check the region dropdown in the top-right corner of the AWS Management Console. Make sure it matches the region you want to use. Once you change it there, the AWS Region setting under General Configuration will automatically update as well.
If you create an S3 bucket in a region thatâs far from where your application or users are located, you may incur additional data transfer charges when accessing or moving data across regions. It can also result in higher latency. So itâs best to choose the region thatâs geographically closest to where your data will be used.Bucket type:
For this tutorial let's just go with General purpose bucket.Bucket name: There are quite a few rules you need to follow when naming your bucket. Bucket names must be globally unique across all AWS accounts and all regions within a given partition. A partition is a grouping of Regions. Names can consist only of lowercase letters, numbers, periods (.), and hyphens (-). Must begin and end with a letter or number. Most importantly, avoid creating bucket names that are easily guessable. If someone is able to guess your bucket name, they can send requests to it even if they can't access your data and this could lead to unexpected and massive charges. (Seriously, go check out that YouTube video I mentioned earlier. It's eye-opening.)
Copy settings from an existing bucket (optional): You can skip this option for now. It's useful when you want to clone the configuration of an existing bucket, but it's not necessary for beginners. We'll be setting things up from scratch to better understand each step.
2> Object Ownership
This setting controls who owns the objects that are uploaded to your bucket and who has access control over them.
- ACLs Disabled (Recommended): This is the default and recommended setting. When ACLs (Access Control Lists) are disabled, ownership of all objects is automatically granted to the bucket owner, regardless of who uploads them. This simplifies permissions and makes managing access much easier using only bucket policies and IAM policies. If you're working on personal or small team projects, this is what you want it reduces confusion and risk. â Use this if: you're new to S3, want simpler permission management, or you're the only one uploading data.
- ACLs Enabled: When you enable ACLs, it allows the original uploader of an object to retain ownership and permissions on that object even if they're not the bucket owner. This is useful in scenarios where multiple AWS accounts or users need fine grained control over individual objects. (We wonât go into the details of this setting here, as it falls outside the scope of this guide.)
3> Block Public Access settings for this bucket
This section controls whether your S3 bucket and its contents can be accessed publicly over the internet. By default, AWS blocks public access to everything, and thatâs a good thing it keeps your files private and secure unless you explicitly say otherwise. When you create a new bucket, youâll see four checkboxes under Block Public Access settings for this bucket:
Block all public access:
This is the master switch. If it's on (checked), your bucket and its contents are completely private. No one can access them from the outside, even if a policy or ACL tries to make them public.Block public access to buckets and objects granted through new access control lists (ACLs):
This prevents future ACLs from accidentally making files public.Block public access to buckets and objects granted through any access control lists (ACLs):
This blocks both new and existing ACLs that might expose your content.Block public access to buckets and objects granted through new public bucket or access point policies:
Stops new bucket policies or access point policies from making your bucket public.
4> Bucket Versioning
Bucket Versioning is a feature that allows Amazon S3 to keep multiple versions of the same file (object) in your bucket. Every time you upload a file with the same name, instead of replacing it, S3 stores it as a new version. This helps you recover from accidental deletes or overwrites.
But there's a catch:
Every version of the file takes up storage spaceâincluding old or deleted versions. This means youâll be paying for each version unless you manually delete them or set up lifecycle rules. So, just avoid enabling it unless you actually need it.
5> Tags - optional
Tags are simple key-value pairs that you can attach to your S3 bucket to help you organize, search, and manage your AWS resources more effectively. Think of them like labels you stick on a folder to know what it contains. Theyâre super useful when youâre working on large projects, managing costs, or using automation tools. You can also use them to filter usage in AWS billing and cost reports.
6> Default encryption (Last step)
Default encryption ensures that every object (file) uploaded to your S3 bucket is automatically encrypted without you having to manually configure it each time. This adds an extra layer of protection for your data, especially if youâre storing anything sensitiveâeven during learning or testing phases.
When you enable default encryption, AWS will automatically encrypt all new files using the encryption method you choose. Even though enabling encryption is optional, itâs a best practice especially if your bucket ever stores personal data, logs, or anything remotely confidential. (Leave as it is)
Advanced Settings â Skip for Now
Youâll see an Advanced Settings section at the bottom, but for now, you donât need to touch anything here. The default settings are perfectly fine for most use cases especially for beginners.
So, simply scroll down and click the orange âCreate bucketâ button at the bottom.
đ Congrats! Youâve just created your very first S3 bucket. Now itâs ready to store files, host static content, or connect with other AWS services.
đ Time to Explore Your Bucket
Once your bucket is created, youâll be taken to a page listing all your S3 buckets. Just tap on the name of the newly created bucket to open it.
From here, feel free to experiment upload some files, delete them, create folders, and get a feel for how S3 works. This is your playground to explore!
Even better, your bucket is now fully set up and ready to be used programmatically through any programming language or framework like Python (Boto3), JavaScript (AWS SDK), or even directly via the AWS CLI.
đ° Set a Budget for Your Newly Created S3 Bucket
In the navigation barâs search box, type Budgets. Youâll see Budgets appear under the âFeaturesâ section, click on it to continue. Once you're on the Budgets page, youâll notice an orange âCreate budgetâ button. Go ahead and click it, this marks the beginning of our next journey!đ
Now let's complete this setup!
Budget Setup
Under the Budget Setup section, select Customize (advanced).
This gives you a more tailored way to set up your budget and configure smart alerts to protect yourself from unexpected charges. đĄď¸đ¸
Step 1. Choose Budget Type
Youâll now see four different types of budgets you can create. Since our main goal is to track how much weâre spending and more importantly, how to stay within a small or zero cost usage weâll go with Cost Budget.
Hereâs a quick overview of all four budget types:
Cost Budget
Track your actual or forecasted AWS spending. Ideal when you want to keep your cloud usage within a specific monetary limit.Usage Budget
Monitor the amount of resources (like GBs of data or number of requests) youâre consuming, rather than how much they cost.Reservation Budget
Helps you manage reserved instances (like EC2 or RDS) and plan costs related to those long-term commitments.Savings Plans Budget
Specifically designed to track your spending and savings under AWS Savings Plans, which offer discounted rates in exchange for usage commitments.
For this tutorial, weâll stick with Cost Budget, because it directly addresses our goal of using AWS services with minimal or no expense. Click next and head to next step.
Step 2. Set your budget
Before you move on, you might see a short guide or documentation from AWS about how to create a budget. Feel free to give it a quick read it offers helpful context, especially if you're new to AWS Budgets. But donât worry, weâll walk through everything step by step right here too.
A. Budget name
You can name your budget whatever you like there are no strict naming rules here. However, itâs a good idea to choose a name thatâs relevant to the service or purpose itâs tracking, as this will make it easier to identify and modify in the future.
B. Set Budget Amount
This is where you define how much you're willing to spend.
Period
This defines how often your budget resets. Don't worry youâll still receive alerts between periods as your usage increases. Avoid selecting Daily budgets because they donât support alerts, which kind of defeats the whole purpose of setting up a budget in the first place. Instead, select Monthly, as itâs the most optimal option in our case. It aligns with AWS billing cycles and ensures you get notified if your usage starts going beyond your set limits.Budget renewal type
This setting decides whether your budget should automatically reset and start fresh after each period.
Youâll get two options:
1> Recurring
This is the default and most useful option. Your budget will renew at the beginning of every period (like monthly, if you chose that). Itâs perfect if you want to consistently track usage and receive alerts without having to create a new budget every month.
2> Expiring
This means the budget is for one time use only. It wonât reset after the period ends. Use this only if you're tracking costs for a very short-term project or temporary testing.
â For most users, especially beginners, Recurring is the way to go. Itâs a set-it-and-forget-it kind of setup.Start month
This is the month from which your budget will begin tracking and monitoring your AWS usage. Make sure to select the current month if you want the budget to start immediately. If you pick a future month, tracking will begin from then.Budgeting Method
This section lets you decide how your budget amount is calculated. Youâll see three options:
1> Fixed Budget
Set a specific amount that will remain constant every month (or your selected period). AWS will monitor your spending against this fixed value and trigger alerts as you approach or exceed it.
â Best for beginners or those who want strict spending limits.
2> Planned Budget
Allows you to set different budget amounts for different months. For example, you can allocate âš100 for January and âš300 for February. This is useful if you know certain months will have higher usage or spending.
â Ideal if you follow a planned project timeline with varying costs.
3> Auto-Adjusting Budget
AWS automatically calculates your budget based on your past usage trends and adjusts it each month. Itâs helpful if your usage fluctuates regularly and you want your budget to stay in sync without manual changes.
â Recommended only if youâve been using AWS for a while and have consistent historical usage.
đ For this tutorial, and especially if you're just getting started, go with Fixed Budget. It gives you full control and peace of mind.Enter your budgeted amount ($)
This is the total amount you're willing to spend within the selected time period (like monthly). AWS will monitor your actual usage and compare it against this amount. If your spending reaches certain thresholds (which you'll define later), you'll receive alerts via email or other notification channels.
đĄ Example: If you're just starting out or using only free-tier services like Amazon S3, you can safely set a small budget like $1 or $2 per month. This way, youâll get notified early if something starts consuming paid resources unexpectedly.
đ Tip: Donât leave this blank or enter a very high value unless you know what you're doingâthis is your safety net against surprise bills!
C. Budget scope
- Scope options This setting defines what your budget will apply to.
a. All AWS Services: This is the default option and applies your budget across all the AWS services you're currently using in your account. If you're not sure which services might incur charges, this is the safest choiceâit ensures you're alerted no matter where the cost comes from.
b. Filter specific AWS cost dimensions: This allows you to create a more targeted budget by selecting specific services (like S3), linked accounts, tags, or other dimensions. It's useful when you only want to monitor costs for a particular project or service. For example, if you're only experimenting with Amazon S3 and want to limit the budget just for it, use this option.
â
Tip: If youâre a beginner or just exploring AWS, go with All AWS Services to be safe. If youâre confident and know exactly what you want to track, then apply filters accordingly.
- Advanced options You can safely skip this section for now. It includes more detailed configurations like linking budgets to specific accounts or services using complex filters. Since this guide is focused on setting up a basic and effective budget, these advanced settings are out of scope for the moment.
Just click next and move to next step!
Step 3. Configure Alerts
In this step, you'll set up alerts to notify you when your spending approaches or exceeds your defined budget. This is the most important part of budgetingâit helps you stay informed and avoid unexpected charges by sending notifications based on the thresholds you set.
- Click on Add an alert threshold, if present already.
- Set the percentage threshold at which you want to receive an alert. This defines when AWS should notify you about your spending. For example, setting it to 50% means youâll get an alert when youâve used 50% of your total budget.
đ Note: Leave the two side toggle buttons as they are (default), unless you know exactly what you're doingâthey control actual vs. forecasted usage.
- Email Recipients Enter the email address(es) where AWS should send the alert notification once your specified budget threshold is reached. You can add multiple recipients by separating them with commas. If you'd like to set up a second alertâfor a different threshold (say 90% or 100%)âyou can do that too by clicking the Add alert threshold button at the bottom. đ Just enter your preferred email and leave the rest of the settings as they are. Click âNextâ to proceed.
Step 4. Attach actions
Since we're creating a budget specifically for S3 usage, AWS doesn't support attaching automatic actions (like stopping or modifying services) for S3. This feature is more relevant for services like EC2 or RDS, where you can automate cost-control actions. So, for now, just leave everything as-is and click Next to continue.
Step 5. Review
Review all the configurations and ensure that each setting matches your intended budget and alert preferences. Double-check the budget amount, period, thresholds, and email recipients. Once everything looks good, click on Create budget.
After successful creation, youâll be redirected to the Budgets List page, where youâll see your newly created budget listed by its name.
đŻ Conclusion
Youâve successfully created your first S3 bucket and set up a budget to monitor costsâtwo key steps for using AWS safely and smartly. With this setup, you can now explore and build without the fear of surprise charges. Keep experimenting, stay curious, and let AWS work for youâwithout burning a hole in your pocket. đ