Zum Zwecke hoher Verfügbarkeit umfasst ein in der Elastic Cloud gehostetes Live-System mehrere identische Live-Server. Diese Live-Server liefern dieselben Inhalte aus. Sie befinden sich hinter einem Load-Balancer, der als zentraler Anlaufpunkt für HTTP-Requests dient, und die Anfragen gleichmäßig auf die Live-Server verteilt. Fällt ein Live-Server aus, wird der Load-Balancer durch ein Überwachungssystem darüber informiert, um an diesen Server keine Anfragen mehr weiterzuleiten. Eine neue EC2-Instanz wird als Ersatz für die ausgefallene angelegt.
In der Regel wird in der Cloud je Kunde nicht nur eine Domain oder Subdomain gehostet, sondern mehrere (z.B. kunde.de und www.kunde.de). Alle HTTP-Anfragen über seine Domains und Subdomains sollen über den Load-Balancer bedient werden.
Eine Hauptdomain muss gemäß DENIC-Richtlinien im DNS an eine IP-Adresse gebunden werden (dies geschieht mit einem A-Record). Da der Load-Balancer - im Gegensatz zu den EC2-Instanzen - jedoch keine feste, sondern eine sich gelegentlich ändernde IP-Adresse hat, wird die Hauptdomain an eine EC2-Instanz gebunden. Diese leitet alle Anfragen an eine Subdomain (beispielsweise www) weiter. Diese Subdomain wiederum ist mittels CNAME-Record im DNS an den Hostnamen des Load-Balancers gebunden. Der Hostname des Load-Balancers ändert sich nicht.
Weitere Subdomains können ebenfalls über einen CNAME-Eintrag an den Load-Balancer gebunden werden.
Nein, weitere Hauptdomains werden auf dieselbe Instanz wie die erste Hauptdomain gelegt. Über Umleitungen oder VirtualHost-Einstellungen im Webserver wird dafür gesorgt, dass die richtige Rails-Anwendung die jeweilige Anfrage beantwortet.
In diesem Fall wird eine neue Instanz angelegt, die dieselbe IP-Adresse wie die vorige Instanz erhält.
Ja, bis zu einer definierten Obergrenze von Instanzen.
Im Normalfall dauert es ca. 20 bis 45 Minuten, bis eine EC2-Instanz hochgefahren ist. Sie wird rechtzeitig vor der Vollauslastung angelegt, so dass ein erhöhtes Anfrageaufkommen bewältigt werden kann.