Enable HTTPS on AWS Elastic Beanstalk Application - amazon-web-services

Im trying to enable https on my Elastic Beanstalk application and it looks like I need to have a Load Balancer.
In my EB settings, I do have a autos calling balancer
In the docs show a different page on how to create a load balancer
This configuration setting doesn't show up anymore in the elastic beanstalk settings.
I've also looked into creating a load balancer from the EC2 instance page, and attached this load balancer to my EB, created a security group that supports http and https and haven't been able to get it to work
SO my question is, what is the correct way to enable https

Attached is our beanstalk configuration console, you should be able to turn on secure listener port as well.
Check with Section "To turn on the secure listener port" in AWS doc reference

Related

Is it possible to enable x-forward for in AWS Application Load Balancer

I have a ALB (Application Load Balancer) setup in my aws account. And it is being directed to some application running in fargate everything works fine.
But if I see the application logs, it shows the Load Balancer IP. But I need to get the Source IP. Is this something I have to configure at Load Balancer or from application level?
I read this aws documentation and it doesn't provide a comprehensive way of setting this X-Forward For feature.

AWS Load Balancer - Can't add https redirect/rules section not available

I am trying to add a simple HTTP to HTTPS redirect using AWS Application Load Balancer but it seems that all tutorials are out to date:
https://aws.amazon.com/premiumsupport/knowledge-center/elb-redirect-http-to-https-using-alb/
https://docs.amazonaws.cn/en_us/elasticbeanstalk/latest/dg/configuring-https-elb.html
I didn't see any option to add Rules under the load balance console, I also checked for this option on AWS CDK and haven't find anything.
The Load Balancer was created by an Elastic Beanstalk app, so I assume that it's an Application Load Balance.
I've seen a lot of tutorials and remind myself of doing same thing last year but now I don't see any option to set rules/redirects using the new AWS Console.
Redirecting EC2 Elastic Load Balancer from HTTP to HTTPS
This is the only option I am seeing available at the console under listener sections:
The Load Balancer was created by an Elastic Beanstalk app, so I assume that it's an Application Load Balance
Actually, it's a Classic load balancer. You can tell because the listener config specifies the load balancer point and the instance port. For an Application load balancer, the instance configuration is part of the target group.
So, turns out that ELB allows setting Load balance type only at the creation time. In my case, I created my stack as a single instance and add a load balance latter, so AWS automatically sets the default load balancer as the CLASSIC one instead of the application load balance (where we can use targets, rules, etc).
So I had to recreate my environment setting the correct load balancer type.

ELB to ALB Transition

I have a nodejs aws beanstalk environment which is currently using a elb load balancer configured with an ssl certificate for https request. I am trying to redirect http to https but this can only be done with an alb balancer. When creating this alb balancer I cannot attach my beanstalk instance to this alb but only to the previous elb attached to it? why?
To attach your Elastic BeanStalk instance to Application Load Balancer you need to update configurations from Elastic BeanStalk environment.
Below are the steps to update the Elastic BeanStalk environment:
Go to your Elastic Beanstalk environment.
On the left-hand side select "Configuration" option.
Select "Load Balancer" and choose Application Load Balancer, make sure in "Capacity" your "Environment type: Load Balancing, Auto-Scaling".
Under the Application Load Balancer, choose option Add Listener, after that provide Port, Protocol, and SSL certificate and make it enabled. So you will redirect your requests http to https.
Note: To provide an SSL certificate, you need to upload certificate contents in the ACM(AWS Certificate Manager).
Apply the configuration and you will observe that your instance gets added to your new Application Load Balancer deployed through Elastic BeanStalk environment.

AWS Elastic Beanstalk - add load balancer to app retroactively

I got a new domain and want to change my Elastic Beanstalk app name from domain-name.elasticbeanstalk.com to www.domain-name.com. When I created the EB app, I chose Single Instance.
I followed these instructions to set up the domain. I selected my load balancer, but my domain seems to map to another app I have. This seems to be because I only created one load balancer with another EB app, and not the current app I am trying to map the domain to.
My questions are:
1) How can I use the single load balancer (associated with a different app) to point the domain correctly? This is probably not possible.
2) How can I retroactively add a load balancer to an existing EB app? Or do I have to recreate the EB app and add the Load Balancer at that point?
From the two options you provided, I will suggest to use the second option.
EB = Elastic Beanstalk
ELB = Elastic Load Balancer
Follow the below steps.
Launch a ELB in AWS Console. If your EB instance is in a VPC then launch the ELB in the same VPC.
When you are launching the ELB attach the EB instance to that load balancer.
Then you can point your domain www.domain-name.com to that ELB using Route 53.
Or you can change your environment type from single instance to Load Balancing Environment. In this case, check below user Guide:
https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/using-features-managing-env-types.html?icmpid=docs_elasticbeanstalk_console

How do I set my Elastic Beanstalk application to use an Application Load Balancer?

I want to use websockets and SSL. Therefore I cannot use the default Elastic Beanstalk load balancer. I understand that Amazon has recently released an "Application Load Balancer" that supports websockets.
How do I configure my Elastic Beanstalk application to use this new type of load balancer?
Application Load Balancer can be used with Elastic Beanstalk now:
http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/environments-cfg-applicationloadbalancer.html
In order to used it your environment must meet the following requirements:
"must be in a default or custom VPC, and must have a service role with the standard set of permissions"
However when creating an environment via AWS console I haven't managed to find how to choose Application Load Balancer instead of a classic one. It has still the same option - "Load Balancer" to choose and when checked, it creates a classic Load Balancer. The only way I did managed to create an environment with Application Load Balancer is via aws eb cli as specified in the doc above:
$ eb create test-env --elb-type application
This will create Application Load Balancer. Then you will only need to configure it according your needs.