Skip to main content

I am trying to create a bucket 'MyBucket' but I can't. It says bucket with the same name already exists but I could not see any such in my account!

When you try to create a bucket with a name MyBucket (or whatever name), sometimes you would get the following error:

deploy-doc-store-s3 already exists and you will not be able to create the bucket. You would search for that bucket in your account but still you would not find it! Then, why are you not able to create MyBucket when a bucket with the same name does not exist in your account?

This is because S3 is global. AWS S3 does not require region selection. So, S3 Bucket names need to be globally unique. It occurred because someone else would have created a bucket with the name MyBucket.

How to confirm if there already exists a bucket with the name MyBucket?

Run the following command:

aws s3api head-bucket --bucket MyBucket

If it returns,

NOTHING i.e, 200 OK - the bucket already exists and you have access to it (the bucket exists in your current account)
403 Forbidden -  the bucket already exists and you don't have access to it  (the bucket exists in another account)
404 Not Found -  the bucket does not exist

If you get 404, you can create a bucket with that name otherwise you can't.

Comments

Popular posts from this blog

AWS Route53 - Private Hosted Zone

AWS - Error - An error occurred (ExpiredToken) when calling the DescribeStacks operation: The security token included in the request is expired

Error:   An error occurred (ExpiredToken) when calling the DescribeStacks operation: The security token included in the request is expired. Reason: It occurred when I ran a MAKE command with a profile having expired token (security credentials) Fix: Generate new security credentials (aws sts assume-role) and run the command again

AWS CloudTrail

AWS CloudTrail is an API monitoring service.  It records activities in your account. We can log those activities in S3 bucket It gives visibility to user activities e.g., if you want to know who created an EC2 instance, you can get the answer using CloudTrail Using CloudTrail, you can track changes to AWS resources in your accounts