AWS ha creado un nuevo servicio AWS Certificate Manager . Una cosa que obtuve de la descripción es que si usamos este servicio, ya no tenemos que pagar por el certificado.
Están proporcionando certificados para Elastic Load Balancer (ELB) y CloudFront, pero no encontré EC2 en ninguna parte.
¿Hay alguna forma de utilizar el certificado con EC2?
amazon-web-services
ssl
amazon-ec2
Bhavik Joshi
fuente
fuente
Respuestas:
No puede instalar los certificados creados por Amazon Certificate Manager (ACM) en recursos a los que tiene acceso directo de bajo nivel, como EC2 o servidores fuera de AWS, porque no se le proporciona acceso a las claves privadas. Estos certificados solo se pueden implementar en recursos administrados por la infraestructura de AWS (ELB y CloudFront) porque la infraestructura de AWS contiene las únicas copias de las claves privadas para los certificados que genera y las mantiene bajo estricta seguridad con controles de acceso interno auditables .
Tendría que tener sus máquinas EC2 escuchando detrás de CloudFront o ELB (o ambos, en cascada, también funcionarían) para poder usar estos certificados para contenido proveniente de EC2 ... porque no puede instalar estos certificados directamente en máquinas EC2 .
fuente
*.amazonaws.com
nombre de host EC2 porque, con bastante sensatez, la política Let's Encrypt no lo permite ... pero para un dominio que usted controla que apunta a una IP de instancia EC2, o ELB, o CloudFront, definitivamente puedes usar Let's Encrypt, al igual que en cualquier otro lugar.No, no puede usar el administrador de certificados aws para implementar certificados en EC2. Los certificados del administrador de certificados solo se pueden implementar en el balanceador de carga elástico y frente a la nube. Para usarlo en ec2, debe colocar elb encima de ec2, de modo que la solicitud del cliente al equilibrador de carga esté protegida por https y de elb al servidor web ec2 estará en http.
fuente
Si está utilizando AWS ACM Cert solo para fines internos, entonces probablemente podría usar AWS ACM Private CA para emitir los certificados (creo que también puede usarlo para fines de tráfico público / externo si su CA raíz es una CA de confianza pública).
https://docs.aws.amazon.com/acm-pca/latest/userguide/PcaGetStarted.html
Durante el inicio de Application / EC2 / Container, establezca un paso para exportar su certificado / clave privada emitido por ACM Private CA a su destino y comience a referirlo para atender el tráfico.
https://docs.aws.amazon.com/cli/latest/reference/acm/export-certificate.html
Una cosa buena es que puede controlar quién puede llamar a la función de certificado de exportación mediante el rol de IAM, por lo que no todos pueden descargar la clave privada del certificado.
Una desventaja de esto es que la CA privada es un servicio de AWS costoso ($ 400 / mes). https://aws.amazon.com/certificate-manager/pricing/
fuente
One downside with this is, private CA is expensive AWS service($400/month).
en la parte superior, ya que, por ejemplo, me lo perdería si no leyera esta respuesta por segunda vezAdemás de los comentarios anteriores, no puede usar AWS Certificate Manager para esto, pero puede agregar un certificado Let's Encrypt a ec2 en un servidor Windows que ejecute IIS y es bastante fácil:
Asocie una ip elástica con su instancia ec2.
Asegúrate de tener un dominio registrado. No puede usar los nombres de tipo ec2----------.us-east-1.compute.amazonaws.com que vienen con su instancia.
A través de la configuración de DNS de su proveedor de dominio, haga que su dominio apunte a su IP elástica.
Conéctese a su instancia ec2 y agregue su nombre de dominio a los enlaces del sitio.
Vaya a https://github.com/PKISharp/win-acme/releases
Busque en los activos y use la última versión (win-acme.v2.0.10.444.zip, por ejemplo). Esta es la única carpeta de activos que necesita.
Descomprima la carpeta, abra el terminal como administrador y cd en la carpeta descomprimida.
Ejecute wacs.exe y siga las instrucciones.
Asegúrese de que el grupo de seguridad asignado a su instancia permita el tráfico (al menos su propia IP) a través del puerto HTTPS que eligió en IIS; este es el puerto 443 por defecto.
Encontré útiles los enlaces a continuación cuando estaba resolviendo esto. Aquí hay un video que usa una versión anterior si necesita más ayuda, pero es la misma idea.
https://www.youtube.com/watch?v=fq5OUOjumuM
Además, este artículo puede ser útil:
https://weblog.west-wind.com/posts/2016/feb/22/using-lets-encrypt-with-iis-on-windows
fuente