A AWS surgiu com um novo serviço AWS Certificate Manager . Uma coisa que entendi da descrição é que, se usarmos esse serviço, não precisaremos mais pagar pelo certificado.
Eles estão fornecendo certificados para Elastic Load Balancer (ELB) e CloudFront, mas eu não encontrei EC2 em lugar nenhum.
Existe alguma maneira de usar o certificado com EC2?
amazon-web-services
ssl
amazon-ec2
Bhavik Joshi
fonte
fonte
Respostas:
Você não pode instalar os certificados criados pelo Amazon Certificate Manager (ACM) em recursos aos quais você tem acesso direto de baixo nível, como EC2 ou servidores fora da AWS, porque você não tem acesso às chaves privadas. Esses certificados só podem ser implantados em recursos gerenciados pela infraestrutura da AWS - ELB e CloudFront - porque a infraestrutura da AWS mantém as únicas cópias das chaves privadas dos certificados que gera e as mantém sob forte segurança com controles de acesso interno auditáveis .
Você teria que ter suas máquinas EC2 ouvindo atrás do CloudFront ou ELB (ou ambos, em cascata, também funcionariam) para usar esses certificados para conteúdo proveniente do EC2 ... porque você não pode instalar esses certificados diretamente em máquinas EC2 .
fonte
*.amazonaws.com
nome de host EC2 porque, sensatamente, a política Let's Encrypt não permite isso ... mas para um domínio que você controla que aponta para um IP de instância EC2, ou ELB, ou CloudFront, você definitivamente pode usar o Let's Encrypt, da mesma forma que em qualquer outro lugar.Não, você não pode usar o gerenciador de certificados aws para implantar certificados no EC2. Os certificados do gerenciador de certificados só podem ser implantados no cloudfront e no balanceador de carga elástico. Para usá-lo no ec2, você precisa colocar o elb em cima do ec2, de modo que a solicitação do cliente para o balanceador de carga seja protegida por https e do elb para o servidor da web ec2 em http.
fonte
Se você estiver usando o AWS ACM Cert para fins internos apenas, provavelmente poderá usar o AWS ACM Private CA para emitir os certificados (acho que você também pode usá-lo para fins de tráfego público / externo se sua CA raiz for publicamente confiável).
https://docs.aws.amazon.com/acm-pca/latest/userguide/PcaGetStarted.html
Durante a inicialização do aplicativo / EC2 / contêiner, defina uma etapa para exportar seu certificado / chave privada ACM CA privada emitido para o seu destino e comece a referi-lo para servir o tráfego.
https://docs.aws.amazon.com/cli/latest/reference/acm/export-certificate.html
Uma coisa boa é que você pode controlar quem pode chamar o recurso de exportação do certificado usando a função IAM, para que nem todos possam baixar a chave privada do certificado.
Uma desvantagem disso é que a CA privada é um serviço caro da AWS (US $ 400 / mês). https://aws.amazon.com/certificate-manager/pricing/
fonte
One downside with this is, private CA is expensive AWS service($400/month).
em negrito no topo, por exemplo, eu perderia se não tivesse lido essa resposta 2ª vezAdicionando aos comentários acima, você não pode usar o AWS Certificate Manager para isso, mas você pode adicionar um certificado Let's Encrypt para ec2 em um servidor Windows executando IIS e é muito fácil:
Associe um ip elástico à sua instância ec2.
Certifique-se de ter um domínio registrado. Você não pode usar nomes de tipo ec2----------.us-east-1.compute.amazonaws.com que vêm com sua instância.
Por meio das configurações de DNS do seu provedor de domínio, faça com que seu domínio aponte para o seu Elastic IP.
Conecte-se à sua instância ec2 e adicione seu nome de domínio às ligações do site.
Acesse https://github.com/PKISharp/win-acme/releases
Procure em recursos e use a versão mais recente (win-acme.v2.0.10.444.zip por exemplo). Esta é a única pasta de ativos de que você precisa.
Descompacte a pasta, abra o terminal como administrador e faça cd na pasta descompactada.
Execute wacs.exe e siga as instruções.
Certifique-se de que o grupo de segurança atribuído à sua instância permite o tráfego (pelo menos o seu próprio IP) através da porta HTTPS que você escolheu no IIS; esta é a porta 443 por padrão.
Achei os links abaixo úteis quando estava tentando descobrir isso. Aqui está um vídeo usando uma versão anterior, se você precisar de mais ajuda, mas é a mesma ideia.
https://www.youtube.com/watch?v=fq5OUOjumuM
Além disso, este artigo pode ser útil:
https://weblog.west-wind.com/posts/2016/feb/22/using-lets-encrypt-with-iis-on-windows
fonte