Do I need an SSL certificate on my EC2 server even when I have a load balancer?

You can use a Let's Encrypt certificate, or any other certificate, directly on your EC2 instance. You can't use an ACM certificate though. This would avoid the need for a load balancer. I have a short tutorial about that here.

To answer your questions

  1. I don't think an ALB requires multiple EC2 instances, one should be fine.

  2. If set up correctly you can terminate HTTPS on the load balancer and the browser will still show the connection as secure. This is generally appropriate for most workloads as the AWS internal network is considered trust and secure.

  3. You could do end to end encryption, using any other type of certificate.

  4. You'd have to check if self signed certificates work with ALB. Given Let's Encrypt is free and easy I don't see why you'd bother.

  5. No, they're different types of certificate.


To directly answer your question: No, you don't need a SSL certificate on the EC2 server when your Load Balancer terminates SSL. You can though and it can be any valid SSL certificate, even a self-signed one. ALB will accept that.

And no, you don't need two EC2 instances behind an ALB, one EC2 will do just fine.

And no, you can't use SSH certificate as a HTTP SSL certificate, they've got different structure.

Hope that helps :)