Membuat dan menjalankan evaluasi

Anda dapat menggunakan Workload Manager untuk membuat dan menjalankan evaluasi otomatis yang memindai workload Anda berdasarkan standar industri dan praktik terbaik Google Cloud . Menjalankan evaluasi secara rutin memungkinkan Anda mendeteksi penyimpangan konfigurasi dan risiko arsitektur sejak dini di seluruh project, sehingga membantu Anda meningkatkan keandalan, keamanan, dan performa workload.

Anda dapat membuat dan menjalankan evaluasi workload menggunakan konsol Google Cloud atau Workload Manager API. Untuk mengetahui informasi konseptual tentang cara kerja evaluasi, lihat Tentang evaluasi Workload Manager.

Batasan

Workload Manager mendukung menjalankan hingga 25 evaluasi secara bersamaan setiap 1 jam per project. Jika project memiliki lebih dari 25 evaluasi, batasi evaluasi per jam menjadi 25, atau tetapkan jadwal evaluasi untuk dijalankan setiap 6 jam atau lebih jarang.

Sebelum memulai

Sebelum Anda membuat dan menjalankan evaluasi workload, selesaikan prasyarat berikut:

  1. Pastikan resource Google Cloud yang ingin Anda evaluasi sudah dibuat di project target. Untuk mengetahui daftar resource dan aturan yang didukung, lihat Referensi Praktik TerbaikGoogle Cloud .

  2. Aktifkan API yang diperlukan di project konsumen Google Cloud tempat Anda membuat dan menjalankan evaluasi:

  3. Jika Anda mengevaluasi workload aplikasi atau database, pastikan Anda telah menyiapkan agen atau operator yang diperlukan di semua instance komputasi atau cluster yang menjalankan workload Anda:

  4. Opsional: Jika Anda ingin menyertakan aturan kustom selain praktik terbaik Google Cloud bawaan, upload contoh aturan dari repositori GitHub GoogleCloudPlatform/workload-manager ke bucket Cloud Storage yang level teratasnya berisi folder /lib dan /rules. Untuk mengetahui informasi selengkapnya tentang cara mengupload aturan kustom, lihat Menulis aturan kustom menggunakan Rego.

  5. Untuk membuat dan menjalankan evaluasi, pastikan Anda memiliki peran dan izin yang diperlukan.

  6. Jika Anda menggunakan Workload Manager API untuk membuat evaluasi, buat agen layanan Workload Manager secara manual di project konsumen dan berikan peran berikut:

    • Agen Layanan Workload Manager (roles/workloadmanager.serviceAgent) di project target.

    • Jika Anda menetapkan jadwal evaluasi, Workload Manager Worker (roles/workloadmanager.worker) di project konsumen.

    Saat Anda menggunakan konsol Google Cloud , Workload Manager akan membuat agen layanan secara otomatis. Untuk mengetahui informasi selengkapnya tentang cara mengonfigurasi agen layanan, lihat Agen layanan Workload Manager.

Peran yang diperlukan

Untuk mendapatkan izin yang Anda perlukan untuk membuat dan menjalankan evaluasi workload, minta administrator untuk memberi Anda peran IAM berikut:

  • Membuat dan menjalankan evaluasi: Workload Manager Evaluation Administrator (roles/workloadmanager.evaluationAdmin) di project konsumen
  • Membuat agen layanan (hanya evaluasi pertama): Project IAM Admin (roles/resourcemanager.projectIamAdmin) pada project konsumen dan target
  • Membaca data Inventaris Aset Cloud (aturan kustom dan praktik terbaik): Cloud Asset Owner (roles/cloudasset.owner) di project konsumen
  • Membaca aturan kustom dari bucket Cloud Storage (opsional): Storage Object Viewer (roles/storage.objectViewer) di project konsumen
  • Membuat notifikasi pemberitahuan (opsional): Monitoring Metric Writer (roles/monitoring.metricWriter) di project konsumen
  • Mengekspor hasil evaluasi ke BigQuery (opsional): BigQuery Admin (roles/bigquery.admin) di project konsumen

Untuk mengetahui informasi selengkapnya tentang pemberian peran, lihat Mengelola akses ke project, folder, dan organisasi.

Peran bawaan ini berisi izin yang diperlukan untuk membuat dan menjalankan evaluasi workload. Untuk melihat izin yang benar-benar diperlukan, perluas bagian Izin yang diperlukan:

Izin yang diperlukan

