Verwenden von Amazon S3 mit Amazon EC2 - Amazon Elastic Compute Cloud

Verwenden von Amazon S3 mit Amazon EC2

Amazon S3 ist ein Repository für Internetdaten. Amazon S3 bietet Zugriff auf eine zuverlässige, schnelle und kostengünstige Datenspeicher-Infrastruktur. Es ist darauf ausgelegt, die Webskalierung der Rechenleistung zu erleichtern, indem es Ihnen ermöglicht, jede beliebige Datenmenge jederzeit über Amazon EC2 oder das Internet zu speichern und abzurufen. Amazon S3 speichert Datenobjekte redundant auf mehreren Geräten und in mehreren Einrichtungen. Über viele separate Clients oder Anwendungs-Threads erlaubt es gleichzeitigen Lese- oder Schreibzugriff auf diese Datenobjekte. Sie können die redundanten in Amazon S3 gespeicherten Daten zur schnellen und zuverlässigen Wiederherstellung nach Instance- oder Anwendungsausfällen verwenden.

Amazon EC2 nutzt Amazon S3 zum Speichern von Amazon Machine Images (AMIs). AMIs dienen zum Starten von EC2-Instances. Im Fall eines Instance-Ausfalls können Sie das gespeicherte AMI dazu verwenden, sofort eine andere Instance zu starten, wodurch eine schnelle Wiederherstellung und Betriebskontinuität gewährleistet ist.

Amazon EC2 nutzt Amazon S3 auch zum Speichern von Snapshots (Backup-Kopien) der Daten-Volumes. Mit Snapshots lassen sich Daten im Fall von Anwendungs- oder Systemausfällen schnell und zuverlässig wiederherstellen. Sie können Snapshots auch als Grundlage verwenden, um neue Daten-Volumes zu erstellen, die Größe eines bestehenden Daten-Volumes zu erweitern oder Daten-Volumes über mehrere Availability Zones zu verschieben, wodurch Ihre Datennutzung äußerst skalierbar wird. Weitere Informationen zur Verwendung von Daten-Volumes und Snapshots finden Sie unter Amazon Elastic Block Store.

Objekte sind die Grundeinheiten, die in Amazon S3 gespeichert sind. Jedes in Amazon S3 gespeicherte Objekt ist in einem Bucket enthalten. Buckets organisieren den Amazon S3-Namespace auf der höchsten Ebene und ermitteln das für die Speicherung verantwortliche Konto. Amazon S3-Buckets sind ähnlich wie Internet-Domänennamen. Die in den Buckets gespeicherten Objekte haben einen eindeutigen Schlüsselwert und werden über eine URL abgerufen. Wenn beispielsweise ein Objekt mit dem Schlüsselwert /photos/mygarden.jpg in dem Bucket DOC-EXAMPLE-BUCKET1 gespeichert ist, kann es über die URL https://DOC-EXAMPLE-BUCKET1.s3.amazonaws.com/photos/mygarden.jpg abgerufen werden.

Weitere Informationen zu den Funktionen von Amazon S3 finden Sie auf der Amazon S3-Produktseite.

Verwendungsbeispiele

Wegen der Vorteile, die Amazon S3 bei der Speicherung hat, können Sie diesen Service zum Speichern von Dateien und Datensätzen zur Verwendung mit EC2-Instances nutzen. Es gibt verschiedene Möglichkeiten, Daten zu und von Amazon S3 zu Ihren Instances zu verschieben. Zusätzlich zu den unten dargestellten Beispielen gibt es eine Vielzahl von Tools, die von Developern verfasst wurden und die Sie dazu verwenden können, von Ihrem Computer oder Ihrer Instance auf die in Amazon S3 gespeicherten Daten zuzugreifen. Einige der häufigsten Tools werden in den AWS-Foren diskutiert.

Wenn Sie eine entsprechende Berechtigung haben, können Sie mit einer der folgenden Methoden eine Datei zu oder von Amazon S3 und Ihrer Instance kopieren.

AWS Tools for Windows PowerShell

Windows-Instances haben den Vorteil eines grafischen Browsers, den Sie verwenden können, um auf die Amazon S3-Konsole direkt zuzugreifen. Zur Script-Erstellung können Windows-Benutzer jedoch auch AWS Tools for Windows PowerShell verwenden, um Objekte zu und von Amazon S3 zu verschieben.

Verwenden Sie den folgenden Befehl, um ein Amazon S3-Objekt in Ihre Windows-Instance zu kopieren.

PS C:\> Copy-S3Object -BucketName my_bucket -Key path-to-file -LocalFile my_copied_file.ext

AWS Command Line Interface

Die AWS Command Line Interface (AWS CLI) ist ein vereinheitlichtes Tool zur Verwaltung von AWS-Services. Die AWS CLI erlaubt es Benutzern, sich zu authentifizieren und Elemente mit beschränktem Zugriff von Amazon S3 herunterzuladen sowie Elemente hochzuladen. Weitere Informationen, z. B. darüber, wie die Tools installiert und konfiguriert werden, finden Sie auf der AWS Command Line Interface-Detailseite.

Der Befehl aws s3 cp ähnelt dem Unix-Befehl cp. Sie können Dateien von Amazon S3 in Ihre Instance, von Ihrer Instance in Amazon S3 und von einem Amazon S3-Standort zu einem anderen kopieren.

Verwenden Sie den folgenden Befehl, um ein Objekt von Amazon S3 in Ihre Instance zu kopieren.

aws s3 cp s3://my_bucket/my_folder/my_file.ext my_copied_file.ext

Verwenden Sie den folgenden Befehl, um ein Objekt von Ihrer Instance zurück nach Amazon S3 zu kopieren.

aws s3 cp my_copied_file.ext s3://my_bucket/my_folder/my_file.ext

Mit dem Befehl aws s3 sync lässt sich ein ganzer Amazon S3-Bucket mit einem lokalen Verzeichnisspeicherort synchronisieren. Dies kann hilfreich sein, um einen Datensatz herunterzuladen und die lokale Kopie mit dem dezentralen Datensatz aktuell zu halten. Wenn Sie die entsprechenden Berechtigungen für den Amazon S3-Bucket haben, können Sie Ihr lokales Verzeichnis nach Abschluss der Änderungen wieder in die Cloud verlagern, indem Sie in dem Befehl die Quell- und Zielspeicherorte vertauschen.

Verwenden Sie den folgenden Befehl, um einen ganzen Amazon S3-Bucket zu einem lokalen Verzeichnis auf Ihrer Instance herunterzuladen.

aws s3 sync s3://remote_S3_bucket local_directory

Amazon S3-API

Wenn Sie Developer sind, können Sie eine API zum Zugriff auf Daten in Amazon S3 verwenden. Weitere Informationen finden Sie im Benutzerhandbuch für Amazon Simple Storage Service. Sie können diese API und die zugehörigen Beispiele als Hilfe bei der Entwicklung Ihrer Anwendung verwenden und sie in andere APIs und SDKs integrieren, beispielsweise die boto Python-Schnittstelle.