Erstellen eines Buckets - Amazon Simple Storage Service

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Erstellen eines Buckets

Um Ihre Daten auf Amazon S3 hochzuladen, müssen Sie zuerst einen Amazon-S3-Bucket in einer der AWS-Regionen erstellen. Wenn Sie einen Bucket erstellen, müssen Sie einen Bucket-Namen und eine Region auswählen. Sie können optional andere Speicherverwaltungsoptionen für den Bucket auswählen. Der Name eines erstellten Buckets oder Region kann nicht nachträglich geändert werden. Weitere Informationen zur Benennung von Buckets finden Sie unter Regeln für die Benennung von Buckets.

Das AWS-Konto , das den Bucket erstellt, besitzt ihn. Sie können beliebig viele Objekte in den Bucket hochladen. Standardmäßig können Sie bis zu 100 Buckets in jedem Ihrer erstellen AWS-Konten. 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. Informationen zum Einreichen einer Bucket-Limit-Erhöhung finden Sie unter AWS-Service -Quotas in der Allgemeinen AWS -Referenz. Sie können in einem Bucket beliebig viele Objekte speichern.

S3 Object Ownership ist eine Amazon-S3-Einstellung auf Bucket-Ebene, mit der Sie sowohl die Eigentümerschaft von Objekten steuern können, die in Ihre Buckets hochgeladen werden, als auch Zugriffssteuerungslisten (ACLs) deaktivieren oder aktivieren können. Standardmäßig ist die Objekteigentümerschaft auf die Einstellung „Vom Bucket-Eigentümer erzwungen“ festgelegt und alle ACLs sind deaktiviert. Wenn ACLs deaktiviert sind, besitzt der Bucket-Eigentümer jedes Objekte im Bucket und verwaltet den Datenzugriff ausschließlich mithilfe von Richtlinien.

Weitere Informationen finden Sie unter Weitere Informationen finden Sie unter Steuern des Eigentums an Objekten und Deaktivieren von ACLs für Ihren Bucket..

Die serverseitige Verschlüsselung mit von Amazon S3 verwalteten Verschlüsselungsschlüsseln (SSE-S3) ist die Grundebene der Verschlüsselungskonfiguration für jeden Bucket in Amazon S3. Alle neuen Objekte, die in einen S3-Bucket hochgeladen werden, werden automatisch mit SSE-S3 als Grundebene für die Verschlüsselungsstufe verschlüsselt. Wenn Sie eine andere Standardverschlüsselung verwenden möchten, können Sie auch eine serverseitige Verschlüsselung mit AWS Key Management Service (AWS KMS)-Schlüsseln (SSE-KMS) oder vom Kunden bereitgestellten Schlüsseln (SSE-C) für Ihre Daten festlegen. Weitere Informationen finden Sie unter Einstellen des Verhaltens der serverseitigen Verschlüsselung für Amazon S3-Buckets.

