Arbeiten mit Amazon S3-Buckets - Amazon Simple Storage Service

Arbeiten mit Amazon S3-Buckets

Zum Hochladen Ihrer Daten (Fotos, Videos, Dokumente usw.) auf Amazon S3 erstellen Sie zunächst einen S3-Bucket in einer AWS-Region. Anschließend können Sie beliebig viele Objekte in den Bucket hochladen.

Im Hinblick auf die Implementierung sind Buckets und Objekte Ressourcen, und Amazon S3 stellt die APIs für ihre Verwaltung bereit. Beispielsweise können Sie mit dem Amazon S3 API einen Bucket erstellen und Objekte hochladen. Sie können diese Operationen auch in der Amazon S3-Konsole durchführen. Die Konsole verwendet die Amazon S3-APIs, um Anforderungen an Amazon S3 zu senden.

In diesem Abschnitt wird beschrieben, wie Sie mit Buckets arbeiten. Weitere Informationen zur Arbeit mit Objekten finden Sie unter Arbeiten mit Amazon S3-Objekten.

Der Name eines Amazon S3-Buckets ist global eindeutig, und der Namespace wird von allen AWS-Konten verwendet. Dies bedeutet, dass der Name eines Buckets nach seiner Erstellung nicht von einem anderen AWS-Konto in irgendeiner AWS-Region verwendet werden kann, bis der Bucket gelöscht wird. Verlassen Sie sich nicht auf eine spezifische Benennungskonvention für Buckets für Verfügbarkeits- oder Sicherheitsprüfungszwecke. Namensrichtlinien für Buckets finden Sie unter Beschränkungen und Einschränkungen von Buckets.

Amazon S3 erstellt Buckets in der von Ihnen angegebenen Region. Um die Latenz zu optimieren, Kosten zu minimieren und gesetzliche Anforderungen zu berücksichtigen, können Sie eine beliebige AWS-Region in der Nähe wählen. Wenn Sie beispielsweise in Europa ansässig sind, könnte es vorteilhaft sein, Buckets in der Region Europa (Irland) oder Europa (Frankfurt) zu erstellen. Eine Liste der Amazon S3-Regionen finden Sie unter Regionen und Endpunkte in der Allgemeinen AWS-Referenz.

Anmerkung

Objekte, die zu einem Bucket gehören, den Sie in einer spezifischen AWS-Region erstellt haben, verbleiben so lange in der Region, bis sie explizit in eine andere Region verschoben werden. Beispielsweise verlassen in der Region Europa (Irland) gespeicherte Objekte diese Region nie.

Erstellen eines Buckets

Amazon S3 stellt APIs bereit, mit denen Sie Buckets erstellen und verwalten können. In der Standardeinstellung können Sie bis zu 100 Buckets in jedem Ihrer AWS-Konten erstellen. Wenn Sie weitere Buckets benötigen, können Sie das Konto-Bucket-Limit auf maximal 1 000 Buckets erhöhen, indem Sie eine Service Limit-Erhöhung senden. Weitere Informationen über das Senden einer Bucket-Limit-Erhöhung finden Sie unter Limits für AWS-Services in der Allgemeinen AWS-Referenz. Sie können in einem Bucket beliebig viele Objekte speichern.

Wenn Sie ein Bucket erstellen, geben Sie einen Namen und die AWS-Region an, in der der Bucket erstellt werden soll. Weitere Informationen zur Benennung von Buckets finden Sie unter Regeln für die Bucket-Benennung.

Zum Erstellen eines Buckets können Sie eine der unten aufgeführten Methoden verwenden. Beispiele finden Sie unter Beispiel zum Erstellen eines Buckets.

Amazon S3-Konsole

Sie können einen Bucket in der Amazon S3-Konsole erstellen. Weitere Informationen finden Sie unter Erstellen eines Buckets im Konsolenbenutzerhandbuch für Amazon Simple Storage Service.

REST-API

Das Erstellen eines Buckets mit der REST-API kann umständlich sein, da Sie Code schreiben müssen, um Ihre Anforderungen zu authentifizieren. Weitere Informationen finden Sie unter PUT Bucket in der Amazon Simple Storage Service API Reference. Es wird empfohlen, stattdessen die AWS Management Console oder AWS SDKs zu verwenden.

AWS SDK

