AWS Storage Options

Werbung
Amazon Web Services – AWS-Speicheroptionen
Dezember 2010
Speicheroptionen in der AWS-Cloud
Joseph Baron, Amazon Web Services
Robert Schneider, Think88
Dezember 2010
Amazon Web Services – AWS-Speicheroptionen
Dezember 2010
Einführung
Amazon Web Services (AWS) ist eine flexible und kostengünstige benutzerfreundliche Cloud Computing-Plattform,
die eine Vielzahl Cloud-basierter Optionen für die Datenspeicherung umfasst. Für Architekten und Entwickler stehen
zahlreiche verschiedene Alternativen zur Verfügung.
Im vorliegenden Whitepaper werden die Grundlagen zu den wichtigsten Datenspeicheroptionen erläutert, die in der
AWS-Cloud Computing-Plattform verfügbar sind. Sie erhalten eine Übersicht über die einzelnen Speicheroptionen.
Außerdem werden optimale Nutzungsszenarien beschrieben und andere wichtige Cloud-spezifische Eigenschaften
untersucht, z. B. Elastizität und Skalierbarkeit. Insbesondere wird auf die Zuverlässigkeit der einzelnen Speicheroptionen
eingegangen. Abschließend werden die behandelten Speicheroptionen in einer tabellarischen Kurzübersicht miteinander
verglichen. Im Abschnitt "Referenzen und weiterführende Literatur" finden Sie zusätzliche Ressourcen.
In einem separaten Begleitpapier stellen wir Ihnen schließlich verschiedene Anwendungsfälle für Speicherlösungen vor,
die verdeutlichen, wie mehrere AWS-Cloud-Speicheroptionen gemeinsam verwendet werden können. Sie können diese
Anwendungsfälle als Leitfaden beim Entwurf Ihrer eigenen Speicherarchitektur verwenden.
Gegenüberstellung: traditionelle oder Cloud-basierte Speicheralternativen
Architekten traditioneller, lokaler IT-Infrastruktur und Anwendungen verfügen über mehrere potenzielle Möglichkeiten
für die Datenspeicherung, beispielsweise:

Arbeitsspeicher – In-Memory-Speicher, z. B. Datei-Caches, Objekt-Caches, hauptspeicherresidente Datenbanken
und RAM-Disks, bieten extrem schnellen Zugriff auf Daten.

Meldungswarteschlange – Temporärer, zuverlässiger Speicher für Daten, die asynchron zwischen
Computersystemen oder Anwendungskomponenten hin- und hergesendet werden.

Storage Area Network (SAN) – Block-Geräte (LUNs virtueller Festplatten) auf dedizierten SANs bieten häufig die
höchste Festplattenleistung und Zuverlässigkeit für geschäftskritische Daten und Datenbankspeicher, gehören
aber sicherlich auch zu den teuersten Systemen.

Direct Attached Storage (DAS) – In jeden einzelnen Server eingebaute lokale Festplattenlaufwerke oder Arrays
bieten höhere Leistung als ein SAN, aber geringere Zuverlässigkeit für temporäre und persistente Dateien,
Datenbankspeicher und Betriebssystem-Boot-Speicher als ein SAN.

Network Attached Storage (NAS) – Ein NAS-Speicher bietet eine Oberfläche für die Speicherung auf Dateiebene,
die über mehrere Systeme hinweg gemeinsam genutzt werden kann. NAS ist in der Regel langsamer als SAN
oder DAS.

Datenbanken – Die Verwaltung und der Zugriff auf strukturierte Daten erfolgt üblicherweise mithilfe relationaler
Datenbanken wie MySQL, PostgreSQL, Oracle, Microsoft SQL Server und DB2 oder nicht relationaler DatenbankRepositorys. Die Datenbankspeicher-Datenträger befinden sich üblicherweise auf SAN- oder DAS-Geräten.

Offline – Zu Backup- und Archivierungszwecken gespeicherte Daten werden typischerweise auf andere Medien
wie beispielsweise Bänder, CDs oder DVDs kopiert, die meist an entfernten sicheren Standorten für die
Notfallwiederherstellung gelagert werden.
Seite 2 von 24
Amazon Web Services – AWS-Speicheroptionen
Dezember 2010
Alle diese traditionellen Speicheroptionen unterscheiden sich in Leistung, Zuverlässigkeit und Kosten sowie in ihren
Oberflächen. Architekten berücksichtigen all diese Faktoren bei der Auswahl der geeigneten Speicherlösung für die
jeweilige Aufgabe. In den meisten IT-Infrastruktur- und Anwendungsarchitekturen werden im Übrigen mehrere
Speichertechnologien kombiniert, wobei jede einzelne Technologie speziell auf bestimmte Anforderungen und
Teilaspekte der Datenspeicherung hin ausgewählt wurde. Diese Kombinationen bilden eine Hierarchie von
Datenspeicherungsebenen.
Wie Sie im Verlauf dieses Whitepapers erfahren werden, stellt AWS mehrere Cloud-basierte Speicheroptionen bereit.
Jede Option verfügt über eine individuelle Kombination aus Leistung, Zuverlässigkeit, Kosten und Oberfläche, und
wird durch zusätzliche Faktoren wie Elastizität, Verfügbarkeit und Skalierbarkeit ergänzt. Diese zusätzliche Faktoren
sind wichtig für Web-orientierte, Cloud-basierte Lösungen. Wie bei traditionellen lokalen Anwendungen können Sie
aus mehreren Cloud-Speicheroptionen zusammen eine umfassende Datenspeicherhierarchie erstellen.
In diesem Whitepaper werden die folgenden Speicheroptionen in der AWS-Cloud behandelt:

Amazon EC2 Elastic Block Store (EBS)-Datenträger

Lokale (flüchtige) Amazon EC2-Instance-Speicherdatenträger

Amazon Simple Storage Service (Amazon S3)

Amazon Simple Queue Service (SQS)

Amazon SimpleDB

Relationale Datenbanken auf Amazon EC2

Amazon Relational Database Service (RDS)
Lassen Sie uns jede dieser AWS-Speicheroptionen genauer betrachten. Zu jeder Option erhalten Sie die
folgenden Informationen:

Name und Beschreibung

Ideales Nutzungsszenario

Leistung

Zuverlässigkeit und Verfügbarkeit

Kosten

Elastizität und Skalierbarkeit

Oberflächen

