In diesem Tutorial lernen Sie, wie Sie ein SSL-Zertifikat in AWS installieren (Amazon Web Services). Bei AWS installieren Sie ein Zertifikat nicht auf einem einzelnen Server, wie Sie es mit Apache oder Nginx tun würden. Stattdessen importieren Sie das Zertifikat einmal in einen Zertifikatspeicher und weisen es dann einem verwalteten Dienst zu (einem Load Balancer, CloudFront oder API Gateway), der die TLS-Verbindung für Sie beendet. Dieser Leitfaden behandelt AWS Certificate Manager (ACM), den älteren IAM-Zertifikatspeicher und Elastic Load Balancing (ELB).
Vor der Installation müssen Sie einen Certificate Signing Request (CSR) erstellen und ihn zur Genehmigung an die Zertifizierungsstelle senden. Falls Sie diesen Schritt noch nicht abgeschlossen haben, beginnen Sie mit dem ersten Teil dieses Tutorials. Wenn Sie bereits Ihre SSL-Zertifikatsdateien haben, springen Sie direkt zur Installationsanleitung weiter unten.
So erstellen Sie einen CSR-Code in AWS
Bei der Beantragung eines SSL-Zertifikats müssen Sie unbedingt den CSR-Code an Ihren SSL-Anbieter übermitteln, der auch als Zertifizierungsstelle bezeichnet wird. Der CSR enthält kodierte Informationen über Ihren Domainnamen und Ihre Organisation. Ohne diesen Code-Block können Sie kein signiertes SSL-Zertifikat erhalten. Sie haben zwei Möglichkeiten:
- Verwenden Sie unseren CSR-Generator, um den CSR automatisch zu erstellen.
- Erstellen Sie den CSR manuell. Die beste Option ist, den CSR auf demselben Server zu erstellen, auf dem Ihr SSL-Zertifikat später laufen wird. Wählen Sie das Tutorial für Ihre Plattform:
Wenn Sie nur über einen Load Balancer verfügen und keinen Ursprungs-Webserver haben, auf dem Sie den Befehl ausführen können, können Sie Ihren CSR und Ihren privaten Schlüssel mit dem OpenSSL-Tool erstellen:
openssl req -new -newkey rsa:2048 -nodes -keyout yoursite.key -out example.csr
Hinweis: Ersetzen Sie yoursite durch den Domainnamen, den Sie sichern möchten. Dieser Befehl schreibt außerdem Ihren privaten Schlüssel (yoursite.key); bewahren Sie ihn sicher auf, da Sie ihn später für den Import des Zertifikats benötigen.
Nachdem Sie den Befehl ausgeführt haben, schreibt OpenSSL den CSR in die Datei example.csr. Öffnen Sie diese Datei und kopieren Sie den gesamten Block, einschließlich der Zeilen —–BEGIN CERTIFICATE REQUEST—– und —–END CERTIFICATE REQUEST—–. Diesen Code fügen Sie später bei der Aktivierung Ihres SSL-Zertifikats ein.
Alle Zertifikatsdateien vorbereiten
Bevor Sie mit der Installation beginnen, stellen Sie sicher, dass Sie über alle notwendigen Zertifikatsdateien verfügen. Nachdem die Zertifizierungsstelle Ihr SSL-Zertifikat signiert hat, sendet sie die Installationsdateien an Ihr Postfach. Folgendes benötigen Sie:
- Ihre primäre Zertifikatsdatei, ausgestellt für den Domainnamen, den Sie sichern möchten.
- Das CA-Bundle (die Zwischenzertifikatskette) Ihrer Zertifizierungsstelle.
- Ihren privaten Schlüssel.
Ihr SSL-Zertifikat und das CA-Bundle sind in dem ZIP-Archiv enthalten, das Ihnen die CA gesendet hat. Der private Schlüssel ist derjenige, den Sie zusammen mit Ihrem CSR-Code erzeugt haben; er befindet sich an derselben Stelle, an der Sie den CSR erstellt haben.
Eine letzte Sache, die Sie prüfen sollten, ist das Format Ihrer Dateien. ACM und IAM akzeptieren nur PEM-kodierte Dateien. Stellen Sie also sicher, dass Ihr Zertifikat, die Kette und der private Schlüssel im PEM-Format vorliegen. PEM ist ein Textformat, das mehrere Dateierweiterungen tragen kann (.pem, .key, .cer, .crt und andere); eine PEM-Datei beginnt mit einer Zeile wie —–BEGIN CERTIFICATE—–. Der private Schlüssel muss unverschlüsselt sein: ACM lehnt einen Schlüssel ab, der durch ein Passwort oder eine Passphrase geschützt ist.
Falls Sie Ihre Dateien in einem anderen Format erhalten haben, z. B. PFX/PKCS#12, konvertieren Sie sie zunächst in PEM. Dies können Sie mit OpenSSL-Befehlen erledigen. Sobald Ihre Dateien im PEM-Format vorliegen, sind Sie bereit, Ihr Zertifikat zu installieren.
SSL-Zertifikat im AWS Certificate Manager (ACM) installieren
ACM ist der empfohlene Ort, um Zertifikate für AWS-verwaltete Dienste zu speichern. Sie können Ihr Drittanbieterzertifikat über die Konsole oder die CLI importieren.
Option A: Import über die ACM-Konsole
- Öffnen Sie die AWS-Konsole und wechseln Sie zu Certificate Manager. Vergewissern Sie sich, dass Sie sich in der richtigen Region befinden (oben rechts). Importieren Sie das Zertifikat in derselben Region wie den Dienst, der es verwenden wird. Für CloudFront verwenden Sie US East (N. Virginia), us-east-1.
- Wählen Sie Certificate importieren (Import certificate).
- Fügen Sie unter Certificate body Ihr primäres Zertifikat ein (den Block, der mit —–BEGIN CERTIFICATE—– beginnt).
- Fügen Sie unter Certificate private key Ihren unverschlüsselten privaten Schlüssel ein (den Block, der mit —–BEGIN PRIVATE KEY—– oder —–BEGIN RSA PRIVATE KEY—– beginnt).
- Fügen Sie unter Certificate chain Ihr CA-Bundle ein (die Zwischenzertifikate).
- Wählen Sie Weiter (Next), fügen Sie gegebenenfalls Tags hinzu und wählen Sie dann Importieren (Import).
Option B: Import über die AWS-CLI
Führen Sie den folgenden Befehl aus, um Ihr Zertifikat in ACM hochzuladen. Beachten Sie das Präfix fileb://: Es weist die CLI an, jede Datei als Rohbytes zu lesen, was ACM erwartet.
aws acm import-certificate
--certificate fileb://example.crt
--private-key fileb://example.key
--certificate-chain fileb://example-bundle.crt
Hinweis: Ersetzen Sie jeden example-Dateinamen durch den tatsächlichen Namen Ihrer Datei. Wenn der Import erfolgreich ist, gibt die CLI die ARN (Amazon Resource Name) des Zertifikats zurück. Diese Kennung benötigen Sie, um das Zertifikat einem Dienst zuzuweisen. Hier finden Sie die vollständige Liste der ACM-Befehle, um Ihr Zertifikat weiter zu verwalten.
Wichtige Einschränkungen:
- Importierte Zertifikate werden nicht automatisch verlängert. ACM verlängert automatisch nur die Zertifikate, die es selbst ausstellt. Sie sind dafür verantwortlich, das Ablaufdatum eines importierten Zertifikats im Auge zu behalten und ein neues zu importieren, bevor es abläuft (AWS empfiehlt mindestens 24 Stunden vor Ablauf). Ein erneuter Import in dasselbe ACM-Zertifikat bewahrt die bestehenden Dienstzuordnungen, sodass der Load Balancer oder die Distribution es ohne weitere Änderungen weiterverwendet.
- Die Region ist entscheidend. Ein ACM-Zertifikat ist regional gebunden. Importieren Sie es in derselben Region wie den Load Balancer oder Dienst, der es verwenden wird. CloudFront akzeptiert nur Zertifikate aus us-east-1.
SSL-Zertifikat in AWS IAM installieren (veraltet)
Der IAM-Zertifikatspeicher ist die ältere Methode, und AWS empfiehlt ACM für neue Bereitstellungen. Verwenden Sie IAM nur, wenn ein Dienst oder eine Region ACM nicht unterstützt oder wenn Sie speziell den IAM-Speicher benötigen (zum Beispiel bei bestimmten CloudFront-Konfigurationen, bei denen der Pfad mit /cloudfront/ beginnen muss). Laden Sie das Zertifikat mit folgendem Befehl in IAM hoch:
aws iam upload-server-certificate
--server-certificate-name certificate-name
--certificate-body file://example.crt
--certificate-chain file://example-bundle.crt
--private-key file://example.key
Ersetzen Sie die Werte wie unten gezeigt:
- –server-certificate-name: ein benutzerdefinierter Name, der leicht zu merken ist, zum Beispiel Ihr Domainname. Verwenden Sie nur alphanumerische Groß- und Kleinbuchstaben; Leerzeichen sind nicht erlaubt.
- –certificate-body: der Dateiname Ihres primären SSL-Zertifikats.
- –certificate-chain: der Dateiname Ihres CA-Bundles.
- –private-key: der Dateiname Ihres privaten Schlüssels.
Das Zertifikat, der private Schlüssel und die Kette müssen alle PEM-kodiert sein, und der private Schlüssel muss zum Zertifikat passen. Wenn der Upload erfolgreich ist, gibt die CLI die Metadaten des Serverzertifikats zurück, einschließlich Pfad, Name, ID, ARN, Upload-Datum und Ablaufdatum. Weitere Hilfe zur SSL-Verwaltung und Fehlerbehebung finden Sie im offiziellen Leitfaden von Amazon.
Das Zertifikat in ELB (Elastic Load Balancing) zuweisen
Der Import des Zertifikats in ACM oder IAM stellt es noch nicht bereit. Das Zertifikat wird erst aktiv, wenn Sie seine ARN einem Dienst zuweisen. Dieser Abschnitt setzt voraus, dass Sie das Zertifikat bereits importiert haben und HTTPS-Listener auf einem bestehenden Load Balancer erstellen oder aktualisieren möchten. Sie benötigen die ARN Ihres Zertifikats sowie den Namen oder die ARN des Load Balancers.
Classic Load Balancer
Verwenden Sie den folgenden Befehl, um einen HTTPS-Listener auf einem Classic Load Balancer zu erstellen und ihm das Zertifikat zuzuweisen:
aws elb create-load-balancer-listeners
--load-balancer-name my-load-balancer
--listeners "Protocol=HTTPS,LoadBalancerPort=443,InstanceProtocol=HTTP,InstancePort=80,SSLCertificateId=ARN"
Ersetzen Sie ARN durch die ARN Ihres Zertifikats aus ACM oder IAM. Wenn Sie bereits einen HTTPS-Listener haben und nur ein neues Zertifikat einsetzen möchten, verwenden Sie:
aws elb set-load-balancer-listener-ssl-certificate
--load-balancer-name my-load-balancer
--load-balancer-port 443
--ssl-certificate-id NewARN
Ersetzen Sie NewARN durch die ARN des neuen Zertifikats. Hier finden Sie die vollständige Liste der ELB-Befehle sowie den offiziellen Amazon-Leitfaden zu HTTPS-Listenern für Classic Load Balancer.
Application Load Balancer
Führen Sie den folgenden Befehl aus, um einen HTTPS-Listener auf einem Application Load Balancer zu erstellen. Der unten angegebene Wert –ssl-policy wählt eine Sicherheitsrichtlinie, die TLS 1.3 und TLS 1.2 unterstützt:
aws elbv2 create-listener
--load-balancer-arn my-load-balancer-arn
--protocol HTTPS
--port 443
--certificates CertificateArn=my-certificate-arn
--ssl-policy ELBSecurityPolicy-TLS13-1-2-2021-06
--default-actions Type=forward,TargetGroupArn=my-target-group-arn
Die Werte my-load-balancer-arn und my-target-group-arn finden Sie mit folgendem Befehl:
aws elbv2 describe-target-groups
Dies zeigt die relevanten Load Balancer und Zielgruppen in Ihrem Konto an. Um einem bestehenden HTTPS-Listener ein neues Zertifikat hinzuzufügen, verwenden Sie:
aws elbv2 modify-listener
--listener-arn my-https-listener-arn
--certificates CertificateArn=my-new-certificate-arn
Den Wert my-https-listener-arn finden Sie mit:
aws elbv2 describe-listeners
--load-balancer-arn my-load-balancer-arn
Sehen Sie sich die elbv2-Befehlsreferenz an, um Ihren Application Load Balancer weiter zu verwalten.
Testen Sie Ihre SSL-Installation
Rufen Sie die HTTPS-Version Ihrer Domain im Browser auf und prüfen Sie, ob das Schlosssymbol vorhanden ist. Klicken Sie darauf, um die Zertifikatsdetails einzusehen. Für einen tieferen Test nutzen Sie unseren SSL Checker: Er scannt Ihre Installation und erstellt sofort einen Bericht. Sie können das Zertifikat auch über die Befehlszeile bestätigen:
echo | openssl s_client -connect yourdomain.com:443 -servername yourdomain.com 2>/dev/null | openssl x509 -noout -issuer -dates
Dies gibt den Aussteller und die Gültigkeitsdaten des Zertifikats aus, das der Load Balancer bereitstellt. Wenn Sie ein neues Zertifikat importiert haben, aber immer noch das alte sehen, überprüfen Sie, ob der Listener auf die neue ARN verweist und ob Sie die richtige Region und den richtigen Endpunkt testen.
Häufig gestellte Fragen
Sie installieren es nicht auf einem einzelnen Server. Sie importieren das Zertifikat in den AWS Certificate Manager (ACM) und weisen die resultierende ARN dann einem verwalteten Dienst zu, der die TLS-Verbindung beendet, zum Beispiel einem Application- oder Classic Load Balancer, einer CloudFront-Distribution oder einer benutzerdefinierten Domain im API Gateway.
Nein. ACM verlängert automatisch nur die Zertifikate, die es selbst ausstellt. Ein importiertes Drittanbieterzertifikat muss vor Ablauf neu ausgestellt und erneut importiert werden. Ein erneuter Import in dasselbe ACM-Zertifikat bewahrt seine Dienstzuordnungen, sodass der Load Balancer das verlängerte Zertifikat ohne zusätzliche Änderungen weiterhin bereitstellt.
Verwenden Sie ACM. Der IAM-Zertifikatspeicher ist eine ältere Methode, die AWS hauptsächlich aus Gründen der Abwärtskompatibilität und für Fälle beibehält, die ACM nicht abdeckt. Für die meisten Konfigurationen, einschließlich Load Balancer und CloudFront, ist ACM die empfohlene Option.
Der häufigste Grund ist, dass der Schlüssel verschlüsselt ist. ACM akzeptiert nur einen unverschlüsselten, PEM-kodierten privaten Schlüssel, der zum Zertifikat passt. Entfernen Sie zunächst die Passphrase und importieren Sie ihn dann erneut. Stellen Sie sicher, dass alle drei Teile (Zertifikat, Kette und Schlüssel) PEM-kodiert sind.
Importieren Sie es in dieselbe Region wie den Load Balancer oder Dienst, der es verwenden wird, da ACM-Zertifikate regional gebunden sind. CloudFront ist die Ausnahme: Es akzeptiert nur Zertifikate, die in US East (N. Virginia), us-east-1 importiert wurden.
Sparen Sie 10% auf SSL-Zertifikate, wenn Sie noch heute bestellen!
Schnelle Ausstellung, starke Verschlüsselung, 99,99% Browser-Vertrauen, engagierter Support und 25-tägige Geld-zurück-Garantie. Gutscheincode: SAVE10


