Membuat bucket - Amazon Simple Storage Service

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Membuat bucket

Untuk mengunggah data Anda ke Amazon S3, Anda harus terlebih dahulu membuat bucket Amazon S3 di salah satu Wilayah AWS. Saat Anda membuat bucket, Anda harus memilih nama bucket dan Wilayah. Anda dapat memilih opsi manajemen penyimpanan lain untuk bucket. Setelah membuat bucket, Anda tidak dapat mengubah nama atau Wilayahnya. Untuk informasi tentang penamaan bucket, lihat Peraturan penamaan bucket.

Akun AWS Yang menciptakan ember memilikinya. Anda dapat mengunggah sejumlah objek ke bucket. Secara default, Anda dapat membuat hingga 100 ember di masing-masing ember Anda Akun AWS. Jika Anda memerlukan lebih banyak bucket, Anda dapat meningkatkan batas bucket akun Anda hingga maksimum 1.000 bucket dengan mengirimkan peningkatan batas layanan. Untuk mempelajari cara mengajukan kenaikan batas bucket, lihat Layanan AWS kuota di AWS Referensi Umum. Anda dapat menyimpan berapa pun jumlah objek dalam sebuah bucket.

Kepemilikan Objek S3 adalah pengaturan tingkat bucket Amazon S3 yang dapat Anda gunakan baik untuk mengontrol kepemilikan objek yang diunggah ke bucket, maupun untuk menonaktifkan atau mengaktifkan daftar kontrol akses (ACL). Secara default, Kepemilikan Objek diatur ke pengaturan yang diberlakukan pemilik Bucket, dan semua ACL dinonaktifkan. Ketika ACL dinonaktifkan, pemilik bucket memiliki setiap objek di dalam bucket, dan mengelola akses ke data secara eksklusif dengan menggunakan kebijakan.

Untuk informasi selengkapnya, lihat Mengontrol kepemilikan objek dan menonaktifkan ACL untuk bucket Anda.

Enkripsi di sisi server dengan Amazon S3 managed keys (SSE-S3) adalah tingkat dasar konfigurasi enkripsi untuk setiap bucket di Amazon S3. Semua objek baru yang diunggah ke bucket S3 secara otomatis dienkripsi dengan SSE-S3 sebagai tingkat dasar pengaturan enkripsi. Jika Anda ingin menggunakan jenis enkripsi default yang berbeda, Anda juga dapat menentukan enkripsi di sisi server dengan kunci AWS Key Management Service (AWS KMS) (SSE-KMS) atau kunci yang disediakan pelanggan (SSE-C) untuk mengenkripsi data Anda. Untuk informasi selengkapnya, lihat Mengatur perilaku enkripsi di sisi server default untuk bucket Amazon S3.

