AWS hat einen neuen Service AWS Certificate Manager entwickelt . Eine Sache, die ich aus der Beschreibung erhalten habe, ist, dass wir das Zertifikat nicht mehr bezahlen müssen, wenn wir diesen Service nutzen.
Sie stellen Zertifikate für Elastic Load Balancer (ELB) und CloudFront bereit, aber ich habe EC2 nirgendwo gefunden.
Gibt es eine Möglichkeit, das Zertifikat mit EC2 zu verwenden?
amazon-web-services
ssl
amazon-ec2
Bhavik Joshi
quelle
quelle
Antworten:
Sie können die von Amazon Certificate Manager (ACM) erstellten Zertifikate nicht auf Ressourcen installieren, auf die Sie direkten Zugriff auf niedriger Ebene haben, z. B. EC2 oder Server außerhalb von AWS, da Sie keinen Zugriff auf die privaten Schlüssel erhalten. Diese Zertifikate können nur auf Ressourcen bereitgestellt werden, die von der AWS-Infrastruktur verwaltet werden - ELB und CloudFront -, da die AWS-Infrastruktur die einzigen Kopien der privaten Schlüssel für die von ihr generierten Zertifikate enthält und diese mit überprüfbaren internen Zugriffskontrollen streng überwacht .
Sie müssten Ihre EC2-Maschinen hinter CloudFront oder ELB abhören lassen (oder beide, kaskadiert, würden auch funktionieren), um diese Zertifikate für Inhalte zu verwenden, die von EC2 stammen ... da Sie diese Zertifikate nicht direkt auf EC2-Maschinen installieren können .
quelle
*.amazonaws.com
Hostnamen zu erhalten, da die Let's Encrypt-Richtlinie dies vernünftigerweise nicht zulässt. Für eine Domäne, die Sie steuern und die auf eine EC2-Instanz-IP, ELB oder CloudFront verweist, Sie können Let's Encrypt auf jeden Fall verwenden, genau wie überall sonst.Nein, Sie können den aws-Zertifikatmanager nicht zum Bereitstellen von Zertifikaten auf EC2 verwenden. Die Zertifikate des Zertifikatmanagers können nur für Cloudfront und Elastic Load Balancer bereitgestellt werden. Um es auf ec2 zu verwenden, müssen Sie elb auf ec2 setzen, damit die Anforderung vom Client an den Load Balancer https-geschützt ist und von elb an den ec2-Webserver auf http.
quelle
Wenn Sie AWS ACM Cert nur für interne Zwecke verwenden, können Sie wahrscheinlich AWS ACM Private CA verwenden, um die Zertifikate auszustellen (ich denke, Sie können es auch für öffentliche / externe Datenverkehrszwecke verwenden, wenn Ihre Stammzertifizierungsstelle eine öffentlich vertrauenswürdige Zertifizierungsstelle ist).
https://docs.aws.amazon.com/acm-pca/latest/userguide/PcaGetStarted.html
Legen Sie während des Starts von Application / EC2 / Container einen Schritt fest, um Ihren von ACM Private CA ausgestellten Cert / Private Key an Ihr Ziel zu exportieren und diesen für die Bereitstellung des Datenverkehrs zu verwenden.
https://docs.aws.amazon.com/cli/latest/reference/acm/export-certificate.html
Eine gute Sache ist, dass Sie mithilfe der IAM-Rolle steuern können, wer die Exportzertifizierungsfunktion aufrufen kann, sodass nicht jeder den privaten Schlüssel des Zertifikats herunterladen kann.
Ein Nachteil dabei ist, dass private Zertifizierungsstellen ein teurer AWS-Service sind (400 USD / Monat). https://aws.amazon.com/certificate-manager/pricing/
quelle
One downside with this is, private CA is expensive AWS service($400/month).
oben schreiben, zum Beispiel würde ich es vermissen, wenn ich diese Antwort nicht zum zweiten Mal lesen würdeWenn Sie die obigen Kommentare hinzufügen, können Sie den AWS Certificate Manager nicht dafür verwenden, aber Sie können ec2 auf einem Windows-Server mit IIS ein Let's Encrypt-Zertifikat hinzufügen, und das ist ganz einfach:
Verknüpfen Sie eine elastische IP mit Ihrer ec2-Instanz.
Stellen Sie sicher, dass Sie eine registrierte Domain haben. Sie können die mit Ihrer Instanz gelieferten Typnamen ec2----------.us-east-1.compute.amazonaws.com nicht verwenden.
Lassen Sie Ihre Domain über die DNS-Einstellungen Ihres Domain-Providers auf Ihre elastische IP verweisen.
Stellen Sie eine Verbindung zu Ihrer ec2-Instanz her und fügen Sie Ihren Domainnamen zu den Site-Bindungen hinzu.
Gehen Sie zu https://github.com/PKISharp/win-acme/releases
Schauen Sie unter Assets nach und verwenden Sie die neueste Version (z. B. win-acme.v2.0.10.444.zip). Dies ist der einzige Assets-Ordner, den Sie benötigen.
Entpacken Sie den Ordner, öffnen Sie das Terminal als Administrator und legen Sie die CD in den entpackten Ordner.
Führen Sie wacs.exe aus und befolgen Sie die Anweisungen.
Stellen Sie sicher, dass die Ihrer Instanz zugewiesene Sicherheitsgruppe Datenverkehr (mindestens Ihre eigene IP) über den in IIS ausgewählten HTTPS-Port zulässt. Dies ist standardmäßig Port 443.
Ich fand die folgenden Links hilfreich, als ich das herausfand. Hier ist ein Video mit einer früheren Version, wenn Sie weitere Hilfe benötigen, aber es ist die gleiche Idee.
https://www.youtube.com/watch?v=fq5OUOjumuM
Auch dieser Artikel könnte hilfreich sein:
https://weblog.west-wind.com/posts/2016/feb/22/using-lets-encrypt-with-iis-on-windows
quelle