Sie können die Amazon S3-Konsole, Amazon S3-APIs oder - AWS SDKs verwenden AWS CLI, um einen Bucket zu erstellen. Weitere Informationen zu den erforderlichen Berechtigungen zum Erstellen eines Buckets finden Sie unter CreateBucket in der API-Referenz zu Amazon Simple Storage Service.

  1. Melden Sie sich bei der an AWS Management Console und öffnen Sie die Amazon S3-Konsole unter https://console.aws.amazon.com/s3/.

  2. Wählen Sie im linken Navigationsbereich die Option Buckets aus.

  3. Wählen Sie Create Bucket (Bucket erstellen) aus.

    Anschließend wird die Seite Bucket erstellen geöffnet.

  4. Geben Sie unter Bucket Name (Bucket-Name) einen Namen für den Bucket ein.

    Der Bucket-Name ...:

    • Muss innerhalb einer Partition einzigartig sein. Eine Partition ist eine Gruppierung von Regionen. AWS verfügt derzeit über drei Partitionen: aws (Standardregionen), aws-cn (China-Regionen) und aws-us-gov (AWS GovCloud (US) Regions).

    • zwischen 3 und 63 Zeichen lang sein,

    • Darf nur aus Kleinbuchstaben, Zahlen, Punkten (.) und Bindestrichen (-) bestehen. Aus Gründen der besten Kompatibilität empfehlen wir, Punkte (.) in Bucket-Namen zu vermeiden, mit Ausnahme von Buckets, die nur für statisches Website-Hosting verwendet werden.

    • Muss mit einer Zahl oder einem Buchstaben beginnen und enden.

    Der Name eines einmal erstellter Buckets kann nicht nachträglich geändert werden. Weitere Informationen zur Benennung von Buckets finden Sie unter Regeln für die Benennung von Buckets.

    Wichtig

    Vermeiden Sie, vertrauliche Informationen, wie Kontonummern, in den Bucket-Namen einzubeziehen. Der Bucket-Name wird in der URL angezeigt, die auf die Objekte im Bucket verweist.

  5. Wählen Sie für Region die aus, AWS-Region in der sich der Bucket befinden soll.

    Wählen Sie eine Region in der Nähe aus, um Latenz und Kosten gering zu halten und behördliche Vorschriften zu erfüllen. In einer Region gespeicherte Objekte verbleiben so lange in der Region, bis sie explizit in eine andere Region verschoben werden. Eine Liste von Amazon S3 AWS-Regionen finden Sie unter -AWS-Service Endpunkte im Allgemeine Amazon Web Services-Referenz.

  6. Wählen Sie unter Object Ownership eine der folgenden Einstellungen aus, um ACLs zu deaktivieren oder zu aktivieren und den Besitz von Objekten zu steuern, die in Ihren Bucket hochgeladen wurden:

    Deaktivierte ACLs
    • Bucket-Eigentümer erzwungen (Standard) – ACLs sind deaktiviert und der Bucket-Eigentümer besitzt automatisch jedes Objekt im Bucket und hat die volle Kontrolle darüber. ACLs haben keine Auswirkungen mehr auf Zugriffsberechtigungen für Daten im S3-Bucket. Der Bucket verwendet ausschließlich Richtlinien, um die Zugriffssteuerung zu definieren.

      Standardmäßig sind ACLs deaktiviert. Die meisten modernen Anwendungsfälle in Amazon S3 erfordern keine ACLs mehr. Wir empfehlen Ihnen daher, ACLs zu deaktivieren, außer unter ungewöhnlichen Umständen, in denen Sie den Zugriff für jedes Objekt einzeln steuern müssen. Weitere Informationen finden Sie unter Weitere Informationen finden Sie unter Steuern des Eigentums an Objekten und Deaktivieren von ACLs für Ihren Bucket..

    Aktivierte ACLs
    • Bucket-Eigentümer bevorzugt – Der Bucket-Eigentümer besitzt und hat die volle Kontrolle über neue Objekte, die andere Konten mit der bucket-owner-full-control-vordefinierten ACL.

      Wenn Sie die Einstellung Bucket-Eigentümer bevorzugt anwenden, damit alle Amazon-S3-Uploads die von bucket-owner-full-control vordefinierte ACL enthalten, können Sie eine Bucket-Richtlinie hinzufügen, die nur Objekt-Uploads zulässt, die diese ACL verwenden.

    • Object Writer – Das AWS-Konto , das ein Objekt hochlädt, besitzt das Objekt, hat die volle Kontrolle darüber und kann anderen Benutzern über ACLs Zugriff darauf gewähren.

    Anmerkung

    Die Standardeinstellung ist Bucket-Eigentümer erzwungen. Um die Standardeinstellung anzuwenden und ACLs deaktiviert zu lassen, ist nur die s3:CreateBucket-Berechtigung erforderlich. Sie müssen über die s3:PutBucketOwnershipControls-Berechtigung verfügen, um ACLs zu aktivieren.

  7. Wählen Sie unter Einstellungen "Öffentlichen Zugriff beschränken" für diesen Bucket die Einstellungen zum Beschränken des öffentlichen Zugriffs aus, die Sie auf den Bucket anwenden möchten.

    Alle vier Einstellungen zum Blockieren des öffentlichen Zugriffs sind standardmäßig aktiviert. Es wird empfohlen, alle Einstellungen aktiviert zu lassen, es sei denn, Sie wissen, dass Sie eine oder mehrere dieser Einstellungen für Ihren Anwendungsfall deaktivieren müssen. Weitere Informationen zum Blockieren des öffentlichen Zugriffs finden Sie unter Blockieren des öffentlichen Zugriffs auf Ihren Amazon-S3-Speicher.

    Anmerkung

    Zum Aktivieren aller Einstellungen zum Blockieren des öffentlichen Zugriffs ist nur die s3:CreateBucket-Berechtigung erforderlich. Wenn Sie eine der Einstellungen zum Blockieren des öffentlichen Zugriffs deaktivieren möchten, benötigen Sie die s3:PutBucketPublicAccessBlock-Berechtigung.

  8. (Optional) Unter Bucket Versioning (Bucket-Versionsverwaltung) können Sie auswählen, ob Sie Varianten von Objekten in Ihrem Bucket beibehalten möchten. Weitere Informationen über das Versioning finden Sie unter Verwenden der Versioning in S3-Buckets.

    Wenn Sie die Versionsverwaltung in Ihrem Bucket deaktivieren oder aktivieren möchten, wählen Sie entweder Disable (Deaktivieren) oder Enable (Aktivieren) aus.

  9. (Optional) Unter Tags können Sie auswählen, ob Sie Ihrem Bucket Tags hinzufügen möchten. Tags sind Schlüssel-Wert-Paare, die zur Kategorisierung von Speicher verwendet werden.

    Wenn Sie ein Bucket-Tag hinzuzufügen, geben Sie einen Key (Schlüssel) und optional einen Value (Wert) ein. Wählen Sie dann Add Tag (Tag hinzufügen) aus.

  10. Wählen Sie unter Default encryption (Standard-Verschlüsselung) Edit (Bearbeiten) aus.

  11. Wählen Sie eine der folgenden Optionen unter Verschlüsselungstyp aus, um die Standardverschlüsselung zu konfigurieren:

    • Von Amazon S3 verwalteter Schlüssel (SSE-S3)

    • AWS Key Management Service -Schlüssel (SSE-KMS)

      Wichtig

      Wenn Sie die Option SSE-KMS für die Standardverschlüsselung verwenden, unterliegen Sie den Kontigenten der Anforderungen pro Sekunde (RPS) von AWS KMS. Weitere Informationen zu AWS KMS Kontingenten und zum Anfordern einer Kontingenterhöhung finden Sie unter Kontingente im AWS Key Management Service -Entwicklerhandbuch.

    Buckets und neue Objekte werden mit serverseitiger Verschlüsselung verschlüsselt. Dabei ist ein Von Amazon S3 verwalteter Schlüssel die Grundebene der Verschlüsselungskonfiguration. Weitere Informationen zur Standardverschlüsselung finden Sie unter Einstellen des Verhaltens der serverseitigen Verschlüsselung für Amazon S3-Buckets.

    Weitere Informationen zur Datenverschlüsselung mit der serverseitigen Amazon-S3-Verschlüsselung finden Sie unter Verwenden serverseitiger Verschlüsselung mit von Amazon S3 verwalteten Schlüsseln (SSE-S3).

  12. Wenn Sie AWS Key Management Service -Schlüssel (SSE-KMS) ausgewählt haben, gehen Sie wie folgt vor:

    1. Geben Sie unter AWS KMS -Schlüssel Ihren KMS-Schlüssel auf eine der folgenden Arten an:

      • Um aus einer Liste der verfügbaren KMS-Schlüssel auszuwählen, wählen Sie Aus Ihrem AWS KMS keys auswählen und wählen Sie Ihren KMS-Schlüssel aus der Liste der verfügbaren Schlüssel aus.

        Sowohl die Von AWS verwalteter Schlüssel (aws/s3) als auch Ihre vom Kunden verwalteten Schlüssel werden in dieser Liste angezeigt. Weitere Informationen über vom Kunden verwaltete Schlüssel finden Sie unter Kundenschlüssel und AWS -Schlüssel im Entwicklerhandbuch zu AWS Key Management Service .

      • Wählen Sie zum Eingeben des KMS-Schlüssel-ARN AWS KMS key -ARN eingeben aus und geben Sie Ihren KMS-Schlüssel-ARN in das angezeigte Feld ein.

      • Um einen neuen kundenverwalteten Schlüssel in der AWS KMS Konsole zu erstellen, wählen Sie KMS-Schlüssel erstellen aus.

        Weitere Informationen zum Erstellen eines AWS KMS key finden Sie unter Erstellen von Schlüsseln im AWS Key Management Service -Entwicklerhandbuch.

      Wichtig

      Sie können nur KMS-Schlüssel verwenden, die in derselben AWS-Region wie der Bucket verfügbar sind. Die Amazon-S3-Konsole führt nur die ersten 100 KMS-Schlüssel auf, die in derselben Region wie der Bucket verfügbar sind. Wenn Sie einen KMS-Schlüssel verwenden möchten, der nicht aufgeführt ist, müssen Sie den KMS-Schlüssel-ARN eingeben. Wenn Sie einen KMS-Schlüssel verwenden möchten, der sich im Besitz eines anderen Kontos befindet, müssen Sie über die Berechtigung zum Verwenden des Schlüssels verfügen und Sie müssen den KMS-Schlüssel-ARN eingeben. Weitere Informationen zu kontoübergreifenden Berechtigungen für KMS-Schlüssel finden Sie unter Erstellen von KMS-Schlüsseln, die von anderen Konten verwendet werden können im Entwicklerhandbuch zu AWS Key Management Service . Weitere Informationen zu SSE-KMS finden Sie unter Angeben der serverseitigen Verschlüsselung mit AWS KMS -(SSE-KMS).

      Wenn Sie einen AWS KMS key für die serverseitige Verschlüsselung in Amazon S3 verwenden, müssen Sie einen KMS-Schlüssel mit symmetrischer Verschlüsselung auswählen. Amazon S3 unterstützt nur KMS-Schlüssel mit symmetrischer Verschlüsselung und keine asymmetrischen KMS-Schlüssel. Weitere Informationen finden Sie unter Erkennen von symmetrischen und asymmetrischen KMS-Schlüsseln im Entwicklerhandbuch zu AWS Key Management Service .

      Weitere Informationen zum Erstellen eines AWS KMS key finden Sie unter Erstellen von Schlüsseln im AWS Key Management Service -Entwicklerhandbuch. Weitere Informationen zur Verwendung von AWS KMS mit Amazon S3 finden Sie unter Verwenden der serverseitigen Verschlüsselung mit - AWS KMS Schlüsseln (SSE-KMS).

    2. Wenn Sie Ihren Bucket für die Verwendung der Standardverschlüsselung mit SSE-KMS konfigurieren, können Sie auch S3-Bucket-Schlüssel aktivieren. S3-Bucket-Schlüssel senken die Verschlüsselungskosten, indem der Anforderungsverkehr von Amazon S3 zu verringert wird AWS KMS. Weitere Informationen finden Sie unter Reduzieren des Preises von SSE-KMS mit Amazon-S3-Bucket-Schlüsseln.

      Um S3-Bucket-Schlüssel zu verwenden, wählen Sie unter Bucket Key (Bucket-Schlüssel) die Option Enable (Aktivieren).

  13. (Optional) Wenn Sie die S3-Objektsperre aktivieren möchten, gehen Sie wie folgt vor:

    1. Wählen Sie Erweiterte Einstellungen aus.

      Wichtig

      Durch Aktivieren der Objektsperre wird auch die Versioning für den Bucket aktiviert. Nach dem Aktivieren müssen Sie die Standardeinstellungen für die Objektsperre im Hinblick auf die (rechtliche) Aufbewahrung konfigurieren, um neue Objekte vor dem Löschen oder Überschreiben zu schützen.

    2. Wenn Sie die Objektsperre aktivieren möchten, wählen Sie Enable (Aktivieren) aus, lesen Sie die angezeigte Warnung und bestätigen Sie sie.

    Weitere Informationen finden Sie unter Verwenden der S3-Objektsperre.

    Anmerkung

    Wenn Sie einen Bucket mit aktivierter Objektsperre erstellen möchten, benötigen Sie die folgenden Berechtigungen: s3:CreateBucket, s3:PutBucketVersioning und s3:PutBucketObjectLockConfiguration.

  14. Wählen Sie Bucket erstellen aus.