Anda dapat menggunakan konsol Amazon S3, API Amazon S3 AWS CLI, AWS atau SDK untuk membuat bucket. Untuk informasi selengkapnya tentang izin yang diperlukan untuk membuat bucket, lihat CreateBucketdi Referensi API Amazon Simple Storage Service.

  1. Masuk ke AWS Management Console dan buka konsol Amazon S3 di https://console.aws.amazon.com/s3/.

  2. Di bilah navigasi di bagian atas halaman, pilih nama yang saat ini ditampilkan Wilayah AWS. Selanjutnya, pilih Wilayah tempat Anda ingin membuat ember.

    catatan

    Untuk meminimalkan latensi dan biaya serta memenuhi persyaratan regulasi, pilih Wilayah yang dekat dengan Anda. Objek yang disimpan di Wilayah tidak pernah keluar dari Wilayah kecuali Anda secara tegas mentransfer atau mereplikasinya ke Wilayah lain. Untuk daftar Amazon S3 Wilayah AWS, lihat Layanan AWS titik akhir di. Referensi Umum Amazon Web Services

  3. Di panel navigasi kiri, pilih Bucket.

  4. Pilih Buat bucket.

    Halaman Buat bucket terbuka.

  5. Di bawah Konfigurasi umum, lihat Wilayah AWS tempat bucket Anda akan dibuat.

  6. Di bawah jenis Bucket, pilih Tujuan umum.

  7. Untuk Nama bucket, masukkan nama untuk bucket Anda.

    Nama bucket harus:

    • Unik dalam partisi. Partisi adalah pembuatan grup Wilayah. Saat ini, AWS memiliki tiga partisi: aws (Wilayah Standar), aws-cn (Wilayah Tiongkok), dan aws-us-gov (AWS GovCloud (US) Regions).

    • Panjangnya antara 3 hingga 63 karakter.

    • Hanya terdiri dari huruf kecil, angka, titik (.), dan tanda hubung (-). Untuk kompatibilitas terbaik, kami menyarankan agar Anda menghindari penggunaan titik (.) dalam nama bucket, kecuali untuk bucket yang digunakan hanya untuk menghosting situs web statis.

    • Dimulai dan diakhiri dengan huruf atau angka.

    Setelah membuat bucket, Anda tidak dapat mengubah namanya. Untuk informasi selengkapnya tentang penamaan bucket, lihat Peraturan penamaan bucket.

    penting

    Hindari menyertakan informasi sensitif, seperti nomor akun, dalam nama bucket. Nama bucket terlihat dalam URL yang menunjuk objek dalam bucket.

  8. AWS Management Console memungkinkan Anda menyalin pengaturan bucket yang ada ke bucket baru Anda. Jika Anda tidak ingin menyalin pengaturan bucket yang ada, lewati ke langkah berikutnya.

    catatan

    Opsi ini:

    • Tidak tersedia di AWS CLI dan hanya tersedia di konsol

    • Tidak tersedia untuk bucket direktori

    • Tidak menyalin kebijakan bucket dari bucket yang ada ke bucket baru

    Untuk menyalin setelan bucket yang ada, di bagian Salin setelan dari bucket yang ada, pilih Pilih bucket. Jendela Choose bucket terbuka. Temukan bucket dengan pengaturan yang ingin Anda salin, lalu pilih Pilih bucket. Jendela Choose bucket ditutup, dan jendela Create bucket terbuka kembali.

    Di bawah Salin pengaturan dari bucket yang ada, Anda sekarang akan melihat nama bucket yang Anda pilih. Anda juga akan melihat opsi Restore default yang dapat Anda gunakan untuk menghapus pengaturan bucket yang disalin. Tinjau setelan bucket yang tersisa, di halaman Buat bucket. Anda akan melihat bahwa mereka sekarang cocok dengan pengaturan ember yang Anda pilih. Anda dapat melompat ke langkah terakhir.

  9. Di bawah Kepemilikan Objek, untuk menonaktifkan atau mengaktifkan ACL dan mengontrol kepemilikan objek yang diunggah di bucket Anda, pilih salah satu pengaturan berikut ini:

    ACL dinonaktifkan
    • Pemilik bucket yang diberlakukan (default)–ACL dinonaktifkan, dan pemilik bucket secara otomatis memilikinya, serta mendapatkan kontrol penuh atas setiap objek di dalam bucket. ACL tidak lagi memengaruhi izin akses ke data di bucket S3. Bucket menggunakan kebijakan secara eksklusif untuk menentukan kontrol akses.

      Secara default, ACL dinonaktifkan. Mayoritas kasus penggunaan modern di Amazon S3 tidak lagi memerlukan penggunaan ACL. Kami menyarankan agar ACL dinonaktifkan, kecuali dalam keadaan yang tidak biasa ketika Anda perlu mengontrol akses untuk setiap objek secara individual. Untuk informasi selengkapnya, lihat Mengontrol kepemilikan objek dan menonaktifkan ACL untuk bucket Anda.

    ACL diaktifkan
    • Pemilik bucket yang dipilih—Pemilik bucket memiliki dan diberikan kendali penuh atas objek baru yang ditulis akun lain ke bucket dengan ACL bucket-owner-full-control yang dibatasi.

      Jika Anda menerapkan pengaturan Pemilik bucket yang dipilih, agar semua unggahan Amazon S3 menyertakan ACL bucket-owner-full-control yang terekam, Anda dapat menambahkan kebijakan bucket yang hanya mengizinkan unggahan objek yang menggunakan ACL ini.

    • Penulis objek — Akun AWS Yang mengunggah objek memiliki objek, memiliki kontrol penuh atasnya, dan dapat memberikan pengguna lain akses ke sana melalui ACL.

    catatan

    Pengaturan default-nya adalah Pemilik Bucket yang diberlakukan. Untuk menerapkan pengaturan default dan menonaktifkan ACL, hanya izin s3:CreateBucket yang diperlukan. Untuk mengaktifkan ACL, Anda harus memiliki izin s3:PutBucketOwnershipControls.

  10. Di bawah Pengaturan Blokir Akses Publik untuk bucket ini, pilih pengaturan Blokir Akses Publik yang ingin Anda terapkan ke bucket.

    Secara default, semua pengaturan Blokir Akses Publik untuk bucket direktori diaktifkan. Kami menyarankan Anda tetap mengaktifkan semua pengaturan, kecuali Anda tahu bahwa Anda perlu menonaktifkan satu atau beberapa pengaturan untuk kasus penggunaan spesifik Anda. Untuk informasi lebih lanjut tentang pemblokiran akses publik, lihat Melakukan blok akses publik ke penyimpanan Amazon S3 Anda.

    catatan

    Untuk mengaktifkan semua pengaturan Blokir Akses Publik, hanya izin s3:CreateBucket yang diperlukan. Untuk mematikan pengaturan Blokir Akses Publik, Anda harus memiliki izin s3:PutBucketPublicAccessBlock.

  11. (Opsional) Di bawah Penentuan Versi Bucket, Anda dapat memilih apakah Anda ingin menyimpan varian objek di bucket Anda. Untuk informasi selengkapnya tentang penentuan versi, lihat Menggunakan Penentuan Versi dalam bucket S3.

    Untuk menonaktifkan atau mengaktifkan Penentuan Versi di bucket Anda, pilih Nonaktifkan atau Aktifkan.

  12. (Opsional) Di bawah Tanda, Anda dapat memilih untuk menambahkan tanda ke bucket Anda. Tanda adalah pasangan kunci-nilai yang digunakan untuk mengategorikan penyimpanan.

    Untuk menambahkan tanda bucket, masukkan Kunci dan secara opsional Nilai, lalu pilih Tambahkan Tanda.

  13. Di bagian bawah Enkripsi default, pilih Edit.

  14. Untuk mengonfigurasi enkripsi default, di bawah Jenis enkripsi, pilih salah satu dari berikut ini:

    • Kunci yang dikelola Amazon S3 (SSE-S3)

    • AWS Key Management Service kunci (SSE-KMS)

      penting

      Jika Anda menggunakan opsi SSE-KMS untuk konfigurasi enkripsi default, Anda tunduk pada kuota permintaan per detik (RPS) AWS KMS. Untuk informasi selengkapnya tentang AWS KMS kuota dan cara meminta kenaikan kuota, lihat Kuota di Panduan Pengembang AWS Key Management Service .

    Bucket dan objek baru dienkripsi dengan enkripsi di sisi server dengan kunci yang dikelola Amazon S3 sebagai tingkat dasar konfigurasi enkripsi. Untuk informasi selengkapnya tentang enkripsi default, lihat Mengatur perilaku enkripsi di sisi server default untuk bucket Amazon S3.

    Untuk informasi selengkapnya tentang penggunaan enkripsi di sisi server Amazon S3 guna mengenkripsi data Anda, lihat Menggunakan enkripsi di sisi server dengan kunci terkelola Amazon S3 (SSE-S3).

  15. Jika Anda memilih kunci AWS Key Management Service (SSE-KMS), lakukan hal berikut:

    1. Di bawah AWS KMS kunci, tentukan kunci KMS Anda dengan salah satu cara berikut ini:

      • Untuk memilih dari daftar kunci KMS yang tersedia, pilih Pilih dari Anda AWS KMS keys, dan pilih kunci KMS Anda dari daftar kunci yang tersedia.

        Kunci Kunci yang dikelola AWS (aws/s3) dan kunci terkelola pelanggan Anda muncul dalam daftar ini. Untuk informasi selengkapnya tentang CMK, lihat Kunci pelanggan dan AWS kunci di AWS Key Management Service Panduan Pengembang.

      • Untuk memasukkan ARN kunci KMS, pilih Masukkan AWS KMS key ARN, dan masukkan ARN kunci KMS Anda di bidang yang muncul.

      • Untuk membuat kunci terkelola pelanggan baru di AWS KMS konsol, pilih Buat kunci KMS.

        Untuk informasi selengkapnya tentang membuat AWS KMS key, lihat Membuat kunci di Panduan AWS Key Management Service Pengembang.

      penting

      Anda hanya dapat menggunakan tombol KMS yang tersedia Wilayah AWS sama dengan bucket. Konsol Amazon S3 hanya mencantumkan kunci 100 KMS pertama di Wilayah yang sama dengan bucket. Untuk menggunakan kunci KMS yang tidak terdaftar, Anda harus memasukkan ARN kunci KMS Anda. Jika Anda ingin menggunakan kunci KMS yang dimiliki oleh akun lain, Anda harus terlebih dahulu memiliki izin untuk menggunakan kunci tersebut, dan kemudian Anda harus memasukkan ARN kunci KMS. Untuk informasi selengkapnya tentang izin lintas akun untuk kunci KMS, lihat Membuat kunci KMS yang dapat digunakan akun lain di Panduan Pengembang AWS Key Management Service . Untuk informasi selengkapnya tentang SSE-KMS, lihat Menentukan enkripsi di sisi server dengan AWS KMS (SSE-KMS).

      Saat Anda menggunakan enkripsi sisi server AWS KMS key untuk Amazon S3, Anda harus memilih kunci KMS enkripsi simetris. Amazon S3 hanya mendukung kunci KMS enkripsi simetris dan tidak mendukung kunci KMS asimetris. Untuk informasi selengkapnya, lihat Mengidentifikasi tombol KMS simetris dan asimetris dalam Panduan Pengembang AWS Key Management Service .

      Untuk informasi selengkapnya tentang membuat AWS KMS key, lihat Membuat kunci di Panduan AWS Key Management Service Pengembang. Untuk informasi selengkapnya tentang penggunaan AWS KMS dengan Amazon S3, lihat. Menggunakan enkripsi sisi server dengan AWS KMS kunci (SSE-KMS)

    2. Saat mengonfigurasi bucket untuk menggunakan enkripsi default dengan SSE-KMS, Anda juga dapat mengaktifkan Kunci Bucket S3. S3 Bucket Keys menurunkan biaya enkripsi dengan mengurangi lalu lintas permintaan dari Amazon S3 ke. AWS KMS Untuk informasi selengkapnya, lihat Mengurangi biaya SSE-KMS dengan Kunci Bucket Amazon S3.

      Untuk menggunakan Kunci Bucket S3, di bagian bawah Kunci Bucket, pilih Aktifkan.

  16. (Opsional) Jika Anda ingin mengaktifkan Kunci Objek S3, lakukan hal berikut ini:

    1. Pilih Pengaturan lanjutan.

      penting

      Mengaktifkan Kunci Objek juga mengaktifkan Penentuan Versi untuk bucket. Setelah mengaktifkan, Anda harus mengonfigurasi pengaturan penyimpanan default Kunci Objek dan penahanan legal untuk melindungi objek baru agar tidak dihapus atau ditimpa.

    2. Jika Anda ingin mengaktifkan Kunci Objek, pilih Aktifkan, baca peringatan yang muncul, lalu setujui.

    Untuk informasi selengkapnya, lihat Menggunakan Kunci Objek S3.

    catatan

    Untuk membuat bucket dengan dukungan Kunci Objek, Anda harus memiliki izin berikut: s3:CreateBucket, s3:PutBucketVersioning dan s3:PutBucketObjectLockConfiguration.

  17. Pilih Buat bucket.