Izin berikut diperlukan untuk membuat dan menjalankan evaluasi workload:

  • Membuat dan menjalankan evaluasi:
    • workloadmanager.evaluations.create di project konsumen
    • workloadmanager.evaluations.run di project konsumen
  • Buat agen layanan (khusus evaluasi pertama): resourcemanager.projects.setIamPolicy pada project konsumen dan target
  • Membaca data Inventaris Aset Cloud (aturan kustom dan praktik terbaik): cloudasset.assets.searchAllResources di project konsumen
  • Baca aturan kustom dari bucket Cloud Storage (opsional):
    • storage.objects.get di project konsumen
    • storage.objects.list di project konsumen
  • Membuat notifikasi pemberitahuan (opsional): monitoring.timeSeries.create pada project konsumen
  • Ekspor hasil evaluasi ke BigQuery (opsional):
    • bigquery.datasets.get di project konsumen
    • bigquery.tables.create di project konsumen
    • bigquery.tables.updateData di project konsumen

Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.

Untuk mengetahui informasi selengkapnya tentang peran di seluruh project konsumen dan target, lihat Peran IAM dalam project konsumen dan target untuk evaluasi serta Peran dan izin IAM Workload Manager.

Membuat evaluasi workload

Anda dapat membuat evaluasi workload menggunakan konsol Google Cloud atau Workload Manager API. Untuk membuat evaluasi yang menggunakan aturan kustom, lihat Mengevaluasi workload menggunakan aturan kustom.

Konsol

Untuk membuat evaluasi workload di konsol Google Cloud , ikuti langkah-langkah berikut:

  1. Di konsol Google Cloud , buka halaman Workload Manager.

    Buka Workload Manager

  2. Pilih project konsumen Google Cloud tempat Anda ingin menyimpan dan menjalankan evaluasi.

  3. Jika diminta, untuk mengaktifkan API yang diperlukan untuk Workload Manager, klik Enable.

  4. Klik New evaluation.

  5. Di panel Name & rules, konfigurasikan detail evaluasi dan pilih aturan yang akan dievaluasi:

    1. Untuk Evaluation name, masukkan nama untuk evaluasi workload.

    2. Opsional: Untuk Description, masukkan deskripsi untuk evaluasi workload.

    3. Di kolom Workload type, pilih salah satu jenis workload yang didukung berikut:

      • SAP

      • SQL Server

      • MySQL

      • Redis

      • OpenShift

      • Custom

      Saat memilih Custom, Anda dapat mengevaluasi workload berdasarkan Google Cloud praktik terbaik atau berdasarkan aturan kustom yang disimpan di Cloud Storage.

    4. Dari Tabel aturan, pilih aturan praktik terbaik untuk disertakan dalam evaluasi workload. Untuk mengetahui informasi selengkapnya tentang setiap aturan, lihat Referensi Praktik TerbaikGoogle Cloud .

  6. Klik Lanjutkan.

  7. Di panel Scope & filters, tentukan project target dan filter resource untuk evaluasi:

    1. Di bagian Evaluation scope, untuk menambahkan project target yang berisi resource yang ingin Anda evaluasi, klik Browse projects.

    2. Opsional: Untuk membagikan temuan aturan di seluruh project target, centang kotak Bagikan temuan. Untuk mengetahui informasi selengkapnya, lihat Membagikan temuan evaluasi.

    3. Opsional: Di bagian Apply filters to resources, untuk memilih resource tertentu dari project target, klik Add filter, lalu gunakan salah satu jenis filter berikut:

      • Service account: memfilter instance Compute Engine berdasarkan akun layanan yang dilampirkan.

      • Label: memfilter resource berdasarkan pasangan label nilai kunci.

      • Name: memfilter resource berdasarkan pola ID resource.

      Beberapa filter dalam jenis filter yang sama menggunakan logika OR. Filter di berbagai jenis filter menggunakan logika AND.

    4. Jika diminta, pilih region tempat Anda ingin Workload Manager menyimpan data evaluasi.

  8. Klik Lanjutkan.

  9. Di panel Frequency & notification, konfigurasikan jadwal evaluasi, tujuan ekspor, dan notifikasi pemberitahuan:

    1. Di bagian Scheduling, pilih seberapa sering Anda ingin evaluasi dijalankan.

    2. Opsional: Untuk mengekspor hasil evaluasi ke set data BigQuery regional di region yang sama dengan evaluasi Anda, pilih Save to BigQuery dataset dan tentukan set datanya. Untuk membuat tabel terpisah untuk evaluasi, pilih Create a new results table for this evaluation.

    3. Opsional: Di bagian Notification, pilih peristiwa yang ingin Anda terima notifikasi pemberitahuannya, lalu pilih saluran notifikasi Anda.

  10. Klik Lanjutkan.

  11. Di panel Review, tinjau setelan evaluasi workload. Untuk mengubah setelan apa pun, klik nama panel di navigasi kiri.

  12. Klik Create.

