Halaman ini menunjukkan cara membuat bucket penyimpanan yang terisolasi dari jaringan Google Distributed Cloud (GDC).
Sebelum memulai
Bucket penyimpanan adalah resource yang dicakup ke project tertentu. Project bertindak sebagai penampung, mengelompokkan bucket Anda dan memungkinkan pengelolaannya melalui server Management API. Sebelum dapat melakukan operasi di halaman ini, Anda harus membuat project baru atau memilih project yang sudah ada dengan izin yang memadai.
Peran IAM yang diperlukan
Hubungi Admin Project IAM Anda untuk meminta peran berikut di namespace project Anda:
- Project Bucket Admin (
project-bucket-admin): membuat, memperbarui, dan menghapus bucket penyimpanan. - Project Bucket Object Viewer (
project-bucket-object-viewer): melihat dan memeriksa detail bucket dan objek penyimpanan.
Untuk mengetahui informasi selengkapnya, lihat Memberikan akses bucket.
Menyiapkan lingkungan Anda
Untuk menjalankan perintah terhadap server API pengelolaan atau server API global, lakukan hal berikut:
- Login dan buat file kubeconfig untuk server API pengelolaan zonal jika Anda belum memilikinya.
- Untuk bucket dual-zona, lakukan hal berikut:
- Verifikasi dengan Operator Infrastruktur (IO) Anda bahwa resource kustom
BucketLocationConfigtelah dibuat untuk zona yang dipasangkan. - Buat file kubeconfig untuk server API global.
- Verifikasi dengan Operator Infrastruktur (IO) Anda bahwa resource kustom
Panduan penamaan bucket penyimpanan
Nama bucket harus mematuhi konvensi penamaan berikut:
- Bersifat 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).
- Mematuhi DNS.
- Memiliki minimal 1 dan maksimal 55 karakter.
- Mulai dengan huruf dan hanya gunakan huruf, angka, dan tanda hubung.
Membuat bucket
Secara default, bucket menggunakan kelas penyimpanan Standard. Jika Nearline Storage telah diaktifkan oleh Operator Infrastruktur (IO) Anda, Anda juga dapat memilih kelas penyimpanan Nearline untuk data yang lebih jarang diakses. Penyimpanan nearline didukung untuk bucket zona tunggal dan zona ganda.
Konsol
- Di menu navigasi, klik Object Storage.
- Di pemilih project, pilih project tempat Anda ingin membuat bucket.
- Klik Create Bucket.
- Dalam alur pembuatan bucket, tetapkan nama yang unik di semua bucket dalam project.
- Masukkan deskripsi.
- Di bagian Kelas penyimpanan, pilih Standard atau Nearline. Opsi Nearline hanya terlihat jika Nearline storage diaktifkan.
- 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.
- Klik Create. Pesan berhasil akan muncul dan Anda akan diarahkan kembali ke halaman Bucket.
Untuk memverifikasi bahwa Anda telah berhasil membuat bucket baru, muat ulang halaman Bucket setelah beberapa menit dan periksa apakah status bucket berubah dari Not ready menjadi Ready.
API
Untuk membuat bucket zonal, terapkan spesifikasi bucket ke namespace project Anda:
kubectl --kubeconfig MANAGEMENT_API_SERVER_KUBECONFIG 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 untuk server API global:
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 dual-zona 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 API global.
Untuk membuat bucket zona ganda, terapkan spesifikasi terhadap server API global:
kubectl --kubeconfig GLOBAL_API_SERVER_KUBECONFIG apply -f bucket.yaml
gdcloud
Untuk membuat bucket zona tunggal dengan gdcloud menggunakan kelas 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 tidak ada, Standard akan digunakan secara default.
Untuk mengetahui detail selengkapnya, lihat gdcloud storage buckets create.
Memverifikasi pembuatan bucket dan resource terkait
Setelah membuat bucket, jalankan perintah berikut untuk mengonfirmasi dan memeriksa detail bucket:
kubectl --kubeconfig MANAGEMENT_API_SERVER_KUBECONFIG 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 adalah tentang AEADKey yang diberi nama obj-FULLY_QUALIFIED_BUCKET_NAME, yang berfungsi sebagai referensi ke 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 berkaitan dengan Secret yang diberi nama kek-ref-FULLY_QUALIFIED_BUCKET_NAME, yang berfungsi sebagai referensi untuk AEADKey default yang aktif. AEADKey default yang 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 --kubeconfig MANAGEMENT_API_SERVER_KUBECONFIG get aeadkeys -n PROJECT_NAMESPACE -l cmek.security.gdc.goog/resource-name=FULLY_QUALIFIED_BUCKET_NAME