Membuat bucket penyimpanan untuk project

Halaman ini menunjukkan cara membuat bucket penyimpanan Google Distributed Cloud (GDC) yang terisolasi.

Sebelum memulai

Namespace project mengelola resource bucket di server Management API. Anda harus memiliki project untuk menggunakan bucket dan objek.

Anda juga harus memiliki izin bucket yang sesuai untuk melakukan operasi berikut. Lihat Memberikan akses bucket.

Panduan penamaan bucket penyimpanan

Nama bucket harus mematuhi konvensi penamaan berikut:

  • Harus unik dalam project. Server Management API menambahkan awalan unik ke nama bucket yang sepenuhnya memenuhi syarat, sehingga tidak ada konflik dalam organisasi. Jika terjadi konflik awalan dan nama bucket di seluruh organisasi, pembuatan bucket akan gagal dengan error "nama bucket sedang digunakan".
  • Jangan menyertakan informasi identitas pribadi (PII).
  • Harus sesuai dengan DNS.
  • Memiliki minimal 1 dan maksimal 55 karakter.
  • Diawali dengan huruf dan hanya menggunakan huruf, angka, dan tanda hubung.

Membuat bucket

Secara default, bucket menggunakan class penyimpanan Standard. Jika Nearline Storage telah diaktifkan oleh Operator Infrastruktur (IO), Anda juga dapat memilih kelas penyimpanan Nearline untuk data yang lebih jarang diakses. Nearline Storage didukung untuk bucket zona tunggal dan zona ganda.

Konsol

  1. Di menu navigasi, klik Object Storage.
  2. Di pemilih project, pilih project tempat Anda ingin membuat bucket.
  3. Klik Create Bucket.
  4. Dalam alur pembuatan bucket, tetapkan nama yang unik di semua bucket dalam project.
  5. Masukkan deskripsi.
  6. Di bagian Kelas penyimpanan, pilih Standard atau Nearline. Opsi Nearline hanya terlihat jika Nearline Storage diaktifkan.
  7. Opsional: Klik tombol toggle_off untuk menetapkan kebijakan retensi dan masukkan jumlah hari yang Anda inginkan. Hubungi IO Anda jika Anda perlu melampaui batas kebijakan retensi.
  8. Klik Create. Pesan keberhasilan akan muncul dan Anda akan diarahkan kembali ke halaman Buckets.

Untuk memverifikasi bahwa Anda telah berhasil membuat bucket baru, muat ulang halaman Buckets setelah beberapa menit dan pastikan status bucket diperbarui dari Not ready menjadi Ready.

API

Untuk membuat bucket, terapkan spesifikasi bucket ke namespace project Anda:

kubectl apply -f bucket.yaml

Berikut adalah contoh spesifikasi bucket menggunakan class penyimpanan Standard:

apiVersion: object.gdc.goog/v1
kind: Bucket
metadata:
  name: BUCKET_NAME
  namespace: NAMESPACE_NAME
spec:
  description: DESCRIPTION
  storageClass: Standard
  bucketPolicy:
    lockingPolicy:
      defaultObjectRetentionDays: RETENTION_DAY_COUNT

Berikut adalah contoh spesifikasi bucket menggunakan class penyimpanan Nearline:

apiVersion: object.gdc.goog/v1
kind: Bucket
metadata:
  name: BUCKET_NAME
  namespace: NAMESPACE_NAME
spec:
  description: DESCRIPTION
  storageClass: Nearline
  bucketPolicy:
    lockingPolicy:
      defaultObjectRetentionDays: RETENTION_DAY_COUNT

Berikut adalah contoh spesifikasi bucket dengan versi enkripsi sebagai v1:

apiVersion: object.gdc.goog/v1
kind: Bucket
metadata:
  name: BUCKET_NAME
  namespace: NAMESPACE_NAME
  labels:
    object.gdc.goog/encryption-version: v1
spec:
  description: DESCRIPTION
  storageClass: Standard
  bucketPolicy:
    lockingPolicy:
      defaultObjectRetentionDays: RETENTION_DAY_COUNT

Untuk mengetahui detail selengkapnya, lihat referensi Bucket API.

Berikut adalah contoh spesifikasi bucket zona ganda di org-admin global API:

apiVersion: object.global.gdc.goog/v1
kind: Bucket
metadata:
  name: BUCKET_NAME
  namespace: PROJECT_NAME
spec:
  location: LOCATION_NAME
  description: Sample DZ Bucket
  storageClass: Standard

Untuk membuat bucket zona ganda menggunakan Nearline Storage, tetapkan storageClass: Nearline.

Perhatikan bahwa hanya enkripsi V2 yang didukung untuk bucket zona ganda dan semua operasi untuk membuat, memperbarui, atau menghapus resource bucket zona ganda harus dilakukan terhadap server global API.

gdcloud

Untuk membuat bucket zona tunggal dengan gdcloud menggunakan class penyimpanan Nearline:

gdcloud storage buckets create BUCKET_NAME \
    --location=ZONE_NAME \
    --location-type=SingleZone \
    --storage-class=Nearline

Untuk membuat bucket zona ganda dengan gdcloud menggunakan lokasi global:

gdcloud storage buckets create BUCKET_NAME \
    --location=ZONE_1,ZONE_2 \
    --location-type=AsyncDualZone \
    --storage-class=Nearline

Jika --storage-class dihilangkan, Standard akan digunakan secara default.

Untuk mengetahui detail selengkapnya, lihat gdcloud storage buckets create.

Setelah bucket dibuat, Anda dapat menjalankan perintah berikut untuk mengonfirmasi dan memeriksa detail bucket:

kubectl describe buckets BUCKET_NAME -n PROJECT_NAMESPACE

Bagian Status memiliki dua kolom penting: Encryption (untuk detail enkripsi) dan Fully Qualified Name (yang berisi FULLY_QUALIFIED_BUCKET_NAME).

Enkripsi v1

Informasi ini terkait dengan AEADKey yang diberi nama obj-FULLY_QUALIFIED_BUCKET_NAME, yang berfungsi sebagai referensi untuk kunci enkripsi yang digunakan untuk mengenkripsi objek yang disimpan dalam bucket. Berikut ini contohnya:

Status:
  Encryption:
    Key Ref:
      Kind: AEADKey
      Name: obj-FULLY_QUALIFIED_BUCKET_NAME
      Namespace: PROJECT_NAMESPACE
    Type: CMEK

Enkripsi v2

Informasi ini terkait dengan Secret yang diberi nama kek-ref-FULLY_QUALIFIED_BUCKET_NAME, yang berfungsi sebagai referensi untuk AEADKey default aktif. AEADKey default aktif dipilih secara acak untuk mengenkripsi objek yang diupload ke bucket saat AEADKey tertentu tidak ditentukan.

Berikut ini contohnya:

Status:
  Encryption:
    Key Ref:
      Kind: Secret
      Name: kek-ref-FULLY_QUALIFIED_BUCKET_NAME
      Namespace: PROJECT_NAMESPACE
    Type: CMEK

Anda juga dapat menjalankan perintah berikut untuk memverifikasi bahwa AEADKey yang diperlukan telah dibuat:

kubectl get aeadkeys -n PROJECT_NAMESPACE -l  cmek.security.gdc.goog/resource-name=FULLY_QUALIFIED_BUCKET_NAME