Halaman ini menunjukkan cara membuat bucket penyimpanan Google Distributed Cloud (GDC) dengan air gap.
Sebelum memulai
Bucket penyimpanan adalah resource yang dicakup dalam project tertentu. Project bertindak sebagai penampung, yang 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 dan memiliki izin yang memadai.
Peran IAM yang diperlukan
Hubungi IAM Project Admin 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 zona jika Anda belum memilikinya.
- Untuk bucket dual-zone, lakukan hal berikut:
- Pastikan dengan Operator Infrastruktur (IO) Anda bahwa resource kustom
BucketLocationConfigtelah dibuat untuk zona yang disambungkan. - Buat file kubeconfig untuk server API global.
- Pastikan dengan Operator Infrastruktur (IO) Anda bahwa resource kustom
Panduan penamaan bucket penyimpanan
Nama bucket harus mematuhi konvensi penamaan berikut:
- Unik dalam project. Server API pengelolaan menambahkan awalan unik ke nama bucket yang sepenuhnya memenuhi syarat, sehingga memastikan tidak ada bentrokan dalam organisasi. Jika terjadi bentrokan awalan dan nama bucket di seluruh organisasi, pembuatan bucket akan gagal dengan error "bucket name in use".
- Jangan menyertakan informasi identitas pribadi (PII).
- Sesuai dengan 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 Infrastructure Operator (IO), Anda juga dapat memilih kelas penyimpanan Nearline untuk data yang jarang diakses. Nearline Storage 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 Storage class, 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 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.
gdcloud
Untuk membuat bucket satu zona dengan gdcloud menggunakan kelas penyimpanan Nearline:
gdcloud storage buckets create BUCKET_NAME \
--location=ZONE_NAME \
--location-type=SingleZone \
--storage-class=Nearline
Untuk membuat bucket dual-zone 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.
API
Untuk membuat bucket zona, terapkan spesifikasi bucket ke namespace project Anda:
kubectl --kubeconfig MANAGEMENT_API_SERVER_KUBECONFIG apply -f bucket.yaml
Berikut adalah contoh spesifikasi bucket yang menggunakan kelas 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 yang menggunakan kelas 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 dua zona 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-region menggunakan Nearline Storage, tetapkan storageClass: Nearline.
Perhatikan bahwa hanya enkripsi V2 yang didukung untuk bucket dua zona dan semua operasi untuk membuat, memperbarui, atau menghapus resource bucket dua zona harus dilakukan terhadap server API global.
Untuk membuat bucket dua zona, terapkan spesifikasi terhadap server API global:
kubectl --kubeconfig GLOBAL_API_SERVER_KUBECONFIG apply -f bucket.yaml
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 bernama 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 bernama kek-ref-FULLY_QUALIFIED_BUCKET_NAME, yang berfungsi sebagai referensi untuk AEADKeys default yang aktif. AEADKey default yang aktif dipilih secara acak untuk mengenkripsi objek yang diupload ke bucket jika 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 AEADKeys 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