AWS – Eine EC2-Instanz erstellen

Amazon Web Services bietet unter anderem den Dienst EC2 an (Elastic Compute Cloud). Hierbei handelt es sich um die Möglichkeit, virtuelle Server zu erstellen, auf denen entweder eine Linux-Distribution oder Windows Server läuft. Dieser Artikel zeigt die Schritte, die notwendig sind, um eine EC2-Instanz zu erstellen. Anschließend zeige ich, wie man dann auf den virtuellen Server zugreifen kann.

EC2-Instanz konfigurieren

Zunächst loggt man sich – idealerweise als IAM-Nutzer – in den AWS-Account ein. Im Abschnitt Services wird unter anderem der Dienst EC2 angezeigt.

aws services overview

Ein Klick hierauf öffnet das EC2 Dashboard. Klickt hier auf den Button “Launch Instance”.

aws ec2 dashboard

Dies öffnet die durchzuführenden Konfigurationsschritte.

  1. Zunächst muss ein Amazon Machine Image (AIM) ausgewählt werden, also entweder eine Linux-Distribution oder eine Windows-Server-Version. Als Beispiel wähle ich hier Microsoft Windows Server 2016 Base aus.
  2. Meine virtueller Server benötigt nur eine CPU und 1 GB Arbeitsspeicher. Ich wähle daher den Typ t2.micro aus.
  3. Die Optionen in Schritt 3 können im Wesentliche belassen werden. Ich habe hier lediglich eine IAM role ausgewählt, da ich einen IAM-Nutzer mit einer entsprechenden EC2-Berechtigung nutze. (Dies könnt Ihr in den Sicherheitseinstellungen Eures AWS-Account festlegen). Solltet Ihr keine IAM role haben, dann könnt Ihr über “Create new IAM role” eine anlegen oder einfach “None” eingestellt lassen. Wünscht Ihr übrigens weitere Informationen zu den Optionen, dann bewegt den Mauszeiger über einen Info-Button (“i”).ec2 configuration options
  4. Im Konfigurations-Schritt “Add Storage” wird nun das Speichermedium konfiguriert. Standardmäßig ist beim Typ t2.micro ein 30GB SSD-Speicher (nicht verschlüsselt) voreingestellt. Dieses Speichermedium wird beim Löschen der EC2-Instanz ebenfalls gelöscht (Option: Delete on Termination).
  5. Nun kann noch ein Tag vergeben werden. Dies ist durchaus sinnvoll, lässt sich doch hierüber zum Beispiel der Verwendungszweck des Servers definieren. Gerade beim Vorhandensein mehrerer Instanzen behält man so den Überblick.
  6. Im letzten Schritt kann eine Security Group konfiguriert. Dies ist sehr sinnvoll und wird von Amazon auch empfohlen, da andernfalls ein Zugriff von allen IP-Adressen auf jeden Port des virtuellen Servers möglich ist. Bei einem Windows-Server macht es zum Beispiel Sinn, eine Security Group anzulegen, die den RDP-Dienst auf Port 3389 erlaubt. Außerdem muss als Protokoll TCP angegeben sein. Unter Source kann man zudem jenen IP-Adressbereich festlegen, von dem aus ein Zugriff auf den Server gestattet sein soll. Möchtet Ihr beispielsweise den Zugriff von Rechnern erlauben, deren IP-Adresse mit 57.xxx.xxx.xxx beginnt, dann tragt Ihr bei Source 57.0.0.0/8 ein. Wenn Ihr mit dieser Notation nicht vertraut seid, werft einen Blick in Microsofts TechNet-Artikel zu Subnets and Subnet Masks. Auf jeden Fall sollte der Zugriff auf die virtuelle Maschine begrenzt werden.ec2 ip configuration
  7. Schließlich erhaltet Ihr noch eine Übersicht zu der von Euch gewählten Konfiguration. Ihr könnt dann unten rechts auf “Launch” klicken und Euer Schlüsselpaar auswählen. Solltet Ihr kein Schlüsselpaar haben, dann wählt die Option “Create a new key pair” aus.

Zum Abschluss der Einrichtung der EC2-Instanz erscheint der Launch Status. Hier seht Ihr die ID der erstellten Instanz. Außerdem finden sich hier Links zu weiteren interessanten Informationen. Klickt nun unten rechts auf “View Instances”, um die Übersichtsseite zu den zur Verfügung stehenden Instanzen zu öffnen.

Zugriff auf den virtuellen Server

Für die folgenden Schritte sollte die EC2-Instanz bereits gestartet sein (Instance State = running). In unserem Fall ist das ein Windows-Server. Für den Zugriff stellt Microsoft die Remotedesktopunterstützung zur Verfügung. Sie ist Bestandteil des Windows-Betriebssystems. Mac-Nutzer müssen sich die entsprechende (kostenlose) App “Microsoft Remote Desktop” aus dem App Store herunterladen.

In Windows 10 kann die Remotedesktopunterstützung am einfachsten über die Eingabe von “Remote” in das Suchfeld der Taskleiste gestartet werden. Über die Autovervollständigung wählt man dann “Remotedesktopverbindung” aus. Die sich öffnende Applikation erwartet nun die Eingabe einer IP-Adresse. Diese findet sich in der Instanzenübersicht in der Spalte “Public IP Address”. Lautet die IP-Adresse beispielsweise “52.57.13.83”, dann gibt man diese Adresse in das entsprechende Textfeld ein.

rdp ip address field

Ein Klick auf “Verbinden” öffnet anschließend ein Fenster, in dem nach den Zugangsdaten des Servers gefragt wird. Diese Zugangsdaten erhält man wiederum in der EC2-Instanzübersicht. Wählt dort die laufende Instanz aus und klickt dann auf “Actions” und “Get Windows Password”.

ec2 get the windows password

In dem sich öffnenden Fenster kommt nun das EC2-Schlüsselpaar ins Spiel, das Ihr spätestens bei der Erstellung der Instant erzeugen musstest. Über den Button “Choose file” kann die entsprechende Datei (mit der Endung “pem”, die im Rahmen der Schlüsselpaar-Erzeugung generiert wurde, ausgewählt werden. Anschließend wird Euch dann das Kennwort angezeigt. ‘Und was ist mit dem Benutzernamen?’, werdet Ihr Euch fragen. Nun, das lautet stets “Administrator”.

Jetzt erfolgt der Verbindungsaufbau zum Windows-Server, wobei Ihr evtl. noch ein Zertifikat absegnen müsst. Wenn die Zugangsdaten stimmen, erscheint nach kurzer Zeit der vertraute Windows-Desktop.

In dem Fenster für die Eingabe der IP-Adresse findet sich übrigens unten links noch der Button “Optionen einblenden”. Dort könnt Ihr bereits einen Benutzernamen hinterlegen und die Verbindungseinstellungen speichern.

rdp options

Damit kennt Ihr nun die erforderlichen Konfigurationsschritte. Viel Erfolg beim Einrichten Eurer EC2-Instanz.

EC2-Instanz mit Python starten

Um eine Instanz zu starten (oder zu stoppen), muss man nicht über den Browser in seinem AWS-Konto angemeldet sein. Tatsächlich offeriert Amazon Web Services zahlreiche SDKs, unter anderem auch für Python. Ein Codebeispiel für die Verwendung von Python 3 findet Ihr bei Github.

Weiterführende Links