Tag: EC2


Was ist "Amazon EC2?"

Amazon EC2 (Amazon Elastic Compute Cloud) [1] ist ein Webservice für die Bereitstellung von hoch skalierbarer Rechnerkapazität und wurde entwickelt, um die Entwicklung von skalierbare Web-Anwendungen für Entwickler einfacher zu machen. Die angemietete Rechnerleistung befindet sich in den weltweit verteilten Rechenzentren von Amazon und kann über eine Webservice Schnittstelle vollständig konfiguriert und kontrolliert werden.

Durch das Hinzufügen und Starten von Serverinstanzen innerhalb von Minuten kann die verwendete Infrastruktur in kurzer Zeit je nach den aktuellen Anforderungen skaliert werden. Ist die Last hoch, werden mehr Instanzen hinzugefügt, nimmt die Last wieder ab, werden die nicht mehr benötigten Kapazitäten entfernt.

Da nur für die Ressourcen bezahlt wird, die auch tatsächlich verwendet werden, erhält man dadurch eine bessere Kosteneffizienz. Der Normalfall besteht in der Anschaffung eigener überdimensionierter Systeme, die im Gesamtdurchschnitt nur zu 20% ausgelastet sind. Die restlichen 80% werden nur während Spitzenlasten genutzt und verursachen sonst nur unnötige Kosten.

Amazon EC2 Funktionsweise

Die virtuelle Umgebung von Amazon EC2 wird mittels einer Webservice Schnittstelle angesprochen, über die auf Serverinstanzen mit einer vielzahl unterschiedlicher Betriebssysteme zugegriffen werden kann. Die Betriebssysteme können wie eigene "lokale" Betriebssysteme mit Software erweitert und können ebenfalls mit Zugriffsberechtigungen konfiguriert werden.


[2]

Eine einfache Vorgehensweise

  • Auswahl und Start eines bereits vor-konfigurierten Images (Vorlage). Alternativ kann auch ein eigenes Amazon Machine Image (AMI) erstellt werden. Dieses beinhaltet dann eigene Anwendungen, Bibliotheken, Daten und Konfigurationen.
  • Konfiguration der Sicherheitseinstellungen und des Netzwerkzugriffs auf die jeweilige EC2 Instanz.
  • Auswahl des Instanz Typs und des Betriebssystems.
  • Festlegen des Orts, wo die Server ausgeführt werden sollen (USA, Europa, ...).
  • Festlegen einer statischen IP-Adresse.
  • Hinzufügen von Speicherplatz.