Wenn Sie die AWS-SDKs zum Erstellen eines Buckets verwenden, erstellen Sie zuerst einen Client und senden mit dem Client dann eine Anforderung zum Erstellen eines Buckets. Wenn Sie beim Erstellen eines Clients oder eines Buckets keine Region angeben, verwendet Amazon S3 USA Ost (Nord-Virginia), die Standardregion. Sie können auch eine bestimmte Region angeben. Eine Liste der verfügbaren AWS-Regionen finden Sie unter Regionen und Endpunkte im AWS General Reference. Weitere Informationen zum Aktivieren oder Deaktivieren einer AWS-Region finden Sie unter Verwalten von AWS-Regionen im AWS General Reference.

Als bewährte Methode sollten Sie Ihren Client und Ihren Bucket in derselben Region erstellen. Wenn Ihre Region nach dem 20. März 2019 gestartet wurde, müssen sich Ihr Client und Ihr Bucket in derselben Region befinden. Sie können jedoch einen Client in der Region USA Ost (Nord-Virginia) verwenden, um einen Bucket in einer beliebigen Region zu erstellen, die vor dem 20. März 2019 gestartet wurde. Weitere Informationen finden Sie unter Legacy-Endpunkte.

Erstellen eines Clients

Wenn Sie den Client erstellen, sollten Sie eine AWS-Region angeben, in der der Client erstellt werden soll. Wenn Sie keine Region angeben, erstellt Amazon S3 den Client in USA Ost (Nord-Virginia) nach Standardregion. Um einen Client für den Zugriff auf einen Dual-Stack-Endpunkt zu erstellen, müssen Sie eine AWS-Region angeben. Weitere Informationen finden Sie unter Dual-Stack-Endpunkte.

Wenn Sie einen Client erstellen, wird die Region dem regionsspezifischen Endpunkt zugeordnet. Der Client verwendet diesen Endpunkt für die Kommunikation mit Amazon S3:

s3.<region>.amazonaws.com

Wenn Sie beispielsweise einen Client unter Angabe der Region eu-west-1 erstellen, wird sie dem folgenden regionsspezifischen Endpunkt zugeordnet:

s3.eu-west-1.amazonaws.com

Erstellen eines Buckets

Wenn Sie beim Erstellen eines Buckets keine Region angeben, erstellt Amazon S3 den Bucket in der Region USA Ost (Nord-Virginia). Wenn Sie also einen Bucket in einer bestimmten Region erstellen möchten, müssen Sie beim Erstellen des Buckets die Region angeben.

Buckets, die nach dem 30. September 2020 erstellt werden, unterstützen nur virtuelle Hosted-Style-Anfragen. Path-Style-Anfragen werden weiterhin für Buckets unterstützt, die an oder vor diesem Datum erstellt wurden. Weitere Informationen finden Sie unter Amazon S3 Path Deprecation Plan – The Rest of the Story.

Berechtigungen

Sie können die Root-Anmeldeinformationen Ihres AWS-Kontos verwenden, um einen Bucket zu erstellen und andere Amazon S3-Operationen auszuführen. AWS rät davon ab, die Root-Anmeldeinformationen Ihres AWS-Kontos für Anforderungen zu nutzen, wie etwa zum Erstellen eines Buckets. Erstellen Sie stattdessen einen IAM-Benutzer, dem Sie vollständigen Zugriff gewähren (Benutzer haben standardmäßig keine Berechtigung). Wir bezeichnen diese Benutzer als Administratorbenutzer. Anstelle der Root-Anmeldeinformationen Ihres Kontos können Sie die des Administratorbenutzers für Aufgaben in AWS verwenden, z. B. um einen Bucket und Benutzer zu erstellen sowie Benutzern Berechtigungen zu gewähren.

Weitere Informationen finden Sie unter Root-Kontoanmeldeinformationen vs. IAM-Benutzerberechtigungen in der Allgemeinen AWS-Referenz sowie unter Bewährte Methoden für IAM im IAM-Benutzerhandbuch.

Bei dem AWS-Konto, das die Ressource erstellt, handelt es sich um den Ressourceneigentümer. Wenn Sie beispielsweise einen IAM-Benutzer in Ihrem AWS-Konto erstellen und diesem Berechtigungen zum Erstellen eines Buckets erteilen, kann der Benutzer einen Bucket erstellen. Dem Benutzer gehört jedoch der Bucket nicht. Der Bucket gehört dem AWS-Konto, zu dem der Benutzer gehört. Der Benutzer braucht eine zusätzliche Berechtigung vom Bucket-Eigentümer, um andere Bucket-Operation ausführen zu dürfen. Weitere Informationen zum Verwalten von Berechtigungen für Ihre Amazon S3-Ressourcen finden Sie unter Identity and Access Management in Amazon S3.

Verwalten des öffentlichen Zugriffs auf Buckets

