Erste Erfahrungen mit Amazon EC2

Erste Erfahrungen mit Amazon EC2

Nachdem ich mich kürzlich etwas näher mit den Grundlagen von traditionellem und Cloud Hosting beschäftigt habe, geht es in diesem Artikel um meine ersten, praktischen Erfahrungen mit Amazon EC2 – also der Amazon Elastic Compute Cloud.

Amazon bietet für Neukunden ein kostenloses Kontingent verschiedener Services für die Dauer eines Jahres an. Und genau das will ich dafür nutzen.

Der Erstkontakt

Bevor man sich ins Vergnügen stürzt, gilt es in der Regel, sich  in das Thema einzulesen und sich einen Überblick zu verschaffen. Natürlich bietet Amazon selbst umfangreiche Infos zu den Amazon Web Services, von denen EC2 nur eines dieser Services darstellt.

AWS | Amazon Elastic Computing Cloud (EC2)

In YouTube findet man einen eigenen AWS Webinar Channel mit unzähligen Videos zur Anwendung der Amazon Web Services.

Für einen ersten Start empfehle ich folgendes Webinar:

Das Video zeigt unter anderem, wie man sich bei den Cloud Services registriert und eine erste, kostenlose EC2 Instanz aufsetzt.

Es kann natürlich auch nicht schaden, weitere Quellen anzuzapfen, um auch Meinungen von Außenstehenden einzuholen.

Amazon Web Services vs. Microsoft Windows Azure

Auf geht’s – Account erstellen

Zuerst muss man sich für die Cloud Services registrieren und einen Account erstellen. Dazu einfach auf der EC2 Seite den Button Amazon EC2 gratis testen anklicken.

Im obigen Video empfiehlt der Vortragende, für diesen Account nicht ein bereits bestehendes Amazon Konto zu verwenden.

Amamzon EC2 - das kostenlose Startangebot
Amamzon EC2 – das kostenlose Startangebot

Zum Bestätigen des Accounts muss man auch eine Telefonnummer angeben, unter der man umgehend angerufen wird. Man „spricht“ mit einem netten Bot, der einen auffordert, die angegebene PIN einzugeben. Danach ist der Account erstellt und man muss als nächstes ein Support-Programm auswählen. Kostenlos / Basic ist vorselektiert und nach Bestätigung wird man mit dem Hinweis auf Einsteiger-Tutorials willkommen geheißen.

Erstellen einer Instanz

Amazon nennt eine virtuelle Maschine in ihrer Cloud „Instanz“ und alles beginnt mit dem Starten einer solchen Instanz.

Wahl der Region

Auf den ersten Blick verwirrend erscheint mir, dass in meinem Dashboard die Region US East (N. Virginia) ausgewählt ist. Als Europäer sollte man seine Instanz in der Region Irland oder Frankfurt auswählen.

Ein kurzer Blick in die AWS FAQ bestätigt, dass man den kostenlosen Service (zumindest zum Zeitpunkt des Schreibens dieses Beitrages) in jeder beliebigen Region nutzen kann. Umstellen kann man die Region im Dashboard ganz rechts oben.

Auswahl der Region
Auswahl der Region

Empfohlen wird, eine Region nahe der eigenen Kunden zu wählen, da dies in der Regel auch die schnellste Verbindung bedeutet.

Die Preise für Services unterscheiden sich teilweise zwischen den Regionen, allerdings nur marginal. Aktuell würde eine EC2 t2.micro Instanz  für Frankfurt 10.98$ kosten, für Irland 10.25$. Über den Simple Monthly Calculator kann man such im Voraus berechnen lassen, welche Kosten am Ende anfallen werden. Etwas damit herumzuspielen, kann nicht schaden, um ein gewisses Gefühl für die Kosten zu bekommen.

Nicht alle Services werden in allen Regionen (zeitgleich) ausgerollt, was ebenfalls ein Entscheidungskriterium für die Auswahl sein kann. Eine Übersicht über die verfügbaren Services per Region sind in der Tabelle der Regionen zu finden. Ein Blick in diese Tabelle lässt unter anderem erkennen, wie viele unterschiedliche Services Amazon anbietet (und wie viel man in dem Zusammenhang „behirnen“ muss, um diese auch optimal nutzen zu können).

