Amazon S3 Bucket
Was ist ein Amazon S3 Bucket?
Ein Amazon S3 Bucket ist eine Public-Cloud-Speicherressource, die in der Amazon Web Services (AWS) Simple Storage Service (S3)-Plattform verfügbar ist. Sie bietet objektbasiertes Storage, bei dem Daten in S3-Buckets in verschiedenen Einheiten, die als Objekte bezeichnet werden, anstatt in Dateien gespeichert werden.
Amazon S3-Buckets sind vergleichbar mit Dateiordnern und können zum Speichern, Abrufen, Sichern und Zugreifen auf Objekte verwendet werden. Jedes Objekt besteht aus drei Hauptkomponenten: dem Inhalt oder den Daten des Objekts, einem eindeutigen Identifikator (Unique Identifier) für das Objekt und den beschreibenden Metadaten, einschließlich Name, URL und Größe des Objekts.
Ein Objekt muss innerhalb eines Buckets existieren, da es nicht allein und ohne Bucket existieren kann. Jedes Amazon-Konto kann Hunderte von Buckets haben, die jeweils zahlreiche Objekte enthalten.
Wofür werden S3-Buckets verwendet?
Die Buckets des Simple Storage Service von Amazon werden hauptsächlich dazu verwendet, Privatpersonen und Unternehmen bei Storage, Backups und Bereitstellung ihrer Daten in der Cloud zu unterstützen.
Mit Amazon S3-Buckets kann eine große Menge an Daten für eine Vielzahl von Anwendungsfällen gespeichert und geschützt werden:
- Data Lakes
- Dynamische Websites
- Mobile Anwendungen
- Sicherungs- und Wiederherstellungsvorgänge
- Big-Data-Analysen
- Benutzergenerierte Inhalte
- Speicherarchive
- Unternehmensanwendungen
- IoT-Geräte
So verwenden Sie einen S3-Bucket
Ein S3-Benutzer erstellt zunächst einen Bucket in der AWS-Region seiner Wahl und gibt ihm einen weltweit eindeutigen Bucket-Namen. Es ist wichtig zu wissen, dass Amazon S3-Buckets global eindeutig sind, was bedeutet, dass die Bucket-Namen von zwei AWS-Konten in derselben Region nicht identisch sein können. AWS empfiehlt, dass Benutzer Regionen wählen, die geografisch in ihrer Nähe liegen, um Latenzzeiten und Speicherkosten zu reduzieren.
Sobald der Bucket erstellt ist, wählt der Benutzer eine Ebene für die Daten aus. Die verschiedenen S3-Tiers haben unterschiedliche Redundanzniveaus, Preise und Zugriffsmöglichkeiten. Ein Bucket kann Objekte aus verschiedenen S3-Speicherebenen (Tiers) speichern.
Als Nächstes legt der Benutzer die Zugriffsrechte für die in einem Bucket gespeicherten Objekte mit dem AWS Identity and Access Management Service, Bucket Policies oder Access Control Lists (ACLs) fest.
Ein AWS-Benutzer kann mit einem Amazon S3-Bucket über die AWS Management Console, die AWS-Befehlszeilenschnittstelle (CLI) oder Anwendungsprogrammierschnittstellen (APIs) interagieren. Die S3-Zugriffspunkte mit den Amazon Resource Names und dem Bucket-Hostnamen können für den Zugriff auf Objekte innerhalb eines Buckets verwendet werden.
S3 Bucket-Funktionen
Amazon S3 bietet zahlreiche Funktionen zur Verwaltung und Organisation von Daten und zur Unterstützung bestimmter Anwendungsfälle.
Zu den häufig verwendeten Funktionen, die für S3-Buckets aktiviert werden können, gehören die folgenden:
- Versionskontrolle. Mit der Versionskontrolle kann jede Version eines Objekts erhalten bleiben, wenn ein Benutzer einen Vorgang wie das Kopieren oder Löschen durchführt. Dadurch wird verhindert, dass das Objekt versehentlich gelöscht wird. Die Multifaktor-Authentifizierung kann auch für einen S3-Bucket aktiviert werden, um versehentliche Löschungen zu verhindern.
- Objektbesitz (Object Ownership). Diese Einstellung auf Bucket-Ebene kann verwendet werden, um ACLs zu deaktivieren und das Eigentum an jedem Objekt in einem Bucket zu übernehmen, wodurch die Zugriffsverwaltung für in Amazon S3 gespeicherte Daten optimiert wird. Wenn ein Benutzer ein Objekt in den S3-Bucket eines anderen Amazon-Kontos hochlädt, wird dieses Konto - der Objektschreiber - standardmäßig zum Eigentümer des Objekts, hat Zugriff darauf und kann anderen Benutzern über ACLs Zugriff darauf gewähren. Dieses Standardverhalten kann jedoch vom Bucket-Besitzer mit Hilfe der Funktion Object Ownership geändert werden.
- Objekt-Replikation. Die Amazon S3 Replikationsfunktion kann Objekte zwischen Buckets replizieren. Amazon S3 kann so konfiguriert werden, dass S3-Bucket-Objekte automatisch über verschiedene AWS-Regionen hinweg repliziert werden, indem S3 Cross-Region Replication verwendet wird. Für Buckets, die innerhalb der gleichen AWS-Region repliziert werden müssen, wird Same-Region Replication verwendet.
- Übertragungsbeschleunigung. Diese Funktion unterstützt die Ausführung schneller, sicherer Übertragungen von einem Client zu einem S3-Bucket über AWS-Edge-Standorte.
- Block Public Access. Eine Reihe von Sicherheitskontrollen namens S3 Block Public Access stellt sicher, dass die Öffentlichkeit keinen Zugriff auf S3-Buckets und Objekte hat. Diese Einstellungen können mit nur wenigen Klicks in der Amazon S3 Management Console auf alle Buckets im AWS-Konto oder auf bestimmte S3-Buckets angewendet werden.
- Audit-Protokolle. Ein Benutzer kann einen Amazon S3-Bucket so konfigurieren, dass alle Zugriffsprotokolleinträge erfasst werden, die für diesen Bucket gemacht werden. Diese Serverzugriffsprotokolle eignen sich hervorragend für Audits, da sie jede Anforderung an einen Bucket oder die darin enthaltenen Objekte aufzeichnen.
- Objekt-Tagging. Benutzer können den Zugriff auf S3-Objekte mithilfe der Amazon S3 Tagging-Funktion einschränken und verwalten. Diese Tags sind Schlüssel-Wert-Paare, die zu jedem Zeitpunkt der Lebensdauer von S3-Objekten hinzugefügt, geändert oder entfernt werden können. Sie ermöglichen die Erstellung von Identitäts- und Zugriffsverwaltungsrichtlinien (IAM), die Konfiguration von S3-Lebenszyklusrichtlinien und die Anpassung von Speichermetriken.
Bucket-Konfigurationen
Amazon S3 unterstützt eine Vielzahl von Konfigurationsoptionen für Buckets. So kann ein Benutzer beispielsweise seinen Bucket für das Hosting einer Website konfigurieren, eine Konfiguration zur Steuerung des Objektlebenszyklus im Bucket hinzufügen oder den Bucket so konfigurieren, dass alle Zugriffe auf ihn aufgezeichnet werden.
Amazon S3 unterstützt Sub-Ressourcen, damit Benutzer Bucket-Konfigurationsdaten speichern und verwalten können. Benutzer können diese Sub-Ressourcen auch über die Amazon S3-API erstellen und verwalten. Sie können aber auch die AWS-Konsole oder die Amazon SDKs für diesen Zweck verwenden.
Beim Einrichten von S3-Buckets kann der Bucket-Besitzer auch Konfigurationen auf Objektebene erstellen. Indem er beispielsweise eine ACL einrichtet, die für ein Objekt eindeutig ist, kann der Eigentümer des Buckets Berechtigungen auf Objektebene festlegen.
Bucket-Berechtigungsoptionen
Standardmäßig kann nur der Besitzer des Buckets auf selbigen und dessen Ressourcen zugreifen. Ein Bucket-Besitzer kann jedoch einem anderen AWS-Konto oder Benutzern in einem anderen Konto kontoübergreifende Berechtigungen zum Hochladen von Objekten erteilen.
Für Objekte, die in einem Bucket gespeichert sind, werden die Zugriffsrechte in der Regel über die folgenden Berechtigungsoptionen gewährt:
- Bucket-Richtlinien. Der Bucket-Besitzer kann eine Bucket-Richtlinie verwenden, um Berechtigungen für den Bucket und alle Objekte innerhalb des Buckets zu erteilen, die dem Besitzer gehören. Eine Bucket-Policy kann einfach mit dem AWS Policy Generator erstellt werden.
- AWS Identitäts- und Zugriffsmanagement-Service. Mit dem AWS IAM-Webservice können Benutzer sicher verwalten, wer Zugriff auf ihre Amazon S3-Buckets und andere AWS-Ressourcen hat. Mit AWS IAM können mehrere Benutzer unter demselben Amazon-Konto erstellt werden, und Benutzerrichtlinien mit diesen Konten verknüpft werden, um die Zugriffsberechtigungen für S3-Objekte zu steuern.
- ACLs. Zusätzlich zu Bucket-Richtlinien und IAM-basierten Benutzerrichtlinien können ACLs verwendet werden, um den Zugriff auf Objekte in einem S3-Bucket zu beschränken. Sowohl S3-Buckets als auch Objekte verfügen über ACLs, mit denen der Zugriff auf S3-Objekte gewährt werden kann.
Vor- und Nachteile von S3
Der Amazon S3-Dienst bietet stabile und skalierbare Speichermöglichkeiten. Er hat jedoch auch einige Nachteile:
Vorteile
- Hohe Verfügbarkeit. Die Verfügbarkeit eines Dienstes wird dadurch bestimmt, wie leicht und problemlos er genutzt werden kann. Um eine hohe Verfügbarkeit zu gewährleisten, sind die AWS-Verfügbarkeitszonen oder -Regionen über mehrere Länder auf der ganzen Welt verteilt.
- Unbegrenzte Serverkapazität. Amazon S3 bietet unbegrenzte Serverkapazitäten, so dass die Benutzer Daten speichern können, ohne sich um Festplattenausfälle oder andere Serviceunterbrechungen sorgen zu müssen.
- Benutzerfreundlichkeit. Der Cloud-Speicher Amazon S3 ist äußerst benutzerfreundlich und verfügt über eine intuitive Benutzeroberfläche. Er wurde speziell für den schnellen und sicheren Zugriff entwickelt und wird mit einer Fülle von Dokumentationen, Videos und Informationen geliefert, die den Benutzern den Einstieg in den Dienst erleichtern, selbst wenn sie noch keine Erfahrung mit Cloud-Diensten haben.
- Langlebigkeit. Die Wahrscheinlichkeit eines Datenverlusts wird an der Haltbarkeit gemessen. Alle Amazon-Dienste, einschließlich Amazon S3, sind extrem langlebig. Die Haltbarkeit des S3-Standard-Tiers beträgt 99,999999999 Prozent, was im Wesentlichen bedeutet, dass bei der Speicherung von 100 Milliarden Objekten in S3 höchstens ein Objekt verloren gehen würde. Die Daten in S3-Buckets bleiben beispielsweise auch dann erhalten, wenn zwei Rechenzentren gleichzeitig ausfallen.
- Sicherheit. S3 bietet zahlreiche Sicherheits- und Datenschutzoptionen. Mit Virtual-Private-Cloud-Endpunkten können Benutzer von ihrer Amazon Virtual Private Cloud (Amazon VPC) aus eine Verbindung zu ihren S3-Ressourcen herstellen. Außerdem werden die Daten automatisch verschlüsselt, sobald der Upload-Vorgang abgeschlossen ist. Darüber hinaus werden verschiedene andere Sicherheitsoptionen angeboten, wie IAM, das nur einer bestimmten Person den Zugriff auf Informationen ermöglicht. Außerdem können Bucket-Besitzer überwachen, wer auf ihre Daten zugreift, und erhalten Informationen wie Ort des Zugriffs, Uhrzeit und Gerät, das auf die Plattform zugreift.
- Verschiedene Speicherklassen. Für unterschiedliche Ansprüche und Anforderungen bietet AWS S3 Intelligent-Tiering in verschiedenen S3-Speicherklassen an, darunter Standard für häufige Nutzung, Infrequent-Access-Speicher für seltene Nutzung und Glacier, Amazons Langzeitspeicherplattform für kaum abgerufene Daten.
- Horizontale Skalierung. Amazon S3 skaliert horizontal und verteilt die Daten auf mehrere Server, um große Datenmengen und Anfragen zu verarbeiten. Die horizontale Skalierung ermöglicht gleichzeitige Verbindungen und automatische Partitionierung, um die Kapazität und Leistung zu steigern.
Nachteile
- Keine Directories. In S3 gibt es kein Konzept für Verzeichnisse und verzeichnisähnliche Strukturen. Das Zeichen "/" ist nur ein Bestandteil des Schlüsselnamens oder des Objektnamens.
- Abruf von Daten. Da es sich bei einem S3-Bucket nicht um eine lokale Festplatte handelt, müssen Datenabfragen über das Internet oder das interne Netzwerk von AWS gesendet werden. Aufgrund der Beschaffenheit des Internets kann dies gelegentlich zu Verzögerungen und möglichen Abfragefehlern führen.
- Objektspeicher. S3 ist kein Dateisystem, sondern nur ein Objektspeicher. Daher kann es niemals als Dateisystem mit POSIX genutzt werden.
- Latenzzeit und Verfügbarkeit. S3 ist kein Echtzeit-Speicherdienst, auch wenn er für hohe Haltbarkeit und Verfügbarkeit ausgelegt ist. Beim Zugriff auf S3-Daten kann es zu Latenz- und Ausfallzeiten kommen, insbesondere bei Nachfragespitzen oder Infrastrukturproblemen.
- Begrenzte Datenverwaltung. S3 verfügt nicht über integrierte Datenverwaltungs-Tools wie Versionskontrolle, Backup und Recovery sowie Datenkomprimierung, da es sich im Wesentlichen um einen Datenspeicherdienst handelt. Um diese Ziele zu erreichen, können Benutzer diese Funktionalitäten selbst erstellen oder andere AWS-Services nutzen, die für diese speziellen Zwecke entwickelt wurden.
- Komplexe Abrechnung. Für Kleinunternehmer, die nicht besonders technisch versiert sind, kann die Rechnungsstellung für die meisten Amazon-Services, einschließlich S3, komplex und schwer zu verstehen sein. Die meisten Kunden umgehen dieses Problem jedoch, indem sie mit Resellern zusammenarbeiten, die das Abrechnungsverfahren intuitiver und für den Endbenutzer leichter verständlich gestalten.
Begrenzung des S3-Buckets
Obwohl es keine Begrenzung für die Anzahl der Objekte gibt, die in einem Bucket gespeichert werden können, können Buckets nicht innerhalb anderer Buckets existieren.
Die Leistung von S3 bleibt gleich, unabhängig davon, wie viele Buckets ein Benutzer erstellt. Jedes AWS-Konto kann 100 Buckets erstellen, und Benutzer können eine Erhöhung des Service-Limits beantragen, um mehr zu erhalten. Das AWS-Konto, das einen Bucket erstellt, ist Eigentümer des Buckets, und das Eigentum ist nicht übertragbar. Ein S3-Benutzer kann einen Bucket löschen, aber ein anderer AWS-Benutzer kann diesen global eindeutigen Namen beanspruchen.
AWS erhebt Gebühren für die Speicherung von Objekten in einem Bucket und für die Übertragung von Objekten in und aus einem Bucket. Die Preise für Amazon S3-Buckets variieren je nach Region.
Alternativen und Konkurrenten zu S3-Buckets
Obwohl AWS S3 viele exklusive Optionen bietet, gibt es mehrere Anbieter, die Alternativen zu S3-Buckets und Speicheroptionen anbieten:
- DigitalOcean Space. Dieser Objektspeicherdienst verfügt über ein integriertes S3-kompatibles Content Delivery Network für eine einfache Skalierung. Der Dienst beginnt bei 250 GB Speicherplatz, 1 TB für ausgehende Übertragungen und unbegrenzte Uploads. Er bietet eine Drag-and-Drop-Schnittstelle zum Hochladen von Dateien, wobei alle Datenübertragungen automatisch durch ein SSL-Zertifikat gesichert werden.
- Google Cloud Storage. Google Cloud Storage ist einer der größten Speicheranbieter und bedient mehr als 140 Einrichtungen und mehr als 20 Regionen auf der ganzen Welt. Er bietet vier Abrechnungsoptionen an, die von der Häufigkeit der Datennutzung abhängen: Standard, Nearline, Coldline und Archiv. Im Rahmen des Google Cloud Free Tier bietet GSC ein monatliches Limit von 5 GB Speicherplatz, 5.000 Operationen der Klasse A, 50.000 Operationen der Klasse B und 1 GB Egress. Die übrigen Preise variieren je nach Region.
- Wasabi Hot Cloud Storage. Wasabi bietet derzeit Dienste im asiatisch-pazifischen Raum, in Europa und Nordamerika an. Wasabi erhebt keine Gebühren für Egress- oder API-Anfragen.
- Blackblaze B2. Backblaze verfügt über fünf Rechenzentren: eines in Europa und vier in den USA. Der Download ist für die Cloud-Replikation von Dateien über Regionen hinweg kostenlos. B2 ist ein nutzungsabhängiger Dienst, das heißt die Nutzer zahlen nur für die genutzte Daten- und Speichermenge. Die ersten 1 GB Daten, die täglich heruntergeladen werden, sind kostenlos, danach fallen Gebühren pro GB und Monat an. Die ersten 10 GB Speicherplatz sind kostenlos.