How to access s3 from ec2 using IAM role
This tutorial will explain How to access S3 from ec2 using IAM role.
IAM Role
An IAM role is an Identity and access management entity that defines a set of permissions for making AWS service requests. It does not have any credentials and cannot make direct requests to AWS services.
IAM roles are meant to be assumed by authorized entities, such as IAM users, applications, or an AWS service such as EC2.
Create IAM role to access S3 bucket
Step 1- Create Identity and access management Role
Log into AWS account and navigate to Services—-> IAM under Security, Identity, & Compliance——> Roles
Click on Create Role
Click on EC2 under Common Use case . If it is not there then Click on EC2 under “Or select a service to view its use cases” and Select EC2 under Select Your Use case.
Then Click on Next: Permission
Attach Permissions Policies
You can select an existing predefined IAM policy such as AmazonS3FullAccess/AmazonS3ReadOnlyAccess or you can create a custom IAM policy and attach here.
Add Tags(Optional)
Add Tag for your role.
Enter Role Name and Role Description and Click on Create Role
Attach iam role to ec2 instance
Step 2 – Attach Identity and access management role to ec2 instance
Navigate to Services —-> EC2——-> INSTANCES-———->Instances
Select the Instance(Test_Server) —————-> Click on Actions ——-> Instance Settings ————> Attach/Replace IAM Role
Search for the IAM Role that you created and Click on Apply
Access S3 Bucket from EC2 Instance
Step 3 – Access S3 Bucket from EC2 Instance
Now connect your Windows/Linux EC2 Instance and access your S3 Bucket directly.
For Linux Instance ( Amazon Linux)
Install AWS CLI and connect s3 bucket
$ sudo apt-get install awscli -y
After aws cli is installed , you can directly access S3 bucket with attached Identity and access management role. You don’t need to do AWS configure.
$ aws s3 ls bucketname
$ aws s3 cp filename.txt s3://bucketname/
For Windows Instance
Download and Install AWS CLI for windows from the link – AWS CLI for Windows
Once Installed , Open CMD with Run as Administrator
By default AWS CLI is installed on c:Program FilesAmazon|AWSCLIV2 for 64 bit and c:Program Files (x86) Amazon|AWSCLIV2 for 32 bit Operating System.
I am assuming your O/S is 64 bit , hence run the following command.
c:/> cd c:Program FilesAmazon|AWSCLIV2
c:Program FilesAmazon|AWSCLIV2> awscli – – version
c:Program FilesAmazon|AWSCLIV2> aws s3 ls bucketname
c:Program FilesAmazon|AWSCLIV2> aws s3 cp filename.txt s3://bucketname/
Click to tweet this tip !
Thanks for reading this tutorial about How to access s3 from ec2 using Identity and access management role . If you think this article is really helpful, please do support us to share this article with others as well directly or via Social media.
Please also share your valuable feedback, comment, or any query in the comment box.I will really happy to resolve your queries.
Thank You
If you think we have helped you or just want to support us, please consider these:-
Connect to us: Facebook | Twitter