Saat Anda menggunakan AWS SDK untuk membuat bucket, Anda harus membuat klien dan kemudian menggunakan klien untuk mengirim permintaan untuk membuat bucket. Sebagai praktik terbaik, Anda harus membuat klien dan bucket di Wilayah AWS yang sama. Jika Anda tidak menentukan Wilayah saat membuat klien atau bucket, Amazon S3 menggunakan Wilayah default AS Timur (Virginia Utara). Jika Anda ingin membatasi pembuatan bucket ke Wilayah AWS tertentu, gunakan kunci kondisi LocationConstraint.

Untuk membuat klien agar dapat mengakses titik akhir dual-stack, Anda harus menentukan Wilayah AWS. Untuk informasi selengkapnya, lihat Titik akhir tumpukan ganda. Untuk daftar yang tersedia Wilayah AWS, lihat Wilayah dan titik akhir di. Referensi Umum AWS

Saat Anda membuat klien, Wilayah akan memetakan ke titik akhir spesifik Wilayah. Klien menggunakan titik akhir ini untuk berkomunikasi dengan Amazon S3: s3.region.amazonaws.com. Jika Wilayah Anda diluncurkan setelah 20 Maret 2019, klien dan bucket Anda harus berada di dalam Wilayah yang sama. Namun, Anda dapat menggunakan klien di Wilayah AS Timur (Virginia Utara) untuk membuat bucket di setiap Wilayah yang diluncurkan sebelum 20 Maret 2019. Untuk informasi selengkapnya, lihat Titik akhir warisan.

