arrow_back

Mengoptimalkan Biaya dengan Google Cloud Storage

Login Gabung
Dapatkan akses ke 700+ lab dan kursus

Mengoptimalkan Biaya dengan Google Cloud Storage

Lab 1 jam universal_currency_alt 5 Kredit show_chart Menengah
info Lab ini mungkin menggabungkan alat AI untuk mendukung pembelajaran Anda.
Dapatkan akses ke 700+ lab dan kursus

GSP649

Logo lab mandiri Google Cloud

Ringkasan

Di lab ini, Anda akan menggunakan Cloud Run Functions dan Cloud Scheduler untuk mengidentifikasi dan membersihkan resource cloud yang tidak digunakan secara efisien. Anda akan memicu fungsi Cloud Run untuk memigrasikan bucket penyimpanan dari kebijakan pemberitahuan Cloud Monitoring ke kelas penyimpanan yang lebih murah.

Google Cloud menyediakan aturan siklus proses objek penyimpanan yang secara otomatis memindahkan objek ke berbagai kelas penyimpanan berdasarkan serangkaian atribut, seperti tanggal pembuatan atau status aktifnya. Namun, aturan ini tidak dapat memperhitungkan apakah objek telah diakses atau belum. Terkadang, Anda mungkin ingin memindahkan objek yang relatif baru ke Nearline Storage jika objek tersebut belum diakses dalam jangka waktu tertentu.

Tujuan

Di lab ini, Anda akan mempelajari cara:

  • Membuat dua bucket penyimpanan, menambahkan file ke serving-bucket, dan menghasilkan traffic ke bucket tersebut.
  • Membuat dasbor Cloud Monitoring untuk memvisualisasikan penggunaan bucket.
  • Men-deploy fungsi Cloud Run untuk memigrasikan bucket tanpa aktivitas ke kelas penyimpanan yang lebih murah, dan memicu fungsi menggunakan payload yang dimaksudkan untuk meniru notifikasi yang diterima dari kebijakan pemberitahuan Cloud.

Penyiapan dan persyaratan

Sebelum mengklik tombol Start Lab

Baca petunjuk ini. Lab memiliki timer dan Anda tidak dapat menjedanya. Timer yang dimulai saat Anda mengklik Start Lab akan menampilkan durasi ketersediaan resource Google Cloud untuk Anda.

Lab interaktif ini dapat Anda gunakan untuk melakukan aktivitas lab di lingkungan cloud sungguhan, bukan di lingkungan demo atau simulasi. Untuk mengakses lab ini, Anda akan diberi kredensial baru yang bersifat sementara dan dapat digunakan untuk login serta mengakses Google Cloud selama durasi lab.

Untuk menyelesaikan lab ini, Anda memerlukan:

  • Akses ke browser internet standar (disarankan browser Chrome).
Catatan: Gunakan jendela Samaran (direkomendasikan) atau browser pribadi untuk menjalankan lab ini. Hal ini akan mencegah konflik antara akun pribadi Anda dan akun siswa yang dapat menyebabkan tagihan ekstra pada akun pribadi Anda.
  • Waktu untuk menyelesaikan lab. Ingat, setelah dimulai, lab tidak dapat dijeda.
Catatan: Hanya gunakan akun siswa untuk lab ini. Jika Anda menggunakan akun Google Cloud yang berbeda, Anda mungkin akan dikenai tagihan ke akun tersebut.

