Amazon EC2 mit Ubuntu Images (erste Schritte)

Dieser Artikel beschreibt die Nutzung der offiziellen Ubuntu Images unter Amazon EC2.

Um die Ubuntu Server Edition unter den Amazon Web Services auszuführen, sind folgende Schritte notwendig.

  • Erstellen eines Amazon Web Services Account
  • Konfigurieren der Keys
  • Installation der Amazon EC2 API Tools
  • Instanziierung der Images
  • Konfiguration der Instanz

Erstellen des Amazon Account

  • 1. Die Seite http://aws.amazon.com aufrufen und "Jetzt anmelden" wählen. Anschließen mit einem vorhandenen Account anmelden oder einen neuen erstellen.
  • 2. Die Seite http://aws.amazon.com/ec2 aufrufen und "Anmelden für EC2" wählen.
  • 3. Am Ende der Anmeldung muss mittels "Create a New X.509 Certificate" ein Zertifikat erstellt werden. Sollte man bereits über ein X.509 Zertifikat verfügen, kann nur dieses heruntergeladen werden, der Private Key allerdings nicht!

Sollte man den Private Key "verlegt" haben, muss ein neues X.509 Zertifikat generiert werden.

  • Erstellen des neuen Zertifikat.
  • Herunterladen des Private Key und des neuen Zertifikat.
  • Notieren der AWS Account ID. Unter http://aws.amazon.com/ec2 >> "Konto" >> "Kontoaktivität" >> rechts oben "XXXX-XXXX-XXXX"

Um später erneut ein X.509 Zertifikat zu erstellen folgt man dem Weg "Konto" >> "Sicherheitsnachweise" >> "Access Credentials" >> Reiter "X.509 Certificate" >> "Create a new Certificate". Anschließend muss der Private Key und das Zertifikat wieder heruntergeladen werden.

Die Ubuntu Images

Folgende Unbuntu Versionen sind als AMIs vorhanden:

Release
Region
i386
x86_64
9.10 Karmic Koala us-east-1
us-west-1
eu-west-1
ami-bb709dd2
ami-c32e7f86
ami-2fc2e95b
ami-55739e3c
ami-cb2e7f8e
ami-05c2e971
8.04 Hardy Heron us-east-1
us-west-1
eu-west-1
ami-59b35f30
ami-3954057c
ami-a1d9f2d5
ami-27b35f4e
ami-c954058c
ami-add9f2d9
10.04 Lucid Lynx (i) us-east-1
us-west-1
eu-west-1
ap-southeast-1
ami-2d4aa444
ami-c597c680
ami-cf4d67bb
ami-a5f38cf7
ami-fd4aa494
ami-c997c68c
ami-a54d67d1
ami-57f28d05
10.04 Lucid Lynx (e) us-east-1
us-west-1
eu-west-1
ap-southeast-1
ami-714ba518
ami-cb97c68e
ami-a94d67dd
ami-4df28d1f
ami-4b4ba522
ami-d197c694
ami-ab4d67df
ami-77f28d25

  • (i) = instance
  • (e) = ebs

Auf Eric Hammond's Webseite Alestic.com können weitere inoffizielle AMIs (8.04 Hardy, 9.04 Jaunty) heruntergeladen werden.

Installation der Amazon EC2 API Tools

Zunächst sollte sichergestellt werden, dass Multiverse Repositories konfiguriert sind.

Anschließend wird das folgende Kommando ausgeführt:

sudo apt-get install ec2-api-tools

Als nächstes müssen die folgenden Umgebungsvariablen für die eigene Shell gesetzt werden. Dazu werden die folgenden Zeilen in die ~/.bashrc eingetragen, wenn die Bash die bevorzugte Shell ist.

export EC2_PRIVATE_KEY=$HOME//pk-XXXXXXXXXXXXXXXXXXXXXXXXXXXX.pem
export EC2_CERT=$HOME//cert-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.pem
export JAVA_HOME=/usr/lib/jvm/java-6-openjdk/

Die oben vorgenommen Anpassungen können mit dem folgenden Befehl überprüft werden.

ec2-describe-images -o self -o amazon

Um öffentliche AMIs zu nutzen muss zuerst ein SSH Key generiert werden. Mit dem folgenden Befehl wird ein SSH Schlüsselpaar (Keypair) erstellt und der Private Key automatisch in die Datei mit dem Namen ec2-keypair lokal gespeichert.

ec2-add-keypair ec2-keypair > ec2-keypair.pem

Weiterhin müssen die Zugriffsrechte der erstellen Datei 600 betragen.

chmod 600 ec2-keypair.pem

Verwenden der Ubuntu Images

Auf die Images und die Kernel kann öffentlich zugegriffen werden, daher ist keine Registierung notwendig.

Um ein 32 bit Image zu verwenden, nutzen wir den folgenden Befehl:

ec2-run-instances ami-xxxxx -k ec2-keypair

Um ein 64 bit Image zu verwenden, nutzen wir den folgenden Befehl:

ec2-run-instances ami-xxxxx -k ec2-keypair -t c1.xlarge

Dabei handelt es sich in beiden Fällen bei ami-xxxxx um die jeweilige AMI ID aus der oben aufgeführten Tabelle, sowie bei -t um den Typ des Images.

Um den status einer Instanz auszugeben benötigen wir den folgenden Befehl:

ec2-describe-instances

Um SSH Zugriff auf den Port 22 zu gestatten wird folgender Befehl benötigt.

ec2-authorize default -p 22

Um sich an der Instanz anzumelden nutzen wir diesen Befehl.

ssh -i /path/to/ec2-keypair.pem ubuntu@

Den external-host-name erhält man über den Befehl ec2-describe-instances.

Die Instanz beendet man am Ende mit dem folgenden Befehl.

ec2-terminate-instances 

Quelle