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-Domain-Namen. 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
gespeichert ist, kann es über die URL DOC-EXAMPLE-BUCKET1
https://
abgerufen werden. DOC-EXAMPLE-BUCKET1
.s3.amazonaws.com/photos/mygarden.jpg
Weitere Informationen zu den Features von Amazon S3 finden Sie auf der Amazon S3-Produktseite
Verwendungsbeispiele
Anmerkung
Wir benötigen TLS 1.2 und empfehlen TLS 1.3. Ihr Client muss diese Anforderung erfüllen, um von Amazon Simple Storage Service (Amazon S3) herunterladen zu können. Weitere Informationen finden Sie unter TLS 1.2 als minimale TLS-Protokollstufe für alle AWS API Endpunkte
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 Sie den folgenden Befehl, um ein Amazon S3-Objekt in Ihre Windows-Instance zu kopieren.
PS C:\>
Copy-S3Object -BucketName
my_bucket
-Keypath-to-file
-LocalFilemy_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.