Menggunakan pipeline serverless dengan Active Assist

Last reviewed 2021-06-09 UTC

Dokumen ini ditujukan untuk arsitek perusahaan dan developer software yang ingin membangun pipeline otomatisasi untuk menggunakan Active Assist di organisasi mereka. Google Cloud Artikel ini adalah bagian dari seri yang membahas pola arsitektur yang dapat digunakan perusahaan untuk mengoptimalkan jejak cloud mereka dalam skala besar menggunakan Active Assist. Seri ini terdiri dari bagian-bagian berikut:

Tutorial ini menunjukkan cara menggunakan Google Cloud teknologi serverless untuk membuat pipeline otomatisasi guna mengambil dan memproses rekomendasi Active Assist. Anda mendasarkan rekomendasi pada aturan bisnis yang ditetapkan oleh perusahaan Anda. Pipeline otomatisasi yang Anda siapkan dalam tutorial ini membantu Anda menggunakan Active Assist dalam skala besar sekaligus mempertahankan proses peninjauan dan pengaktifan yang dipimpin tim. Pendekatan ini berguna saat perusahaan Anda ingin menskalakan penggunaan portofolio Active Assist, tetapi tetap mengontrol proses peninjauan dan pengaktifan dalam tim. Layanan ini menawarkan alternatif untuk menggunakan pipeline continuous integration dan continuous delivery (CI/CD).

Arsitektur yang ditunjukkan dalam tutorial ini bersifat umum dan Anda dapat memperluasnya agar dapat digunakan dengan produk serverless lainnya. Tutorial ini mengasumsikan bahwa Anda sudah memahami teknologi Google Cloud berikut:

Untuk menyelesaikan tutorial ini, Anda harus memiliki akun untuk Slack atau alat pemrosesan tiket atau notifikasi serupa. Alat ini harus disiapkan di komputer Anda dan siap digunakan.

Arsitektur

Karena arsitektur yang ditunjukkan dalam tutorial ini bersifat modular, Anda dapat menyesuaikan komponen notifikasi agar sesuai dengan persyaratan bisnis Anda. Tutorial ini menunjukkan cara membuat notifikasi dan mengirimkannya ke Slack. Anda juga dapat memilih untuk mengirim notifikasi ke Pub/Sub atau alat pemrosesan tiket atau notifikasi lainnya.

Diagram arsitektur berikut menunjukkan komponen yang Anda gunakan dalam tutorial ini:

Pipeline serverless.

Arsitektur ini memiliki komponen berikut:

  • Layanan Cloud Run yang dipicu oleh penjadwal pada interval tetap. Layanan ini memanggil Recommender API dengan membaca metadata (ID project dan jenis perekomendasikan) yang ditentukan dan disimpan dalam koleksi Firestore.
  • Topik Pub/Sub tempat rekomendasi Active Assist dikirim dan diproses.
  • Layanan Cloud Run kedua yang mengurai rekomendasi Active Assist. Layanan ini menentukan cara rekomendasi diproses berdasarkan aturan bisnis yang ditentukan oleh perusahaan Anda dan disimpan dalam koleksi Firestore.
  • Dua koleksi Firestore untuk menyimpan metadata bisnis dan aturan bisnis. Koleksi Firestore beroperasi sebagai berikut:
    • Kumpulan pertama menyimpan metadata bisnis yang relevan untuk mengambil rekomendasi Active Assist. Dalam tutorial ini, atribut recommendation type, Google Cloud project IDs, dan locations digunakan sebagai metadata bisnis. Atribut ini digunakan oleh layanan Cloud Run recommendation-collector untuk menentukan jenis rekomendasi yang diambil.
    • Koleksi kedua menyimpan aturan bisnis yang diterapkan saat rekomendasi diproses.

