AWS Elastic Beanstalk is a managed cloud service that lets you deploy and run web applications without worrying about the underlying infrastructure.
AWS Beanstalk is the easiest way to deploy and scale web applications on AWS without managing infrastructure yourself.
You can upload your application code and Beanstalk automatically handles server provisioning, load balancing, auto scaling, monitoring, and updates.
In simple terms: You focus on writing your app AWS takes care of the servers, scaling, and health checks
What exactly you can deploy: Web apps built with Java, Python, Node.js, PHP, .NET, Ruby, Go, and Docker Backend APIs and full stack applications
Key benefits: Fast deployment with minimal setup Automatic scaling based on traffic
Built in monitoring and health status. You still have control over EC2, load balancers, and databases if needed.
Welcome to my hands-on practical lab. In this Lab simulation I will demonstrate a step by step process on how to create an AWS Elastic Beanstalk web application.
Firstly Login to AWS portal https://www.aws.amazon.com/console
Let’s begin, In the AWS Management Console,
Step 1. In the search bar, type Elastic beanstalk and select it

Environment tier opens with two option
- Web server environment: Run a website, web application, or web API that serves HTTP requests.
- Worker environment: Run a worker application that processes long-running workloads on demand, performs tasks on a schedule. Step 2. Provide Application name, here we will use the below name Stockwebapp Notice, once you provide your application name automatically it generates an Environment name. Eg Stockwebapp-env

Step 3. Choose your Platform from the drop-down, Java, Python, Node.js, PHP, .NET, Ruby, Go, and Docker here I select Node.js for my platform
Step 4. I created my service role, EC2 instance, EC2 Key pair.
EC2 key pair is a secure authentication mechanism used to log in to an Amazon EC2 instance.
It consists of two cryptographic keys that work together.
Public key: stored by AWS on the EC2 instance
Private key: You use the private key to securely connect to the instance which is store secretly.

Step 5. Here we can create a custom VPC or use the default VPC.
custom VPC is a user created isolated virtual network in AWS where you have full control over networking components such as IP addressing, subnets, routing, and security.
Check Enable option for Public IP address
Check the Instance subnets,
We Will configure service access.
Lets breakdown what Service access really is:
In AWS Elastic Beanstalk, service access defines how Elastic Beanstalk and your application are allowed to use other AWS services securely. This is handled almost entirely through Identity Access Management IAM roles,
There are two IAM roles use for service access:
Elastic Beanstalk Service Role: This role lets Elastic Beanstalk itself manage AWS resources on your behalf.
Used for actions like
Creating and updating environments
Managing Auto Scaling and load balancers
Publishing health events
Writing logs and metrics
This role is created in AWS Identity and Access Management and is attached to the Beanstalk environment.
Typical name
aws-elasticbeanstalk-service-roleEC2 Instance Profile Role: This role is attached to the EC2 instances running your application.
Used for
Accessing S3 buckets
Writing logs to CloudWatch
Reading secrets from Parameter Store or Secrets Manager
Accessing databases or queues
This is the most important role for application level access.
Typical name
aws-elasticbeanstalk-ec2-role

Step 6. We do not need Database and Tags for now, click next
Step 7. Leave instances on default
Step 8. Amazon CloudWatch monitoring, set monitoring interval to 5 minutes
Under system, we have Basic and Enhanced, select Enhanced and proceed.

Step 9. Auto scaling group, select on-demand instance
Step 10. Instance types select both t3.micro and t3.small on default
Step 11. Leave AMI ID on default and proceed to Next.
Step 12. For Health Monitoring, under system, select Enhanced
Cloudwatch custom Metrics-Instance. Drop-down and select ApplicationLatencyP50 and ApplicationLatencyP75.

Repeat same for Cloudwatch custom Metrics-Environment
Step 12. Uncheck Enabled Managed platform updates
Step 13. Leave every other settings on default and proceed to Next.
Step 14. Review configuration settings and click create

Step 15. My Elastic beanstalk is successfully deployed. I will go ahead and test the link in my browser verify Elastic Beanstalk is running.

Step 16. From my browser it shows the Elastic Beanstalk running fine.
Hope this exercise was helpful. Please like, comment and share your views.













Top comments (0)