Cara memulai lab dan login ke Google Cloud Console

  1. Klik tombol Start Lab. Jika Anda perlu membayar lab, dialog akan terbuka untuk memilih metode pembayaran. Di sebelah kiri ada panel Lab Details yang berisi hal-hal berikut:

    • Tombol Open Google Cloud console
    • Waktu tersisa
    • Kredensial sementara yang harus Anda gunakan untuk lab ini
    • Informasi lain, jika diperlukan, untuk menyelesaikan lab ini
  2. Klik Open Google Cloud console (atau klik kanan dan pilih Open Link in Incognito Window jika Anda menjalankan browser Chrome).

    Lab akan menjalankan resource, lalu membuka tab lain yang menampilkan halaman Sign in.

    Tips: Atur tab di jendela terpisah secara berdampingan.

    Catatan: Jika Anda melihat dialog Choose an account, klik Use Another Account.
  3. Jika perlu, salin Username di bawah dan tempel ke dialog Sign in.

    {{{user_0.username | "Username"}}}

    Anda juga dapat menemukan Username di panel Lab Details.

  4. Klik Next.

  5. Salin Password di bawah dan tempel ke dialog Welcome.

    {{{user_0.password | "Password"}}}

    Anda juga dapat menemukan Password di panel Lab Details.

  6. Klik Next.

    Penting: Anda harus menggunakan kredensial yang diberikan lab. Jangan menggunakan kredensial akun Google Cloud Anda. Catatan: Menggunakan akun Google Cloud sendiri untuk lab ini dapat dikenai biaya tambahan.
  7. Klik halaman berikutnya:

    • Setujui persyaratan dan ketentuan.
    • Jangan tambahkan opsi pemulihan atau autentikasi 2 langkah (karena ini akun sementara).
    • Jangan mendaftar uji coba gratis.

Setelah beberapa saat, Konsol Google Cloud akan terbuka di tab ini.

Catatan: Untuk mengakses produk dan layanan Google Cloud, klik Navigation menu atau ketik nama layanan atau produk di kolom Search. Ikon Navigation menu dan kolom Search

Mengaktifkan Cloud Shell

Cloud Shell adalah mesin virtual yang dilengkapi dengan berbagai alat pengembangan. Mesin virtual ini menawarkan direktori beranda persisten berkapasitas 5 GB dan berjalan di Google Cloud. Cloud Shell menyediakan akses command-line untuk resource Google Cloud Anda.

  1. Klik Activate Cloud Shell Ikon Activate Cloud Shell di bagian atas Konsol Google Cloud.

  2. Klik jendela berikut:

    • Lanjutkan melalui jendela informasi Cloud Shell.
    • Beri otorisasi ke Cloud Shell untuk menggunakan kredensial Anda guna melakukan panggilan Google Cloud API.

Setelah terhubung, Anda sudah diautentikasi, dan project ditetapkan ke Project_ID, . Output berisi baris yang mendeklarasikan Project_ID untuk sesi ini:

Project Cloud Platform Anda dalam sesi ini disetel ke {{{project_0.project_id | "PROJECT_ID"}}}

gcloud adalah alat command line untuk Google Cloud. Alat ini sudah terinstal di Cloud Shell dan mendukung pelengkapan command line.

  1. (Opsional) Anda dapat menampilkan daftar nama akun yang aktif dengan perintah ini:
gcloud auth list
  1. Klik Authorize.

Output:

ACTIVE: * ACCOUNT: {{{user_0.username | "ACCOUNT"}}} Untuk menetapkan akun aktif, jalankan: $ gcloud config set account `ACCOUNT`
  1. (Opsional) Anda dapat menampilkan daftar ID project dengan perintah ini:
gcloud config list project

Output:

[core] project = {{{project_0.project_id | "PROJECT_ID"}}} Catatan: Untuk mendapatkan dokumentasi gcloud yang lengkap di Google Cloud, baca panduan ringkasan gcloud CLI.

Arsitektur

Dalam diagram berikut, Anda memicu fungsi Cloud Run untuk memigrasikan bucket penyimpanan ke kelas penyimpanan yang lebih murah dari kebijakan pemberitahuan Cloud Monitoring.

Diagram migrasi bucket penyimpanan

Tugas 1. Mengaktifkan API dan mendownload kode sumber

  1. Klik Activate Cloud Shell Ikon Activate Cloud Shell di bagian atas konsol Google Cloud.

  2. Di Cloud Shell, aktifkan Cloud Scheduler API:

gcloud services enable cloudscheduler.googleapis.com

Klik Periksa progres saya untuk memverifikasi tujuan.