Tujuan

  • Buat contoh layanan Cloud Run untuk mengambil rekomendasi Active Assist untuk project contoh dan mendorongnya ke dalam topik Pub/Sub.
  • Buat dua koleksi Firestore untuk menyimpan metadata contoh dan aturan bisnis.
  • Buat layanan Cloud Run kedua untuk memproses rekomendasi sesuai dengan contoh aturan bisnis yang Anda tentukan dalam tutorial ini.
  • Buat saluran Slack yang akan menerima rekomendasi Active Assist contoh dari layanan Cloud Run.
  • Uji pipeline menyeluruh dengan contoh rekomendasi Active Assist.

Biaya

Dalam dokumen ini, Anda akan menggunakan komponen Google Cloudyang dapat ditagih berikut:

Untuk membuat perkiraan biaya berdasarkan proyeksi penggunaan Anda, gunakan kalkulator harga. Pengguna Google Cloud baru mungkin memenuhi syarat untuk mendapatkan uji coba gratis.

Setelah menyelesaikan tugas yang dijelaskan dalam dokumen ini, Anda dapat menghindari penagihan berkelanjutan dengan menghapus resource yang Anda buat. Untuk mengetahui informasi selengkapnya, lihat Pembersihan.

Sebelum memulai

  1. In the Google Cloud console, go to the project selector page.

    Go to project selector

  2. Select or create a Google Cloud project.

  3. Catat ID project Google Cloud untuk project pengelola rekomendasi. Anda memerlukan ID ini di bagian berikutnya tentang menyiapkan lingkungan.
  4. Enable the Cloud Build, Firestore, App Engine,Pub/Sub, Cloud Run, Cloud Scheduler, and Cloud Source Repositories APIs.

    Enable the APIs

    Anda menggunakan kredensial aplikasi default untuk tutorial ini. Jika Anda diminta untuk membuat kredensial di halaman Tambahkan kredensial ke project Anda, klik Batal.
  5. Make sure that billing is enabled for your Google Cloud project.

  6. Buat hal berikut:
    • Contoh saluran Slack.
    • Contoh aplikasi Slack dan webhook masuk untuk menerima notifikasi yang dihasilkan oleh mesin bernama recommendation-rules-engine. Anda akan menyiapkan mesin nanti dalam tutorial ini.
    Untuk informasi selengkapnya, lihat Membuat saluran Slack dan Mengirim pesan menggunakan Webhook Masuk.

    Setelah membuat aplikasi Slack dan URL webhook masuk,catat URL tersebut karena Anda akan memerlukannya nanti dalam tutorial ini.

Mem-build pipeline serverless

Di bagian ini, Anda akan membuat komponen yang diperlukan untuk mem-build pipeline serverless. Platform ini menghasilkan rekomendasi Active Assist berdasarkan pola penggunaan dan metrik sistem. Bergantung pada rekomendasi yang dihasilkan, setiap kategori rekomendasi mungkin menggunakan jangka waktu default yang berbeda dari sebelumnya untuk menganalisis data dan metrik penggunaan.

Jika memiliki contoh project Google Cloud yang memiliki resource yang ada dan rekomendasi Active Assist, Anda dapat menjalankan pipeline untuk memproses rekomendasi tersebut setelah melakukan perubahan yang sesuai pada kode contoh yang diberikan.

Membuat koleksi Firestore

Di bagian ini, Anda akan membuat dua koleksi Firestore. Yang pertama, kumpulan activeassist-metadata, menyimpan metadata bisnis yang relevan untuk mengambil rekomendasi Active Assist. Yang kedua, kumpulan activeassist-business-rules, menyimpan aturan bisnis yang diterapkan saat pipeline memproses rekomendasi.

Saat rekomendasi Active Assist diuraikan, berdasarkan aturan bisnis dalam kumpulan Firestore, notifikasi akan dibuat dan dikirim, atau rekomendasi akan otomatis diterapkan ke resource Google Cloudyang relevan.