REST

Untuk membuat evaluasi workload menggunakan Workload Manager API, ikuti langkah-langkah berikut:

  1. Opsional: Untuk mengambil daftar nama aturan yang tersedia untuk jenis workload Anda, kirim permintaan GET ke metode projects.locations.rules.list:

    curl -X GET \
        -H "Authorization: Bearer $(gcloud auth print-access-token)" \
        -H "X-Goog-User-Project: CONSUMER_PROJECT_ID" \
        "https://workloadmanager.googleapis.com/v1/projects/CONSUMER_PROJECT_ID/locations/LOCATION_ID/rules?evaluationType=EVALUATION_TYPE"
    

    Ganti kode berikut:

    • CONSUMER_PROJECT_ID: ID project konsumen tempat Anda menjalankan evaluasi

    • LOCATION_ID: wilayah yang didukung untuk evaluasi, seperti us-central1

    • EVALUATION_TYPE: jenis evaluasi workload, seperti SAP, SQL_SERVER, MYSQL, REDIS, OPENSHIFT, atau OTHER

  2. Untuk membuat evaluasi, kirim permintaan POST ke metode projects.locations.evaluations.create:

    curl -X POST \
        -H "Authorization: Bearer $(gcloud auth print-access-token)" \
        -H "Content-Type: application/json; charset=utf-8" \
        -H "X-Goog-User-Project: CONSUMER_PROJECT_ID" \
        -d '{
          "description": "DESCRIPTION",
          "evaluationType": "EVALUATION_TYPE",
          "ruleNames": [
            "RULE_NAMES"
          ],
          "resourceFilter": {
            "scopes": [
              "projects/TARGET_PROJECT_ID"
            ],
            "resourceIdPatterns": [
              "RESOURCE_ID_PATTERNS"
            ],
            "inclusionLabels": {
              "LABEL_KEY": "LABEL_VALUE"
            },
            "gceInstanceFilter": {
              "serviceAccounts": [
                "SERVICE_ACCOUNT_EMAIL"
              ]
            }
          },
          "schedule": "SCHEDULE",
          "bigQueryDestination": {
            "destinationDataset": "projects/BQ_PROJECT_ID/datasets/BQ_DATASET_ID",
            "createNewResultsTable": true
          }
        }' \
        "https://workloadmanager.googleapis.com/v1/projects/CONSUMER_PROJECT_ID/locations/LOCATION_ID/evaluations?evaluationId=EVALUATION_ID"
    

    Ganti kode berikut:

    • CONSUMER_PROJECT_ID: ID project konsumen tempat Anda membuat evaluasi

    • LOCATION_ID: wilayah yang didukung tempat Workload Manager menyimpan evaluasi, seperti us-central1

    • EVALUATION_ID: ID unik untuk evaluasi

    • DESCRIPTION: deskripsi evaluasi

    • EVALUATION_TYPE: jenis evaluasi workload, seperti SAP, SQL_SERVER, MYSQL, REDIS, OPENSHIFT, atau OTHER

    • RULE_NAMES: daftar ID aturan yang dipisahkan koma untuk disertakan dalam evaluasi

    • TARGET_PROJECT_ID: project ID atau nomor project dari project target yang berisi resource yang akan dievaluasi

    • RESOURCE_ID_PATTERNS: pola nama resource opsional untuk memfilter resource yang dievaluasi, seperti //compute.googleapis.com/projects/my-project/zones/us-central1-a/instances/my-instance*

    • LABEL_KEY dan LABEL_VALUE: pasangan label nilai kunci opsional untuk memfilter resource

    • SERVICE_ACCOUNT_EMAIL: alamat email akun layanan opsional untuk memfilter instance Compute Engine

    • SCHEDULE: ekspresi cron opsional dalam UTC untuk operasi evaluasi berulang, seperti 0 */6 * * * untuk dijalankan setiap 6 jam

    • BQ_PROJECT_ID dan BQ_DATASET_ID: project ID opsional dan ID set data BigQuery regional untuk mengekspor hasil evaluasi

    Untuk mengetahui informasi selengkapnya tentang kolom yang didukung, lihat referensi resource Evaluation.