Mengaktifkan Cloud Scheduler API
  1. Download kode sumber untuk lab:
gcloud storage cp -r gs://spls/gsp649/* . && cd gcf-automated-resource-cleanup/
  1. Tetapkan variabel lingkungan dan jadikan folder repositori sebagai $WORKDIR tempat Anda menjalankan semua perintah yang terkait dengan lab ini:
export PROJECT_ID=$(gcloud config list --format 'value(core.project)' 2>/dev/null) WORKDIR=$(pwd)
  1. Instal Apache Bench, yakni alat open source untuk membuat dan menguji beban pada sistem:
sudo apt-get update sudo apt-get install apache2-utils -y

Tugas 2. Membuat bucket Cloud Storage dan menambahkan file

  1. Di Cloud Shell, buka direktori migrate-storage:
cd $WORKDIR/migrate-storage
  1. Buat serving-bucket, yang merupakan bucket Cloud Storage. Anda akan menggunakannya nanti untuk mengubah kelas penyimpanan:
export PROJECT_ID=$(gcloud config list --format 'value(core.project)' 2>/dev/null) gcloud storage buckets create gs://${PROJECT_ID}-serving-bucket -l {{{project_0.default_region|REGION}}}

Klik Periksa progres saya untuk memverifikasi tujuan.

Membuat bucket Cloud Storage
  1. Setel bucket untuk publik.
gsutil acl ch -u allUsers:R gs://${PROJECT_ID}-serving-bucket
  1. Tambahkan file teks ke bucket:
gcloud storage cp $WORKDIR/migrate-storage/testfile.txt gs://${PROJECT_ID}-serving-bucket
  1. Setel file untuk publik:
gsutil acl ch -u allUsers:R gs://${PROJECT_ID}-serving-bucket/testfile.txt
  1. Pastikan Anda dapat mengakses file:
curl http://storage.googleapis.com/${PROJECT_ID}-serving-bucket/testfile.txt

Output Anda adalah:

this is a test

Klik Periksa progres saya untuk memverifikasi tujuan.

Menyetel bucket Cloud Storage ke publik
  1. Buat bucket kedua bernama idle-bucket yang tidak akan menyajikan data apa pun:
gcloud storage buckets create gs://${PROJECT_ID}-idle-bucket -l {{{project_0.default_region|REGION}}} export IDLE_BUCKET_NAME=$PROJECT_ID-idle-bucket

Klik Periksa progres saya untuk memverifikasi tujuan.

Membuat bucket Cloud Storage lain

Tugas 3. Membuat dasbor pemantauan

Membuat Monitoring Metrics Scope

Siapkan Monitoring Metrics Scope yang dikaitkan dengan Project Google Cloud Anda. Langkah berikut dilakukan untuk membuat akun baru yang menyediakan uji coba gratis Monitoring.

  • Di Konsol Cloud, klik Navigation menu (Ikon Navigation menu) > View All Products > Observability > Monitoring.

Saat halaman Overview Monitoring terbuka, project cakupan metrik Anda siap digunakan.

  1. Di panel kiri, klik Dashboards > Create Custom Dashboard.

  2. Beri nama Dasbor Bucket Usage.

  3. Klik +ADD WIDGET.

  4. Klik Line.

  5. Untuk Widget Title, ketik Bucket Access.

  6. Untuk metrik Select a metric > GCS Bucket > Api > Request count, klik Apply.

Catatan: Jika Anda tidak dapat menemukan metrik Request count, hapus centang Active.

Memilih dasbor metrik

  1. Untuk mengelompokkan metrik berdasarkan nama bucket, di menu drop-down Group By, pilih bucket_name, lalu klik ok.

  2. Klik + Add Filter.

Untuk memfilter menurut nama metode:

  • Untuk Filter By Metric Label, pilih method.
  • Di dropdown di samping method, pilih ReadObject.
  • Klik Apply.

Anda telah mengonfigurasi Cloud Monitoring untuk mengamati akses objek di bucket Anda. Tidak ada data dalam diagram karena tidak ada traffic ke bucket Cloud Storage.