Leistungen im Überblick

  • Elastisch: Rechnerkapazität kann je nach Bedarf innerhalb von Minuten vergrößert und verkleinert werden. Dabei kann man einen aber auch tausend Server Instanzen gleichzeitg nutzen, die mittels der Web Service API angesprochen werden und automatisch skalieren.
  • Vollständige Kontrolle: Für jede Server Instanz besteht vollständiger Root-Zugriff.
  • Flexibilität: Man kann zwischen mehreren Instanzen Typen, Betriebssystemen und Software-Pakete wählen. Die Serverhardware kann so konfiguriert werden, dass der Speicher, die CPU, und die Größe der Boot-Partition, optimal für das Betriebssystem und die Anwendung ausgelegt sind.
  • Amazon Web Services: Vollständige Unterstützung und Integration mit den anderen Amazon Web Services wie Amazon Simple Storage Service (Amazon S3), Amazon SimpleDB und Amazon Simple Queue Service (Amazon SQS).
  • Zuverlässig: Das Service Level Agreement von Amazon EC2 besagt 99,95% Verfügbarkeit für jede Amazon EC2 Region.
  • Sicherheit: Amazon EC2 stellt folgende Sicherheitsfunktionen bereit:

    • Über die Webservice Schnittstelle kann eine Firewall für den Zugriff auf die jeweilige Instanz und zwischen einzelnen Instanzen/ Gruppen von Instanzen konfiguriert werden.
    • Mittels der Amazon Virtual Private Cloud (Amazon VPC) können die Instanzen in einen eigenen (privaten) IP-Adressbereich verlagert werden. Darüber hinaus kann über die (haus)-eigene Infrastruktur mit einem IPSec VPN auf diese Instanzen in der Amazon Cloud zugegriffen werden.
  • Kostengünstig:

    • On-Demand Instanzen: Bei On-Demand Instanzen zahlt man nur für die Rechnerkapazität die tatsächlich genutzt wird. Die Abbrechnung erfolg dabei pro Stunde ohne langfristige Verpflichtungen einzugehen. Dadurch entfällt die Überdimensionierung der Serverlandschaft um Lastspitzen auszugleichen.
    • Reservierte Instanzen: Instanzen können für eine niedrige, einmalige Zahlung pro Instanz reserviert werden. Im Gegenzug erhält man einen Rabatt auf die Nutzungsgebühr (Stundenpreis) für diese Instanz. Anschließend ist diese Instanz ohne weitere Verpflichtungen reserviert und kann wie gewohnt genutzt werden.
    • Spot Instanzen: Hier bietet man auf ungenutzte Amazon EC2 Kapazitäten. Dazu teilt man Amazon mit, welche EC2 Instanz man gerne haben möchte und was man bereit ist dafür zu bezahlen. Anhand von Angebot und Nachfrage wird ein Spot-Preis ermittelt.


[3]

Funktionen

  • Amazon Elastic Block Store
    Amazon Elastic Block Store (EBS) dienen zur dauerhaften Speicherung der Amazon EC2-Instanzen. Neben aktiven können auch Instanzen gespeichert werden, die gerade nicht verwendet werden. Die Volumes können als Boot Partition für EC2-Instanzen verwendet werden oder direkt an eine bereits gestartete EC2-Instanz angeschlossen werden. Die EBS-Volumes werden automatisch in eine einfache Verfügbarkeitszone repliziert und ein Snapshot kann zusätzlich in Amazons S3 Dienst abgelegt werden. Dieser Snapshot wird dann über mehrere Verfügbarkeitszonen verteilt. Ein Snapshot kann, wenn gewünscht, als Ausgangspunkt für einen neuen Amazon EBS dienen.

  • Mehrere Standorte
    Amazon EC2 Instanzen können an mehreren Standorten verteilt werden. Die Standorte sind dabei in Regionen und Verfügbarkeitszonen aufgeteilt. Verfügbarkeitszonen sind unterschiedliche Orte, die entwickelt wurden, um von Fehlern in anderen Verfügbarkeitszonen nicht betroffen zu sein. Zudem haben unterschiedliche Verfügbarkeitszonen unterschiedliche Latenzzeiten in einer Region. Durch den Einsatz von separaten Verfügbarkeitszonen wird eine Anwendung von Ausfällen an einzelnen Standorten nicht betroffen. Die einzelnen Verfügbarkeitszonen sind geografisch in verschiedenen Orten und Ländern verteilten. Dazu gehören derzeit der Osten der USA (Northern Virginia), der Westen der USA (Northern California) und Europa (Irland).
  • Elastische IP-Adressen
    Elastische IP-Adressen sind statische IP-Adressen die für dynamisches Cloud Computing entwickelt wurden. Diese IP-Adresse ist mit dem AWS-Account und nicht mit einer konkreten Instanz verknüpft. Im Fehlerfall einer Instanz wird die IP-Adresse des betroffenen Servers auf einen funktionieren Server neu gemapped.
  • Amazon Virtual Private Cloud
    Mit der Virtual Private Cloud die EC2-Instanzen innerhalb der Amazon Cloud in das eigenen Firmennetz eingebunden werden. Sie fungieren dann im Prinzip als lokal vorhandene Server und können auf andere Systeme zugreifen, genau so wie auf sie zugegriffen werden kann.
  • Amazon CloudWatch
    Wird HIER beschrieben.
  • Auto Scaling
    Wird HIER beschrieben.
  • Elastic Load Balancing
    Wird HIER beschrieben.