Membuat koleksi activeassist-metadata

  1. Di konsol Google Cloud, buka halaman Firestore.

    Buka Firestore

  2. Buat database Firestore jika Anda belum memilikinya. Atau, jika Anda sudah memiliki database Firestore, lanjutkan ke langkah berikutnya.

    Membuat Database:

    1. Klik Select Native mode untuk mengaktifkan Firestore.
    2. Pilih lokasi region yang dekat dengan region tempat layanan Cloud Run Anda dijalankan.
    3. Klik Create database. Perlu waktu beberapa saat untuk menyelesaikan konfigurasi.
  3. Di halaman Firestore, klik Mulai Koleksi.

  4. Di kolom Collection ID, masukkan kode berikut: activeassist-metadata.

  5. Isi kolom seperti yang ditunjukkan dalam tabel berikut. Untuk menambahkan kolom berikutnya, klik Tambahkan Kolom.

    Nama kolom Jenis kolom Nilai kolom Catatan
    project string Stub-Project-ID Tutorial ini menggunakan stub untuk nilai kolom. Jika Anda ingin menggunakan rekomendasi dari project Google Cloud yang ada, masukkan project ID.
    locations array global Beberapa rekomendasi mungkin khusus region atau zona, seperti rekomendasi penyesuaian ukuran VM. Rekomendasi lainnya bersifat global, misalnya, rekomendasi IAM.
    recommenderType string google.iam.policy.Recommender Tidak berlaku.

  6. Setelah kolom diisi, klik Simpan.

Membuat koleksi activeassist-business-rules

  1. Klik Mulai Koleksi.
  2. Di kolom Collection ID, masukkan hal berikut: activeassist-business-rules

    Isi dokumen seperti yang ditunjukkan dalam tabel berikut. Untuk menambahkan kolom berikutnya, klik Tambahkan Kolom.

    Nama kolom Jenis kolom Nilai kolom Catatan
    action string Notify Menetapkan nilai ke Apply akan menyebabkan layanan menerapkan rekomendasi dan menghapus peran yang tidak digunakan.
    projectId string Stub-Project-ID Tutorial ini menggunakan rekomendasi stub. Jika Anda ingin menggunakan rekomendasi dari project Google Cloud yang ada, masukkan project ID.
    projectNumber string 999999999 Tutorial ini menggunakan rekomendasi stub.

    Jika Anda menggunakan rekomendasi dari project Google Cloud yang ada, masukkan nomor project. Anda dapat menemukan nomor project di halaman sambutan konsol Google Cloud
    recommenderType string google.iam.policy.Recommender Tidak berlaku.
    recommenderSubtype string REMOVE_ROLE Tidak berlaku.
    slackWebhookURL string Masukkan URL webhook Slack yang Anda buat di langkah sebelumnya. URL-nya mirip dengan berikut:

    https://hooks.slack.com/services/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

    Tutorial ini menunjukkan cara membuat aturan untuk menentukan apakah rekomendasi diterapkan secara otomatis atau apakah notifikasi dibuat dan dikirim ke platform seperti Slack. Untuk mempelajari cara rekomendasi dapat diterapkan secara otomatis berdasarkan evaluasi contoh aturan bisnis yang Anda siapkan, lihat repositori terkait.

  3. Setelah dokumen diisi, klik Simpan.

Membuat layanan Cloud Run terjadwal