Contoh kode AWS SDK ini melakukan tugas-tugas berikut:

  • Membuat klien dengan secara eksplisit menentukan Wilayah AWS–Dalam contoh, klien menggunakan titik akhir s3.us-west-2.amazonaws.com untuk berkomunikasi dengan Amazon S3. Anda dapat menentukan Wilayah AWS. Untuk daftar Wilayah AWS, lihat Wilayah dan titik akhir dalam Referensi AWS Umum.

  • Kirim permintaan pembuatan bucket dengan menentukan hanya nama bucket–Klien mengirimkan permintaan ke Amazon S3 untuk membuat bucket di Wilayah tempat Anda membuat klien.

  • Ambil informasi tentang lokasi bucket–Amazon S3 menyimpan informasi lokasi bucket di sub-sumber daya lokasi yang dikaitkan dengan bucket.

Java

Contoh ini menunjukkan cara untuk membuat bucket Amazon S3 menggunakan AWS SDK for Java. Untuk instruksi tentang membuat dan menguji sampel kerja, lihat Menguji Contoh Kode Java 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

Untuk informasi tentang cara membuat dan menguji sampel kerja, lihat Menjalankan Contoh Kode Amazon S3 .NET.

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

Untuk informasi tentang cara membuat dan menguji sampel kerja, lihat Menggunakan AWS SDK for Ruby - Versi 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__

Anda juga dapat menggunakan AWS Command Line Interface (AWS CLI) untuk membuat bucket S3. Untuk informasi selengkapnya, lihat create-bucket dalam AWS CLI Referensi Perintah.

Untuk informasi tentang AWS CLI, lihat Apa itu AWS Command Line Interface? dalam AWS Command Line Interface User Guide.