2016-04-15 3 views
1

Ich möchte einen Server für eine Anwendung ausführen, die ich habe.AWS EC2 zahlen pro Stunde mit 100% Verfügbarkeit

Ich bin ein kompletter Anfänger mit AWS, also ertragen Sie mit mir.

Es werden etwa 50 Benutzer (alle aus derselben Zeitzone) auf den Server zugreifen und ich möchte eine Verfügbarkeit von nahezu 100% haben.

Die Anwendung, die ich habe, benötigt 2 Prozessoren und 2 GB RAM.

Ich könnte für eine Maschine 24/7 oder sogar nur 18 Stunden pro Tag bezahlen, vorausgesetzt, ich schalte es nachts aus, aber ich werde einige Tage haben, an denen der Server überhaupt nicht benutzt wird.

Ich habe mich gefragt, ob das Folgende möglich ist: wenn amazon erkennt, dass jemand etwas von meinem Server anfordert, schaltet es es in Echtzeit ein und leitet dann die Anfrage an meinen Server weiter. Nach etwa 5 Minuten ohne Aktivität wird mein Server ausgeschaltet. So kann ich nur stundenweise bezahlen, wenn es Verkehr gibt.

Ist das möglich? Wie haben Menschen ähnliche Probleme gelöst?

+0

Sie kennen die "reservierte Instanz", ja? Viele AWS-Neulinge verpassen die Tatsache, dass Sie für 1-3 Jahre im Voraus zahlen können und (amortisiert) einen ernsthaften Rabatt auf die regulären "On-Demand" -Preise bekommen. Ich vermute, wenn ich du wäre und Geld bei AWS sparen wollte, wäre ich eher geneigt herauszufinden, wie man es auf eine t2.small oder sogar t2.nano Instanz bringt (oder es mit Lambda und DynamoDB/S3 implementieren kann) , sogar) als versuchen, komplizierte Schemata herauszufinden, die eine Maschine auf Nachfrage bringen. – timday

+1

Ich habe diese Option nicht. Ich habe die Anwendung nicht entwickelt, die Anforderungen stammen vom Anbieter. Aber ich bin mir der reservierten Option bewusst. Vielen Dank – deller

Antwort

5

Nein, das ist nicht möglich. In AWS ist nichts eingebaut, um Verkehr zu erkennen und einen EC2-Server zu starten, wie Sie es vorschlagen. Außerdem beträgt die Startzeit auf einem EC2-Server mindestens ein paar Minuten, so dass diese ersten eingehenden Anfragen sehr lange warten müssen.

Möglicherweise möchten Sie mehrere kleine Server anstelle eines einzigen größeren Servers ausführen. AWS bietet die Möglichkeit, die Last auf mehrere Server zu verteilen und Server basierend auf Datenverkehr aus dem Pool hinzuzufügen/zu entfernen. Sie können so wenig wie einen Server ausführen, wenn kein Datenverkehr vorhanden ist, und automatisch mehr Server erstellen, wenn die Last zunimmt. Schauen Sie sich hierzu den Dienst AWS Elastic Beanstalk an.

Wenn Sie eine wirklich "serverlose" Umgebung ausführen möchten, in der Sie nur Rechenvorgänge in Millisekunden anstelle von Servern pro Stunde bezahlen, können Sie mit AWS Lambda arbeiten. Wenn Sie Ihr System so entwerfen können, dass es auf Lambda läuft, können Sie fast garantiert Kosten sparen, aber es kann eine echte Herausforderung sein, ein bestehendes System in diese Art von Architektur zu konvertieren.

Wenn Sie außerhalb von AWS suchen möchten, finden Sie unter Umständen etwas mehr nach dem, was Sie mit Google App Engine beschreiben. Herokus free tier funktioniert auch ähnlich wie Ihre Beschreibung, aber sobald Sie die freie Stufe verlassen haben, müssen Sie auf immer laufende Instanzen aktualisieren.