Öffentlicher Zugriff auf Buckets und Objekte wird über Zugriffskontrolllisten (ACLs), Bucket-Richtlinien oder beides gewährt. Um Sie bei der Verwaltung des öffentlichen Zugriffs auf Amazon S3-Ressourcen zu unterstützen, stellt Amazon S3 Einstellungen zum Blockieren des öffentlichen Zugriffs zur Verfügung. Amazon S3-Einstellungen zum Blockieren des öffentlichen Zugriffs können ACLs und Bucket-Richtlinien außer Kraft setzen, sodass Sie den öffentlichen Zugriff auf diese Ressourcen einheitlich beschränken können. Sie können Einstellungen zum Blockieren des öffentlichen Zugriffs auf einzelne Buckets oder auf alle Buckets in Ihrem Konto anwenden.

Um zu gewährleisten, dass bei allen Ihren Amazon S3-Buckets und -Objekten der öffentliche Zugriff blockiert ist, empfehlen wird, alle vier Einstellungen zur Blockierung des öffentlichen Zugriffs für Ihr Konto zu aktivieren. Diese Einstellungen blockieren den öffentlichen Zugriff für alle aktuellen und zukünftigen Buckets.

Bevor Sie diese Einstellungen anwenden, verifizieren Sie, dass Ihre Anwendungen ohne öffentlichen Zugriff korrekt funktionieren. Wenn ein bestimmter Umfang an öffentlichem Zugriff auf Ihre Buckets oder Objekte nötig ist, z. B. zum Hosten einer statischen Website, wie unter Hosten einer statischen Website auf Amazon S3 beschrieben, können Sie die einzelnen Einstellungen an Ihre Speicheranwendungsfälle anpassen. Weitere Informationen finden Sie unter Verwenden von Amazon S3 Block Public Access.

Zugriff auf einen Bucket

Sie können auf Ihren Bucket mithilfe der Amazon S3-Konsole zugreifen. Mit der Benutzeroberfläche der Konsole können Sie fast alle Bucket-Operationen ausführen, ohne Code schreiben zu müssen.

Wenn Sie programmgesteuert auf einen Bucket zugreifen, achten Sie darauf, dass Amazon S3 die RESTful-Architektur unterstützt, wobei Ihre Buckets und Objekte Ressourcen sind, die alle eine Ressourcen-URI besitzen, die die Ressource eindeutig identifizieren.

Amazon S3 unterstützt URLs im Stil von virtuellem Hosting und im Path-Stil für den Zugriff auf einen Bucket. Da der Zugriff auf Buckets über URLs im Pfadstil und im Stil des virtuellen Hostings möglich ist, empfehlen wir Ihnen, Buckets mit DNS-konformen Bucket-Namen zu erstellen. Weitere Informationen finden Sie unter Beschränkungen und Einschränkungen von Buckets.

Anmerkung

Virtuelle gehostete Style- und Pfadanfragen verwenden beispielsweise die S3-Regionen-Endpunktstruktur mit Punkt (s3.Region), z. B. https://my-bucket.s3.us-west-2.amazonaws.com. Einige ältere Amazon S3-Regionen unterstützen jedoch auch S3-Regionsendpunkte mit Bindestrich (s3-Region), z. B. https://my-bucket.s3-us-west-2.amazonaws.com. Wenn sich Ihr Bucket in einer dieser Regionen befindet, werden möglicherweise s3-Region-Endpunkte in Ihren Serverzugriffsprotokollen oder CloudTrail-Protokollen angezeigt. Es wird empfohlen, diese Endpunktstruktur nicht in Ihren Anforderungen zu verwenden.

Zugriff mit virtuellem Hosting

In einer virtuell gehosteten Anforderung ist der Bucket-Name Teil des Domänennamens in der URL.

Virtual Hosted-Amazon S3-URLs haben das unten gezeigte Format.

https://bucket-name.s3.Region.amazonaws.com/key name

In diesem Beispiel ist my-bucket der Bucket-Name, "US West (Oregon) (USA West (Oregon))" die Region und puppy.png der Schlüsselname:

https://my-bucket.s3.us-west-2.amazonaws.com/puppy.png

Weitere Informationen zum Zugriff mit virtuellem Hosting finden Sie unter Virtuell gehostete Anforderungen.

Zugriff im Pfadformat

Path Style-Amazon S3-URLs haben das unten gezeigte Format.

https://s3.Region.amazonaws.com/bucket-name/key name

Wenn Sie beispielsweise einen Bucket namens mybucket in der Region USA West (Oregon) erstellen und in dem Bucket auf das Objekt puppy.jpg zugreifen möchten, können Sie die folgende Path Style-URL verwenden:

