Dokumen ini menjelaskan cara Anda men-deploy arsitektur dalam Mengotomatiskan pemindaian malware untuk file yang diupload ke Cloud Storage.
Panduan deployment ini mengasumsikan bahwa Anda sudah memahami fungsi dasar teknologi berikut:
Arsitektur
Diagram berikut menunjukkan arsitektur deployment yang Anda buat di dokumen ini:
Diagram ini menunjukkan dua pipeline berikut yang dikelola oleh arsitektur ini:
- Pipeline pemindaian file, yang memeriksa apakah file yang diupload berisi malware.
- Pipeline update duplikat database malware ClamAV, yang mempertahankan duplikat terbaru database malware yang digunakan ClamAV.
Untuk informasi selengkapnya tentang arsitektur, lihat Mengotomatiskan pemindaian malware untuk file yang diupload ke Cloud Storage.
Tujuan
Membangun duplikat database definisi malware ClamAV di bucket Cloud Storage.
Bangun layanan Cloud Run dengan fungsi berikut:
- Memindai file di bucket Cloud Storage untuk mendeteksi malware menggunakan ClamAV dan memindahkan file yang dipindai ke bucket yang bersih atau dikarantina berdasarkan hasil pemindaian.
- Mempertahankan duplikat database definisi malware ClamAV di Cloud Storage.
Membuat pemicu Eventarc untuk memicu layanan pemindaian malware saat file diupload ke Cloud Storage.
Membuat tugas Cloud Scheduler untuk memicu layanan pemindaian malware guna memperbarui duplikat database definisi malware di Cloud Storage.
Biaya
Arsitektur ini menggunakan komponen Google Cloud yang dapat ditagih berikut:
Untuk membuat perkiraan biaya berdasarkan proyeksi penggunaan, gunakan kalkulator harga.
Sebelum memulai
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.
-
Make sure that billing is enabled for your Google Cloud project.
-
Aktifkan API Artifact Registry, Cloud Run, Eventarc, Logging, Cloud Scheduler, Pub/Sub, and Cloud Build.
-
Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.
-
Make sure that billing is enabled for your Google Cloud project.
-
Aktifkan API Artifact Registry, Cloud Run, Eventarc, Logging, Cloud Scheduler, Pub/Sub, and Cloud Build.
-
Di konsol Google Cloud, aktifkan Cloud Shell.
Di bagian bawah Google Cloud Console, Cloud Shell sesi akan terbuka dan menampilkan perintah command line. Cloud Shell adalah lingkungan shell dengan Google Cloud CLI yang sudah terinstal, dan dengan nilai yang sudah ditetapkan untuk project Anda saat ini. Diperlukan waktu beberapa detik untuk melakukan inisialisasi sesi.
Dalam deployment ini, Anda menjalankan semua perintah dari Cloud Shell.
Menyiapkan lingkungan Anda
Di bagian ini, Anda akan menetapkan setelan untuk nilai yang digunakan
selama deployment, seperti
region dan zona.
Dalam deployment ini, Anda menggunakan us-central1
sebagai region untuk
layanan Cloud Run dan us
sebagai lokasi untuk
pemicu Eventarc dan bucket Cloud Storage.
Di Cloud Shell, tetapkan variabel shell umum termasuk region dan lokasi:
REGION=us-central1 LOCATION=us PROJECT_ID=PROJECT_ID SERVICE_NAME="malware-scanner" SERVICE_ACCOUNT="${SERVICE_NAME}@${PROJECT_ID}.iam.gserviceaccount.com"
Ganti
PROJECT_ID
dengan project ID Anda.Lakukan inisialisasi lingkungan
gcloud
dengan ID project Anda:gcloud config set project "${PROJECT_ID}"
Buat tiga bucket Cloud Storage dengan nama unik:
gsutil mb -l "${LOCATION}" "gs://unscanned-${PROJECT_ID}" gsutil mb -l "${LOCATION}" "gs://quarantined-${PROJECT_ID}" gsutil mb -l "${LOCATION}" "gs://clean-${PROJECT_ID}"
${PROJECT_ID}
digunakan untuk memastikan bahwa nama bucket unik.Ketiga bucket ini menyimpan file yang diupload di berbagai tahap selama pipeline pemindaian file:
unscanned-PROJECT_ID
: Menyimpan file sebelum dipindai. Pengguna Anda mengupload file mereka ke bucket ini.quarantined-PROJECT_ID
: Menyimpan file yang telah dipindai dan dianggap berisi malware oleh layanan pemindai malware.clean-PROJECT_ID
: Menyimpan file yang telah dipindai oleh layanan pemindai malware dan ternyata tidak terinfeksi.
Buat bucket Cloud Storage keempat:
gsutil mb -l "${LOCATION}" "gs://cvd-mirror-${PROJECT_ID}"
${PROJECT_ID}
digunakan untuk memastikan bahwa nama bucket unik.Bucket ini
cvd-mirror-PROJECT_ID
digunakan untuk mempertahankan duplikat lokal database definisi malware, yang mencegah pembatasan kapasitas dipicu oleh CDN ClamAV.
Menyiapkan akun layanan untuk layanan pemindai malware
Di bagian ini, Anda akan membuat akun layanan yang akan digunakan untuk layanan pemindai malware. Anda kemudian memberikan peran yang sesuai untuk akun layanan sehingga akun tersebut memiliki izin untuk membaca dan menulis ke bucket Cloud Storage. Peran ini memastikan bahwa akun memiliki izin minimal dan hanya memiliki akses ke resource yang diperlukan.
Buat akun layanan
malware-scanner
:gcloud iam service-accounts create ${SERVICE_NAME}
Berikan peran Object Admin ke bucket. Peran ini memungkinkan layanan membaca dan menghapus file dari bucket yang tidak dipindai, serta menulis file ke bucket yang dikarantina dan bersih.
gsutil iam ch \ "serviceAccount:${SERVICE_ACCOUNT}:objectAdmin" \ "gs://unscanned-${PROJECT_ID}" gsutil iam ch \ "serviceAccount:${SERVICE_ACCOUNT}:objectAdmin" \ "gs://clean-${PROJECT_ID}" gsutil iam ch \ "serviceAccount:${SERVICE_ACCOUNT}:objectAdmin" \ "gs://quarantined-${PROJECT_ID}" gsutil iam ch \ "serviceAccount:${SERVICE_ACCOUNT}:objectAdmin" \ "gs://cvd-mirror-${PROJECT_ID}"
Berikan peran Metric Writer, yang memungkinkan layanan menulis metrik ke Monitoring:
gcloud projects add-iam-policy-binding \ "${PROJECT_ID}" \ --member="serviceAccount:${SERVICE_ACCOUNT}" \ --role=roles/monitoring.metricWriter
Membuat layanan pemindai malware di Cloud Run
Di bagian ini, Anda akan men-deploy layanan pemindai malware ke Cloud Run. Layanan ini berjalan di container Docker yang berisi hal-hal berikut:
Dockerfile
untuk membangun image container dengan layanan, runtime Node.js, Google Cloud SDK, dan biner ClamAV.- File Node.js untuk layanan Cloud Run pemindai malware.
- File konfigurasi
config.json
untuk menentukan nama bucket Cloud Storage Anda. - Skrip shell
updateCvdMirror.sh
untuk memperbarui duplikat database definisi malware ClamAV di Cloud Storage. - Layanan
cloud-run-proxy
untuk membuat proxy permintaan HTTPfreshclam
, yang menyediakan akses yang diautentikasi ke Cloud Storage API. - Skrip shell
bootstrap.sh
untuk menjalankan layanan yang diperlukan saat instance dimulai.
Untuk men-deploy layanan, lakukan hal berikut:
Di Cloud Shell, buat clone repositori GitHub yang berisi file kode:
git clone https://github.com/GoogleCloudPlatform/docker-clamav-malware-scanner.git
Ubah ke direktori
cloudrun-malware-scanner
:cd docker-clamav-malware-scanner/cloudrun-malware-scanner
Edit file konfigurasi
config.json
untuk menentukan bucket Cloud Storage yang Anda buat. Karena nama bucket didasarkan pada project ID, Anda dapat menggunakan operasi telusuri dan ganti:sed "s/-bucket-name/-${PROJECT_ID}/" config.json.tmpl > config.json
Anda dapat melihat file konfigurasi yang diperbarui:
cat config.json
Jalankan populasi awal duplikat database malware ClamAV di Cloud Storage:
python3 -m venv pyenv . pyenv/bin/activate pip3 install crcmod cvdupdate ./updateCvdMirror.sh "cvd-mirror-${PROJECT_ID}" deactivate
Perintah ini menjalankan penginstalan lokal alat
CVDUpdate
dan menggunakannya untuk mendownload database malware. Perintah tersebut kemudian mengupload database ke bucketcvd-mirror-PROJECT_ID
yang Anda buat sebelumnya.Anda dapat memeriksa isi bucket mirror:
gsutil ls "gs://cvd-mirror-${PROJECT_ID}/cvds"
Bucket harus berisi beberapa file CVD yang berisi database malware lengkap, beberapa file
.cdiff
yang berisi update diferensial harian, dan dua file.json
dengan informasi konfigurasi dan status.Buat dan deploy layanan Cloud Run menggunakan akun layanan yang Anda buat sebelumnya:
gcloud beta run deploy "${SERVICE_NAME}" \ --source . \ --region "${REGION}" \ --no-allow-unauthenticated \ --memory 4Gi \ --cpu 1 \ --concurrency 20 \ --min-instances 1 \ --max-instances 5 \ --no-cpu-throttling \ --cpu-boost \ --service-account="${SERVICE_ACCOUNT}"
Perintah ini membuat instance cloud run yang memiliki 1 vCPU dan menggunakan RAM 4 GiB. Ukuran ini dapat diterima untuk deployment ini. Namun, dalam lingkungan produksi, Anda mungkin ingin memilih ukuran CPU dan memori yang lebih besar untuk instance, dan parameter
--max-instances
yang lebih besar. Ukuran resource yang mungkin Anda perlukan bergantung pada jumlah traffic yang perlu ditangani oleh layanan.Perintah tersebut menyertakan spesifikasi berikut:
- Parameter
--concurrency
menentukan jumlah permintaan simultan yang dapat diproses oleh setiap instance. - Parameter
--no-cpu-throttling
memungkinkan instance melakukan operasi di latar belakang, seperti memperbarui definisi malware. - Parameter
--cpu-boost
menggandakan jumlah vCPU pada startup instans untuk mengurangi latensi startup. - Parameter
--min-instances 1
mempertahankan setidaknya satu instance yang aktif, karena waktu startup untuk setiap instance relatif tinggi. - Parameter
--max-instances 5
mencegah peningkatan skala layanan yang terlalu tinggi.
- Parameter
Saat diminta, masukkan
Y
untuk membangun dan men-deploy layanan. Build dan deployment memerlukan waktu sekitar 10 menit. Jika sudah selesai, pesan berikut akan ditampilkan:Service [malware-scanner] revision [malware-scanner-UNIQUE_ID] has been deployed and is serving 100 percent of traffic. Service URL: https://malware-scanner-UNIQUE_ID.a.run.app
Simpan nilai
Service URL
dari output perintah deployment dalam variabel shell. Anda akan menggunakan nilai ini nanti saat membuat tugas Cloud Scheduler.SERVICE_URL="SERVICE_URL"
Untuk memeriksa layanan yang sedang berjalan dan versi ClamAV, jalankan perintah berikut:
curl -D - -H "Authorization: Bearer $(gcloud auth print-identity-token)" \
${SERVICE_URL}
Layanan Cloud Run mengharuskan semua pemanggilan
diautentikasi, dan identitas autentikasi harus memiliki
izin run.routes.invoke
di layanan. Anda menambahkan izin di
bagian berikutnya.
Membuat pemicu Cloud Storage Eventarc
Di bagian ini, Anda akan menambahkan izin untuk mengizinkan Eventarc
mengambil peristiwa Cloud Storage dan membuat pemicu untuk mengirim peristiwa ini
ke layanan malware-scanner
Cloud Run.
Jika Anda menggunakan project yang sudah ada dan dibuat sebelum 8 April 2021, tambahkan peran
iam.serviceAccountTokenCreator
ke akun layanan Pub/Sub:PROJECT_NUMBER=$(gcloud projects describe $PROJECT_ID --format="value(projectNumber)") PUBSUB_SERVICE_ACCOUNT="service-${PROJECT_NUMBER}@gcp-sa-pubsub.iam.gserviceaccount.com" gcloud projects add-iam-policy-binding ${PROJECT_ID} \ --member="serviceAccount:${PUBSUB_SERVICE_ACCOUNT}"\ --role='roles/iam.serviceAccountTokenCreator'
Penambahan peran ini hanya diperlukan untuk project lama dan memungkinkan Pub/Sub memanggil layanan Cloud Run.
Di Cloud Shell, hibahkan peran Pub/Sub Publisher ke akun layanan Cloud Storage:
STORAGE_SERVICE_ACCOUNT=$(gsutil kms serviceaccount -p "${PROJECT_ID}") gcloud projects add-iam-policy-binding "${PROJECT_ID}" \ --member "serviceAccount:${STORAGE_SERVICE_ACCOUNT}" \ --role "roles/pubsub.publisher"
Izinkan akun layanan
malware-scanner
memanggil layanan Cloud Run, dan bertindak sebagai penerima peristiwa Eventarc:gcloud run services add-iam-policy-binding "${SERVICE_NAME}" \ --region="${REGION}" \ --member "serviceAccount:${SERVICE_ACCOUNT}" \ --role roles/run.invoker gcloud projects add-iam-policy-binding "${PROJECT_ID}" \ --member "serviceAccount:${SERVICE_ACCOUNT}" \ --role "roles/eventarc.eventReceiver"
Buat pemicu Eventarc untuk mengambil peristiwa objek akhir dalam bucket Cloud Storage yang tidak dipindai dan kirimkan ke layanan Cloud Run Anda. Pemicu menggunakan akun layanan
malware-scanner
untuk autentikasi:BUCKET_NAME="unscanned-${PROJECT_ID}" gcloud eventarc triggers create "trigger-${BUCKET_NAME}-${SERVICE_NAME}" \ --destination-run-service="${SERVICE_NAME}" \ --destination-run-region="${REGION}" \ --location="${LOCATION}" \ --event-filters="type=google.cloud.storage.object.v1.finalized" \ --event-filters="bucket=${BUCKET_NAME}" \ --service-account="${SERVICE_ACCOUNT}"
Jika Anda menerima salah satu error berikut, tunggu satu menit, lalu jalankan lagi perintah:
ERROR: (gcloud.eventarc.triggers.create) INVALID_ARGUMENT: The request was invalid: Bucket "unscanned-PROJECT_ID" was not found. Please verify that the bucket exists.
ERROR: (gcloud.eventarc.triggers.create) FAILED_PRECONDITION: Invalid resource state for "": Permission denied while using the Eventarc Service Agent. If you recently started to use Eventarc, it may take a few minutes before all necessary permissions are propagated to the Service Agent. Otherwise, verify that it has Eventarc Service Agent role.
Ubah batas waktu konfirmasi pesan menjadi dua menit di langganan Pub/Sub yang mendasarinya yang digunakan oleh pemicu Eventarc. Nilai default 10 detik terlalu pendek untuk file yang besar atau beban yang tinggi.
SUBSCRIPTION_NAME=$(gcloud eventarc triggers describe \ "trigger-${BUCKET_NAME}-${SERVICE_NAME}" \ --location="${LOCATION}" \ --format="get(transport.pubsub.subscription)") gcloud pubsub subscriptions update "${SUBSCRIPTION_NAME}" --ack-deadline=120
Meskipun pemicu Anda langsung dibuat, diperlukan waktu hingga 10 menit agar pemicu diterapkan dan memfilter peristiwa.
Membuat tugas Cloud Scheduler untuk memicu update duplikasi database ClamAV
Buat tugas Cloud Scheduler yang menjalankan permintaan
POST
HTTP di layanan Cloud Run dengan perintah untuk memperbarui duplikat database definisi malware. Agar tidak terlalu banyak klien yang menggunakan slot waktu yang sama, ClamAV mengharuskan Anda menjadwalkan tugas pada menit acak antara 3 dan 57, sehingga menghindari kelipatan 10.while : ; do # set MINUTE to a random number between 3 and 57 MINUTE="$((RANDOM%55 + 3))" # exit loop if MINUTE isn't a multiple of 10 [[ $((MINUTE % 10)) != 0 ]] && break done gcloud scheduler jobs create http \ "${SERVICE_NAME}-mirror-update" \ --location="${REGION}" \ --schedule="${MINUTE} */2 * * *" \ --oidc-service-account-email="${SERVICE_ACCOUNT}" \ --uri="${SERVICE_URL}" \ --http-method=post \ --message-body='{"kind":"schedule#cvd_update"}' \ --headers="Content-Type=application/json"
Argumen command line
--schedule
menentukan kapan tugas dijalankan menggunakan format string unix-cron. Nilai yang diberikan menunjukkan bahwa tugas harus berjalan pada menit tertentu yang dihasilkan secara acak setiap dua jam.
Tugas ini hanya memperbarui duplikat ClamAV di Cloud Storage. Daemon freshclam ClamAV di setiap instance Cloud Run memeriksa duplikat setiap 30 menit untuk mencari definisi baru dan memperbarui daemon ClamAV.
Menguji pipeline dengan mengupload file
Untuk menguji pipeline, upload satu file bersih (bebas malware) dan satu file pengujian yang meniru file yang terinfeksi:
Buat file teks contoh atau gunakan file bersih yang ada untuk menguji proses pipeline.
Di Cloud Shell, salin file sampel data ke bucket yang tidak dipindai:
gsutil cp FILENAME "gs://unscanned-${PROJECT_ID}"
Ganti
FILENAME
dengan nama file teks yang bersih. Layanan pemindai malware memeriksa setiap file dan memindahkannya ke bucket yang sesuai. File ini dipindahkan ke bucket yang bersih.Beri waktu pipeline beberapa detik untuk memproses file, lalu periksa bucket Anda yang bersih untuk melihat apakah file yang diproses ada di sana:
gsutil ls -r "gs://clean-${PROJECT_ID}"
Anda dapat memeriksa apakah file telah dihapus dari bucket yang tidak dipindai:
gsutil ls -r "gs://unscanned-${PROJECT_ID}"
Upload file bernama
eicar-infected.txt
yang berisi tanda tangan pengujian anti-malware standar EICAR ke bucket yang tidak dipindai:echo -e 'X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*' \ | gsutil cp - "gs://unscanned-${PROJECT_ID}/eicar-infected.txt"
String teks ini memiliki tanda tangan yang memicu pemindai malware untuk tujuan pengujian. File pengujian ini adalah pengujian yang banyak digunakan. Ini bukan malware yang sebenarnya dan tidak berbahaya bagi workstation Anda. Jika mencoba membuat file yang berisi string ini di komputer yang menginstal pemindai malware, Anda dapat memicu pemberitahuan.
Tunggu beberapa detik, lalu periksa bucket yang dikarantina untuk melihat apakah file Anda berhasil melewati pipeline:
gsutil ls -r "gs://quarantined-${PROJECT_ID}"
Layanan ini juga mencatat entri log Logging saat file yang terinfeksi malware terdeteksi.
Anda dapat memeriksa apakah file telah dihapus dari bucket yang tidak dipindai:
gsutil ls -r "gs://unscanned-${PROJECT_ID}"
Menguji mekanisme update database definisi malware
Di Cloud Shell, picu pemeriksaan update dengan memaksa tugas Cloud Scheduler untuk dijalankan:
gcloud scheduler jobs run "${SERVICE_NAME}-mirror-update" --location="${REGION}"
Hasil perintah ini hanya ditampilkan di log mendetail.
Memantau layanan
Anda dapat memantau layanan menggunakan Cloud Logging dan Cloud Monitoring.
Melihat log mendetail
Di konsol Google Cloud, buka halaman Logs Explorer Cloud Logging.
Jika filter Kolom log tidak ditampilkan, klik Log Fields.
Di filter Kolom log, klik Cloud Run Revision.
Di bagian Nama Layanan pada filter Kolom Log, klik malware-scanner.
Hasil kueri log menampilkan log dari layanan, termasuk beberapa baris yang menampilkan permintaan dan status pemindaian untuk kedua file yang Anda upload:
Scan request for gs://unscanned-PROJECT_ID/FILENAME, (##### bytes) scanning with clam ClamAV CLAMAV_VERSION_STRING
Scan status for gs://unscanned-PROJECT_ID/FILENAME: CLEAN (##### bytes in #### ms)
...
Scan request for gs://unscanned-PROJECT_ID/eicar-infected.txt, (69 bytes) scanning with clam ClamAV CLAMAV_VERSION_STRING
Scan status for gs://unscanned-PROJECT_ID/eicar-infected.txt: INFECTED stream: Eicar-Signature FOUND (69 bytes in ### ms)
Output-nya menunjukkan versi ClamAV dan revisi tanda tangan database malware, beserta nama malware untuk file pengujian yang terinfeksi. Anda dapat menggunakan pesan log ini untuk menyiapkan pemberitahuan saat malware ditemukan, atau saat kegagalan terjadi saat pemindaian.
Output-nya juga menunjukkan log update duplikat definisi malware:
Starting CVD Mirror update
CVD Mirror update check complete. output: ...
Jika duplikat diperbarui, output akan menampilkan baris tambahan:
CVD Mirror updated: DATE_TIME - INFO: Downloaded daily.cvd. Version: VERSION_INFO
Log update Freshclam muncul setiap 30 menit:
DATE_TIME -> Received signal: wake up
DATE_TIME -> ClamAV update process started at DATE_TIME
DATE_TIME -> daily.cvd database is up-to-date (version: VERSION_INFO)
DATE_TIME -> main.cvd database is up-to-date (version: VERSION_INFO)
DATE_TIME -> bytecode.cvd database is up-to-date (version: VERSION_INFO)
Jika database telah diperbarui, baris log freshclam akan mirip dengan yang berikut:
DATE_TIME -> daily.cld updated (version: VERSION_INFO)
Melihat Metrik
Layanan ini menghasilkan metrik berikut untuk tujuan pemantauan dan pemberitahuan:
- Jumlah file bersih yang diproses:
custom.googleapis.com/opencensus/malware-scanning/clean_files
- Jumlah file terinfeksi yang diproses:
custom.googleapis.com/opencensus/malware-scanning/infected_files
- Waktu yang dihabiskan untuk memindai file:
custom.googleapis.com/opencensus/malware-scanning/scan_duration
- Total jumlah byte yang dipindai:
custom.googleapis.com/opencensus/malware-scanning/bytes_scanned
- Jumlah pemindaian malware yang gagal:
custom.googleapis.com/opencensus/malware-scanning/scans_failed
- Jumlah pemeriksaan update Duplikat CVD:
custom.googleapis.com/opencensus/malware-scanning/cvd-mirror-updates
Anda dapat melihat metrik ini di Metrics Explorer Cloud Monitoring:
Di konsol Google Cloud, buka halaman Metrics Explorer Cloud Monitoring.
Klik kolom Select a metric dan masukkan string filter
malware
.Pilih metrik OpenCensus/malware-scanning/clean_files. Grafik ini menunjukkan titik data yang menunjukkan kapan file bersih dipindai.
Anda dapat menggunakan metrik untuk memantau pipeline dan membuat pemberitahuan saat malware terdeteksi, atau saat file gagal diproses.
Metrik yang dihasilkan memiliki label berikut, yang dapat Anda gunakan untuk pemfilteran dan agregasi guna melihat detail terperinci dengan Metrics Explorer:
source_bucket
destination_bucket
clam_version
cloud_run_revision
Menangani beberapa bucket
Layanan pemindai malware dapat memindai file dari beberapa bucket sumber dan mengirim file untuk memisahkan bucket bersih dan yang dikarantina. Meskipun konfigurasi lanjutan ini berada di luar cakupan deployment ini, berikut adalah ringkasan langkah-langkah yang diperlukan:
Membuat bucket Cloud Storage yang tidak dipindai, bersih, dan dikarantina dengan nama unik.
Berikan peran yang sesuai ke akun layanan
malware-scanner
di setiap bucket.Edit file konfigurasi
config.json
untuk menentukan nama bucket bagi setiap konfigurasi:{ "buckets": [ { "unscanned": "unscanned-bucket-1-name", "clean": "clean-bucket-1-name", "quarantined": "quarantined-bucket-1-name" }, { "unscanned": "unscanned-bucket-2-name", "clean": "clean-bucket-2-name", "quarantined": "quarantined-bucket-2-name" } ] "ClamCvdMirrorBucket": "cvd-mirror-bucket-name" }
Untuk setiap bucket yang tidak dipindai, buat pemicu Eventarc. Pastikan untuk membuat nama pemicu yang unik untuk setiap bucket.
Bucket Cloud Storage harus berada dalam project dan region yang sama dengan pemicu Eventarc.
Pembersihan
Bagian berikut menjelaskan cara agar Anda tidak dikenai biaya di masa mendatang untuk project Google Cloud yang Anda gunakan dalam deployment ini.
Menghapus project Google Cloud
Agar tidak menimbulkan biaya pada akun Google Cloud Anda untuk resource yang digunakan dalam deployment ini, Anda dapat menghapus project Google Cloud.
- Di konsol Google Cloud, buka halaman Manage resource.
- Pada daftar project, pilih project yang ingin Anda hapus, lalu klik Delete.
- Pada dialog, ketik project ID, lalu klik Shut down untuk menghapus project.
Langkah selanjutnya
- Jelajahi Dokumentasi Cloud Storage.
- Untuk arsitektur referensi, diagram, dan praktik terbaik lainnya, jelajahi Pusat Arsitektur Cloud.