Di bagian ini, Anda akan membuat layanan Cloud Run terjadwal bernama recommendation-collector yang memanggil Recommender API dan mengambil rekomendasi aktif. Recommender API Identity and Access Management digunakan dalam tutorial ini sebagai Recommender API. Layanan membaca metadata dari koleksi Firestore activeassist-metadata yang Anda buat untuk menentukan rekomendasi mana yang akan diambil.

  1. Klik Buka di Cloud Shell untuk membuka Cloud Shell untuk project pengelola rekomendasi.

    Buka di Cloud Shell

    Saat Cloud Shell terbuka, perintah berikut akan dijalankan:

    Saat dialog Buka di Cloud Shell muncul, pilih Percayai, lalu klik Konfirmasi.

  2. Tetapkan project ID dan nomor project project pengelola rekomendasi saat ini sebagai variabel:

    export RECO_MGR_PROJECT=PROJECT_ID
    gcloud config set project $RECO_MGR_PROJECT
    export RECO_MGR_PROJECT_NUMBER=$(gcloud projects describe $DEVSHELL_PROJECT_ID --format='value(projectNumber)')
    

    Ganti PROJECT_ID dengan project ID Anda. Setelah memasukkan perintah, klik Authorize saat diminta.

  3. Tetapkan variabel untuk region deployment:

    export REGION=us-central1
    

    Meskipun tutorial ini menggunakan region us-central1, Anda dapat menggunakan region mana pun tempat Cloud Run tersedia.

  4. Buat variabel lingkungan untuk image Docker Anda:

    export RECOMMENDER_IMAGE=gcr.io/$RECO_MGR_PROJECT/recommendation-collector:1.0
    
  5. Build image Docker dan upload ke Container Registry:

     gcloud builds submit --tag $RECOMMENDER_IMAGE
    
  6. Buat akun layanan untuk layanan recommendation-collector agar dapat berinteraksi dengan layanan Google Cloud lain dalam pipeline:

    gcloud iam service-accounts create recommendation-collector-sa \
      --description "Service Account that the recommendation-collector service uses to invoke other Google Cloud services" \
      --display-name "recommendation-collector-sa" \
      --project $RECO_MGR_PROJECT
    

    Sebaiknya berikan izin terperinci ke layanan Cloud Run Anda dengan menetapkan peran bawaan ke akun layanan. Untuk mempelajari lebih lanjut, lihat Identitas layanan.

  7. Berikan akses akun layanan untuk layanan recommendation-collector ke Firestore dan Recommender API:

    gcloud projects add-iam-policy-binding $RECO_MGR_PROJECT \
      --member serviceAccount:recommendation-collector-sa@$RECO_MGR_PROJECT.iam.gserviceaccount.com \
      --role roles/datastore.user
    gcloud projects add-iam-policy-binding $RECO_MGR_PROJECT \
      --member serviceAccount:recommendation-collector-sa@$RECO_MGR_PROJECT.iam.gserviceaccount.com \
      --role roles/pubsub.publisher
    
  8. Jika Anda menjalankan tutorial ini menggunakan contoh stub yang disediakan di repositori yang Anda clone, lanjutkan ke langkah berikutnya.

    Jika Anda mem-build pipeline dalam tutorial ini menggunakan rekomendasi yang dihasilkan untuk project Google Cloud yang ada, Anda harus menetapkan izin IAM ke akun layanan yang Anda buat untuk menjalankan dua layanan Cloud Run.

    Tetapkan variabel lingkungan, TEST_PROJECT_ID, dengan ID project yang Anda jalankan untuk pipeline ini sebelum menjalankan perintah:

    export TEST_PROJECT_ID=TEST_PROJECT_ID
    gcloud projects add-iam-policy-binding $TEST_PROJECT_ID \
      --member serviceAccount:recommendation-collector-sa@$RECO_MGR_PROJECT.iam.gserviceaccount.com \
      --role roles/recommender.iamAdmin
    gcloud projects add-iam-policy-binding $TEST_PROJECT_ID \
      --member serviceAccount:recommendation-collector-sa@$RECO_MGR_PROJECT.iam.gserviceaccount.com \
      --role roles/serviceusage.serviceUsageConsumer
    gcloud services enable recommender.googleapis.com --project $TEST_PROJECT_ID
    

    Pastikan Project ID yang Anda gunakan cocok dengan yang Anda masukkan saat membuat koleksi Firestore.

  9. Untuk tutorial ini, Anda men-deploy layanan dengan variabel lingkungan yang disebut STUB_RECOMMENDATIONS. Variabel ini memungkinkan Anda menggunakan stub untuk menguji pipeline.

    Men-deploy layanan Cloud Run:

    gcloud run deploy recommendation-collector \
      --image=$RECOMMENDER_IMAGE \
      --no-allow-unauthenticated \
      --region $REGION \
      --platform managed \
      --service-account recommendation-collector-sa@$RECO_MGR_PROJECT.iam.gserviceaccount.com \
      --set-env-vars="STUB_RECOMMENDATIONS=true" \
      --project $RECO_MGR_PROJECT \
    

    Terima perintah sistem apa pun.

    Jika Anda ingin menjalankan pipeline menggunakan rekomendasi Active Assist yang dihasilkan untuk project Google Cloud, hapus baris berikut dari perintah sebelum men-deploy-nya:

    --set-env-vars="STUB_RECOMMENDATIONS=true"
    