Wenn Sie die - AWS SDKs verwenden, um einen Bucket zu erstellen, müssen Sie einen Client erstellen und dann den Client verwenden, um eine Anforderung zum Erstellen eines Buckets zu senden. Als bewährte Methode sollten Sie Ihren Client und Ihren Bucket in derselben AWS-Region erstellen. Wenn Sie beim Erstellen eines Clients oder Buckets keine Region angeben, verwendet Amazon S3 die Standardregion USA Ost (Nord-Virginia). Wenn Sie die Bucket-Erstellung auf eine bestimmte  AWS-Region beschränken möchten, verwenden Sie dazu den Bedingungsschlüssel LocationConstraint.

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. Eine Liste der verfügbaren finden AWS-Regionen Sie unter Regionen und Endpunkte im Allgemeine AWS-Referenz.

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 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.

Diese AWS SDK-Codebeispiele führen die folgenden Aufgaben aus:

  • Erstellen eines Clients durch explizite Angabe einer AWS-Region – Im Beispiel verwendet der Client den Endpunkt s3.us-west-2.amazonaws.com, um mit Amazon S3 zu kommunizieren. Sie können eine beliebige AWS-Region angeben. Eine Liste von AWS-Regionen finden Sie unter Regionen und Endpunkte in der AWS Allgemeinen Referenz zu .

  • Senden einer Bucket-Erstellungs-Anfrage durch Angabe eines Bucket-Namens – Der Client sendet eine Anfrage an Amazon S3, um den Bucket in der Region zu erstellen, in der Sie einen Client erstellt haben.

  • Abrufen von Informationen zum Standort des Buckets – Amazon S3 speichert Informationen zum Standort des Buckets in der Subressource Standort, die dem Bucket zugeordnet ist.