https://s3.us-west-2.amazonaws.com/mybucket/puppy.jpg

Weitere Informationen finden Sie unter Anforderungen im Pfadformat.

Wichtig

Buckets, die nach dem 30. September 2020 erstellt werden, unterstützen nur virtuelle Hosted-Style-Anfragen. Path-Style-Anfragen werden weiterhin für Buckets unterstützt, die an oder vor diesem Datum erstellt wurden. Weitere Informationen finden Sie unter Amazon S3 Path Deprecation Plan – The Rest of the Story.

Zugriff auf einen S3-Bucket über IPv6

Amazon S3 verfügt über mehrere Dual-Stack-Endpunkte, die Anforderungen an S3-Buckets über Internetprotokollversion 6 (IPv6) und IPv4 unterstützen. Weitere Informationen finden Sie unter Senden von Anfragen über IPv6.

Zugreifen auf einen Bucket über einen S3 Access Point

Zusätzlich zum direkten Zugriff auf einen Bucket können Sie über einen S3-Zugriffspunkt auf einen Bucket zugreifen. Weitere Hinweise zu S3 Access Points finden Sie unter Verwalten des Datenzugriffs mit Amazon S3 Access Points .

S3 Access Points unterstützen nur die Adressierung im Virtual-Host-Stil. Um einen Bucket über einen Zugriffspunkt zu adressieren, verwenden Sie dieses Format:

https://AccessPointName-AccountId.s3-accesspoint.region.amazonaws.com.
Anmerkung
  • Wenn der Name Ihres Zugriffspunkts Bindestriche (-) enthält, fügen Sie die Bindestriche in die URL ein und fügen einen weiteren Bindestrich vor der Konto-ID ein. Wenn Sie beispielsweise einen Zugriffspunkt mit dem Namen finance-docs verwenden möchten, der im Besitz des Kontos 123456789012 in der Region us-west-2 ist, würde die entsprechende URL https://finance-docs-123456789012.s3-accesspoint.us-west-2.amazonaws.com lauten.

  • S3-Zugriffspunkte unterstützen keinen Zugriff über HTTP, nur den sicheren Zugriff über HTTPS.

Zugriff auf einen Bucket mit S3: //

Einige AWS-Services erfordern die Angabe eines Amazon S3-Buckets mit S3://bucket. Das richtige Format wird nachstehend dargestellt. Beachten Sie bei der Verwendung dieses Formats, dass der Bucket-Name die Region nicht enthält.

s3://bucket-name/key-name

Zum Beispiel bei der im früheren Abschnitt „Pfadformat“ beschriebenen Verwendung des Beispiel-Buckets:

s3://mybucket/puppy.jpg

Optionen für die Bucket-Konfiguration

Amazon S3 unterstützt verschiedene Optionen für die Konfiguration Ihres Buckets. Sie können beispielsweise Ihren Bucket für ein Website-Hosting konfigurieren, eine Konfiguration zur Verwaltung des Lebenszyklus von Objekten im Bucket hinzufügen und den Bucket so konfigurieren, dass er den gesamten Zugriff auf den Bucket protokolliert. Amazon S3 unterstützt Subressourcen, um die Bucket-Konfigurationsinformationen zu speichern und zu verwalten. Sie können diese Subressourcen mit der Amazon S3-API erstellen und verwalten. Sie können auch die Konsole oder die AWS SDKs verwenden.

Anmerkung

Außerdem gibt es Konfigurationen auf Objektebene. Beispielsweise können Sie Berechtigungen auf Objektebene konfigurieren, indem Sie eine für dieses Objekt spezifische Zugriffskontrollliste (ACL) konfigurieren.

Man bezeichnet sie als Subressourcen, weil sie im Kontext eines spezifischen Buckets oder Objekts existieren. Die folgende Tabelle listet Subressourcen auf, die ihnen ermöglichen, für den Bucket spezifische Konfigurationen zu verwalten.

Subressource Beschreibung

cors (ursprungsübergreifende gemeinsame Nutzung von Ressourcen)

Sie können Ihren Bucket so konfigurieren, dass er ursprungsübergreifende Anforderungen zulässt.

Weitere Informationen finden Sie unter Aktivieren von Cross-Origin Resource Sharing (CORS).

event notification

Sie können Ihrem Bucket gestatten, Benachrichtigungen über bestimmte Bucket-Ereignisse zu senden.

Weitere Informationen finden Sie unter Konfigurieren von Amazon S3-Ereignisbenachrichtigungen.

Lebenszyklus