Menyiapkan tugas Cloud Scheduler untuk menjalankan recommender-collector service

  1. Di Cloud Shell, buat akun layanan untuk tugas Cloud Scheduler yang akan digunakan untuk menjalankan layanan recommendation-collector:

    gcloud iam service-accounts create recommender-scheduler-sa \
      --description "Service Account used by Cloud Scheduler to invoke the recommender-parser service" \
      --display-name "recommender-scheduler-sa" \
      --project $RECO_MGR_PROJECT
    
  2. Berikan peran run/invoker ke akun layanan agar dapat memanggil layanan Cloud Run:

    gcloud run services add-iam-policy-binding recommendation-collector \
      --member=serviceAccount:recommender-scheduler-sa@$RECO_MGR_PROJECT.iam.gserviceaccount.com \
      --role=roles/run.invoker \
      --region=$REGION \
      --platform=managed
    
  3. Dapatkan URL layanan recommendation-collector:

    export RECOMMENDER_SERVICE_URI=`gcloud run services describe recommendation-collector \
      --platform managed \
      --project $RECO_MGR_PROJECT \
      --region $REGION \
      --format="value(status.url)"`/run
    
  4. Buat tugas Cloud Scheduler bernama recommender-iam-scheduler:

    gcloud scheduler jobs create http recommender-iam-scheduler \
      --project $RECO_MGR_PROJECT \
      --time-zone "America/Los_Angeles" \
      --schedule="0 */3 * * *" \
      --uri=$RECOMMENDER_SERVICE_URI \
      --description="Scheduler job to invoke recommendation pipeline" \
      --oidc-service-account-email="recommender-scheduler-sa@$RECO_MGR_PROJECT.iam.gserviceaccount.com" \
      --headers="Content-Type=application/json" \
      --http-method="POST"
    

    Setel zona waktu agar cocok dengan lokasi Anda. Format nilai zona waktu didasarkan pada database tz.

    Untuk mengetahui informasi selengkapnya, lihat gcloud scheduler jobs create http.

    Tugas Cloud Scheduler Anda memanggil rute /run untuk layanan recommendation-collector.

    Menetapkan tanda --schedule="0 */3 * * *" akan menjalankan tugas Penjadwal setiap tiga jam. Anda dapat mengubah setelan ini sesuai kebutuhan. Untuk informasi selengkapnya, lihat Mengonfigurasi jadwal tugas cron.

Membuat mesin aturan rekomendasi untuk memproses rekomendasi

Di bagian ini, Anda akan membuat layanan Cloud Run kedua bernama recommendation-rules-engine untuk memproses rekomendasi yang dikumpulkan layanan recommendation-collector. Layanan recommendation-rules-engine dipanggil oleh Pub/Sub saat rekomendasi baru dikirim ke topik activeassist-recommendations.