Java

Dieses Beispiel zeigt, wie ein Amazon-S3-Bucket mit dem erstellt wird AWS SDK for Java. Anweisungen zum Erstellen und Testen eines funktionierenden Beispiels finden Sie unter Testen der Java-Codebeispiele für Amazon S3.

import com.amazonaws.AmazonServiceException; import com.amazonaws.SdkClientException; import com.amazonaws.auth.profile.ProfileCredentialsProvider; import com.amazonaws.regions.Regions; import com.amazonaws.services.s3.AmazonS3; import com.amazonaws.services.s3.AmazonS3ClientBuilder; import com.amazonaws.services.s3.model.CreateBucketRequest; import com.amazonaws.services.s3.model.GetBucketLocationRequest; import java.io.IOException; public class CreateBucket2 { public static void main(String[] args) throws IOException { Regions clientRegion = Regions.DEFAULT_REGION; String bucketName = "*** Bucket name ***"; try { AmazonS3 s3Client = AmazonS3ClientBuilder.standard() .withCredentials(new ProfileCredentialsProvider()) .withRegion(clientRegion) .build(); if (!s3Client.doesBucketExistV2(bucketName)) { // Because the CreateBucketRequest object doesn't specify a region, the // bucket is created in the region specified in the client. s3Client.createBucket(new CreateBucketRequest(bucketName)); // Verify that the bucket was created by retrieving it and checking its // location. String bucketLocation = s3Client.getBucketLocation(new GetBucketLocationRequest(bucketName)); System.out.println("Bucket location: " + bucketLocation); } } catch (AmazonServiceException e) { // The call was transmitted successfully, but Amazon S3 couldn't process // it and returned an error response. e.printStackTrace(); } catch (SdkClientException e) { // Amazon S3 couldn't be contacted for a response, or the client // couldn't parse the response from Amazon S3. e.printStackTrace(); } } }
.NET

Weitere Informationen zum Erstellen und Testen eines funktionierenden Beispiels finden Sie unter Ausführen der .NET-Codebeispiele für Amazon S3.

using Amazon; using Amazon.S3; using Amazon.S3.Model; using Amazon.S3.Util; using System; using System.Threading.Tasks; namespace Amazon.DocSamples.S3 { class CreateBucketTest { private const string bucketName = "*** bucket name ***"; // Specify your bucket region (an example region is shown). private static readonly RegionEndpoint bucketRegion = RegionEndpoint.USWest2; private static IAmazonS3 s3Client; public static void Main() { s3Client = new AmazonS3Client(bucketRegion); CreateBucketAsync().Wait(); } static async Task CreateBucketAsync() { try { if (!(await AmazonS3Util.DoesS3BucketExistAsync(s3Client, bucketName))) { var putBucketRequest = new PutBucketRequest { BucketName = bucketName, UseClientRegion = true }; PutBucketResponse putBucketResponse = await s3Client.PutBucketAsync(putBucketRequest); } // Retrieve the bucket location. string bucketLocation = await FindBucketLocationAsync(s3Client); } catch (AmazonS3Exception e) { Console.WriteLine("Error encountered on server. Message:'{0}' when writing an object", e.Message); } catch (Exception e) { Console.WriteLine("Unknown encountered on server. Message:'{0}' when writing an object", e.Message); } } static async Task<string> FindBucketLocationAsync(IAmazonS3 client) { string bucketLocation; var request = new GetBucketLocationRequest() { BucketName = bucketName }; GetBucketLocationResponse response = await client.GetBucketLocationAsync(request); bucketLocation = response.Location.ToString(); return bucketLocation; } } }
Ruby

Weitere Informationen zum Erstellen und Testen eines funktionierenden Beispiels finden Sie unter Verwenden von AWS SDK for Ruby – Version 3.

require "aws-sdk-s3" # Wraps Amazon S3 bucket actions. class BucketCreateWrapper attr_reader :bucket # @param bucket [Aws::S3::Bucket] An Amazon S3 bucket initialized with a name. This is a client-side object until # create is called. def initialize(bucket) @bucket = bucket end # Creates an Amazon S3 bucket in the specified AWS Region. # # @param region [String] The Region where the bucket is created. # @return [Boolean] True when the bucket is created; otherwise, false. def create?(region) @bucket.create(create_bucket_configuration: { location_constraint: region }) true rescue Aws::Errors::ServiceError => e puts "Couldn't create bucket. Here's why: #{e.message}" false end # Gets the Region where the bucket is located. # # @return [String] The location of the bucket. def location if @bucket.nil? "None. You must create a bucket before you can get its location!" else @bucket.client.get_bucket_location(bucket: @bucket.name).location_constraint end rescue Aws::Errors::ServiceError => e "Couldn't get the location of #{@bucket.name}. Here's why: #{e.message}" end end # Example usage: def run_demo region = "us-west-2" wrapper = BucketCreateWrapper.new(Aws::S3::Bucket.new("doc-example-bucket-#{Random.uuid}")) return unless wrapper.create?(region) puts "Created bucket #{wrapper.bucket.name}." puts "Your bucket's region is: #{wrapper.location}" end run_demo if $PROGRAM_NAME == __FILE__

Sie können auch die AWS Command Line Interface (AWS CLI) verwenden, um einen S3-Bucket zu erstellen. Weitere Informationen finden Sie unter create-bucket in der AWS CLI -Befehlsreferenz.

Weitere Informationen zu finden AWS CLI Sie unter Was ist AWS Command Line Interface? im AWS Command Line Interface -Benutzerhandbuch.