Nutzungsszenarios, in denen sich andere Speicheroptionen besser eignen
Weitere Kategorien für den Vergleich der verschiedenen AWS-Speicheroptionen finden Sie in der Schnellreferenz zu
AWS-Speicheroptionen auf Seite 36.
Seite 3 von 24
Amazon Web Services – AWS-Speicheroptionen
Dezember 2010
Amazon Elastic Block Store (EBS)-Datenträger
Amazon Elastic Block Store (EBS)-Datenträger bieten zuverlässigen Speicher auf Blockebene zur Verwendung mit Amazon
EC2-Instances (virtuellen Maschinen). Amazon EBS-Datenträger sind über ein Netzwerk verbundene Speicher außerhalb
der Instance, die unabhängig von der Betriebsdauer einer einzelnen Amazon EC2-Instance existieren. Nachdem ein
EBS-Datenträger einer Amazon EC2-Instance zugewiesen wurde, können Sie damit wie mit einem physischen
Festplattenlaufwerk frei interagieren, typischerweise, indem Sie den EBS-Datenträger mit einem Dateisystem ihrer
Wahl formatieren. Sie können einen EBS-Datenträger zum Booten einer Amazon EC2-Instance (nur EBS-AMIs)
verwenden und mehrere EBS-Datenträger mit einer einzigen Amazon EC2-Instance verbinden. Beachten Sie jedoch,
dass jeder einzelne EBS-Datenträger zu jedem Zeitpunkt immer nur mit einer Amazon EC2-Instance verbunden sein kann.
Ein EBS-Datenträger kann nicht für andere Benutzer freigegeben werden, es sei denn, Sie erstellen einen EBS-Snapshot
(weitere Informationen hierzu im folgenden Abschnitt "Zuverlässigkeit und Verfügbarkeit"). Größen von EBSDatenträgern liegen zwischen 1 GB und 1 TB, die Zuweisung erfolgt in 1-GB-Schritten.
Ideales Nutzungsszenario
Amazon EBS ist für Daten bestimmt, die sich relativ häufig ändern und eine langfristige Zuverlässigkeit erfordern.
EBS bietet persistente Speicherung im "Virtual Block"-Modus für virtuelle Amazon EC2-Server, daher können Sie
EBS genau wie eine Festplatte auf einem physischen Server einsetzen. Amazon EBS ist besonders gut als primärer
Speicher für Dateisysteme, Datenbanken oder Anwendungen geeignet, die granulare Updates und Zugriff auf rohen,
unformatierten Speicher auf Blockebene erfordern.
Leistung
Grundsätzlich können Sie davon ausgehen, dass die Leistung, die mittlere Zeitspanne bis zum Ausfall (MTTF) und die
Zuverlässigkeit eines einzelnen EBS-Datenträgers vergleichbar ist mit den Werten eines USB-Laufwerks mit externer
Stromversorgung. Beachten Sie, dass EBS-Datenträger zwar wie lokale Festplattenlaufwerke angezeigt werden, dass sie
aber tatsächlich über ein Netzwerk mit einer Amazon EC2-Instance verbunden sind. Daher können die von der Instance
ausgeführten sonstigen Netzwerk-E/A wie auch die Gesamtauslastung des gemeinsamen Netzwerks die Leistung des
einzelnen EBS-Datenträgers beeinträchtigen.
Obwohl jede Anwendung (und deren jeweilige Leistung) ganz individuell ausfällt, können Sie viele traditionelle
Techniken zur Optimierung des Datenträgerdurchsatzes auch für EBS-Datenträgern entwickeln und bereitstellen.
Die Kombination von Amazon EC2 und EBS ermöglicht Ihnen, viele der für lokale Server und Speichersysteme
vorhandenen Leistungsoptimierungstechniken zu verwenden. Sie können z. B. verschiedene Datenträger erstellen und
diese anschließend alle einer einzigen Amazon EC2-Instance zuweisen. Nach dem Verbinden mehrerer EBS-Datenträger
können Sie die E/A-Gesamtlast der Anwendung partitionieren, indem Sie einen Datenträger für Protokolldaten, einen
Datenträger für die Datenbank und wieder einen anderen Datenträger für Dateidaten zuweisen. Alternativ könnten Sie
Ihre Daten mit einem Software-RAID 0-Gerätetreiber auf mehrere EBS-Datenträger verteilen und so verfügbare IOPS
sowie den Gesamtdurchsatz und die Gesamtgröße des Datenträgers zusammenfassen.
Seite 4 von 24
Amazon Web Services – AWS-Speicheroptionen
Dezember 2010
Zuverlässigkeit und Verfügbarkeit
Jeder Amazon EBS-Datenträger wird automatisch innerhalb derselben Availability Zone repliziert, um einen Datenverlust
aufgrund eines Ausfalls einzelner Hardwarekomponenten zu verhindern. Mithilfe von Amazon EBS können außerdem
für einen gewünschten Zeitpunkt Snapshots von Datenträgern erstellt werden, die in Amazon S3 gespeichert werden
(siehe unten). Diese Snapshots können als Startpunkt für neue Amazon-EBS-Datenträger und zum langfristigen und
zuverlässigen Schutz Ihrer Daten verwendet werden.
Die Zuverlässigkeit eines EBS-Datenträgers hängt sowohl von dessen Größe als auch von der Menge der Daten ab,
die sich seit dem letzten Snapshot geändert haben. EBS-Snapshots sind inkrementelle Point-in-Time-Backups, die nur
die Datenblocks enthalten, die sich seit dem letzten Snapshot geändert haben. Bei EBS-Datenträgern, auf denen 20 GB
oder weniger seit dem letzen Snapshot geänderte Daten verarbeitet werden, ist mit einer jährlichen Ausfallrate (AFR)
von 0,1 % bis 0,5 % zu rechnen. Um Zuverlässigkeit und Verfügbarkeit der auf EBS-Datenträgern gespeicherten Daten
zu maximieren, sollten Benutzer häufig Snapshots ihrer EBS-Datenträger erstellen. Für den Fall, dass Ihr Amazon EBSDatenträger ausfällt, bleiben sämtliche Snapshots des Datenträgers intakt und ermöglichen die Wiederherstellung
des Datenträgers auf den Zeitpunkt des letzten Snapshots.
Amazon EBS-Datenträger sind auf hohe Verfügbarkeit ausgerichtet. Da EBS-Datenträger jedoch in einer bestimmten
Availability Zone erstellt werden, sind sie nicht verfügbar, wenn die Availability Zone selbst ausfällt. Beachten Sie,
dass ein einzelner EBS-Datenträger zwar auf eine bestimmte Availability Zone beschränkt ist, dass ein EBS-Snapshot
eines Datenträgers aber über alle Availability Zones innerhalb einer Region hinweg verfügbar ist und Sie einen EBSSnapshot zum Erstellen eines oder mehrerer neuer EBS-Datenträger in jeder beliebigen Availability Zone verwenden
können. EBS-Snapshots können auch für andere Benutzerkonten freigegeben werden. Auf diese Weise erhalten Sie
einen benutzerfreundlichen Backup- und Freigabemechanismus unter Verwendung von "Datenträgerklonen" und
"Datenträgerabbildern".
Um Zuverlässigkeit und Verfügbarkeit ihrer EBS-Daten zu maximieren, sollten Benutzer häufig Snapshots ihrer
EBS-Datenträger erstellen.
Kosten
Wie bei allen Amazon Web Services zahlen Sie bei Amazon Elastic Block Store nur für das, was Sie tatsächlich
nutzen, ohne Mindestgebühren oder langfristige Vertragsbindung. Die Preise für Amazon EBS werden pro GB/Monat
bereitgestelltem Speicher und pro 1 Million E/A-Anfragen berechnet. Die Speicherung auf dem Datenträger
wird Ihnen auf Grundlage der Datenmenge von der Zuweisung bis zur Freigabe in Rechnung gestellt. Die Preise für
Amazon EBS-Snapshots werden anhand der gespeicherten Datenmenge pro GB/Monat sowie je 1.000 PUT-Anfragen
und je 10.000 GET-Anfragen (beim Speichern bzw. Laden eines Snapshots) berechnet. Bei EBS-Snapshots wird
nur der tatsächlich verwendete (belegte) Speicher in Rechnung gestellt. Beachten Sie, dass EBS-Snapshots inkrementell
sind und komprimiert werden, sodass der von einem Snapshot benötigte Speicher in der Regel wesentlich geringer
als der auf dem EBS-Datenträger belegte Speicher ist. Alle Preisinformationen finden Sie unter
http://aws.amazon.com/ec2/pricing/.
Beachten Sie, dass für die Übertragung von Daten zwischen den verschiedenen AWS-Speicherangeboten
(d. h., Amazon EC2-Instance mit EBS, Amazon S3, Amazon RDS und so weiter) keine Kosten anfallen, solange
sie innerhalb derselben AWS-Region erfolgt.
Seite 5 von 24
Amazon Web Services – AWS-Speicheroptionen
Dezember 2010
Elastizität und Skalierbarkeit
AWS macht es Ihnen leicht, den für Ihre Amazon EC2-Instance verfügbaren Speicherplatz zu erweitern. Sie brauchen
nur einen neuen EBS-Datenträger zu erstellen und der Instance zuzuweisen und können ihn sofort zusammen mit den
vorhandenen Datenträgern nutzen. Wenn Sie keine neuen Datenträger erstellen und verwalten möchten, können Sie
einzelne Datenträger auch folgendermaßen vergrößern:
1. Legen Sie die Anwendung oder das Dateisystem still.
2. Erstellen Sie einen Snapshot der Daten Ihres EBS-Datenträgers in Amazon S3 (unter Verwendung von "Create
Snapshot from Volume").
3. Erstellen Sie einen neuen EBS-Datenträger aus dem Snapshot, geben Sie dabei aber eine größere Kapazität als
die des ursprüngliche Datenträgers an.
4. Weisen Sie Ihrer Amazon EC2-Instance den neuen, größeren Datenträger zu.
5. Trennen und löschen Sie den ursprünglichen EBS-Datenträger.
Oberflächen
Zum Erstellen, Löschen, Beschreiben, Zuweisen und Trennen von EBS-Datenträgern für Ihre Amazon EC2-Instances stellt
Amazon Steuerungs-APIs in den Formaten SOAP und REST bereit. Mit den APIs können Sie Snapshots und deren
zugehörige Attribute von EBS zu Amazon S3 erstellen, löschen und beschreiben. Wenn Sie lieber mit grafischen Tools
arbeiten, bieten die AWS Management Console und die ElasticFox Firefox-Erweiterung alle Funktionen der API in einer
benutzerfreundlichen Browseroberfläche. Unabhängig davon, wie Sie Ihren EBS-Datenträger erstellen, sollten Sie
beachten, dass die Speicherkapazitäten immer zum Zeitpunkt der Erstellung des Datenträgers zugewiesen werden,
und dass Ihnen dieser Speicher in Rechnung gestellt wird, auch wenn Sie ihn nicht nutzen.
EBS stellt eine Block-Gerät-Oberfläche zur Amazon EC2-Instance dar. Das bedeutet, für eine Amazon EC2-Instance sieht
ein EBS-Datenträger genau wie ein lokales Festplattenlaufwerk aus. Um Daten auf EBS-Datenträger zu schreiben und zu
lesen, verwenden Sie daher die systemeigenen Dateisystem-Oberflächen Ihres Betriebssystems.
Nutzungsszenarios, in denen Amazon EBS keine optimale Lösung darstellt
Wie bereits weiter oben beschrieben, eignet sich EBS ideal für Informationen, die über die Lebensdauer einer einzelnen
Amazon EC2-Instance hinaus erhalten bleiben müssen. In bestimmten Situationen können andere AWSSpeicheroptionen jedoch besser geeignet sein:

Temporärer Speicher – Für Daten, die nach dem Beenden der Amazon EC2-Instance nicht verfügbar bleiben
müssen (temporäre Dateien, Arbeitsplatte, Puffer und so weiter), können Sie den mit den meisten Amazon EC2Instances automatisch bereitgestellten Speicherdatenträger nutzen. Die Kosten für diese flüchtigen Datenträger
sind in den Standardgebühren der Amazon EC2-Instance enthalten. Weitere Informationen finden Sie im
folgenden Abschnitt.

Hoch zuverlässiger Speicher – Wenn Sie Speicher mit extrem hoher Zuverlässigkeit benötigen, verwenden
Sie Amazon S3. Die Amazon S3-Standardspeicherung wurde für eine Objektzuverlässigkeit von 99,999999999 %
über ein Jahr ausgelegt. Im Gegensatz dazu sind EBS-Datenträger, auf denen weniger als 20 GB seit dem letzen
Seite 6 von 24
Amazon Web Services – AWS-Speicheroptionen
Dezember 2010
Snapshot geänderte Daten verarbeitet werden, für eine Zuverlässigkeit von 99,5 % bis 99,9 % über ein Jahr
ausgelegt. Bei Datenträgern, auf denen mehr Daten verarbeitet werden, ist mit einer proportional niedrigeren
Zuverlässigkeit zu rechnen.

Statische Daten oder Web-Inhalte – Wenn Ihre Daten nicht häufig geändert werden, ist Amazon S3 unter
Umständen eine kostengünstigere, skalierbare Lösung zum Speichern dieser unveränderlichen Informationen.
Zudem erfordern Web-Inhalte, die über EBS bereitgestellt werden, einen Web-Server, auf dem Amazon EC2
ausgeführt wird, während Sie über Amazon S3 Web-Inhalte direkt übertragen können.

Schlüssel/Wert-Paar-Informationen – Wie im Abschnitt "Amazon SimpleDB" auf Seite 15 näher erläutert, bietet
Amazon SimpleDB eine skalierbare, elastische Möglichkeit zum Speichern von "schemalosen" Daten. Wenn Sie
eine relationale Technologie (einschließlich zugehöriger EBS-Datenträger) zum Verwalten von Schlüssel/WertInformationen verwenden möchten, lohnt es sich, SimpleDB als Alternative in Betracht zu ziehen.
Lokale Instance-Speicherdatenträger von Amazon Elastic Compute Cloud (EC2)
Lokale Instance-Speicherdatenträger von Amazon EC2 (auch als flüchtige Laufwerke bezeichnet) bieten temporäre
Speicherung auf Block-Ebene für Amazon EC2-Instances. Wenn Sie eine Amazon EC2-Instance aus einem Amazon-AMI
erstellen, wird in den meisten Fällen gleichzeitig ein vorkonfigurierter Block bereits verbundenen Festplattenspeichers
bereitgestellt.1 Im Gegensatz zu EBS-Datenträgern bleiben Daten auf Instance-Speicherdatenträgern nur über die
Lebensdauer der zugehörigen Amazon EC2-Instance erhalten. Die Menge an Festplattenspeicher kann zwischen 160 GB
und 1,7 TB liegen und variiert je nach Amazon EC2-Instance-Typ. Größere Amazon EC2-Instances verfügen über mehrere
und größere Instance-Speicherdatenträger. Aber selbst wenn diese Mengen sehr großzügig erscheinen und häufig recht
nützlich sind, handelt es sich doch um temporären Speicher, der am besten als Arbeitsdatenträger oder RAM genutzt
werden sollte.
Ideales Nutzungsszenario
Lokale Instance-Speicherdatenträger eignen sich ideal für die temporäre Speicherung von Informationen, die sich ständig
ändern, z. B. Puffer, Caches, Arbeitsdaten und andere temporäre Inhalte, oder für Daten, die über eine Vielzahl von
Instances repliziert werden, z. B. ein Pool von Web-Servern mit Lastenausgleich. Der Amazon EC2-Instance-Speicher
wurde zu diesem Zweck entwickelt. Er besteht aus dem Boot-Gerät der virtuellen Maschine (nur Instance-Speicher-AMIs)
plus einem oder mehreren zusätzlichen, für die Amazon EC2-Instance dedizierten Datenträgern (sowohl EBS-AMIs als
auch Instance-Speicher-AMIs). Dieser Speicher kann während seiner Lebensdauer nur von einer einzigen Amazon EC2Instance verwendet werden. Im Gegensatz zu EBS-Datenträgern können Instance-Speicherdatenträger nicht getrennt
oder einer anderen Instance zugewiesen werden.
Leistung
Da die virtuelle Amazon EC2-Instance-Maschine und die lokalen Instance-Speicherdatenträger sich auf demselben
physischen Server befinden, erfolgt die Interaktion mit diesem Speicher sehr schnell, insbesondere bei sequentiellem
1
Die meisten Amazon EC2-Instance-Typen stellen lokale Instance-Speicherdatenträger bereit. Mikro-Instances hingegen, z. B. vom
Typ "t1.micro", stellen nur EBS-Speicher bereit. Darüber hinaus werden die flüchtigen Instance-Speicherdatenträger von Instances,
die Amazon EBS auf dem Root-Gerät verwenden ("von EBS booten") nicht standardmäßig bereitgestellt. Falls gewünscht, können Sie
die lokalen Instance-Speicherdatenträger beim Start der Instance durch Angaben einer Block-Gerät-Zuordnung bereitstellen. Weitere
Informationen finden Sie im Benutzerhandbuch zu Amazon EC2.
Seite 7 von 24
Amazon Web Services – AWS-Speicheroptionen
Dezember 2010
Zugriff. Zum Erhöhen der E/A-Vorgänge pro Sekunde (IOPS) oder zum Verbessern des Datenträgerdurchsatzes können
mehrere Instance-Speicherdatenträger mittels RAID 0-Software (Datenträger-Striping-Software) gruppiert werden.
Zuverlässigkeit und Verfügbarkeit
Lokale Amazon EC2-Instance-Speicherdatenträger sind nicht zur Verwendung als hoch zuverlässiger Datenträgerspeicher
bestimmt. Die auf lokalen Instance-Speicherdatenträgern gespeicherten Daten existieren nur über die Lebensdauer der
Amazon EC2-Instance. Daten auf lokalen Amazon EC2-Instance-Speicherdatenträgern bleiben über geordnete InstanceNeustarts erhalten, gehen aber in Situationen verloren, in denen die Amazon EC2-Instance plötzlich beendet wird oder
einen Fehler/Neustart-Zyklus durchläuft.
Sie sollten lokale Instance-Speicherdatenträger nicht für Daten verwenden, die über längere Zeit bewahrt werden
müssen, beispielsweise für die permanente Datei- oder Datenbankspeicherung. Aber obwohl lokale InstanceSpeicherdatenträger nicht persistent sind, können Sie Ihre Daten dauerhaft speichern, indem Sie sie regelmäßig in
EBS oder Amazon S3 kopieren oder sichern.
Kosten
Die Kosten der Amazon EC2-Instance umfasst alle lokalen (flüchtigen) Instance-Speicherdatenträger. Zwar·wird die
Datenspeicherung·auf·lokalen Instance-Speicherdatenträgern nicht berechnet, beachten Sie aber, dass für die von
außerhalb einer Amazon EC2-Region zu/von Amazon EC2-Instance-Speicherdatenträgern übertragenen Daten die
Datenübertragungsgebühren sowie zusätzliche Kosten für die Verwendung persistenter Speicher, z. B. Amazon S3,
EBS-Datenträger und EBS-Snapshots, anfallen. Detaillierte Informationen zu den Amazon EC2-, EBS- und
Datenübertragungsgebühren finden Sie im Web unter http://aws.amazon.com/ec2/pricing/.
Elastizität und Skalierbarkeit
Lokale Instance-Speicherdatenträger verfügen über eine feste Größe für einen bestimmten Amazon EC2-Instance-Typ
und sind mit einer bestimmten Instance verknüpft, daher ist dieser Speichertyp relativ wenig elastisch. Sie können
jedoch volle Speicherelastizität erreichen, indem Sie eine der anderen geeigneten Speicheroptionen, z. B. Amazon S3
oder Elastic Block Storage (EBS), in Ihre Amazon EC2-Speicherstrategie einbeziehen.
Oberflächen
Die Amazon EC2-Instance funktioniert mit lokalen Instance-Speicherdatenträgern genau wie mit lokalen
Festplattenlaufwerken. Das heißt, Sie können mit den auf dem lokalen Instance-Speicherdatenträger gehosteten
Daten mittels der systemeigenen Dateisystemmechanismen, wie Windows NTFS oder Linux XFS, interagieren.
Beachten Sie, dass in einigen Fällen ein lokales Instance-Speicherdatenträger-Gerät beim Start mit der Amazon
EC2-Instance verbunden wird, vor der Verwendung aber mit einem geeigneten Dateisystem formatiert und
bereitgestellt werden muss.
Nutzungsszenarios, in denen lokale Amazon EC2-Instance-Speicherdatenträger keine optimale
Lösung darstellen
Lokale Amazon EC2-Instance-Speicherdatenträger sind schnelle, kostenlose (d. h. im Preis der Amazon EC2-Instance
enthaltene) "Arbeitsdatenträger", die am besten für die Speicherung temporärer Daten geeignet sind, die sich einfach
regenerieren lassen. In vielen Fällen sind können jedoch andere AWS-Speicheroptionen besser geeignet sein:
Seite 8 von 24
Amazon Web Services – AWS-Speicheroptionen
Dezember 2010

Persistenter Speicher – Wenn Sie persistenten, virtuellen Datenträgerspeicher benötigen, ähnlich einem
physischen Festplattenlaufwerk für Dateien oder andere Daten, die über die Lebensdauer einer einzelnen
Amazon EC2-Instance hinaus bestehen bleiben müssen, sind EBS-Datenträger oder Amazon S3 besser geeignet.

Datenbankspeicher – In den meisten Fällen ist für Datenbanken ein Speicher erforderlich, der über die
Lebensdauer einer einzelnen Amazon EC2-Instance hinaus bestehen bleibt, was EBS-Datenträger zur
richtigen Wahl macht.

Gemeinsam genutzter Speicher – Instance-Speicherdatenträger, werden für eine einzelne Amazon EC2-Instance
dediziert bereitgestellt und können nicht für andere Systeme oder Benutzer freigegeben werden. Wenn Sie einen
Speicher benötigen, der von einer Instance getrennt und einer anderen Instance zugewiesen werden kann, oder
wenn Sie die Möglichkeit zur einfachen Freigabe von Daten benötigen, sind Amazon S3 oder EBS-Datenträger die
bessere Wahl.

Snapshots – Wenn Sie die Bequemlichkeit, langfristige Zuverlässigkeit, Verfügbarkeit und Freigabemöglichkeit
von Point-in-Time-Platten-Snapshots benötigen, sind EBS-Datenträger zu bevorzugen.
Amazon Simple Storage Service (Amazon S3)
Amazon S3 ist ein hoch skalierbarer, zuverlässiger und verfügbarer verteilter Objektspeicher, der auf geschäftskritische
und primäre Datenspeicherung ausgerichtet ist und über eine benutzerfreundliche Web-Service-Oberfläche verfügt.
In traditionellen lokalen Anwendungen würde diese Art von Daten normalerweise in einem SAN oder NAS verwaltet
werden. Ein Cloud-basierter Mechanismus wie Amazon S3 ist weit reaktionsschneller, flexibler und geografisch
redundant. Amazon S3 bietet eine einfache Web-Service-Oberfläche, über die Sie jederzeit innerhalb von Amazon EC2
und von jedem Ort über das Internet beliebige Datenmengen speichern und abrufen können. Sie können Objekte,
die jeweils zwischen 1 Byte und 5 TB an Daten enthalten, schreiben, lesen und löschen. Die Anzahl der Objekte in
einem Amazon S3-Bucket ist unbegrenzt. Amazon S3 ist zudem hoch skalierbar, wodurch der gleichzeitige Lese- oder
Schreibzugriff auf Amazon S3-Daten von vielen separaten Clients oder Anwendungs-Threads möglich ist.
Ideales Nutzungsszenario
Eine sehr häufiger Anwendungsbereich für Amazon S3 ist die Speicherung statischer Web-Inhalte. Diese Inhalte können
direkt aus Amazon S3 über einen Web-Server bereitgestellt werden, weil jedes Objekt in Amazon S3 über eine eindeutige
HTTP URL-Adresse verfügt, oder sie können über ein Content Delivery Network (CDN) wie Amazon CloudFront
bereitgestellt werden. Aufgrund seiner Elastizität ist Amazon S3 gut für das Hosting von Web-Inhalten mit extrem hohen
Bedarfsschwankungen in der Bandbreite geeignet. Da keine feste Reservierung von Speicherkapazitäten erfolgt, kann
Amazon S3 zudem gut für schnell wachsende Websites eingesetzt werden, die datenintensive, benutzergenerierte
Inhalte hosten, wie bei Video- und Fotofreigabe.
Amazon S3 wird außerdem häufig als Datenspeicher für große Datenverarbeitungsaufgaben wie die Analyse von
Finanztransaktionen oder Clickstream-Daten und Medien-Transcodierung eingesetzt. Aufgrund der horizontalen
Skalierbarkeit von Amazon S3 können Sie auf Ihre Daten von mehreren Computing-Knoten gleichzeitig zugreifen
und sind nicht auf eine einzige Verbindung beschränkt.
Schließlich wird Amazon S3 sehr oft als Ursprungsspeicher für geschäftskritische Daten, hoch zuverlässiger SnapshotSpeicher für Amazon EBS-Datenträger, Backup-Speicheranwendungen und großartige Notfallwiederherstellungslösungen
zur Gewährleistung des unterbrechungsfreien Betriebs verwendet. Da Amazon S3 Objekte redundant auf mehreren
Seite 9 von 24
Amazon Web Services – AWS-Speicheroptionen
Dezember 2010
Geräten in mehreren Anlagen speichert, verfügt es über die für diese Szenarios erforderliche hoch zuverlässige
Speicherinfrastruktur.
Leistung
Der Zugriff auf Amazon S3 aus Amazon Elastic Compute Cloud (Amazon EC2) in der selben Region ist schnell. Wenn Sie
auf Amazon S3 mittels mehrerer Threads, mehrerer Anwendungen oder mehrerer Clients gleichzeitig zugreifen, liegt der
Amazon S3-Gesamtdurchsatz typischerweise bei Größenordnungen, die weit über die Kapazitäten hinaus gehen, die ein
einzelner Server erzeugen oder verarbeiten kann.
Um den Zugriff auf relevante Daten zu beschleunigen, kombinieren viele Entwickler Amazon S3 mit Amazon SimpleDB.
Amazon S3 speichert die eigentlichen Informationen und SimpleDB dient als Repository für die zugehörigen Metadaten
(z. B. Objektnamen, Größe, Schlüsselwörter und so weiter). SimpleDB stellt automatische Indizierung bereit, wodurch
eine äußerst effiziente Suche von Objektreferenzen über eine Metadatensuche möglich wird. Anhand dieses Ergebnisses
kann dann das eigentliche Objekt genau bestimmt und aus Amazon S3 abgerufen werden.
Zuverlässigkeit und Verfügbarkeit
Indem die Daten automatisch und synchron sowohl über mehrere Geräte als auch mehrere Anlagen innerhalb der
ausgewählten geografischen Region gespeichert werden, bietet die Amazon S3-Speicherung das höchste Maß an
Datenzuverlässigkeit und -verfügbarkeit auf der AWS-Plattform. Die Fehlerkorrektur ist integriert und es gibt keine
einzelnen Fehlerquellen (Single Points of Failure). Amazon S3 wurde so entwickelt, dass ein gleichzeitiger Datenverlust in
zwei Anlagen ausgeschlossen ist, wodurch es ideal als primärer Datenspeicher für geschäftskritische Daten geeignet ist.
Amazon S3 wurde für eine Objektzuverlässigkeit von 99,999999999 % (11 Neunen) und eine Verfügbarkeit von 99,99 %
über ein Jahr ausgelegt. Zusätzlich kann die integrierte Redundanz der Amazon S3-Daten zusätzlich mittels Amazon S3Versioning vor Anwendungsausfällen und unbeabsichtigten Löschungen geschützt werden. Zudem können Sie Amazon
S3-Versioning mit MFA Delete aktivieren. Ist diese Option für einen Bucket aktiviert, sind zwei Formen der
Authentifizierung erforderlich, um eine Version eines Amazon S3-Objekts zu löschen: gültige AWS-Zugangsdaten und
ein sechsstelliger Code (ein einmal verwendbares, zeitlich befristetes Kennwort) eines physisches Token-Geräts.
Für nicht kritische Daten, die bei Bedarf leicht wiederherzustellen sind, z. B. transkodierte Medien oder Miniaturbilder,
können Sie die RRS-Option (Reduced Redundancy Storage) in Amazon S3 verwenden, die zwar eine geringere
Zuverlässigkeit aufweist, dafür aber niedrigere Speicherkosten verursacht. Mit der RRS-Option gespeicherte Objekte
weisen geringere Redundanz auf als Objekte, die über die Amazon S3-Standardspeicherung gespeichert werden. In
beiden Fällen werden Ihre Daten auf mehreren Geräten an mehreren Standorten gespeichert. RRS wurde auf eine
Objektzuverlässigkeit von 99,99 % über ein Jahr ausgelegt. Die Zuverlässigkeit von RRS ist zwar geringer als bei der
Amazon S3-Standardspeicherung, RRS ist aber immer noch 400 Mal zuverlässiger als ein übliches Festplattenlaufwerk.
Kosten
Wie bei allen Amazon Web Services zahlen Sie bei Amazon S3 nur für das, was Sie tatsächlich nutzen, ohne
Mindestgebühren oder langfristige Vertragsbindung. Die Kosten für Amazon S3 berechnen sich aus drei
Preiskomponenten: Speicher (je GB/Monat), ein- oder ausgehende Datenübertragung (je GB/Monat) und Anfragen
(je n Tausend Anfragen pro Monat). Neuen Kunden stellt AWS kostenlose Nutzungskontingente von bis zu 5 GB
Amazon S3-Speicher zur Verfügung. Die vollständigen Preisinformationen zu Amazon S3 finden Sie unter
http://aws.amazon.com/s3/pricing/.
Seite 10 von 24
Amazon Web Services – AWS-Speicheroptionen
Dezember 2010
Elastizität und Skalierbarkeit
Amazon S3 wurde so konzipiert, dass es automatisch ein sehr hohes Maß an Elastizität und Skalierbarkeit bereitstellt.
Im Gegensatz zu einem typischen Dateisystem, bei dem bei denen die Speicherung großer Mengen von Dateien in einem
Verzeichnis zu Problemen führt, unterstützt Amazon S3 eine unbegrenzte Anzahl von Dateien in jedem Bucket. Auch
kann in einem Amazon S3-Bucket eine unbegrenzte Byte-Menge gespeichert werden, wohingegen auf Festplatten die
Datenmenge begrenzt ist, die maximal gespeichert werden kann. Wird diese Datenmenge überschritten, müssen die
Daten über mehrere Laufwerke und/oder Server partitioniert werden. Sie können eine beliebige Anzahl von Objekten
speichern und Amazon S3 verwaltet die Skalierung und Verteilung redundanter Kopien Ihrer Informationen auf andere
Server an anderen Standorten in derselben Region, die alle die Hochleistungsinfrastruktur von Amazon einsetzen.
Oberflächen
Amazon S3 stellt Web-Service-APIs für SOAP und RESTful bereit. Diese APIs ermöglichen das Speichern von Amazon
S3-Objekten (Dateien) in eindeutig benannten Buckets (Ordner der obersten Ebene). Jedes Objekt muss über einen
eindeutigen Objektschlüssel (Dateinamen) verfügen, der als Objektkennung in diesem Bucket dient. Amazon S3 ist zwar
eher ein Web-basierter Objektspeicher als ein traditionelles Dateisystem, Sie können in Amazon S3 aber problemlos eine
Dateisystemhierarchie (Ordner1/Ordner2/Datei) simulieren, indem Sie Objektschlüsselnamen erstellen, die dem
vollständigen Pfadnamen jeder Datei entsprechen.
Die meisten Entwickler von Anwendungen in Amazon S3 verwenden ein High-Level-Toolkit. AWS und Drittanbieter haben
Amazon S3-Oberflächen-Toolkits und -Bibliotheken für verschiedene beliebte Programmiersprachen und Plattformen für
die Softwareentwicklung erstellt, z. B.:

Java, unter Verwendung von AWS SDK für Java (http://aws.amazon.com/sdkforjava/) und AWS Toolkit für Eclipse
(http://aws.amazon.com/eclipse/).

C#, unter Verwendung von AWS SDK für .NET (http://aws.amazon.com/sdkfornet/) und Visual Studio-Vorlagen.

PHP, unter Verwendung der Basisinstallation von PHP5 oder AWS SDK für PHP
(http://aws.amazon.com/sdkforphp/).

Perl, unter Verwendung von Digest::SHA1-, Bundle::LWP- und XML::Simple-Modulen, die alle von Comprehensive
Perl Archive Network unter http://www.cpan.org heruntergeladen werden können.
Amazon S3 ist zwar primär für den Zugriff über APIs entwickelt worden, aber die AWS Management Console und Tools
von Drittanbietern bieten auch grafische und Befehlszeilen-Oberflächen für die Interaktion mit Ihren Amazon S3-Buckets
und -Objekten. Amazon S3 unterstützt auch das BitTorrent-Protokoll, über das Verbraucher gleichzeitig Informationen
von S3 und anderen Anbietern abrufen können.
Zum Hoch- oder Herunterladen großer Datenmengen können Sie auch den Service AWS Import/Export verwenden
(http://aws.amazon.com/importexport/). AWS Import/Export beschleunigt die Bewegung großer Datenmengen in
und aus AWS mit tragbaren Speichergeräten für den Transport. Amazon stellt Ihr Gerät bereit und kopiert die Daten in
einen oder aus einem ausgewählten Amazon S3-Bucket. Dieser Ansatz ist häufig schneller und kostengünstiger als die
Übertragung riesiger Datenmengen über das Internet.
Beachten Sie, dass RRS dieselben Oberflächen wie die Amazon S3-Standardspeicherung verwendet. Die RRS-Option wird
für ein Amazon S3-Objekt oder einen Amazon S3-Bucket durch Festlegen der Eigenschaft "Storage Class" während einer
Seite 11 von 24
Amazon Web Services – AWS-Speicheroptionen
Dezember 2010
PUT-Operation oder durch Auswählen der Einstellung "Use Reduced Redundancy Storage" in der AWS Management
Console definiert.
Nutzungsszenarios, in denen Amazon S3 keine optimale Lösung darstellt
Amazon S3 ist optimal für die Speicherung zahlreicher relativ statischer Informationsklassen geeignet, die von den
Zuverlässigkeits-, Verfügbarkeits- und Elastizitätsfunktionen profitieren. In vielen Situationen ist Amazon S3 aber
nicht die optimale Lösung:

Dateisystem – Amazon S3 verwendet einen flachen Namespace und ist nicht als eigenständiges, POSIXkompatibles Dateisystem gedacht. Durch Verwendung von Trennzeichen – üblicherweise entweder der
Schrägstrich (/) oder der Backslash (\) – können Sie jedoch Ihre Schlüssel verwenden, um die hierarchische
Ordnerstruktur eines Dateisystems in einem bestimmten Bucket nachzuahmen.

Strukturierte Daten mit Abfrage – Amazon S3 bietet keine Abfragefunktionen: Zum Abrufen bestimmter Objekte
müssen Sie den Bucket-Namen und den Schlüssel bereits kennen. Sie können daher nicht Amazon S3 selbst als
Datenbank verwenden. Ein häufiges Anwendungsmuster besteht darin, ein Objekt in Amazon S3 zu speichern
und dann mit Amazon SimpleDB die Metadaten des Objekts zu verwalten. Sie können auch andere
Datenbanktechnologien wie Amazon RDS oder eine auf einer Amazon EC2-Instance ausgeführte Datenbank
verwenden. Anschließend durchsuchen Sie die Datenbank nach dem Bucket-Namen und -Schlüssel des Objekts,
und rufen dann das Objekts selbst aus dem Amazon S3-Bucket ab.

Sich schnell ändernde Daten – Daten, die sehr häufig aktualisiert werden müssen, sollten möglicherweise
vorzugsweise in einer Speicherlösung mit niedrigeren Lese-/Schreiblatenzen gespeichert werden, z. B. in
EBS oder einer Datenbank.
Amazon Simple Queue Service
Amazon Simple Queue Service (Amazon SQS) ist ein zuverlässiger, hoch skalierbarer gehosteter Dienst für NachrichtenWarteschlangen zur temporären Speicherung und Bereitstellung kurzer (bis zu 64 KB) textbasierter Datennachrichten. Eine
Amazon SQS-Warteschlange ist ein temporäres Daten-Repository für Nachrichten, die auf die Verarbeitung warten
(typischerweise Nachrichten, die von einer Anwendungskomponente generiert und von einer anderen verarbeitet werden).
Amazon SQS-Nachrichten können von Servern oder verteilten Anwendungskomponenten in der Amazon EC2-Umgebung
oder an beliebiger anderer Stelle im Internet gesendet und empfangen werden. Amazon SQS unterstützt eine unbegrenzte
Anzahl von Warteschlangen sowie die unsortierte, mindestens einmal erfolgende Auslieferung von Nachrichten.
Zwar werden Amazon SQS und andere Dienste für Nachrichten-Warteschlangen normalerweise als asynchrone
Kommunikationsprotokolle betrachtet, aber Amazon SQS kann auch zur temporären aber zuverlässigen
Datenspeicherung für viele unterschiedlicher Anwendungen verwendet werden. Die Verwendung von Amazon SQS
als temporärer Speicher kann die Verwendung anderer Speichermechanismen, z. B. die temporäre Speicherung von
Daten auf Datenträgern, minimieren.
Ideales Nutzungsszenario
Amazon SQS ist ideal geeignet für Szenarios, in denen mehrere Anwendungskomponenten ihre Arbeit in einer lose
gekoppelten Weise kommunizieren und koordinieren müssen. Dies geschieht in Produzent/Verbraucher-Szenarios,
in denen einige Komponenten möglicherweise schneller oder langsamer arbeiten als andere oder in denen die Anzahl
der interagierenden Komponenten je nach Zeit oder Last variiert. Amazon SQS kann als "Software-Verbinder" fungieren,
Seite 12 von 24
Amazon Web Services – AWS-Speicheroptionen
Dezember 2010
der Komponenten die zuverlässige Kommunikation ermöglicht, ohne dass dazu eine feste Kupplung oder ein äußerst
synchroner Betrieb bzw. eine feste Anzahl von Komponenten erforderlich ist.
Eine klassische Verwendung von Amazon SQS ist die Koordination einer mehrstufigen Verarbeitungs-Pipeline, bei der
jede Nachricht einer zu verarbeitenden Task zugeordnet ist. Jede Aufgabe wird durch eine Amazon SQS-Nachricht
beschrieben, die die zu erledigende Aufgabe sowie einen Pointer auf die Aufgabendaten in Amazon S3 enthält.
Beispiel: Angenommen, Sie möchten eine Reihe von Bilddateien kodieren. In einer SNS-Worker-Warteschlange erstellen
Sie eine SNS-Nachricht für jede Datei, indem Sie den Befehl (jpeg-encode) und den Speicherort der Datei in Amazon S3
angeben. Ein Pool von Amazon EC2-Instances, auf denen die erforderlich Bildverarbeitungssoftware ausgeführt wird,
übernimmt folgende Aktionen:
1. Die Aufgabennachrichten asynchron aus der Warteschlange übertragen
2. Die benannte Datei abrufen
3. Die Konvertierung verarbeiten
4. Das Bild zurück in Amazon S3 schreiben
5. Eine "task complete"-Nachricht in eine andere Warteschlange schreiben
6. Die ursprüngliche Aufgabennachricht löschen
7. Nach weiteren Nachrichten in der Worker-Warteschlange suchen
Durch Verwendung der Amazon SQS-Warteschlange lassen sich die Worker-Instances wie auch die Verarbeitungsleistung
jeder einzelnen Worker-Instance nach oben oder nach unten skalieren und so an die Gesamtarbeitslast anpassen, ohne
Änderungen an der Anwendung vorzunehmen.
Leistung
Amazon SQS ist ein verteiltes Warteschlangensystem, das auf horizontale Skalierbarkeit und nicht auf Versand- oder
Sendegeschwindigkeiten einzelner Threads optimiert ist. Ein einzelner Client kann Amazon SQS-Nachrichten mit einer
Rate von etwa 5 bis 50 Nachrichten pro Sekunde senden oder empfangen. Höhere Empfangsleistung wird erreicht,
indem in einem einzigen Aufruf mehrere Nachrichten (bis zu 10) angefordert werden. Es kann einige Sekunden dauern,
bevor eine in eine Warteschlange geschriebene Nachricht für den Empfang verfügbar ist.
Seite 13 von 24
Amazon Web Services – AWS-Speicheroptionen
Dezember 2010
Zuverlässigkeit und Verfügbarkeit
Standardmäßig sind Nachrichten in Amazon SQS hoch zuverlässig aber temporär. Damit keine Mitteilungen verloren
gehen bzw. nicht mehr verfügbar sind, werden alle Mitteilungen redundant auf mehreren Servern und in mehreren
Rechenzentren gespeichert. Der Aufbewahrungszeitraum für Nachrichten ist auf Warteschlangenbasis konfigurierbar,
zwischen mindestens einer Stunde und höchstens 14 Tagen. Nachrichten verbleiben solange in einer Warteschlange,
bis sie explizit bzw. nach Ablauf des Aufbewahrungszeitraums automatisch gelöscht werden.
Kosten
Wie bei allen Amazon Web Services zahlen Sie bei Amazon SQS nur für das, was Sie tatsächlich nutzen, ohne
Mindestgebühren oder langfristige Vertragsbindung. Für den Einstieg und zur Unterstützung einfacher Anwendungen
bietet Amazon SQS ein kostenloses Nutzungskontingent für den Service von 100.000 Anfragen pro Monat. Über dieses
kostenlose Nutzungskontingent hinaus basieren die Preise für Amazon SQS auf der Anzahl der Anfragen (abgerechnet pro
10.000 Anfragen) und der übertragenen eingehenden und ausgehenden Datenmenge (abgerechnet pro GB/Monat).
Die vollständigen Preisinformationen zu Amazon SQS finden Sie unter http://aws.amazon.com/sqs/pricing/.
Elastizität und Skalierbarkeit
Amazon SQS ist sowohl hoch elastisch als auch extrem skalierbar. Amazon SQS ist so ausgelegt, dass eine unbegrenzte
Anzahl von Computern jederzeit eine unbegrenzte Anzahl von Mitteilungen lesen und schreiben kann. Außerdem
unterstützt der Service eine unbegrenzte Anzahl von Warteschlangen und eine unbegrenzte Anzahl von Nachrichten
pro Warteschlange für jeden Benutzer.
Oberflächen
Sie können über SOAP- und Query (HTTP)-Oberflächen auf Amazon SQS zugreifen. Fünf APIs erleichtern Entwicklern den
Einstieg in SQS: CreateQueue, SendMessage, ReceiveMessage, ChangeMessageVisibility und DeleteMessage. Zusätzliche
APIs stellen fortgeschrittene Funktionen bereit. In allen Fällen können die SOAP- und Abfrage-APIs mit Java, C#, Perl und
PHP verwendet werden.
Nutzungsszenarios, in denen Amazon SQS keine optimale Lösung darstellt

Binäre oder umfangreiche Daten – Amazon SQS-Nachrichten müssen im Textformat vorliegen und dürfen
maximal 64 KB umfassen. Wenn die Daten, die Sie in einer Warteschlange speichern möchten, diese Länge
überschreiten oder im binären Format vorliegen, sollten Sie die umfangreichen oder binären Daten selbst in
Amazon S3 oder RDS speichern und in Amazon SQS lediglich Pointer auf die Daten verwalten.

Langfristige Speicherung – Wenn Nachrichtendaten über einen längeren Zeitraum als 14 Tage aufbewahrt
werden müssen, eignen sich Amazon S3 oder andere Speichermechanismen besser.
Seite 14 von 24
Amazon Web Services – AWS-Speicheroptionen
Dezember 2010
Amazon SimpleDB
Amazon SimpleDB stellt einen neuen Ansatz für die Speicherung und Verwaltung strukturierter Daten in der Cloud dar,
der sich von den traditionellen Techniken der Bereitstellung relationaler Datenbankserver unterscheidet. SimpleDB ist
ein hoch verfügbarer, skalierbarer und flexibler nicht relationaler Datenspeicher, der viele der Aufgaben der
Datenbankadministration und zugehörigen Systemverwaltung auslagert. Mit Amazon SimpleDB verfügen Sie über
ein "schemaloses" Datenmodell, in dem Sie Datenelemente speichern können, die aus einer flexiblen Anzahl von
Name/Wert-Paaren bestehen.
Ideales Nutzungsszenario
Diese Speicheralternative ist gut für Situationen geeignet, in denen Sie strukturierte, granulare Daten mit hoher
Verfügbarkeit und Zuverlässigkeit persistent speichern und abfragen (primär leseorientierte Interaktionen), aber
gleichzeitig den Verwaltungsaufwand für Datenbanken umgehen möchten.
Viele Unternehmen verwenden SimpleDB als Teil einer größeren Cloud-basierten Speicherarchitektur. Ein häufiger
Anwendungsbereich ist der Einsatz von SimpleDB zum Verwalten von Metadaten über Informationen, die mittels anderer
AWS-Services gespeichert werden. Beispiel: Angenommen, Sie erstellen eine Cloud-basierte Lösung zum Speichern von
Millionen von Bildern, die jeweils mehrere MB groß sind. In diesem Fall können Sie die eigentlichen Bilder mit Amazon
Elastic Block Storage (EBS) oder Amazon Simple Storage Service (Amazon S3) speichern und SimpleDB als Repository
für die Details über die einzelnen Bilder verwenden. Sie können anschließend Abfragen nach einem bestimmten Bild
an SimpleDB senden, und die gefundenen Informationen zum Abrufen der Ergebnisse aus den anderen AmazonSpeicherlösungen verwenden.
Leistung
Dank der bewährten Hochgeschwindigkeitsinfrastruktur von Amazon schaffen Sie mit dem SimpleDB-Ansatz eine
schnelle, hoch verfügbare Datenbank, die gleichzeitig äußerst skalierbar ist. Um den höchsten Durchsatz und die
geringsten Latenzen zu gewährleisten führt Amazon SimpleDB standardmäßig "Eventually Consistent"-Lesevorgänge
aus. Für Anwendungen, bei denen der zuletzt geschriebene Eintrag abrufen werden muss, kann auch ein konsistenter
Lesevorgang verwendet werden.
Zuverlässigkeit und Verfügbarkeit
SimpleDB bietet durch vollautomatische, georedundante Replikation eine sehr hohe Datenzuverlässigkeit. Mehrere
Replikate jedes SimpleDB-Datenelements werden an unterschiedlichen Standorten in der ausgewählten geographischen
Region gespeichert.
Kosten
Wie bei allen Amazon Web Services zahlen Sie bei Amazon SimpleDB nur für das, was Sie tatsächlich nutzen, ohne
Vorabgebühren oder langfristige Vertragsbindung. Die Kosten für SimpleDB umfassen die Speicherung strukturierter
Daten (pro GB/Monat), die Datenübertragung (pro GB/Monat) sowie die Maschinenstunden (pro Monat) in
Verbindung mit PUT- und GET-Operationen. Das erste 1 GB strukturierter Datenspeicher im Monat und die ersten
25 Maschinenstunden im Monat (etwa 2 Mio. GET- oder SELECT-API-Anfragen) sind kostenlos. Dank dieses kostenlosen
Nutzungskontingents fallen für viele Anwendungen überhaupt keine SimpleDB-Kosten an.
Die vollständigen Preisinformationen zu Amazon SimpleDB finden Sie unter http://aws.amazon.com/simpledb/pricing/.
Seite 15 von 24
Amazon Web Services – AWS-Speicheroptionen
Dezember 2010
Elastizität und Skalierbarkeit
Wenn Sie eine SimpleDB-Domain erstellen, weist AWS maximal 10 GB Speicher pro Domain zu. Da Sie nur für Rechenund Speicherressourcen zahlen, die Sie tatsächlich nutzen, können Sie das System auf transparente Weise bis auf Null
oder bei Bedarf nach oben skalieren. Speicher und Indexanforderungen werden von Amazon SimpleDB verarbeitet und
die automatisch indizierten Daten werden redundant an mehreren Standorten innerhalb der beim Erstellen Ihrer
SimpleDB-Domain ausgewählten Region gespeichert. Dadurch entfällt die Datenbankadministration und Sie können ganz
einfach mit PUT und GET auf Daten zugreifen. Um horizontale Skalierbarkeit zu erreichen und den Durchsatz oder die
Größe der Datensätze über die Begrenzungen einer einzigen Domain hinaus zu erhöhen, können Sie mehrere SimpleDBDomains erstellen und mehrere Operationen parallel ausführen. Datensätze, die größer als 10 GB sind, können Sie über
mehrere SimpleDB-Domains hinweg partitionieren.
Oberflächen
Für die programmseitige Interaktion mit SimpleDB stehen zahlreiche verschiedene Techniken zur Verfügung. Amazon
stellt eine Web-Service-API für SOAP- und RESTful-Stile zur Verfügung. Die API umfasst aktuell neun Operationen für
die Domain-Verwaltung (Erstellen, Auflisten, Löschen und Empfangen von Metadaten) und für die Arbeit mit Attributen
(Abrufen, Schreiben – einzeln oder im Batch – und Löschen). Zwar ist Standard-SQL für SimpleDB nicht verfügbar,
aber mit der SimpleDB-Operation "Select" können Sie SQL-ähnliche Abfragen erstellen, um einen Satz von Attributen
basierend auf den von Ihnen festgelegten Kriterien abzurufen.
Wenn Sie die Verwendung eines Software Development Kits bevorzugen, stehen Toolkits und Bibliotheken für beliebte
Programmiersprachen und Plattformen für die Softwareentwicklung zur Verfügung, z. B.:

Java unter Verwendung von AWS SDK für Java (http://aws.amazon.com/sdkforjava/) und AWS Toolkit für Eclipse
(http://aws.amazon.com/eclipse/).

C#, unter Verwendung von AWS SDK für .NET (http://aws.amazon.com/sdkfornet/) und Visual Studio-Vorlagen.

PHP, unter Verwendung der Basisinstallation von PHP5 oder AWS SDK für PHP
(http://aws.amazon.com/sdkforphp/).

Perl, unter Verwendung von Digest::SHA1-, Bundle::LWP- und XML::Simple-Modulen, die alle von Comprehensive
Perl Archive Network unter http://www.cpan.org heruntergeladen werden können.
Nutzungsszenarios, in denen Amazon SimpleDB keine optimale Lösung darstellt
Es ist leicht zu bestimmen, für welche Nutzungsszenarios SimpleDB nicht geeignet ist. Wenn eines der folgenden
Kriterien zutrifft, sollten Sie ggf. eine der anderen AWS-Speicheroptionen verwenden:

Eine vorgefertigte Anwendung, die an eine traditionelle relationale Datenbank angebunden ist – Wenn Sie
eine vorhandene Anwendung in die AWS-Cloud portieren möchten und weiterhin eine relationale Datenbank
verwenden müssen, sollten Sie entweder Amazon RDS (wenn es sich um eine MySQL-Datenbank handelt) oder
eine der zahlreichen vorkonfigurierten Amazon EC2-Datenbank-AMIs verwenden. Sie können natürlich auch
eine eigene Amazon EC2-Instance erstellen und darauf eine Datenbank-Engine installieren.

Joins und/oder komplexe Transaktionen – Zwar kann SimpleDB bei vielen Lösungen zur Unterstützung der
Benutzer verwendet werden, aber möglicherweise erfordert Ihre Anwendung Joins, komplexe Transaktionen
und andere relationale Infrastruktur, die von traditionellen Datenbankplattformen bereitgestellt werden. Wenn
dies der Fall ist, sollten Sie Amazon RDS oder Amazon EC2 mit einer installierten Datenbank in Betracht ziehen.
Seite 16 von 24
Amazon Web Services – AWS-Speicheroptionen
Dezember 2010

BLOB-Daten (Binary Large Objects) – Wenn Sie planen, binäre Daten (z. B. Videos, Bilder oder Musik) zu
speichern, sollten Sie entweder Amazon Elastic Block Storage (EBS) oder Amazon Simple Storage Service
(Amazon S3) verwenden. Aber auch in diesem Szenario kann SimpleDB eine sinnvolle Rolle übernehmen,
nämlich die Verwaltung der Metadaten über Ihre Binärobjekte (z. B. Elementname, Größe, Erstellungsdatum,
Eigentümer, Speicherort und so weiter).

Daten eines bestimmten Typs (numerisch) – SimpleDB speichert alle Daten als Textzeichenfolgen, wenn Sie also
mit Daten eines bestimmten Typs oder mit numerischen Daten arbeiten möchten, kann RDS oder eine
traditionelle Datenbank auf Amazon EC2 eine bessere Lösung sein.

Große Datenmengen – Wie bereits erwähnt bietet SimpleDB ein überzeugendes Preis- und Speichermodell
für viele Anwendungen. Wenn Sie aber sehr große Datensätze verwalten müssen, sollte Sie über
Speicheralternativen wie Amazon S3 oder EBS nachdenken. Wieder gilt: Sie können SimpleDB auch
hier als effizienten Mechanismus zum Verwalten von Metadaten über große Datensätze verwenden.
Amazon Relational Database Service (Amazon RDS)
Amazon Relational Database Service (RDS) ist eine voll funktionsfähige relationale MySQL-Datenbank, die als verwalteter,
Cloud-basierter Service bereitgestellt wird. Wenn Ihre Anwendung relationalen Speicher benötigt, Sie aber gleichzeitig den
Verwaltungsaufwand für Datenbanken senken möchten, bietet Amazon RDS eine automatisierte Übernahme
administrativer Aufgaben zur Reduzierung der Komplexität und Gesamtbetriebskosten. Amazon RDS sichert Ihre Datenbank
automatisch und verwaltet die Datenbanksoftware, sodass Sie mehr Zeit für die Anwendungsentwicklung haben. Dieser
Service eignet sich optimal für traditionelle strukturierte Daten, für die komplexere Abfrage- und Verknüpfungsfunktionen
benötigt werden, als in der anderen Amazon-Datenbanklösung, SimpleDB, bereitgestellt werden.
Ideales Nutzungsszenario
Amazon RDS ist eine großartige Wahl für jede Anwendung, die auf MySQL als Informations-Repository basiert, und wenn
Sie von einer hoch skalierbaren, wartungsarmen, kosteneffizienten, Cloud-basierten Datenbank profitieren möchten,
ohne Code-Änderungen vornehmen zu müssen.
Leistung
Amazon RDS liefert höchste Leistung dank einer Kombination aus konfigurierbaren Instances, die auf der bewähren
erstklassigen Amazon-Infrastruktur mit vollautomatischen Wartungs- und Backup-Operationen ausgeführt werden.
Verfügbare Datenbankkonfigurationen reichen von einer "Small Instance" (64-Bit-Plattform mit 1,7 GB RAM und
1 Elastic Computing Unit (ECU)) bis hinauf zu einer "Quadruple Extra-Large Instance" (64-Bit-Plattform mit 68 GB RAM
und 26 ECUs).
Um optimale Leistung zu erreichen, ist es für Datenbankdesigner und -administratoren unerlässlich, das geeignete
Instance-Profil (einschließlich RAM und Speicher) für die jeweiligen Rechenanforderungen auszuwählen. Wird eine
Optimierung erforderlich, können Sie die Datenbankeinstellungen mit einer API von Amazon anpassen. Amazon
CloudWatch stellt Metriken bereit, mit denen sich ermitteln lässt, wann Leistungsoptimierung und/oder zusätzliche
Elastizität erforderlich ist. Schließlich können Administratoren wählen, zu einer größeren Datenbankkonfiguration zu
wechseln, sollte der Bedarf die aktuellen Ressourcen der Instances überschreiten.
Seite 17 von 24
Amazon Web Services – AWS-Speicheroptionen
Dezember 2010
Elastizität und Skalierbarkeit
RDS-Ressourcen können elastisch in verschiedenen Dimensionen skaliert werden: Größe des Datenbankspeichers,
Rechenkapazität der Datenbank-Instance und Anzahl der Read Replicas.
Um zusätzliche Rechenelastizität zu erreichen, können Sie weitere Amazon RDS-Instances konfigurieren und mittels
Partitionierung die Arbeitslast verteilen.
Um den RDS-Datenbankspeicher elastisch nach oben zu skalieren, können Sie mit Befehlszeilen-Tools, APIs oder der
AWS Management Console zusätzlichen Speicher anfordern. Je nach Ihren Anforderungen kann dieser zusätzliche
Speicher entweder sofort oder während des nächsten Wartungsfensters hinzugefügt werden.
Das Skalieren von Rechenressourcen nach oben oder unten lässt sich mühelos mit einer einzigen API oder einem
einzigen Befehl in der AWS Management Console ausführen. Beispiel: Sie benötigen beispielsweise jeweils am Ende
eines Monats zusätzliche Rechenleistung für die Rechnungsstellung. Es ist ganz einfach, auf eine "Quadruple Extra-Large
Instance" zu skalieren, die rechenintensiven Arbeitslasten auszuführen und dann für den Rest des Monats wieder zurück
zur kleineren, kostengünstigeren Konfiguration zu wechseln.
Um RDS-Datenbankressourcen nach oben oder unten zu skalieren (horizontale Skalierung mittels mehrerer RDSInstances), können Administratoren eine oder mehrere RDS-Read Replicas erstellen. Read Replicas verwenden die
integrierte asynchrone Replikationsfunktion von MySQL, um RDS-Ressourcen zur Unterstützung hoher Arbeitslasten
elastisch zu skalieren.
Schließlich können Administratoren zusätzliche Amazon RDS-Instances konfigurieren und die Arbeitslast mittels
Datenbankpartitionierung oder Datenbank-Splitting verteilen, wodurch noch größere Datenbankelastizität und
Skalierbarkeit erreicht wird.
Zuverlässigkeit und Verfügbarkeit
Zur größeren Zuverlässigkeit bietet RDS zwei Arten von Datenbank-Backups an, die über mehrere Availability Zones
repliziert werden: automatische DB-Instance-Backups und vom Benutzer initiierte Datenbank-Snapshots. Wenn Sie
automatische DB-Instance-Backups aktivieren, führt RDS automatisch während des angegebenen Backup-Fensters ein
vollständiges tägliches Backup Ihrer Daten aus und erfasst außerdem DB-Transaktionsprotokolle. Diese automatischen
Backups werden ohne zusätzliche Kosten bereitgestellt und können bis zu acht Tage lang aufbewahrt werden. Sie können
verwendet werden, um eine Point-in-Time-Wiederherstellung auf einen beliebigen Zeitpunkt durchzuführen, der zwischen
dem Beginn des Aufbewahrungszeitraums bis etwa fünf Minuten vor der aktuellen Zeit liegen kann. DB-Snapshots werden
vom Benutzer initiiert, können jederzeit erstellt werden und werden solange aufbewahrt, bis sie explizit gelöscht werden.
DB-Snapshots ermöglichen Ihnen die Wiederherstellung der Datenbank auf einen bekannten Zustand.
Die RDS-Funktion der Multi-AZ-Bereitstellung verbessert sowohl die Zuverlässigkeit als auch die Verfügbarkeit Ihrer
Datenbank, indem Ihre Daten synchron zwischen einer primären RDS-DB-Instance und einer Standby-Instance in
einer anderen Availability Zone repliziert werden. Im unwahrscheinlichen Fall des Ausfalls einer DB-Komponente oder
Availability Zone führt RDS automatisch einen Failover auf die Standby-Instance aus (dies dauert typischerweise etwa
drei Minuten) und die Datenbanktransaktionen können unmittelbar nach dem Wechsel zu den Standby-Daten fortgesetzt
werden. Die synchrone Replikation stellt sicher, dass es nicht zu Datenverlusten kommt.
Beachten Sie, dass die synchrone Replikation (durch die RDS-Funktion der Multi-AZ-Bereitstellung) die
integrierte asynchrone Replikation (durch RDS-Read Replicas) ergänzt. Sie können beide Funktionen einzeln
oder in Kombination einsetzen.
Seite 18 von 24
Amazon Web Services – AWS-Speicheroptionen
Dezember 2010
Kosten
Wie bei allen Amazon Web Services zahlen Sie bei Amazon RDS nur für das, was Sie tatsächlich nutzen, ohne
Mindestgebühren oder langfristige Vertragsbindung. Amazon RDS verfügt über eine mehrstufige Preisstruktur,
basierend auf der Größe der Datenbank-Instance, dem Entwicklungstyp (Single-AZ/Multi-AZ) und der AWS-Region.
Die Preise für Amazon RDS basieren auf verschiedenen Faktoren: den DB-Instance-Stunden (pro Stunde), der
Menge an bereitgestelltem Datenbankspeicher (pro GB/Monat sowie pro 1 Million E/A-Anfragen), zusätzlichem
Backup-Speicher (pro GB/Monat) und eingehender/ausgehender Datenübertragung (pro GB/Monat).
Die vollständigen Preisinformationen zu Amazon RDS finden Sie unter http://aws.amazon.com/rds/pricing/.
Oberflächen
Zum Einstieg bietet Amazon eine Reihe leicht verständlicher Befehlszeilen-Skripts zum Erstellen, Verwalten, Überwachen
und Anhalten Ihrer Datenbank-Instance. Alternativ dazu können Sie dieselben Aufgaben mit den auf den Web-Services
von Amazon basierenden Operationen ausführen.
Nachdem Sie Ihre Instance erstellt haben, können Sie Ihr Schema und Ihre Daten mit einem beliebigen Tool für
relationale Datenbanken einrichten. Je nach Menge und Speicherort der vorhandenen lokalen Daten können Sie
diese stattdessen mit dem Dienstprogramm "mysqldump" extrahieren und direkt an die ausführbare MySQL-Datei
zum Einfügen in Amazon RDS weiterleiten. Bei größeren Datensätzen kann es von Vorteil sein, zuerst das Schema in
Amazon RDS zu erstellen, dann die Daten lokal in eine Flat-Datei zu extrahieren und diese Datei anschließend mit dem
Dienstprogramm "mysqlimport" in Amazon RDS hochzuladen. Das Thema der Migration zu Amazon RDS wird in einem
künftigen Whitepaper detailliert behandelt werden.
Nachdem Ihr Schema und die Daten an Ort und Stelle sind, erfolgt die Interaktion mit den Informationen mit MySQLStandard-SQL, JDBC und anderen populären APIs oder beliebigen, für die Arbeit mit relationalen Daten geeigneten
grafischen Tools. Es müssen keinerlei Codeänderungen vorgenommen werden, damit Ihre Anwendung mit RDS
interagieren kann: Sie ersetzen lediglich die Adresse Ihres Datenbankservers (z. B. dbserver.yourcompany.com) durch
den öffentlichen DNS-Endpunkt (z. B. myinstance.c0cafggtpzd2.us-east-1.rds.amazonaws.com), der von AWS beim
Erstellen der Instance bereitgestellt wurde. Dieser DNS-Endpunkt bleibt über die gesamte Lebensdauer Ihrer Instance
gleich. Außer der Konfiguration des Endpunkts bleibt Ihre MySQL-basierte Anwendung komplett unverändert.
Nutzungsszenarios, in denen Amazon RDS keine optimale Lösung darstellt
Amazon RDS ist eine großartige Lösung für Cloud-basierte MySQL-Daten, aber in einer Reihe von Szenarios ist es nicht
die richtige Wahl:

Index- und abfrageorientierte Daten – Viele Cloud-basierte Lösungen benötigen nicht die fortgeschrittenen
Funktionen relationaler Datenbanken, wie Joins und komplexe Transaktionen. Wenn der Schwerpunkt Ihrer
Anwendung mehr auf Indizierung und Abfrage von Daten liegt, ist möglicherweise Amazon SimpleDB für Ihre
Zwecke geeigneter.

Viele große Binärobjekte (BLOBs) – Zwar ist MySQL (und somit Amazon RDS) in der Lage, BLOBs zu speichern,
wenn Ihre Anwendung diese Objekte aber in hohem Maße verwendet (Audiodateien, Videos, Bilder und so
weiter), dann kann Amazon Simple Storage Service (Amazon S3) die bessere Wahl sein.
Seite 19 von 24
Amazon Web Services – AWS-Speicheroptionen
Dezember 2010

Automatische Elastizität – Wie bereits erwähnt, liebt es beim Administrator, die Amazon RDS-Umgebung für
Elastizität zu konfigurieren. Wenn Sie automatische Elastizität benötigen (und Ihre Datenstrukturen dafür
geeignet sind), können Sie eine andere Speichermöglichkeit wählen, z. B. Amazon SimpleDB oder Amazon S3.

Andere Datenbankplattformen – Zurzeit stellt Amazon RDS eine MySQL-Datenbank bereit. Wenn Sie eine
andere Datenbankplattform benötigen (z. B. IBM DB2 oder Informix, Microsoft SQL Server, Oracle, PostgreSQL
oder Sybase) müssen Sie ein spezialisiertes AMI einer relationalen Amazon EC2-Datenbank bereitstellen oder
ein eigenes erstellen.
Relationale Datenbank auf Amazon EC2 / AMIs einer relationalen Datenbank
Amazon EC2 stellt zusammen mit EBS-Datenträgern eine ideale Plattform für den Betrieb Ihrer eigenen relationalen
Datenbank in der Cloud dar. Viele führende Datenbanklösungen sind als vorgefertigte, einsatzbereite Amazon EC2-AMIs
verfügbar, beispielsweise IBM DB2 und Informix, Oracle Database, MySQL, Microsoft SQL Server, PostgreSQL, Sybase,
EnterpriseDB und Vertica.
Ideales Nutzungsszenario
Die Ausführung einer relationalen Datenbank auf Amazon EC2 und EBS ist das ideale Szenario für Benutzer, deren
Anwendung eine bestimmte traditionelle relationale Datenbank erfordert, oder für Benutzer, die ein höchstes Maß
an administrativer Kontrolle und Konfigurierbarkeit benötigen.
Leistung
Die Leistung einer relationalen Datenbank-Instance auf Amazon EC2 hängt von vielen Faktoren ab, beispielsweise dem
Amazon EC2-Instance-Typ, der Anzahl und Konfiguration von EBS-Datenträgern, der Datenbanksoftware und deren
Konfiguration sowie der Arbeitslast der Anwendung. Allgemein können Sie davon ausgehen, dass die Datenbankleistung
auf Amazon EC2 mit der Leistung derselben Datenbank in einem ähnlich konfigurierten lokalen System vergleichbar ist.
Wir möchten Sie auffordern, mit Ihrer Anwendung Vergleichstests auf mehreren Amazon EC2-Instance-Typen unter
Verwendung verschiedener Speicherkonfigurationen durchzuführen, um die beste Konfiguration auszuwählen.
Zum Steigern der Datenbankleistung können Sie Arbeitsspeicher und Rechenressourcen skalieren, indem Sie eine andere
Amazon EC2-Instance-Größe auswählen. Um die E/A-Leistung nach oben zu skalieren, können Sie die Anzahl der EBSDatenträger ändern oder Software RAID 0 (Platten-Striping) über mehrere EBS-Datenträger verwenden, wodurch sich die
Gesamt-IOPS und die Bandbreite erhöhen. In vielen Fällen können Sie auch die Gesamtleistung des Datenbanksystems
durch horizontales Skalieren mittels Datenbank-Clustering, Replikation und mehreren Read Slaves steigern. Grundsätzlich
verfügen Sie in der Amazon EC2-Umgebung über dieselben Optionen zur Optimierung der Datenbankleistung wie in
einer Umgebung mit physischen Servern.
Zuverlässigkeit und Verfügbarkeit
Relationale Datenbanken auf Amazon EC2 bieten persistente Speicherung für strukturierte Daten unter Verwendung von
EBS-Datenträgern als Datenspeicher, daher gelten die Angaben zu Zuverlässigkeit und Verfügbarkeit der EBS-Daten hier
gleichermaßen. Und wiederum können die grundlegende Zuverlässigkeit und Verfügbarkeit der auf EBS-Datenträgern
gespeicherten relationalen Daten mithilfe von EBS-Snapshots oder durch Verwendung von Datenbank-BackupDienstprogrammen von Drittanbietern (z. B. RMAN von Oracle) zum Speichern von Datenbank-Backups in Amazon S3
noch verbessert werden.
Seite 20 von 24
Amazon Web Services – AWS-Speicheroptionen
Dezember 2010
Kosten
Beim Ausführen einer Datenbank auf Amazon EC2 zahlen Sie nur das, was Sie tatsächlich nutzen, ohne Mindestgebühren
oder langfristige Vertragsbindung. Die Kosten für die Ausführung Ihrer eigenen Datenbank auf Amazon EC2 hängen
von der Größe und Anzahl der für den Betrieb der Datenbank verwendeten Amazon EC2-Instances, der Größe der zur
Datenbankspeicherung verwendeten EBS-Datenträger, der Menge an Daten, die nach und von Amazon EC2 übertragen
werden, sowie in vielen Fällen den Lizenzkosten der Drittanbieter-Datenbanksoftware ab. Viele Open-SourceDatenbankpakete sind als kostenlose Lizenzen verfügbar; einige kommerzielle Softwareanbieter nutzen das Amazon
DevPay-Preismodell; viele andere bieten ein Preismodell unter Verwendung der eigenen Lizenz. Wenden Sie sich an
den Anbieter Ihrer Datenbanksoftware oder an Amazon Web Services, um mehr über das jeweils geltende LizenzkostenPreismodell zu erfahren.
Detaillierte Informationen zu den Amazon EC2-, EBS- und Datenübertragungsgebühren finden Sie im Web unter
http://aws.amazon.com/ec2/pricing/.
Elastizität und Skalierbarkeit
In vielen Fällen können Benutzer traditioneller relationaler Datenbanklösungen auf Amazon EC2 von der Elastizität und
Skalierbarkeit der zugrunde liegenden AWS-Plattform profitieren. Nachdem Sie beispielsweise mit Ihrer Datenbanklösung
eine Amazon EC2-Instance konfiguriert haben, können Sie die Instance in eine eigene AMI bündeln, entweder für InstanceSpeicher-AMIs unter Verwendung der "Bundle"-Befehle oder für EBS-AMIs unter Verwendung des Befehls "Create Image".
Dann können Sie innerhalb weniger Minuten mehrere neue Instances Ihrer Datenbankkonfiguration erstellen.
Nutzungsszenarios, in denen relationale Datenbanken auf Amazon EC2 keine optimale Lösung darstellen
Eine eigene relationale Datenbank auf Amazon EC2 auszuführen, ist für viele Benutzer eine großartige Lösung, aber es
gibt eine Reihe von Szenarios, in denen andere Lösungen die bessere Wahl sein können:

Index- und abfrageorientierte Daten – Viele Cloud-basierte Lösungen benötigen nicht die fortgeschrittenen
Funktionen relationaler Datenbanken, wie Joins oder komplexe Transaktionen. Wenn der Schwerpunkt Ihrer
Anwendung mehr auf Indizierung und Abfrage von Daten liegt, ist möglicherweise Amazon SimpleDB für Ihre
Zwecke geeigneter und wesentlich einfacher zu verwalten.

Viele große Binärobjekte (BLOBs) – Viele relationale Datenbanken unterstützen BLOBs (Audiodateien, Videos,
Bilder und so weiter). Wenn Ihre Anwendung diese Objekte aber in hohem Maße verwendet, dann kann es
sinnvoller sein, Amazon S3 zu verwenden und die Metadaten mit einer relationalen Datenbank oder mit
SimpleDB zu verwalten.

Automatische Elastizität – Wie bereits erwähnt können Benutzer relationaler Datenbanken auf AWS in vielen
Fällen von der Elastizität und Skalierbarkeit der zugrunde liegenden AWS-Plattform profitieren. Dazu müssen die
Systemadministratoren oder DBAs allerdings eine bestimmte Aufgabe manuell oder durch ein Skript ausführen.
Angenommen, Sie benötigen oder wünschen die automatische Elastizität (und Ihre Datenstrukturen sind dafür
geeignet). Dann können Sie eine andere Speichermöglichkeit wählen, z. B. Amazon SimpleDB oder Amazon S3.
Seite 21 von 24
Amazon Web Services – AWS-Speicheroptionen
Dezember 2010
Cloud-Speicherung Anwendungsfälle
Beispiele, die verdeutlichen, wie AWS-Speicheroptionen in der Praxis genutzt werden, finden Sie im begleitenden
Whitepaper: "Storage Options in the AWS Cloud: Use Cases" unter:
http://media.amazonwebservices.com/AWS_Storage_Use_Cases.pdf.
Referenzen und weiterführende Literatur
AWS-Speicherdienste
Amazon Elastic Block Store (EBS) – http://aws.amazon.com/ebs
Amazon EC2 Instance Store Volumes – http://docs.amazonwebservices.com/AWSAmazon EC2/latest/UserGuide
(siehe Abschnitte über Instance-Typen, Instance-Speicherung und Block-Gerät-Zuordnung)
Amazon Simple Storage Service (Amazon S3) – http://aws.amazon.com/s3
Amazon Simple Queue Service (Amazon SQS) – http://aws.amazon.com/sqs
Amazon SimpleDB – http://aws.amazon.com/simpledb
Ausführen von Datenbanken auf AWS – http://aws.amazon.com/running_databases
Amazon Relational Database Service (Amazon RDS) – http://aws.amazon.com/rds
Artikel zur AWS-Speicherung
Artikel von Werner Vogel, "Choosing Consistency" –
http://www.allthingsdistributed.com/2010/02/strong_consistency_simpledb.html
Artikel im Amazon Web Services-Blog, "Amazon SimpleDB Consistency Enhancements" –
http://aws.typepad.com/aws/2010/02/amazon-simpledb-consistency-enhancements.html
Artikel im Amazon Web Services Developer Center, "Amazon SimpleDB Consistency Enhancements" –
http://developer.amazonwebservices.com/connect/entry.jspa?externalID=3572&categoryID=152
Amazon Web Services Simple Monthly Calculator – http://aws.amazon.com/calculator
Oracle in the Cloud FAQ – http://www.oracle.com/technetwork/topics/cloud/faq-098970.html
Artikel im Amazon Web Services Developer Center, "Ausführen von Datenbanken auf AWS" –
http://aws.amazon.com/running_databases/
Oracle-Fallstudie: "Oracle Database in the Cloud" –
http://www.oracle.com/technetwork/database/features/availability/311356-129177.pdf
Weitere Informationen zu AWS
Kostenloses Nutzungskontingent für AWS – http://aws.amazon.com/free
Öffentliche Datensätze auf AWS – http://aws.amazon.com/de/publicdatasets
AWS Import/Export – http://aws.amazon.com/importexport
Amazon CloudFront – http://aws.amazon.com/cloudfront
Fallbeispiele zu AWS – http://aws.amazon.com/solutions/case-studies
Seite 22 von 24
Amazon Web Services – AWS-Speicheroptionen
Dezember 2010
Anhang: Schnellreferenz zu AWS-Speicheroptionen
Unstrukturierte Daten
Strukturierte Daten
Andere relationale
Datenbank
(auf EC2 und EBS)
Amazon EC2Instance-Speicher
Amazon-EBS-Datenträger
Amazon S3
Amazon SimpleDB
Leistung
Hoch
Hoch
Mittel (einzelner
Thread) bis sehr
hoch (mehrere
Threads)
Mittel bis hoch (im Stapel
ausgeführte PUTs/GETs)
Hoch
Hoch
Zuverlässigkeit
Niedrig
Mittel
Hoch
Hoch
Hoch
Mittel
Kosten
In den Kosten für EC2
enthalten
Bereitgestellt
pro GB/Monat
Gespeichert
pro GB/Monat
Bereitgestellt
Erstes GB kostenlos, dann
pro GB/Monat
Bereitgestellt
(wie bei EBS)
Bereitgestellt
pro GB/Monat
(mind. 5 GB)
Verfügbarkeit
Niedrig
Mittel bis hoch (bei
Verwendung von EBSSnapshots)
Hoch
Hoch
Mittel bis hoch
Hoch
Elastizität/Skalierbarkeit
Nein
Manuell (Hinzufügen
mehrerer Datenträger)
Automatisch
Automatisch
Manuell
Manuell (ein
Befehl zum
Ändern der DBInstance)
Größenbeschränkungen
160 GB bis 1,6 TB
(größere Instances
verfügen über größere
und mehr Datenträger)
1 GB bis 1 TB pro
Datenträger
(für größere Kapazitäten
Verwendung von
mehreren Datenträgern
oder von Striping möglich)
Praktisch
unbegrenzt
(5 TB pro Objekt,
unbegrenzte Zahl
von Objekten
pro Bucket)
10 GB/Domain
100 Domains
(mehr Domains auf
Anfrage erhältlich)
(wie bei EBS)
5 GB bis 1 TB
pro DB-Instance
Persistenz über
Instanziierungen
Nein
Ja
Ja
Ja
Ja
Ja
Oberflächen
Block-Gerät, Zugriff über
Betriebs-/Dateisystem auf EC2
n. z., Zugriff über EC2Betriebs-/Dateisystem
HTTP, REST oder
SOAP
REST oder SOAP
MySQL- oder JDBCBibliotheken
Sicherheit
(Verschlüsselung bei
Speicherung)
Ausführen eines
verschlüsselten Dateisystems
Ausführen eines
verschlüsselten
Dateisystems
Verschlüsseln mit
256-Bit-AES
Verschlüsseln mit 256-BitAES
MySQL- oder
JDBCBibliotheken
Sicherheit
(Verschlüsselung
bei Übertragung)
n. z.
n. z.
SSL (HTTPS)
SSL (HTTPS)
SSL (HTTPS)
SSL (HTTPS)
RDBMS-Plattformen
unterstützt
MySQL, SQL Server, Oracle,
DB2 etc.
MySQL, SQL Server,
Oracle, DB2 etc.
n. z.
n. z.
MySQL, SQL Server,
Oracle, DB2 etc.
MySQL 5.1
Seite 23 von 24
Amazon RDS
Amazon Web Services – AWS-Speicheroptionen
Dezember 2010
Unstrukturierte Daten
Strukturierte Daten
Andere relationale
Datenbank
(auf EC2 und EBS)
Amazon EC2Instance-Speicher
Amazon-EBS-Datenträger
Amazon S3
Amazon SimpleDB
Amazon RDS
Modell
(relational oder
sonstiges)
Block
Block
Objekt
Nicht relational, flexibles
Schema, Entitätenspeicher
Relational
Relational
Grad der
Automatisierung
Keine
Automatische Spiegelung
Automatische
Replikation,
Versioning
Indizierung, Replikation,
Bereitstellung, Patching
Abhängig von DB
Grad der Redundanz
Nicht redundant
Redundant innerhalb einer
Availability Zone
Hoch redundant
über mehrere
Rechenzentren
Verwaltet mehrere,
geografisch verteilte Kopien
aller Benutzerdaten
Keine (asynchrone
Replikation verfügbar)
Automatische
Backups,
SoftwarePatching
Beide Optionen:
eine DB-Instance
(einzelne AZ)
und mehrere
Availability
Zones (Multi-AZ)
Instanceüberschreitender Zugriff
(d. h. Freigabe möglich)
Nein
Nein
Ja
Ja
Ja
Ja
Verwaltung und
Administration
Manuell
Manuell
Automatisch
Automatisch
Manuell
Automatisch
Seite 24 von 24
Herunterladen