Verwendung von SSL in mehreren Domänen, automatische Skalierung des Elastic Beanstalk-Setups


7

Wir erstellen ein Content Management System für unser Unternehmen. Es ist wichtig, dass dieses CMS dynamische Domänennamen auf einer dynamischen Anzahl von Servern unterstützt. Nach vielen Stunden der Recherche hatten wir das Gefühl, dass die elastische Bohnenstange von Amazon der richtige Weg ist. Eine Sache, die wir auch benötigen, ist die Fähigkeit, SSL für die mit unserem System verbundenen Domänen dynamisch zu aktivieren.

In unserem System können wir also eine "Site" erstellen, die einer Domain zugeordnet wird. Wenn die Site erstellt wird, sollten wir auch die Möglichkeit haben zu wählen, ob die Domain über SSL / TLS gehostet wird. Wir planen, das System mit einem White-Label zu versehen, und gehen davon aus, dass eine große Anzahl von Domänen damit verbunden sein wird.

Ich habe die verschiedenen Möglichkeiten untersucht, um SSL auf den Servern (oder dem Load Balancer) einzurichten und zu ändern, welche Domänen im laufenden Betrieb gesichert sind. Hier bin ich:

  • Verwenden des Zertifikatmanagers von Amazon : Dies ist der am meisten gewünschte Weg, dies zu tun. Es ist in AWS integriert und sehr einfach zu bedienen. Es gibt jedoch einige schwächende Einschränkungen: 1. Sie müssen jede Domain jedes Mal per E-Mail überprüfen, wenn Sie ein neues Zertifikat anfordern. Keine große Sache, außer dass 2. Es können keine Zertifikate auf EC2-Instanzen angewendet werden, nur Load Balancer und Load Balancer können nur einem Zertifikat zugewiesen werden. Dies bedeutet, dass Sie jede Domain erneut überprüfen müssen, wenn eine andere Domain gesichert werden soll. Nicht gut.
  • Verwenden von Let's Encrypt auf dem Load Balancer : Dies wäre der nächstbeste Weg (den ich sehen kann), um unsere Websites zu sichern. Wann immer eine neue Site gesichert werden muss, fordern wir ein neues Zertifikat für alle Domänen an, die SSL benötigen. Sobald das Zertifikat erstellt wurde, senden wir es an IAM und weisen EBS an, den Load Balancer mit dem neuen Zertifikat zu verknüpfen. Das einzige Problem, das ich dabei sehe, ist, dass LetsEncrypt ihre Zertifikate auf 100 Domänen beschränkt, ebenso wie der nicht freie, aber relativ kostengünstige SSL-Anbieter SSLMate. Könnte vorerst funktionieren, aber es skaliert nicht. Gibt es einen automatisierten SSL-Anbieter, der die Anzahl der Domänen auf dem Zertifikat nicht begrenzt?
  • Verwenden von Passthrough-SSL : Mit Amazon Elastic Beanstalk können Sie es so einrichten, dass der Load Balancer den verschlüsselten Datenverkehr direkt an die EC2-Instanzen weiterleitet. Anschließend können Sie den EC2-Instanzen erlauben, die Zertifikate zu verarbeiten. Ich kann dann LetsEncrypt verwenden und jeder Domain ein individuelles Zertifikat zuweisen. Bei der Prüfung der automatischen Skalierung ist ein Problem aufgetreten: Wir müssen die Zertifikate instanzübergreifend duplizieren. Meine Lösung wäre, die Zertifikate in einem gesicherten S3-Bucket zu speichern und dann auf allen EC2-Instanzen einen Cron laufen zu lassen, um die neuen / aktualisierten Zertifikate abzurufen.

Gibt es Bedenken hinsichtlich der letzten Idee? Gibt es eine bessere Lösung für das, was ich versuche? Vermisse ich etwas Eine Sorge? Oder vielleicht eine super einfache Lösung für mein Problem?

Beachten Sie, dass ich Docker verwende, damit ich auf dem Server alles einrichten kann, was ich brauche.


Wo bist du dazu gekommen? Ich schaue mir das auch an, lässt die Verschlüsselung + ELB realisierbar erscheinen und wenn das Limit von 100 Namen erreicht wird, würde das Erstellen einer weiteren ELB möglicherweise das lösen, was ich denke?
Ashtonian

Bevor ich das Projekt abschloss, wechselte ich zu einem neuen Job. Bevor ich jedoch ging, testete ich die Möglichkeit, Caddy Server als Load Balancer zu verwenden und die "On Demand TLS" -Funktion von Caddy zu verwenden.
Patrick Stephan

Antworten:


0

Elastic Load Balancer kann jetzt bis zu 26 Zertifikate haben (wie hier gezeigt ).

Wenn Sie mehr als 26 Zertifikate pro ELB benötigen und AWS-Services verwenden möchten, können Sie eine CloudFront-Distribution pro Zertifikat / Domäne verwenden.

Sie können auch die CNAME-basierte DNS-Validierung in CertificateManager verwenden, um die Zertifikate ohne E-Mail-Validierung automatisch zu erneuern.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.