Menjalankan evaluasi workload

Selain menjalankan evaluasi sesuai jadwal berulang, Anda dapat menjalankan evaluasi workload yang ada sesuai permintaan kapan saja menggunakan konsol Google Cloud atau Workload Manager API.

Konsol

Untuk menjalankan evaluasi workload di konsol Google Cloud , ikuti langkah-langkah berikut:

  1. Di konsol Google Cloud , buka halaman Workload Manager.

    Buka Workload Manager

  2. Klik nama evaluasi yang ingin Anda jalankan.

  3. Di halaman Evaluation information, klik Run.

    Evaluasi workload memerlukan waktu beberapa menit hingga selesai. Sebelum melihat hasil terbaru, tunggu hingga operasi evaluasi selesai.

REST

Untuk menjalankan evaluasi workload menggunakan Workload Manager API, kirim permintaan POST ke metode projects.locations.evaluations.executions.run:

curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    -H "X-Goog-User-Project: CONSUMER_PROJECT_ID" \
    -d '{
      "executionId": "EXECUTION_ID"
    }' \
    "https://workloadmanager.googleapis.com/v1/projects/CONSUMER_PROJECT_ID/locations/LOCATION_ID/evaluations/EVALUATION_ID/executions:run"

Ganti kode berikut:

  • CONSUMER_PROJECT_ID: ID project konsumen yang menyimpan evaluasi.

  • LOCATION_ID: region evaluasi, seperti us-central1.

  • EVALUATION_ID: ID evaluasi yang ingin Anda jalankan.

  • EXECUTION_ID: ID unik opsional untuk operasi eksekusi ini. Untuk mengizinkan Workload Manager membuat ID secara otomatis, hapus kolom ini.

Permintaan ini menampilkan Operation yang berjalan lama. Untuk memeriksa status eksekusi atau mencantumkan hasilnya, gunakan metode projects.locations.evaluations.executions.get dan projects.locations.evaluations.executions.results.list.

Membagikan temuan evaluasi

Dengan membagikan temuan evaluasi, pemilik resource di project target dapat melihat temuan konfigurasi di konsol project lokal mereka dan di halaman terintegrasi seperti Compute Engine. Kemampuan ini tidak memerlukan akses IAM langsung ke project konsumen.

Mengedit evaluasi untuk membagikan temuan

Untuk mengaktifkan atau menonaktifkan berbagi temuan untuk evaluasi yang ada, ikuti langkah-langkah berikut:

  1. Di konsol Google Cloud , buka halaman Workload Manager.

    Buka Workload Manager

  2. Klik nama evaluasi yang ingin Anda edit.

  3. Klik Edit.

  4. Di bagian Scope & filters, centang atau hapus centang pada kotak Share findings.

  5. Klik Simpan.

Visibilitas temuan yang dibagikan

Saat Anda mengaktifkan Bagikan temuan, Workload Manager akan menyebarkan temuan aturan ke semua project target yang ditentukan dalam cakupan evaluasi. Temuan dapat dilihat di tab Rule findings dan di halaman terintegrasi seperti halaman Overview Compute Engine.

Jika Anda menonaktifkan Bagikan temuan, Workload Manager akan berhenti menyebarkan temuan aturan ke project target, dan temuan tersebut hanya akan terlihat dalam project konsumen.

Menetapkan notifikasi pemberitahuan untuk evaluasi

Anda dapat mengonfigurasi notifikasi pemberitahuan sehingga Workload Manager memberi tahu saluran notifikasi yang Anda pilih saat peristiwa evaluasi tertentu terjadi, seperti saat evaluasi mendeteksi temuan baru atau gagal dijalankan. Jika Anda tidak mengonfigurasi notifikasi pemberitahuan saat membuat evaluasi, Anda dapat menambahkan atau memperbaruinya untuk evaluasi yang ada di konsol Google Cloud dengan mengikuti langkah-langkah berikut:

  1. Di konsol Google Cloud , buka halaman Workload Manager.

    Buka Workload Manager

  2. Klik nama evaluasi yang ingin Anda aktifkan notifikasi pemberitahuannya.

  3. Klik Edit.

  4. Pilih bagian Notifikasi.

  5. Pilih peristiwa yang ingin Anda terima notifikasi pemberitahuannya, lalu pilih saluran notifikasi Anda.

  6. Klik Simpan.

Langkah berikutnya