How to Host an application within Private network(subnet) using the ElasticBeanstalk?

This video tutorial explains how we can create EC2 instances in a Private environment and load balancers in a Public environment using a few clicks using the AWS Elastic Beanstalk service.
AWS Elastic Beanstalk is a PaaS (Platform as a Service) that provides the platform in the AWS to launch our applications of different languages to be created in one go without the need to configure or create them manually.
You can simply upload your code and Elastic Beanstalk automatically handles the deployment, from capacity provisioning, load balancing, auto-scaling to application health monitoring.
aws.amazon.com/elasticbeanstalk/
The following the details of the setup we need to create for this Demo:
A) VPC
1) We will create a VPC (10.0.0.0/16)
2) We will create a 2 public subnet (10.0.0.0/24 and 10.0.1.0/24) and 2 private subnet (10.0.2.0/24 and 10.0.3.0/24)
3) We will create 1 Internet Gateway and attach it to the Public RT
4) We will create 1 NAT Gateway and attach it to Private RT
5) We will create 2 Route Table (public RT and Private RT)
B) ElasticBeanstalk
1) Create 2 EC2 instance ( 1 as a public instance and 1 as a private instance)
2) We can modify the "Capacity" option to choose the required min and max instances and the autoscaling metrics.
3) We need to choose the appropriate Subnets in the "Network" option accordingly.
The overall gist of this demo is to create a Java-based application with EC2 instances in the Private Subnet and the
Loadbalancer in the Public subnet with Autoscaling using the AWS ElasticBeanstalk service.