Typen von Instanzen

Standard Instanzen

  • Small Instance: 1.7 GB Arbeitsspeicher, 1 EC2 Prozessor, 160 GB Speicherplatz, 32-bit Plattform
  • Large Instance: 7.5 GB Arbeitsspeicher, 4 EC2 Prozessoren, 850 GB Speicherplatz, 64-bit Plattform
  • Extra Large Instance:15 GB Arbeitsspeicher, 8 EC2 Prozessoren, 1690 GB Speicherplatz, 64-bit Plattform

High-Memory Instanzen

  • High-Memory Double Extra Large Instance: 34.2 GB Arbeitsspeicher, 13 EC2 Prozessoren, 850 GB Speicherplatz, 64-bit Plattform
  • High-Memory Quadruple Extra Large Instance: 68.4 GB Arbeitsspeicher, 26 EC2 Prozessoren, 1690 GB Speicherplatz, 64-bit Plattform

High-CPU Instanzen

  • High-CPU Medium Instance: 1.7 GB Arbeitsspeicher, 5 EC2 Prozessoren, 350 GB Speicherplatz, 32-bit Plattform
  • High-CPU Extra Large Instance: 7 GB Arbeitsspeicher, 20 EC2 Prozessoren, 1690 GB Speicherplatz, 64-bit Plattform

EC2 Prozessor: Ein EC2 Prozessor ist mit mit einem 1.0-1.2 GHz 2007 Opteron bzw. 2007 Xeon Prozessor vergleichbar.

Betriebssysteme und Software

Betriebssysteme

Folgende vorkonfigurierte Amazon Machine Images (AMI) stehen zur Verfügung:

  • Red Hat Enterprise Linux
  • Windows Server 2003/2008
  • Oracle Enterprise Linux
  • OpenSolaris
  • openSUSE Linux
  • Ubuntu Linux
  • Fedora
  • Gentoo Linux
  • Debian

    Des Weiteren können vorkonfigurierte AMIs inkl. vorinstallierter Software genutzt werden. Folgende Softwarelösungen stehen zur Verfügung:

Datenbanken

  • IBM DB2
  • IBM Informix Dynamic Server
  • Microsoft SQL Server Standard 2005
  • MySQL Enterprise
  • Oracle Database 11g

Batch-Verarbeitung

  • Hadoop
  • Condor
  • Open MPI

Web Hosting

  • Apache HTTP
  • IIS/Asp.Net
  • IBM Lotus Web Content Management
  • IBM WebSphere Portal Server

Anwendungsentwicklung

  • IBM sMash
  • JBoss Enterprise Application Platform
  • Ruby on Rails

Applikationserver

  • IBM WebSphere Application Server
  • Java Application Server
  • Oracle WebLogic Server

Video Encoding & Streaming

  • Wowza Media Server Pro
  • Windows Media Server

Preise

Alle Preise für

  • Datentransfer
  • Amazon Elastic Block Store
  • Elastic IP Addresses
  • Amazon CloudWatch
  • Elastic Load Balancing

sind hier zu finden: Amazon EC2 Preise

Quellen:

[1] Amazon EC2
[2] Graphik: Amazon EC2 (1)
[3] Graphik: Amazon EC2 (2)



Decaf – Mobiles Infrastrukturmanagement für Amazon EC2

Jeder Administrator oder Entwickler kennt das Problem. Man(n) sitzt gemütlich mit der Frau/ Freundin im Restaurant und schwelgt mit seinen Gedanken gerade in Wolke Sieben. "Funktionieren meine Instanzen noch? Wie ist die aktuelle Performance". ;)