Tugas 4. Menghasilkan beban pada serving-bucket

Setelah mengonfigurasi pemantauan, gunakan Apache Bench untuk mengirim traffic ke serving-bucket.

  1. Di Cloud Shell, kirim permintaan ke objek dalam serving-bucket:
ab -n 10000 http://storage.googleapis.com/$PROJECT_ID-serving-bucket/testfile.txt
  1. Di panel kiri, klik Dashboards, lalu klik nama Dasbor Anda, yaitu Bucket Usage untuk melihat diagram Bucket Access.
Catatan: Jika tab ini Anda tutup sebelumnya, pilih Navigation menu > View All Products > Observability > Monitoring, lalu di panel kiri, klik Dashboards > Bucket Usage. Catatan: Anda harus menunggu minimal 1 menit agar grafik muncul di dasbor Bucket Usage.
  1. Lihat detail traffic.

Dasbor Bucket Usage

Anda mungkin perlu memasukkan CTRL-C untuk kembali ke command prompt.

Tugas 5. Meninjau dan men-deploy fungsi Cloud Run

  1. Di Cloud Shell, masukkan perintah berikut untuk melihat kode fungsi Cloud Run yang memigrasikan bucket penyimpanan ke kelas Nearline Storage:
cat $WORKDIR/migrate-storage/main.py | grep "migrate_storage(" -A 15

Outputnya adalah:

def migrate_storage(request): request_json = request.get_json(force=True) bucket_name = request_json['incident']['resource_name'] print(f"bucket_name: {bucket_name}") # Print the bucket name if not bucket_name: print("Error: bucket_name is empty") return "Invalid bucket name", 400 storage_client = storage.Client(project) bucket = storage_client.get_bucket(bucket_name) bucket.storage_class = "NEARLINE" bucket.patch() return "Bucket migrated successfully", 200

Perhatikan bahwa fungsi Cloud Run menggunakan nama bucket yang diteruskan dalam permintaan untuk mengubah kelas penyimpanannya menjadi Nearline.

  1. Ubah skrip Python berikut agar menggunakan Project ID Anda:
sed -i "s/<project-id>/$PROJECT_ID/" $WORKDIR/migrate-storage/main.py
  1. Nonaktifkan Cloud Run Functions API:
gcloud services disable cloudfunctions.googleapis.com
  1. Aktifkan kembali Cloud Run Functions API:
gcloud services enable cloudfunctions.googleapis.com
  1. Ekspor nomor project:
export PROJECT_NUMBER=$(gcloud projects describe $PROJECT_ID --format="value(projectNumber)")
  1. Tambahkan izin artifactregistry.reader untuk akun layanan developer Anda.
gcloud projects add-iam-policy-binding $PROJECT_ID \ --member="serviceAccount:$PROJECT_NUMBER-compute@developer.gserviceaccount.com" \ --role="roles/artifactregistry.reader"
  1. Deploy fungsi Cloud Run:
gcloud functions deploy migrate_storage --gen2 --trigger-http --runtime=python39 --region {{{project_0.default_region | Region}}}

Saat diminta, masukkan Y untuk mengaktifkan API [run.googleapis.com] untuk project dan coba lagi. Lakukan hal yang sama untuk mengizinkan pemanggilan yang tidak diautentikasi.

Catatan: Jika Anda melihat error izin, tunggu beberapa menit, lalu coba lakukan deployment lagi.
  1. Ambil URL pemicu ke dalam variabel lingkungan yang Anda gunakan di bagian berikutnya:
export FUNCTION_URL=$(gcloud functions describe migrate_storage --format=json --region {{{project_0.default_region | Region}}} | jq -r '.url')

Klik Periksa progres saya untuk memverifikasi tujuan.

Men-deploy fungsi Cloud Run

Tugas 6. Menguji dan memvalidasi otomatisasi pemberitahuan

  1. Ubah file JSON dengan nama bucket:
export IDLE_BUCKET_NAME=$PROJECT_ID-idle-bucket sed -i "s/\\\$IDLE_BUCKET_NAME/$IDLE_BUCKET_NAME/" $WORKDIR/migrate-storage/incident.json
  1. Kirim notifikasi pengujian ke fungsi Cloud Run yang Anda deploy menggunakan file incident.json:
envsubst < $WORKDIR/migrate-storage/incident.json | curl -X POST -H "Content-Type: application/json" $FUNCTION_URL -d @-

Outputnya adalah:

Bucket migrated successfully

Outputnya tidak dihentikan dengan newline, sehingga akan segera diikuti dengan command prompt.

  1. Pastikan bucket yang tidak ada aktivitasnya telah dimigrasikan ke Nearline:
gsutil defstorageclass get gs://$PROJECT_ID-idle-bucket

Outputnya adalah:

gs://<project-id>-idle-bucket: NEARLINE

Klik Periksa progres saya untuk memverifikasi tujuan.

Mengonfirmasi migrasi bucket ke Nearline

Selamat!

Selamat! Di lab ini, Anda telah berhasil membuat dua bucket Cloud Storage, menambahkan objek ke salah satunya, mengonfigurasi Cloud Monitoring untuk melacak akses bucket, meninjau dan men-deploy fungsi Cloud Run untuk memigrasikan objek ke bucket Nearline, dan mengujinya menggunakan pemberitahuan Cloud Monitoring.

Sertifikasi dan pelatihan Google Cloud

...membantu Anda mengoptimalkan teknologi Google Cloud. Kelas kami mencakup keterampilan teknis dan praktik terbaik untuk membantu Anda memahami dengan cepat dan melanjutkan proses pembelajaran. Kami menawarkan pelatihan tingkat dasar hingga lanjutan dengan opsi on demand, live, dan virtual untuk menyesuaikan dengan jadwal Anda yang sibuk. Sertifikasi membantu Anda memvalidasi dan membuktikan keterampilan serta keahlian Anda dalam teknologi Google Cloud.

Manual Terakhir Diperbarui pada 4 Maret 2025

Lab Terakhir Diuji pada 4 Maret 2025

Hak cipta 2025 Google LLC. Semua hak dilindungi undang-undang. Google dan logo Google adalah merek dagang dari Google LLC. Semua nama perusahaan dan produk lain mungkin adalah merek dagang masing-masing perusahaan yang bersangkutan.

Sebelum memulai

  1. Lab membuat project dan resource Google Cloud untuk jangka waktu tertentu
  2. Lab memiliki batas waktu dan tidak memiliki fitur jeda. Jika lab diakhiri, Anda harus memulainya lagi dari awal.
  3. Di kiri atas layar, klik Start lab untuk memulai

Gunakan penjelajahan rahasia

  1. Salin Nama Pengguna dan Sandi yang diberikan untuk lab tersebut
  2. Klik Open console dalam mode pribadi

Login ke Konsol

  1. Login menggunakan kredensial lab Anda. Menggunakan kredensial lain mungkin menyebabkan error atau dikenai biaya.
  2. Setujui persyaratan, dan lewati halaman resource pemulihan
  3. Jangan klik End lab kecuali jika Anda sudah menyelesaikan lab atau ingin mengulanginya, karena tindakan ini akan menghapus pekerjaan Anda dan menghapus project

Konten ini tidak tersedia untuk saat ini

Kami akan memberi tahu Anda melalui email saat konten tersedia

Bagus!

Kami akan menghubungi Anda melalui email saat konten tersedia

Satu lab dalam satu waktu

Konfirmasi untuk mengakhiri semua lab yang ada dan memulai lab ini

Gunakan penjelajahan rahasia untuk menjalankan lab

Gunakan jendela Samaran atau browser pribadi untuk menjalankan lab ini. Langkah ini akan mencegah konflik antara akun pribadi Anda dan akun Siswa yang dapat menyebabkan tagihan ekstra pada akun pribadi Anda.