Пікірлер: 33

  • @hillcipher1688
    @hillcipher16882 жыл бұрын

    Thanks, for this wonderfully crisp and clear demo. It helped me sort out a major issue in a setup I wasted so much time upon.

  • @onecloudhelper

    @onecloudhelper

    2 жыл бұрын

    Thank you, felt delighted to know this helped.

  • @OmerEtrog
    @OmerEtrog Жыл бұрын

    Thank you, I was looking for this for weeks, very good presentation, very clear

  • @onecloudhelper

    @onecloudhelper

    Жыл бұрын

    Glad to know, it helped

  • @devaramexanz672
    @devaramexanz6722 жыл бұрын

    Thanks man, It was so helpful

  • @onecloudhelper

    @onecloudhelper

    2 жыл бұрын

    Thankyou

  • @sumalathap2058
    @sumalathap20582 жыл бұрын

    Thank you brother It was so useful Do more videos

  • @onecloudhelper

    @onecloudhelper

    2 жыл бұрын

    Thank you. Will do it soon.

  • @sumalathap2058

    @sumalathap2058

    2 жыл бұрын

    @@onecloudhelper 👍

  • @ramkumarm8691
    @ramkumarm8691 Жыл бұрын

    really good explanation , it helped me thanks

  • @onecloudhelper

    @onecloudhelper

    Жыл бұрын

    Glad to know, it helped!

  • @josevalera9369
    @josevalera93692 жыл бұрын

    helpful video, if I want to whitelist my instances IPs (from my db or any other service from third party), it'll be the Elastic IP that we set creating the NAT gateway, right?

  • @onecloudhelper

    @onecloudhelper

    2 жыл бұрын

    Thankyou, yes, you can use the EIP for that purpose also.

  • @ptljstn
    @ptljstn2 жыл бұрын

    I followed the steps in the video and was able to create my ELB and my VPC. I created an RDS instance inside the VPC, but how can I remote into my RDS instance/EC2 instance from my desktop? I've tried going the SSH route, attempted to use my Elastic IP to try and connect, but having no luck. Was wondering if you have any advice?

  • @onecloudhelper

    @onecloudhelper

    2 жыл бұрын

    Awesome to listen that you created the ELB and VPC. Regarding your question on how we can SSH into the EC2 and RDS instances, the steps are the same as we do with the normal EC2 and RDS instances. 1) SSH into ElasticBeanstalk server hosted in public subnet - choose a key pair while the creation of the Elastic Beanstalk and using that key you can SSH into the server. kzread.info/dash/bejne/rGF5sbWSh7K6n9I.html 2) SSH into ElasticBeanstalk server hosted in private subnet - you will have to create a bastion host and follow the same step as mentioned in step 1. 3) SSH into RDS server hosted in public subnet - use the third-party tools such as Mysql Workbench for MySQL, Pgadmin for Postgres DB, and others. You can also use the command line to do so. 4) SSH into ElasticBeanstalk server hosted in private subnet - you have to create a bastion host in the same VPC in which the RDS server is created and use the commands to SSH into it. Hope this clears your query.

  • @ptljstn

    @ptljstn

    2 жыл бұрын

    @@onecloudhelper that makes a lot of sense!!! I'll give it a go and let you know how it goes for me. Thank you so much again, you are way too awesome!

  • @onecloudhelper

    @onecloudhelper

    2 жыл бұрын

    @@ptljstn thanks, always there to help.

  • @roy_3110
    @roy_3110 Жыл бұрын

    Thanks a lot do you have videos or doc. for cloud formation with Elastics bean stalk for a vpc environment

  • @onecloudhelper

    @onecloudhelper

    Жыл бұрын

    Thankyou, I have not started it yet, I am working on it to convert all the AWS resources and environments for automatic deployment using terraform. I will be including this also there and update you. Although I cannot provide a rigid deadline for this.

  • @gourinayak7514
    @gourinayak75142 жыл бұрын

    Hi, I am trying to access the elastic beanstalk URL privately that will be within AWS Account, not publicly. Can you please help me with the process? This video is great and I got an idea how does all these works, really helpful.

  • @onecloudhelper

    @onecloudhelper

    2 жыл бұрын

    Thank you Gouri, I am grateful to know that this helped.

  • @engnrankit
    @engnrankit2 жыл бұрын

    Why 2 public and private subnet? Can't we do with one

  • @onecloudhelper

    @onecloudhelper

    2 жыл бұрын

    As we are using the Loadbalancer to make the site hosted on a private subnet to the public and AWS Loadbalancer specifics to use at least 2 subnets for the High availability. But You can try with one also if it's permitted by AWS for now.

  • @user-vv2qi5uu6r
    @user-vv2qi5uu6r Жыл бұрын

    Your explanation ion up to the mark but your elaboration of NAT gateway is worng : A NAT gateway is a Network Address Translation (NAT) service. You can use a NAT gateway so that instances in a private subnet can connect to services outside your VPC but external services cannot initiate a connection with those instances. at 12:31 while creating the NAT gateway you explained about internet gateway i guess. correct me if i am worng.

  • @lucasludicsa5937

    @lucasludicsa5937

    Жыл бұрын

    I noticed the same and fortunately I found your comment, but I think it was a small mistake from him, sometimes when you're teaching you can easily confuse concepts. Altough NAT gateway enables you to connect private instances to public services within the vpc, the service itself must be placed on the public subnet, which he did, so that's fine, thanks :D

  • @onecloudhelper

    @onecloudhelper

    Жыл бұрын

    Thankyou for getting it down, yes you are right reagrding the NAT. Its used to connect instances in the private subnets to the outside internet.

  • @onecloudhelper

    @onecloudhelper

    Жыл бұрын

    Thanks for understanding, Lucas

  • @napoleonbonaparte1260
    @napoleonbonaparte12602 жыл бұрын

    hello OneCloudHelper after following your steps, I receive an error: Failed to request environment info from each instance. Reason: Service:AmazonCloudFormation, Message:Resource AWSEBAutoScalingGroup does not exist for stack Service:AmazonCloudFormation, Message:Resource AWSEBAutoScalingGroup does not exist for stack my Health is showing No Data. What am I doing wrong?

  • @napoleonbonaparte1260

    @napoleonbonaparte1260

    2 жыл бұрын

    my ALB is also not created. I follow but I'm receiving error. I spent 1 day finding solution and I trouble finding the answer.

  • @napoleonbonaparte1260

    @napoleonbonaparte1260

    2 жыл бұрын

    Cloudformation error: The following resource(s) failed to create: [AWSEBLoadBalancer]. ELB cannot be attached to multiple subnets in the same AZ. (Service: AmazonElasticLoadBalancing; Status Code: 409; Error Code: InvalidConfigurationRequest; Request ID:

  • @onecloudhelper

    @onecloudhelper

    2 жыл бұрын

    @@napoleonbonaparte1260 It seems that you are using Cloudformation for the deployment of the ElasticBeanstalk. The error seems to be related to the cloudformation code that you are trying to deploy the elasticbeanstalk. ELB cannot be attached to multiple subnets in the same AZ. This means you have to create multiple subnets in multiple AZ. and try again.

  • @napoleonbonaparte1260

    @napoleonbonaparte1260

    2 жыл бұрын

    @@onecloudhelper thank you very much my friend. It finally worked! I subscribe to your channel I hope you reach 100k subscribers.

  • @onecloudhelper

    @onecloudhelper

    2 жыл бұрын

    @@napoleonbonaparte1260 Thankyou. Always there to help.