Regionen und Verfügbarkeitszonen
Regionen und Verfügbarkeitszonen

Jede Region besteht aus zumindest zwei voneinander unabhängigen Rechenzentren, sogenannten Availability Zones. Um eine maximale Ausfallsicherheit einer Applikation sicherzustellen, sollte man das beachten und seine Instanzen entsprechend verteilen.

Amazon Machine Image (AMI)

Ein Amazon Machine Image ist ein Template zum Erstellen einer virtuellen Maschine bzw. Instanz, welches bereits eine vorgefertigte Software-Konfiguration (Betriebssystem, laufende Applikationen, …) enthält.

Grundsätzlich wird zwischen zwei AMI Typen unterschieden – Amazon EBS backed und Instance Store backed. Sehr wichtig dabei zu wissen: Instance Store backed bedeutet, dass alle Daten inklusive zusätzlich installierter Applikationen verloren sind, wenn man eine Instanz stoppt (oder wenn sie sich aus irgendeinem Grund verabschiedet).

Wenn man im Gegensatz dazu eine EBS backed Instanz stoppt, so bleiben die Daten erhalten.

Amazon Linux oder Ubuntu?

Der eXperinox-Chat läuft aktuell unter Ubuntu (diesen will ich in einem erweiterten Cloud-Test dann am Ende zum Laufen bringen). Grundsätzlich wäre es deshalb naheliegend, auch in der Cloud Ubuntu zu verwenden.

Allerdings bietet das Amazon Linux auch den ein oder anderen Vorteil und kostet nicht extra, wenn man Amazon EC2 nutzt. Ich entscheide mich für Amazon Linux, denn ich will die Cloud Services so gut als möglich kennenlernen. Und damit auch irgendwann die Besonderheiten des Amazon-Linux.

Jetzt aber los!

Nach der Theorie nun in die Praxis: das Erstellen einer Linux Instanz.

In der EC2 Management Console findet man auf dem Dashboard einen freundlichen, blauen Button mit der Aufschrift „Launch Instance“, den wir beherzt und voller Spannung anklicken. Als AMI wählen wir Amazon Linux, als Instance type am folgenden Screen t2.micro – die einzig kostenlose Instanz im Rahmen des 1-Jahres Testaccounts.

Danach folgen Konfigurations-Einstellungen, an denen wir nichts ändern. Interessant, dass es hier eine Option gibt, die sich Enable CloudWatch detailed monitoring nennt. Damit hat man die Möglichkeit, sich Metriken zu einer laufenden Instanz anzusehen, die z.B. über die Auslastung informieren. Im kostenlosen Testpaket sind einige dieser Metriken enthalten.

Danach muss man den Speicher (EBS – Elastic Block Storage) auswählen. Ich belasse es bei den vorausgewählten 8 GB SSD. Später würde dieser Speicher 0.88$ im Monat kosten (Stand März 2016).

Nun gilt es, die Firewall Einstellungen zu konfigurieren. Ich ergänze als Port einen HTTP Port (80) in „Configure Security Group“ und gebe der Gruppe auch einen entsprechenden Namen. Alle Einstellungen der Security Group werden unter diesem Namen verspeichert und man kann diese nachträglich ändern.

Nachdem man sämtliche Einstellungen vorgenommen hat, bekommt man diese in einer Zusammenfassung noch einmal präsentiert, um sie gegebenenfalls ändern zu können.

Mit „Launch“ starte ich nun die Instanz und sehe mit Spannung meiner ersten laufenden Instanz in der Cloud entgegen.

Nicht ganz …

Key pair – der Schlüssel zur Instanz

Um auf eine laufende Instanz zugreifen zu können, benötigt man ein sogenanntes Schlüssel-Paar. Ich lasse mir im aufpoppenden Dialog durch „Create new key pair“ einen solchen Schlüssel generieren. Nach dem Download des Schlüssels kann ich die Instanz nun endgültig starten.

Es folgt der Hinweis, dass das etwas dauern kann.

Ich erstelle mir sicherheitshalber noch einen „Billing Alert“. Kann nicht schaden. Etwas eigenartig dabei: den Billing Alarm kann man nur in der Region N. Virginia einrichten.

Die Instanz läuft mittlerweile und im nächsten Beitrag werden wir uns zu dieser verbinden und Node.js samt dem eXperinox Chat einrichten.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.