Tutorial ini membahas cara membuat aplikasi dua layanan aman yang berjalan di Cloud Run. Aplikasi ini adalah editor Markdown mencakup layanan "frontend" publik yang dapat digunakan siapa pun untuk menulis teks markdown, dan layanan "backend" pribadi yang merender teks Markdown ke HTML.
Layanan backend bersifat pribadi menggunakan bawaan Cloud Run, fitur autentikasi layanan-ke-layanan berbasis IAM Cloud Run, yang membatasi siapa yang dapat memanggil layanan. Kedua layanan dibuat dengan prinsip hak istimewa terendah, tanpa akses ke Google Cloud lainnya kecuali jika diperlukan.
Batasan atau bukan sasaran dari tutorial ini
Tutorial ini tidak menunjukkan autentikasi pengguna akhir, yang menggunakan Identity Platform atau Firebase Authentication untuk membuat token ID pengguna dan memverifikasi identitas pengguna secara manual. Untuk mempelajari autentikasi pengguna akhir lebih lanjut, lihat tutorial Cloud Run untuk autentikasi pengguna akhir.
Tutorial ini tidak menunjukkan penggabungan metode autentikasi berbasis IAM dan token ID karena metode ini tidak didukung.
Tujuan
- Buat akun layanan khusus dengan izin minimal untuk autentikasi layanan ke layanan dan akses layanan keseluruh Google Cloud.
- Menulis, membangun, dan men-deploy dua layanan ke Cloud Run yang berinteraksi.
- Buat permintaan antara layanan Cloud Run publik dan pribadi.
Biaya
Dalam dokumen ini, Anda akan menggunakan komponen Google Cloud yang dapat ditagih berikut:
Untuk membuat perkiraan biaya berdasarkan proyeksi penggunaan Anda,
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.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Run API.
- Instal dan lakukan inisialisasi gcloud CLI.
- Instal curl untuk mencoba layanan
Peran yang diperlukan
Untuk mendapatkan izin yang Anda perlukan untuk menyelesaikan tutorial, minta administrator Anda untuk memberi Anda peran IAM berikut di project Anda:
-
Editor Cloud Build (
roles/cloudbuild.builds.editor
) -
Cloud Run Admin (
roles/run.admin
) -
Buat Akun Layanan (
roles/iam.serviceAccountCreator
) -
Project IAM Admin (
roles/resourcemanager.projectIamAdmin
) -
Service Account User (
roles/iam.serviceAccountUser
) -
Pelanggan Service Usage (
roles/serviceusage.serviceUsageConsumer
) -
Storage Admin (
roles/storage.admin
) -
Administrator Repositori Artifact Registry (
roles/artifactregistry.repoAdmin
)
Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.
Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.
Menyiapkan default gcloud
Untuk mengonfigurasi gcloud dengan setelan default untuk layanan Cloud Run Anda:
Setel project default Anda:
gcloud config set project PROJECT_ID
Ganti PROJECT_ID dengan nama project yang Anda buat untuk tutorial ini.
Konfigurasi gcloud untuk region yang Anda pilih:
gcloud config set run/region REGION
Ganti REGION dengan region Cloud Run pilihan Anda yang didukung.
Lokasi Cloud Run
Cloud Run bersifat regional, berarti infrastruktur yang
menjalankan layanan Cloud Run Anda terletak di region tertentu dan
dikelola oleh Google agar tersedia secara redundan di
semua zona dalam region tersebut.
Memenuhi persyaratan latensi, ketersediaan, atau ketahanan adalah faktor utama
untuk memilih region tempat layanan Cloud Run dijalankan.
Pada umumnya, Anda dapat memilih region yang paling dekat dengan pengguna Anda, tetapi Anda harus mempertimbangkan
lokasi dari produk Google Cloud
lain yang digunakan oleh layanan Cloud Run Anda.
Menggunakan produk Google Cloud secara bersamaan di beberapa lokasi dapat memengaruhi
latensi serta biaya layanan Anda.
Cloud Run tersedia di region berikut:
Tergantung harga Tingkat 1
asia-east1
(Taiwan)asia-northeast1
(Tokyo)asia-northeast2
(Osaka)asia-south1
(Mumbai, India)europe-north1
(Finlandia) CO2 Rendaheurope-southwest1
(Madrid) CO2 Rendaheurope-west1
(Belgia) CO2 Rendaheurope-west4
(Belanda) CO2 Rendaheurope-west8
(Milan)europe-west9
(Paris) CO2 Rendahme-west1
(Tel Aviv)us-central1
(Iowa) CO2 Rendahus-east1
(South Carolina)us-east4
(North Virginia)us-east5
(Columbus)us-south1
(Dallas) CO2 Rendahus-west1
(Oregon) CO2 Rendah
Tergantung harga Tingkat 2
africa-south1
(Johannesburg)asia-east2
(Hong Kong)asia-northeast3
(Seoul, Korea Selatan)asia-southeast1
(Singapura)asia-southeast2
(Jakarta)asia-south2
(Delhi, India)australia-southeast1
(Sydney)australia-southeast2
(Melbourne)europe-central2
(Warsawa, Polandia)europe-west10
(Berlin) CO2 Rendaheurope-west12
(Turin)europe-west2
(London, Inggris Raya) CO2 Rendaheurope-west3
(Frankfurt, Jerman) CO2 Rendaheurope-west6
(Zurich, Swiss) CO2 Rendahme-central1
(Doha)me-central2
(Dammam)northamerica-northeast1
(Montreal) CO2 Rendahnorthamerica-northeast2
(Toronto) CO2 Rendahsouthamerica-east1
(São Paulo, Brasil) CO2 Rendahsouthamerica-west1
(Santiago, Cile) CO2 Rendahus-west2
(Los Angeles)us-west3
(Salt Lake City)us-west4
(Las Vegas)
Jika sudah membuat layanan Cloud Run, Anda dapat melihat region di dasbor Cloud Run di Konsol Google Cloud.
Mengambil contoh kode
Untuk mengambil contoh kode agar dapat digunakan:
Clone repositori aplikasi contoh tersebut ke Cloud Shel atau mesin lokal Anda:
Node.js
git clone https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git
Atau, Anda dapat mendownload contoh dalam file ZIP dan mengekstraknya.
Python
git clone https://github.com/GoogleCloudPlatform/python-docs-samples.git
Atau, Anda dapat mendownload contoh dalam file ZIP dan mengekstraknya.
Go
git clone https://github.com/GoogleCloudPlatform/golang-samples.git
Atau, Anda dapat mendownload contoh dalam file ZIP dan mengekstraknya.
Java
git clone https://github.com/GoogleCloudPlatform/java-docs-samples.git
Atau, Anda dapat mendownload contoh sebagai file ZIP dan mengekstraknya.
C#
git clone https://github.com/GoogleCloudPlatform/dotnet-docs-samples.git
Atau, Anda dapat mendownload contoh sebagai file ZIP dan mengekstraknya.
Ubah ke direktori yang memuat kode contoh Cloud Run:
Node.js
cd nodejs-docs-samples/run/markdown-preview/
Python
cd python-docs-samples/run/markdown-preview/
Go
cd golang-samples/run/markdown-preview/
Java
cd java-docs-samples/run/markdown-preview/
C#
cd dotnet-docs-samples/run/markdown-preview/
Meninjau layanan rendering Markdown pribadi
Dari perspektif frontend, ada spesifikasi API sederhana untuk layanan Markdown:
- Satu endpoint di
/
- Mengharapkan permintaan POST
- Isi permintaan POST adalah teks Markdown
Anda mungkin ingin meninjau semua kode untuk menemukan masalah keamanan atau hanya
mempelajarinya lebih lanjut dengan menjelajahi ./renderer/
direktori Perhatikan bahwa
tutorial tidak menjelaskan kode transformasi Markdown.
Mengirimkan layanan rendering Markdown pribadi
Untuk mengirimkan kode Anda, build dengan Cloud Build, upload ke Artifact Registry, dan deploy ke Cloud Run:
Ubah ke direktori
renderer
:Node.js
cd renderer/
Python
cd renderer/
Go
cd renderer/
Java
cd renderer/
C#
cd Samples.Run.MarkdownPreview.Renderer/
Buat Artifact Registry:
gcloud artifacts repositories create REPOSITORY \ --repository-format docker \ --location REGION
Ganti:
- REPOSITORY dengan nama unik untuk repositori. Untuk setiap lokasi repositori dalam project, nama repositori harus unik.
- REGION dengan region Google Cloud yang akan digunakan untuk repositori Artifact Registry.
Jalankan perintah berikut untuk mem-build container dan memublikasikannya di Artifact Registry.
Node.js
gcloud builds submit --tag REGION-docker.pkg.dev/PROJECT_ID/REPOSITORY/renderer
Dengan PROJECT_ID sebagai project ID Google Cloud Anda, dan
renderer
merupakan nama yang ingin Anda berikan ke layanan.Setelah berhasil, Anda akan melihat pesan SUCCESS yang berisi ID, waktu pembuatan, dan nama image. Image tersebut disimpan di Artifact Registry dan dapat digunakan kembali jika diinginkan.
Python
gcloud builds submit --tag REGION-docker.pkg.dev/PROJECT_ID/REPOSITORY/renderer
Dengan PROJECT_ID sebagai project ID Google Cloud Anda, dan
renderer
merupakan nama yang ingin Anda berikan ke layanan.Setelah berhasil, Anda akan melihat pesan SUCCESS yang berisi ID, waktu pembuatan, dan nama image. Image tersebut disimpan di Artifact Registry dan dapat digunakan kembali jika diinginkan.
Go
gcloud builds submit --tag REGION-docker.pkg.dev/PROJECT_ID/REPOSITORY/renderer
Dengan PROJECT_ID sebagai project ID Google Cloud Anda, dan
renderer
merupakan nama yang ingin Anda berikan ke layanan.Setelah berhasil, Anda akan melihat pesan SUCCESS yang berisi ID, waktu pembuatan, dan nama image. Image tersebut disimpan di Artifact Registry dan dapat digunakan kembali jika diinginkan.
Java
Contoh ini menggunakan Jib untuk mem-build image Docker menggunakan alat Java umum. Jib mengoptimalkan build container tanpa memerlukan Dockerfile atau menginstal Docker. Pelajari lebih lanjut cara mem-build container Java dengan Jib.
Gunakan helper kredensial gcloud untuk memberi otorisasi Docker agar dikirim ke Artifact Registry Anda.
gcloud auth configure-docker
Gunakan Plugin Maven Jib untuk mem-build dan mengirim container ke Artifact Registry.
mvn compile jib:build -Dimage=REGION-docker.pkg.dev/PROJECT_ID/REPOSITORY/renderer
Dengan PROJECT_ID sebagai project ID Google Cloud Anda, dan
renderer
merupakan nama yang ingin Anda berikan ke layanan.Setelah berhasil, Anda akan melihat pesan BUILD SUCCESS. Image tersebut disimpan di Artifact Registry dan dapat digunakan kembali jika diinginkan.
C#
gcloud builds submit --tag REGION-docker.pkg.dev/PROJECT_ID/REPOSITORY/renderer
Dengan PROJECT_ID sebagai project ID Google Cloud Anda dan
renderer
merupakan nama yang ingin Anda berikan pada layanan Anda.Setelah berhasil, Anda akan melihat pesan SUCCESS yang berisi ID, waktu pembuatan, dan nama image. Image tersebut disimpan di Artifact Registry dan dapat digunakan kembali jika diinginkan.
Deploy sebagai layanan pribadi dengan akses terbatas.
Cloud Run menyediakan fitur kontrol akses dan layanan identitas siap pakai. Kontrol akses menyediakan lapisan autentikasi yang membatasi pengguna dan layanan lainnya agar tidak memanggil layanan. Identitas layanan memungkinkan pembatasan layanan Anda agar tidak mengakses resource Google Cloud lainnya dengan membuat akun layanan khusus dengan izin terbatas.
Buat akun layanan untuk digunakan sebagai "identitas compute" dari layanan render. Secara default, opsi ini tidak memiliki hak istimewa selain keanggotaan project.
Command line
gcloud iam service-accounts create renderer-identity
Terraform
Untuk mempelajari cara menerapkan atau menghapus konfigurasi Terraform, lihat Perintah dasar Terraform.
Markdown layanan rendering tidak terintegrasi langsung dengan hal lainnya di Google Cloud. Aplikasi ini tidak memerlukan izin lebih lanjut.
Deploy dengan
renderer-identity
akun layanan dan tolak akses yang tidak diautentikasi.Command line
gcloud run deploy renderer \ --image REGION-docker.pkg.dev/PROJECT_ID/REPOSITORY/renderer \ --service-account renderer-identity \ --no-allow-unauthenticated
Cloud Run dapat menggunakan nama akun layanan dalam format pendek bukan alamat email lengkap jika akun layanan merupakan bagian dari project yang sama.
Terraform
Untuk mempelajari cara menerapkan atau menghapus konfigurasi Terraform, lihat Perintah dasar Terraform.
Mencoba layanan rendering Markdown pribadi
Layanan pribadi tidak dapat dimuat langsung oleh browser web. Sebagai gantinya, gunakan curl
atau alat CLI permintaan HTTP yang memungkinkan injeksi Authorization
header.
Untuk mengirim beberapa teks tebal ke layanan dan melihatnya mengubah markdown asterisks menjadi
tag <strong>
HTML:
Mendapatkan URL dari output deployment.
Gunakan
gcloud
untuk mendapatkan token identitas khusus pengembangan hanya untuk autentikasi:TOKEN=$(gcloud auth print-identity-token)
Buat permintaan curl yang meneruskan teks Markdown mentah sebagai parameter string kueri yang akan menjadi URL:
curl -H "Authorization: Bearer $TOKEN" \ -H 'Content-Type: text/plain' \ -d '**Hello Bold Text**' \ SERVICE_URL
Ganti SERVICE_URL dengan URL yang diberikan setelah men-deploy layanan rendering Markdown.
Responsnya harus berupa cuplikan HTML:
<strong>Hello Bold Text</strong>
Meninjau integrasi antara layanan editor dan rendering
Layanan editor menyediakan UI entri teks yang sederhana dan ruang untuk melihat pratinjau
HTML. Sebelum melanjutkan, tinjau kode yang diambil sebelumnya dengan membuka
direktori ./editor/
.
Selanjutnya, pelajari beberapa bagian kode berikut yang mengintegrasikan kedua layanan tersebut dengan aman.
Node.js
Modul render.js
membuat permintaan terautentikasi ke layanan renderer
pribadi. Ini menggunakan layanan etaata Google Cloud pada
lingkungan Cloud Run untuk membuat token identitas dan menambahkannya
pada permintaan HTTP sebagai bagian dari Authorization
header.
Di lingkungan lain, render.js
menggunakan Kredensial Default Aplikasi untuk meminta token dari server Google.
Mengurai markdown dari JSON dan mengirimkannya ke layanan Renderer untuk diubah menjadi HTML.
Python
Metode new_request
membuat permintaan yang diautentikasi ke layanan pribadi.
ID ini menggunakan server metadata Google Cloud di lingkungan
Cloud Run untuk membuat token identitas dan menambahkannya ke permintaan HTTP
sebagai bagian dari Authorization
header.
Di lingkungan lain, new_request
permintaan token identitas dari server
google menggunakan autentikasi dengan Kredensial Default Aplikasi.
Mengurai markdown dari JSON dan mengirimkannya ke layanan Renderer untuk diubah menjadi HTML.
Go
RenderService
membuat permintaan yang diautentikasi ke layanan pribadi. ID ini menggunakan server metadata Google Cloud di lingkungan
Cloud Run untuk membuat token identitas dan menambahkannya ke permintaan HTTP
sebagai bagian dari Authorization
header.
Di lingkungan lain, RenderService
permintaan token identitas dari server
google menggunakan autentikasi dengan Kredensial Default Aplikasi.
Permintaan dikirim ke Layanan Renderer setelah menambahkan teks markdown untuk ditransformasikan ke dalam HTML. Kesalahan respons ditangani untuk membedakan masalah komunikasi dari fungsi rendering.
Java
makeAuthenticatedRequest
membuat permintaan yang diautentikasi ke layanan pribadi. Ini menggunakan layanan metadata Google Cloud pada
lingkungan Cloud Run untuk membuat token identitas dan menambahkannya
pada permintaan HTTP sebagai bagian dari Authorization
header.
Di lingkungan lain, makeAuthenticatedRequest
permintaan token identitas dari server
google menggunakan autentikasi dengan Kredensial Default Aplikasi.
Mengurai markdown dari JSON dan mengirimkannya ke layanan Renderer untuk diubah menjadi HTML.
C#
GetAuthenticatedPostResponse
membuat permintaan yang diautentikasi ke layanan pribadi. Ini menggunakan layanan metadata Google Cloud pada
lingkungan Cloud Run untuk membuat token identitas dan menambahkannya
pada permintaan HTTP sebagai bagian dari Authorization
header.
Di lingkungan lain, GetAuthenticatedPostResponse
permintaan token identitas dari server
google menggunakan autentikasi dengan Kredensial Default Aplikasi.
Mengurai markdown dari JSON dan mengirimkannya ke layanan Renderer untuk diubah menjadi HTML.
Mengirim layanan editor publik
Untuk mem-build dan men-deploy kode Anda:
Ubah ke direktori
editor
:Node.js
cd ../editor
Python
cd ../editor
Go
cd ../editor
Java
cd ../editor
C#
cd ../Samples.Run.MarkdownPreview.Editor/
Jalankan perintah berikut untuk mem-build container dan memublikasikannya di Artifact Registry.
Node.js
gcloud builds submit --tag REGION-docker.pkg.dev/PROJECT_ID/REPOSITORY/editor
Dengan PROJECT_ID sebagai project ID Google Cloud Anda, dan
editor
merupakan nama yang ingin Anda berikan ke layanan.Setelah berhasil, Anda akan melihat pesan SUCCESS yang berisi ID, waktu pembuatan, dan nama image. Image tersebut disimpan di Container Registry dan dapat digunakan kembali bila diinginkan.
Python
gcloud builds submit --tag REGION-docker.pkg.dev/PROJECT_ID/REPOSITORY/editor
Dengan PROJECT_ID sebagai project ID Google Cloud Anda, dan
editor
merupakan nama yang ingin Anda berikan ke layanan.Setelah berhasil, Anda akan melihat pesan SUCCESS yang berisi ID, waktu pembuatan, dan nama image. Image tersebut disimpan di Artifact Registry dan dapat digunakan kembali jika diinginkan.
Go
gcloud builds submit --tag REGION-docker.pkg.dev/PROJECT_ID/REPOSITORY/editor
Dengan PROJECT_ID sebagai project ID Google Cloud Anda, dan
editor
merupakan nama yang ingin Anda berikan ke layanan.Setelah berhasil, Anda akan melihat pesan SUCCESS yang berisi ID, waktu pembuatan, dan nama image. Image tersebut disimpan di Artifact Registry dan dapat digunakan kembali jika diinginkan.
Java
Contoh ini menggunakan Jib untuk mem-build image Docker menggunakan alat Java umum. Jib mengoptimalkan build container tanpa memerlukan Dockerfile atau menginstal Docker. Pelajari lebih lanjut cara mem-build container Java dengan Jib.mvn compile jib:build -Dimage=REGION-docker.pkg.dev/PROJECT_ID/REPOSITORY/editor
Dengan PROJECT_ID sebagai project ID Google Cloud Anda dan
editor
merupakan nama yang ingin Anda berikan pada layanan Anda.Setelah berhasil, Anda akan melihat pesan BUILD SUCCESS. Image tersebut disimpan di Artifact Registry dan dapat digunakan kembali jika diinginkan.
C#
gcloud builds submit --tag REGION-docker.pkg.dev/PROJECT_ID/REPOSITORY/editor
Dengan PROJECT_ID sebagai project ID Google Cloud Anda dan
editor
merupakan nama yang ingin Anda berikan pada layanan Anda.Setelah berhasil, Anda akan melihat pesan SUCCESS yang berisi ID, waktu pembuatan, dan nama image. Image tersebut disimpan di Artifact Registry dan dapat digunakan kembali jika diinginkan.
Deploy sebagai layanan pribadi dengan akses khusus ke layanan rendering.
Buat akun layanan untuk digunakan sebagai "identitas komputasi" dari layanan pribadi. Secara default, opsi ini tidak memiliki hak istimewa selain keanggotaan project.
Command line
gcloud iam service-accounts create editor-identity
Terraform
Untuk mempelajari cara menerapkan atau menghapus konfigurasi Terraform, lihat Perintah dasar Terraform.
Layanan Editor tidak perlu berinteraksi dengan hal lain di Google Cloud selain layanan rendering Markdown.
Memberikan akses ke identitas komputasi
editor-identity
untuk memanggil layanan rendering Markdown. Setiap layanan yang menggunakan identitas ini sebagai identitas komputasi akan memiliki hak istimewa ini.Command line
gcloud run services add-iam-policy-binding renderer \ --member serviceAccount:editor-identity@PROJECT_ID.iam.gserviceaccount.com \ --role roles/run.invoker
Terraform
Untuk mempelajari cara menerapkan atau menghapus konfigurasi Terraform, lihat Perintah dasar Terraform.
Karena ini diberi perab invoker dalam konteks layanan render, layanan render adalah satu-satunya layanan Cloud Run pribadi yang dapat dipanggil editor.
Deploy dengan akun layanan
editor-identity
dan izinkan akses publik yang tidak diautentikasi.Command line
gcloud run deploy editor --image REGION-docker.pkg.dev/PROJECT_ID/REPOSITORY/editor \ --service-account editor-identity \ --set-env-vars EDITOR_UPSTREAM_RENDER_URL=SERVICE_URL \ --allow-unauthenticated
Ganti:
- PROJECT_ID dengan project ID Anda
- SERVICE_URL dengan URL yang diberikan setelah men-deploy layanan rendering Markdown.
Terraform
Untuk mempelajari cara menerapkan atau menghapus konfigurasi Terraform, lihat Perintah dasar Terraform.
Deploy layanan editor:
Memberikan
allUsers
izin untuk memanggil layanan:
Memahami traffic HTTPS
Ada tiga permintaan HTTP yang terlibat dalam rendering markdown menggunakan layanna ini.
Melakukan Percobaan
Untuk mencoba aplikasi dua layanan yang selesai:
Buka browser Anda ke URL yang disediakan pada langkah deployment di atas.
Cobalah edit teks Markdown di sebelah kiri lalu klik tombol untuk melihat pratinjaunya di sebelah kanan.
Kodenya akan terlihat seperti berikut:
Jika Anda memilih untuk terus mengembangkan layanan ini, perlu diingat bahwa layanan tersebut telah membatasi akses Identity and Access Management (IAM) ke bagian lain Google Cloud dan perlu diberi peran IAM tambahan untuk mengakses banyak layanan lainnya.
Pembersihan
Jika Anda membuat project baru untuk tutorial ini, hapus project tersebut. Jika Anda menggunakan project yang ada dan ingin mempertahankannya tanpa ada perubahan yang ditambahkan dalam tutorial ini, hapus resource yang dibuat untuk tutorial.
Menghapus project
Cara termudah untuk menghilangkan penagihan adalah dengan menghapus project yang Anda buat untuk tutorial.
Untuk menghapus project:
- In the Google Cloud console, go to the Manage resources page.
- 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.
Menghapus resource tutorial
Hapus layanan Cloud Run yang telah Anda deploy dalam tutorial ini:
gcloud
gcloud run services delete editor gcloud run services delete renderer
Anda juga dapat menghapus layanan Cloud Run dari Google Cloud Console.
Hapus konfigurasi default gcloud yang Anda tambahkan selama penyiapan tutorial.
gcloud config unset run/region
Hapus konfigurasi project:
gcloud config unset project
Hapus resource Google Cloud lain yang dibuat dalam tutorial ini:
- Hapus image container editor yang bernama
REGION-docker.pkg.dev/PROJECT_ID/REPOSITORY/editor
dari Artifact Registry - Hapus image container render yang bernama
REGION-docker.pkg.dev/PROJECT_ID/REPOSITORY/renderer
dari Artifact Registry - Hapus akun layanan editor
editor-identity@PROJECT_ID.iam.gserviceaccount.com
- Hapus akun layanan render
renderer-identity@PROJECT_ID.iam.gserviceaccount.com
- Hapus image container editor yang bernama
Langkah berikutnya
- Buat project Anda lebih aman dengan mengikuti checklist menggunakan IAM dengan aman
- Perluas aplikasi contoh ini untuk melacak penggunaan Markdown dengan metrik kustom Cloud Monitoring
- Tinjau tutorial Pub/Sub untuk mengetahui pendekatan yang aman terhadap microservice asinkron