Layanan ini mengurai rekomendasi berdasarkan aturan bisnis yang Anda tentukan dalam koleksi activeassist-business-rules.

  1. Di Cloud Shell, buka direktori recommendation-rules-engine:

    cd ../recommendation-rules-engine
    
  2. Buat variabel lingkungan untuk image Docker Anda:

    export RULES_ENGINE_IMAGE=gcr.io/$RECO_MGR_PROJECT/recommendation-rules-engine:1.0
    
  3. Build image Docker dan upload ke Container Registry:

    gcloud builds submit --tag $RULES_ENGINE_IMAGE
    
  4. Buat akun layanan untuk layanan recommendation-rules-engine agar dapat berinteraksi dengan layanan Google Cloud lain dalam pipeline:

    gcloud iam service-accounts create recommendation-rules-sa \
     --description "Service Account that recommendation-rules-engine uses to invoke other Google Cloud services" \
     --display-name "recommendation-rules-sa" \
     --project $RECO_MGR_PROJECT
    
  5. Berikan akses akun layanan untuk layanan recommendation-rules-engine ke Firestore:

    gcloud projects add-iam-policy-binding $RECO_MGR_PROJECT \
      --member serviceAccount:recommendation-rules-sa@$RECO_MGR_PROJECT.iam.gserviceaccount.com \
      --role roles/datastore.user
    

    Jika Anda menggunakan stub yang disediakan untuk tutorial ini, lanjutkan ke langkah berikutnya.

    Jika Anda menguji pipeline menggunakan rekomendasi yang dihasilkan untuk project Google Cloud, bukan stub yang disediakan untuk tutorial ini, jalankan perintah berikut untuk mengizinkan akses akun layanan mesin aturan ke project Anda:

    gcloud projects add-iam-policy-binding $TEST_PROJECT_ID \
      --member serviceAccount:recommendation-rules-sa@$RECO_MGR_PROJECT.iam.gserviceaccount.com \
      --role roles/serviceusage.serviceUsageConsumer
    gcloud projects add-iam-policy-binding $TEST_PROJECT_ID \
      --member serviceAccount:recommendation-rules-sa@$RECO_MGR_PROJECT.iam.gserviceaccount.com \
      --role roles/recommender.iamAdmin
    gcloud projects add-iam-policy-binding $TEST_PROJECT_ID \
      --member serviceAccount:recommendation-rules-sa@$RECO_MGR_PROJECT.iam.gserviceaccount.com \
      --role roles/resourcemanager.projectIamAdmin
    
  6. Men-deploy layanan Cloud Run:

    gcloud run deploy recommendation-rules-engine \
      --image=$RULES_ENGINE_IMAGE \
      --no-allow-unauthenticated \
      --region $REGION \
      --platform managed \
      --service-account recommendation-rules-sa@$RECO_MGR_PROJECT.iam.gserviceaccount.com \
      --project $RECO_MGR_PROJECT
    

    Terima perintah sistem apa pun.

  7. Dapatkan URL recommendation-rules-engine:

    export RECOMMENDER_SERVICE_RULES_URI=`gcloud run services describe recommendation-rules-engine \
      --platform managed \
      --project $RECO_MGR_PROJECT \
      --region $REGION \
      --format="value(status.url)"`/process
    

    URL yang Anda ambil di langkah ini dipanggil saat rekomendasi baru tersedia oleh topik Pub/Sub yang Anda buat di langkah berikutnya.

Membuat topik Pub/Sub untuk rekomendasi aktif

Di bagian ini, Anda akan membuat topik Pub/Sub untuk rekomendasi Active Assist yang diambil layanan recommender-collector dengan memanggil Recommender API.

  1. Di Cloud Shell, buatlah topik Pub/Sub:

    gcloud pubsub topics create activeassist-recommendations
    
  2. Buat akun layanan untuk digunakan Pub/Sub guna memanggil layanan Cloud Run recommendation-rules-engine:

    gcloud iam service-accounts create recommendation-engine-sub-sa \
      --description "Service Account used by Pub/Sub to push recommendations to the recommendation-rules-engine service" \
      --display-name "recommendation-engine-sub-sa" \
      --project $RECO_MGR_PROJECT
    
  3. Akun layanan Pub/Sub harus dikaitkan dengan peran yang diperlukan untuk memublikasikan pesan dan memanggil layanan recommendation-rules-engine:

    gcloud projects add-iam-policy-binding $RECO_MGR_PROJECT \
      --member serviceAccount:recommendation-engine-sub-sa@$RECO_MGR_PROJECT.iam.gserviceaccount.com \
      --role roles/run.invoker \
      --project $RECO_MGR_PROJECT
    