Genau dafür hat das Unternehmen 9apps mit seiner Anwendung Decaf erstmalig eine mobile Infrastrukturmanagementsoftware für Amazon EC2 Instanzen auf Basis von Android entwickelt. Die Funktionen und Einsatzmöglichkeiten der Software möchte ich hier nun kurz vorstellen.

Was ist Decaf?

  • Decaf ist eine auf Basis von Android funktionierende mobile Infrastrukturmanagementsoftware zur Verwaltung von Amazon EC2 Instanzen.

Welche Funktionen bietet Decaf?

  • Monitoring der Server inkl. Benachrichtigungen bei evtl. Ausfällen.
  • Kontinuierliche graphische Darstellung der aktuellen Zustände der Instanzen als Widget. Das beinhaltet die CPU-Auslastung, Netzwerk Aktivitäten und die Lese- und Schreibzugriffe der Festplatten.
  • Alle Managementfunktionen von Amazon EC2 stehen zur Verfügung, darunter z.B. Stoppen, Neustart und Monitoring der Instanzen oder das Hinzufügen von weiteren Volumes.
  • Zugriff auf alle Informationen von Amazon EC2, wie z.B. einer Gesamt Zusammenfassung bis zu Details der einzelnen Instanzen.

Zukünftige Funktionen?

  • Verwaltung von mehreren Amazon EC2 Accounts.
  • Entwicklung einer speziellen Schnittstelle für Kunden, die eine vielzahl an Instanzen zu verwalten haben.

Das Dashboard

Mit dem Dashboard kann auf alle Daten des jeweiligen Accounts zugegriffen werden. Dazu gehören u.a. Informationen wie Details über alle Instanzen, Amazon Machine Images (AMIs), Snapshots, Elastic IPs, sowie Security Groups und die Key Pairs.

Das Widget

Das Widget stellt alle Informationen in Echtzeit dar und aktualisiert sich selbständig, wodurch es unverzüglich informiert wenn etwas unerwartetes passiert. Die Diagramme des Widgets geben Auskunft über die Entwicklung und Änderungen der durchschnittlichen CPU-Leistung, der gesamten Lese- und Schreib-Aktivitäten der Festplatten, sowie des ein- und ausgehenden Netzwerktraffics innerhalb der letzten 24 Stunden.

Ansicht einer Instanz

Der Verwaltungsbereich bietet die Möglichkeit zum Starten, Beenden und Neustarten einer Instanz. Alle von EC2 bekannten Informationen können hierüber abgefragt und überwacht werden.

Ansicht mehrerer Instanzen

Mittels der Ansicht aller Instanzen erhält man einen Gesamtüberblick über den Zustand sämtlicher Instanzen eines Accounts. Anhand der grünen, roten und grauen Kaffeebohne wird der Status dargestellt.

  • Grün = alles ist in Ordnung
  • Rot = es besteht ein Problem
  • Grau = die Instanz ist nicht verfügbar

Durch das Tippen auf eine Instanz erhält man detailliertere Informationen - siehe "Ansicht einer Instanz".

Wunschliste

Folgende Wünsche zur Funktionserweiterung wurden an 9apps bisher von den Benutzern herangetragen, die sukzessive eingebaut werden:

  • Monitoring von Ports (ssh, http, mysql, smtp, etc.)
  • Verwaltung mehrerer Accounts
  • Verwaltung von Images und Snapshots
  • Integration von CloudWatch inkl. Autoscaling und Loadbalancing
  • Konfiguration der Diagramme bzgl. der Größenangaben (Widget und CloudWatch)
  • Einstellungen von Schwellwerten und Integration einer Alarmfunktion auf Basis der CloudWatch Daten
  • Integration von CloudFront
  • Integration mit 'ConnectBot'
  • Anbindung weiterer Anbieter (möglicherweise über Plugins)
  • Ein Release für das iPhone ist ebenfalls geplant.

Weitere Informationen