DEV Community

Cover image for You need to learn AWS right Now!
Suraj
Suraj

Posted on

You need to learn AWS right Now!

Introduction

Amazon Web Services (AWS) is a cloud computing platform that offers a wide range of services such as computing power, storage, databases, and networking. If you're a beginner I’m here to help you with my experience of learning and building project in AWS infrastructure, AWS provides scalable and flexible solutions for building applications.

In this guide, we'll be exploring the fundamentals of AWS and walk through the setup of Identity and Access Management (IAM), which is essential for securing your AWS environment.

image

What is AWS?

AWS is a cloud computing service provided by Amazon that offers on-demand computing resources over the internet with pay-as-you-go pricing. It eliminates the need for physical hardware, reducing costs and increasing efficiency.

image

Key Features of AWS:

Scalability – Automatically scales based on demand.

Pay-as-you-go Pricing – No upfront costs; pay only for what you use.

Security & Compliance – Built-in security measures and compliance with industry standards.

Global Infrastructure – Data centers across multiple regions for high availability.

Wide Range of Services – Compute, storage, databases, AI/ML, and more.

Popular AWS Services:

  • EC2 – Virtual machines for computing power.
  • S3 – Secure object storage.
  • RDS – Managed relational database service.
  • Lambda – Serverless computing.
  • VPC – Private cloud networking.

We’ll discuss most used AWS services in the Cloud/DevOps space in the next blog.

Create your AWS account now!

Prerequisites:

  1. You’ll need a valid Email Address
  2. A Payment Method (debit card for example) - don’t worry, broh 😂, they’re not here to swipe your cash!

Steps to Create an AWS Account:

My AWS Console:

image

Understanding IAM (Identity and Access Management)

AWS IAM is a security service that allows you to manage users, permissions, and access to AWS resources.

Why is IAM Important?

🔒 Access Control: Defines who can access AWS resources.

🔒 Least Privilege Principle: Assigns only the required permissions to users.

🔒 Multi-Factor Authentication (MFA): Enhances security with an additional authentication step.

🔒 AWS Root User Protection: Avoid using the root account for daily tasks.

IAM Components:

  1. Users: Individual AWS accounts that have credentials (such as a username, password, or access keys). Each user represents a person or an application that interacts with AWS resources.

    image

  2. Groups: Collections of users that share the same set of permissions. This makes it easier to manage access controls for multiple users at once.

    image

  3. Roles: Entities that define a set of permissions for AWS services or external identities. Roles allow you to grant temporary access without having to share long-term credentials.

    image

  4. Policies: JSON-based documents that define permissions. They specify what actions are allowed or denied on which AWS resources. We can create custom policies which is the used according to use-case.

    Example: A policy is a JSON document that specifies allowed or denied actions. For example, the S3ReadOnlyAccess policy grants read-only access to an S3 bucket.

    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": "s3:GetObject",
          "Resource": "arn:aws:s3:::example-bucket/*"
        }
      ]
    }
    

    image

Setting Up IAM in AWS

IAM Dashboard:

image

Follow these steps to configure IAM for a secure AWS environment.

Step 1: Create an AWS IAM User

  1. Log in to AWS Management Console using the root account.
  2. Navigate to IAM → Click on Users.
  3. Click Add user and specify the user details

    image

  4. Click Next → set Permissions, Choose the permission options and if you have created group you can attack to it.

    image

  5. Click Next → Add Tags (Optional).

  6. Click Create User → Download credentials (.csv file).

Step 2: Create an IAM Group & Assign Policies

  1. Go to IAM → Click on Groups.
  2. Click Create Group → Enter Group Name.
  3. Attach a predefined IAM policy (e.g., AdministratorAccess, ReadOnlyAccess).
  4. Add Users to the group → Click Create Group.

Step 3: Enable MFA for Extra Security

  1. Navigate to IAM Users → Select the User.
  2. Click Security Credentials → Enable Multi-Factor Authentication (MFA).

    image

  3. Use an Authenticator App (Google Authenticator/AWS MFA) to scan the QR code.

  4. Enter the generated MFA codes → Click Assign MFA.

Step 4: Use IAM Role for AWS Services

An IAM Role is an AWS identity with a set of permissions that determine what actions are allowed or denied. Unlike IAM users, roles do not have long-term credentials (passwords or access keys). Instead, they provide temporary security credentials to AWS services or external identities.

  1. Go to IAM → Click RolesCreate Role.
  2. Choose AWS Service (e.g., EC2, Lambda).

    image

  3. Attach a Policy (e.g., AmazonS3FullAccess).

  4. Click Create Role.

Best Practices for AWS IAM Security

Use IAM Users Instead of Root Account – The root account should be used only for account setup and billing.

Follow the Principle of Least Privilege – Grant only necessary permissions.

Enable MFA for All Users – Adds an extra layer of security.

Rotate Access Keys Regularly – Prevents unauthorized access.

Monitor IAM Activity with CloudTrail – Track API calls and security events.

Use IAM Roles for Applications – Avoid hardcoding credentials in code.

The end!

Hey guys, thanks for the reading, I hope you have learned something valuable today via this blog. Let me know in the comment if you have any doubt or anything you want to say. I would love to reply.

Top comments (2)

Collapse
 
rachidrabou profile image
Rachid

Great post! One key advantage of learning AWS that isn't often highlighted is its strong integration with devops tools. Services like AWS CodePipeline, Lambda, and CloudFormation make CI/CD and infrastructure automation much easier. Mastering AWS isn’t just about cloud hosting it’s about streamlining deployments and scaling efficiently

Collapse
 
surajkumar00 profile image
Suraj

You're right Rachid all these thing I'll include obviously in my incoming blogs of aws.