Membuat langganan untuk topik Pub/Sub

  1. Buat langganan untuk layanan recommendation-rules-engine:

    # grant Pub/Sub the permission to create tokens
    PUBSUB_SERVICE_ACCOUNT="service-$RECO_MGR_PROJECT_NUMBER@gcp-sa-pubsub.iam.gserviceaccount.com"
    gcloud projects add-iam-policy-binding $RECO_MGR_PROJECT \
      --member="serviceAccount:$PUBSUB_SERVICE_ACCOUNT"\
      --role='roles/iam.serviceAccountTokenCreator'
    # configure the subscription push identity
    gcloud pubsub subscriptions create active-assist-recommendations-for-rules-engine \
      --topic=activeassist-recommendations \
      --topic-project=$RECO_MGR_PROJECT \
      --push-auth-service-account=recommendation-engine-sub-sa@$RECO_MGR_PROJECT.iam.gserviceaccount.com \
      --ack-deadline=60 \
      --push-endpoint=$RECOMMENDER_SERVICE_RULES_URI
    
  2. Izinkan akun layanan recommendation-engine-sub-sa yang Anda buat untuk memanggil layanan recommendation-rules-engine:

    gcloud run services add-iam-policy-binding recommendation-rules-engine \
      --member=serviceAccount:recommendation-engine-sub-sa@$RECO_MGR_PROJECT.iam.gserviceaccount.com \
      --role=roles/run.invoker \
      --region=$REGION \
      --platform=managed
    

Menjalankan pengujian menyeluruh menggunakan stub

Rekomendasi Active Assist dibuat oleh platform berdasarkan pola penggunaan dan metrik sistem. Setiap kategori rekomendasi mungkin menggunakan periode waktu default yang berbeda di masa lalu untuk menganalisis data penggunaan dan metrik berdasarkan rekomendasi yang dihasilkan. Misalnya, rekomendasi IAM dihasilkan oleh platform berdasarkan pola penggunaan selama 90 hari terakhir.

Untuk menguji pipeline menyeluruh, repositori yang Anda clone untuk tutorial ini menyediakan contoh rekomendasi (stub) yang Anda gunakan untuk menjalankan pipeline menyeluruh.

Di bagian ini, Anda akan melakukan hal berikut:

  • Periksa rekomendasi stub.
  • Panggil pipeline secara manual.
  • Periksa apakah notifikasi dibuat dan dikirim ke saluran Slack yang Anda buat.
  1. Tinjau contoh rekomendasi yang diberikan di repositori:

    cat ../recommendation-collector/stub.json
    

    File ini memberikan contoh rekomendasi dengan tindakan REMOVE untuk contoh peran yang disebut roles/gkehub.connect.

  2. Jalankan perintah berikut agar Cloud Scheduler segera menjalankan tugas, bukan menunggu tugas terjadwal berikutnya:

    gcloud scheduler jobs run recommender-iam-scheduler
    
  3. Di halaman konsol Cloud Scheduler, di kolom Hasil untuk tugas recommender-iam-scheduler, pastikan hasilnya adalah Sukses.

    Untuk mendapatkan tampilan mendetail tentang langkah-langkah yang dijalankan setiap layanan, Anda juga dapat melihat log layanan Cloud Run untuk layanan recommendation-collector dan layanan recommendation-rules-engine.

  4. Jika pipeline menyeluruh serverless yang Anda build dalam tutorial ini berhasil dijalankan, pipeline tersebut akan menghasilkan notifikasi Slack yang berisi detail penetapan peran yang direkomendasikan untuk Anda hapus. Berikut adalah contoh notifikasi yang Anda terima:

    Project xxxxxxxx\
    **Impact**: SECURITY\
    This role has not been used during the observation window.\
    **Role**: roles/gkehub.connect\
    **Member**:
    serviceAccount:sample-sa@recommendation-sample.iam.gserviceaccount.com\
    **Action**: remove
    

Pembersihan

Agar tidak perlu membayar biaya pada akun Google Cloud Anda untuk resource yang digunakan dalam tutorial ini, hapus project yang berisi resource tersebut, atau simpan project dan hapus setiap resource.

  • In the Google Cloud console, go to the Manage resources page.

    Go to Manage resources

  • In the project list, select the project that you want to delete, and then click Delete.
  • In the dialog, type the project ID, and then click Shut down to delete the project.
  • Langkah berikutnya