Sie können Lebenszyklusregeln für Objekte in Ihrem Bucket mit definiertem Lebenszyklus definieren. Sie können z. B. eine Regel so festlegen, dass Objekte ein Jahr nach dem Erstellungsdatum archiviert werden, oder dass ein Objekt 10 Jahre nach dem Erstellen gelöscht wird.

Weitere Informationen hierzu finden Sie im Abschnitt Objektlebenszyklusverwaltung.

location

Wenn Sie einen Bucket erstellen, geben Sie die AWS-Region an, in der Amazon S3 den Bucket erstellen soll. Amazon S3 speichert diese Informationen am Ort der Subressource und stellt Ihnen eine API bereit, mit der Sie diese Informationen abrufen können.

logging

Protokollierung ermöglicht Ihnen, Zugriffsanforderungen für Ihren Bucket nachzuverfolgen. Jeder Zugriffsprotokolldatensatz enthält Details über eine Zugriffsanforderung, z. B. Auftraggeber, Bucket-Name, Anforderungszeit, Anforderungsaktion, Antwortstatus und Fehlercode, falls vorhanden. Die Zugriffsprotokollinformationen können für Sicherheits- und Zugriffsüberprüfungen nützlich sein. Außerdem erfahren Sie damit mehr über Ihren Kundenstamm und verstehen Ihre Amazon S3-Rechnung.  

Weitere Informationen finden Sie unter Amazon S3-Serverzugriffsprotokollierung.

Objektsperre

Um S3 Objektsperre verwenden zu können, muss die Funktion für einen Bucket aktiviert werden. Sie können optional auch einen Standardaufbewahrungsmodus und -zeitraum konfigurieren, der für neue Objekte gilt, die in den Bucket platziert werden.

Weitere Informationen finden Sie unter Bucket-Konfiguration.

policy und ACL (Access Control List, Zugriffskontrollliste)

Standardmäßig sind alle Ihre Ressourcen (wie Buckets und Objekte) privat. Amazon S3 unterstützt die Optionen Bucket-Richtlinie und Zugriffskontrollliste (ACL) für Sie, um Berechtigungen auf Bucket-Ebene zu erteilen und zu verwalten. Amazon S3 speichert die Berechtigungsinformationen in den Subressourcen policy und acl.

Weitere Informationen finden Sie unter Identity and Access Management in Amazon S3.

Replikation

Die Replikation ist ein automatisches, asynchrones Kopieren von Objekten über Buckets hinweg in derselben oder in verschiedenen AWS-Regionen. Weitere Informationen finden Sie unter Replikation.

requestPayment

Standardmäßig zahlt das AWS-Konto, das den Bucket erstellt (der Bucket-Eigentümer) für die Downloads aus dem Bucket. Mit dieser Subressource kann der Bucket-Eigentümer angeben, dass die Person, die den Download anfordert, die Gebühren für den Download trägt. Amazon S3 stellt eine API für Sie bereit, mit der Sie diese Subressource verwalten können.

Weitere Informationen finden Sie unter Buckets mit Zahlung durch den Anforderer.

Markieren

Sie können Ihrem Bucket Kostenzuordnungs-Tags zur Kategorisierung und Nachverfolgung der AWS-Kosten hinzufügen. Amazon S3 stellt die Subressource tagging zum Speichern und Verwalten von Tags auf einem Bucket bereit. Mit Hilfe von Tags, die Sie auf Ihren Bucket anwenden, erzeugt AWS einen Kostenzuordnungsbericht mit Nutzungs- und Kostendaten, aggregiert nach Ihren Tags.

Weitere Informationen finden Sie unter Fakturierungs- und Nutzungsberichte für S3-Buckets.

transfer acceleration

Transfer Acceleration unterstützt schnelle, einfache und sichere Übertragungen von Dateien zwischen Ihrem Client und einem S3-Bucket über große Entfernungen. Transfer Acceleration nutzt die global verteilten Edge-Standorte von Amazon CloudFront.

Weitere Informationen finden Sie unter Amazon S3 Transfer Acceleration.

Versioning

Versioning hilft Ihnen bei einer Wiederherstellung nach einem versehentlichen Überschreiben und Löschen.

Wir empfehlen das Versioning als bewährte Methode, um zu verhindern, dass Objekte versehentlich gelöscht oder überschrieben werden.

Weitere Informationen finden Sie unter Verwenden von Versioning.

Website

Sie können Ihren Bucket für ein Hosting statischer Websites konfigurieren. Amazon S3 speichert diese Konfiguration, indem es eine Website-Subressource erstellt.

Weitere Informationen finden Sie unter Hosting einer statischen Website auf Amazon S3.