1

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
  • Yes. Thank you, I already updated my question. – kevenlolo Dec 31 '18 at 6:27
3

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)
  • Thanks Matt. I will go with ELB. – kevenlolo Dec 31 '18 at 6:28
1

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.

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

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