I'm new with AWS and facing some confusion with ACM SSL certificate installation to an EC2 instance.

Is it possible to install the certificate without using ELB or Cloudfront. I don't need load balancer because the app is running on a single instance.

Do I have any other option to install the AWS SSL cert? If load balaner is the only option, is it possible for a single instance only?

Thanks in advance for your answers

  • You appear to be asking about certificates from Amazon Certificate Manager, without actually mentioning it. Is that what you are referring to? – Michael - sqlbot Dec 30 '18 at 18:27

Certificates obtained through Amazon Certificate Manager (ACM) can only be installed on Elastic Load Balancers, CloudFront, API Gateway, and other AWS services. They cannot be exported or installed directly onto EC2 instances.

If you want to install an SSL certificate directly on your EC2 instance, you cannot use ACM. Instead, you will need to obtain an SSL certificate through a third-party (such as Lets Encrypt, GoDaddy, ec.) and install it following the instructions for your web server.

It is 100% valid to put an ELB in front of a single EC2 instance, especially for the purpose of letting the ELB manage the SSL certificate.

Other benefits of using ELB in front of your EC2 instance:

  • You'll gain the protection of AWS Shield (which provides some levels of DDoS protection),
  • You can replace the EC2 instance or scale out more easily if needed in the future,
  • The ELB will handle the encryption/decryption of the HTTPS connections (freeing your EC2 instance's CPU to do other work)
| improve this answer | |
  • "It is 100% valid to put an ELB in front of a single EC2 instance ..." Yeah but how do you do that, with a long live EC2 instance? All the examples I see ELB are attached to ASG target groups. – spinkus Oct 20 '19 at 22:42

You will have to install the certificate for any server software that you are running on your instance. e.g apache, nginx, tomcat, nodejs. Each of these have their own mechanism for using the certificates. Read their documentation.

Also if you have setup DNS resolution for your instance public ip (make sure you are using elastic IP) then you can use certbot from let's encrypt to automate this process. check https://certbot.eff.org/. It supports multiple environments out of the box. and its free ssl certificates.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.