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:
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 .
Aktifkan API yang diperlukan di project konsumen Google Cloud tempat Anda membuat dan menjalankan evaluasi:
Jika Anda mengevaluasi workload berdasarkan aturan kustom atau praktik terbaik, aktifkan Cloud Asset API dan Cloud Monitoring API.
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:
Opsional: Jika Anda ingin menyertakan aturan kustom selain praktik terbaik Google Cloud bawaan, upload contoh aturan dari repositori GitHub
GoogleCloudPlatform/workload-managerke bucket Cloud Storage yang level teratasnya berisi folder/libdan/rules. Untuk mengetahui informasi selengkapnya tentang cara mengupload aturan kustom, lihat Menulis aturan kustom menggunakan Rego.Untuk membuat dan menjalankan evaluasi, pastikan Anda memiliki peran dan izin yang diperlukan.
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.createdi project konsumen -
workloadmanager.evaluations.rundi project konsumen
-
-
Buat agen layanan (khusus evaluasi pertama):
resourcemanager.projects.setIamPolicypada project konsumen dan target -
Membaca data Inventaris Aset Cloud (aturan kustom dan praktik terbaik):
cloudasset.assets.searchAllResourcesdi project konsumen -
Baca aturan kustom dari bucket Cloud Storage (opsional):
-
storage.objects.getdi project konsumen -
storage.objects.listdi project konsumen
-
-
Membuat notifikasi pemberitahuan (opsional):
monitoring.timeSeries.createpada project konsumen -
Ekspor hasil evaluasi ke BigQuery (opsional):
-
bigquery.datasets.getdi project konsumen -
bigquery.tables.createdi project konsumen -
bigquery.tables.updateDatadi 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:
Di konsol Google Cloud , buka halaman Workload Manager.
Pilih project konsumen Google Cloud tempat Anda ingin menyimpan dan menjalankan evaluasi.
Jika diminta, untuk mengaktifkan API yang diperlukan untuk Workload Manager, klik Enable.
Klik New evaluation.
Di panel Name & rules, konfigurasikan detail evaluasi dan pilih aturan yang akan dievaluasi:
Untuk Evaluation name, masukkan nama untuk evaluasi workload.
Opsional: Untuk Description, masukkan deskripsi untuk evaluasi workload.
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.
Dari Tabel aturan, pilih aturan praktik terbaik untuk disertakan dalam evaluasi workload. Untuk mengetahui informasi selengkapnya tentang setiap aturan, lihat Referensi Praktik TerbaikGoogle Cloud .
Klik Lanjutkan.
Di panel Scope & filters, tentukan project target dan filter resource untuk evaluasi:
Di bagian Evaluation scope, untuk menambahkan project target yang berisi resource yang ingin Anda evaluasi, klik Browse projects.
Opsional: Untuk membagikan temuan aturan di seluruh project target, centang kotak Bagikan temuan. Untuk mengetahui informasi selengkapnya, lihat Membagikan temuan evaluasi.
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 logikaAND.Jika diminta, pilih region tempat Anda ingin Workload Manager menyimpan data evaluasi.
Klik Lanjutkan.
Di panel Frequency & notification, konfigurasikan jadwal evaluasi, tujuan ekspor, dan notifikasi pemberitahuan:
Di bagian Scheduling, pilih seberapa sering Anda ingin evaluasi dijalankan.
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.
Opsional: Di bagian Notification, pilih peristiwa yang ingin Anda terima notifikasi pemberitahuannya, lalu pilih saluran notifikasi Anda.
Klik Lanjutkan.
Di panel Review, tinjau setelan evaluasi workload. Untuk mengubah setelan apa pun, klik nama panel di navigasi kiri.
Klik Create.
REST
Untuk membuat evaluasi workload menggunakan Workload Manager API, ikuti langkah-langkah berikut:
Opsional: Untuk mengambil daftar nama aturan yang tersedia untuk jenis workload Anda, kirim permintaan
GETke metodeprojects.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 evaluasiLOCATION_ID: wilayah yang didukung untuk evaluasi, sepertius-central1EVALUATION_TYPE: jenis evaluasi workload, sepertiSAP,SQL_SERVER,MYSQL,REDIS,OPENSHIFT, atauOTHER
Untuk membuat evaluasi, kirim permintaan
POSTke metodeprojects.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 evaluasiLOCATION_ID: wilayah yang didukung tempat Workload Manager menyimpan evaluasi, sepertius-central1EVALUATION_ID: ID unik untuk evaluasiDESCRIPTION: deskripsi evaluasiEVALUATION_TYPE: jenis evaluasi workload, sepertiSAP,SQL_SERVER,MYSQL,REDIS,OPENSHIFT, atauOTHERRULE_NAMES: daftar ID aturan yang dipisahkan koma untuk disertakan dalam evaluasiTARGET_PROJECT_ID: project ID atau nomor project dari project target yang berisi resource yang akan dievaluasiRESOURCE_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_KEYdanLABEL_VALUE: pasangan label nilai kunci opsional untuk memfilter resourceSERVICE_ACCOUNT_EMAIL: alamat email akun layanan opsional untuk memfilter instance Compute EngineSCHEDULE: ekspresi cron opsional dalam UTC untuk operasi evaluasi berulang, seperti0 */6 * * *untuk dijalankan setiap 6 jamBQ_PROJECT_IDdanBQ_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:
Di konsol Google Cloud , buka halaman Workload Manager.
Klik nama evaluasi yang ingin Anda jalankan.
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, sepertius-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:
Di konsol Google Cloud , buka halaman Workload Manager.
Klik nama evaluasi yang ingin Anda edit.
Klik Edit.
Di bagian Scope & filters, centang atau hapus centang pada kotak Share findings.
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:
Di konsol Google Cloud , buka halaman Workload Manager.
Klik nama evaluasi yang ingin Anda aktifkan notifikasi pemberitahuannya.
Klik Edit.
Pilih bagian Notifikasi.
Pilih peristiwa yang ingin Anda terima notifikasi pemberitahuannya, lalu pilih saluran notifikasi Anda.
Klik Simpan.