AWS CloudFront unterstützt nun Multi-Site Hosting

Wurde bisher AWS CloudFront gegen einen Elastic Load Balancer als Origin konnektiert, ging der ursprüngliche Hostname verloren und beim Multi-Domain-Webserver kam als Host-Header lediglich der Name des ELB als Host-Header an.
Siehe auch hier: http://www.aws-blog.de/2013/07/01/cloudfront-elb-und-virtuelle-webserver/

Mit dem heute veröffentlichen neuen CloudFront Release scheint dieses Problem nun endlich gelöst zu sein:

“Multi-Site Hosting – CloudFront can now be configured to pass the Host header along to your origin server so that you can host multiple web sites and have CloudFront cache responses that are specific to each site.”

Mehr Infos dazu findet man hier: http://aws.amazon.com/blogs/aws/enhanced-cloudfront-customization/

AWS EC2 Performance Probleme und deren Lösung

Datadog beschreibt die wichtigsten AWS EC2 Performance-ProblemeDie Firma Datadog hat ein White Paper zu den Top5-Performance-Problemen bei AWS EC2 veröffentlicht. Das 24-seitige PDF-Dokument erklärt anschaulich, wie man die wichtigsten Probleme erkennt, warum die Probleme auftreten und wie man sie beseitigt.

Das PDF von Datadog finden Sie hier: AWS EC2  Performance Probleme und deren Lösung.

Mehrere SSL-Zertifikate auf einem Elastic Load Balancer (ELB) ?

Viele unserer Kunden nutzen die AWS Elastic Load Balancer. Auf einem ELB kann man seit längerem  auch SSL terminieren, so dass einem die lästige SSL Konfiguration auf dem IIS oder Apache erspart bleibt. Allerdings kann man auf einem ELB nur ein SSL-Zertifkat hinterlegen, das wirft hin und wieder Fragen bzw. Probleme auf …

Folgende Lösungsmöglichkeiten bieten sich da an:

  • Verwendung eines Wildcard-Zertifikats wie z.B. *.kunde.de, damit kann man dann diese Use-Cases abbilden:
    • shop.kunde.de
    • www.kunde.de
  • Verwendung eines SAN-SSL-Zertifikates:
    • In einem SAN Zertifikat können bis zu 25 völlig unterschiedliche Domänennamen implementiert werden (z.B. www.kunde.de, www.kunde.com, www.kunde.org, shop.kunde.org)
    • Diese werden auch von ELBs unterstützt: siehe hierzu auch
  • Verwendung mehrerer ELBs
    • Erstellen Sie einfach mehrere ELBs (jeder mit einem SSL-Zertifikat) und konnektieren Sie dieses gegen die vorhandenen EC2-Instanzen.

Elastic Load Balancer und Session-Handling

Keine Web-Applikation kommt eigentlich ohne ein Session-Management aus. Um die einzelnen Requests einem User zu zuordnen übermittelt der Applikationsserver dem Anwender beim ersten Zugriff oder besser nach dem Login eine SessionID, die dann in Form eines Cookies oder einer URL-Variable bei jedem Request an den Applikationsserver übergeben wird. Der Applikationsserver hat dann i.d.R. entsprechende Session-Variablen in seinem RAM, die er aufgrund der übermittelten SessionID dem User zuordnen kann.

Wenn man aber nun für eine bessere Skalierung den Amazon AWS Elastic Load Balancer vor seine Applikation-Server setzen möchte, dann verteilt der Load Balancer die Requests zunächst unabhängig von der SessionID auf einen beliebigen Server, wo dann ggf. die entsprechende Session des Users bei dem zweiten Request gar nicht existiert.

Wie kann man dieses Problem lösen?

mehr … »