Panduan memulai: Membangun dan men-deploy aplikasi web Go ke Cloud Run
Pelajari cara menggunakan satu perintah untuk membangun dan men-deploy aplikasi web "Hello World" dari contoh kode ke Google Cloud menggunakan Cloud Run.
Dengan mengikuti langkah-langkah dalam panduan memulai ini, Cloud Run akan otomatis membuat Dockerfile untuk Anda saat Anda men-deploy dari kode sumber.
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.
-
Install the Google Cloud CLI.
-
Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.
-
Untuk melakukan inisialisasi gcloud CLI, jalankan perintah berikut:
gcloud init
-
Create or select a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
Jika Anda menggunakan project yang sudah ada untuk panduan ini, pastikan Anda memiliki izin yang diperlukan untuk menyelesaikan panduan ini. Jika Anda membuat project baru, berarti Anda sudah memiliki izin yang diperlukan.
-
Verify that billing is enabled for your Google Cloud project.
-
Install the Google Cloud CLI.
-
Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.
-
Untuk melakukan inisialisasi gcloud CLI, jalankan perintah berikut:
gcloud init
-
Create or select a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
Jika Anda menggunakan project yang sudah ada untuk panduan ini, pastikan Anda memiliki izin yang diperlukan untuk menyelesaikan panduan ini. Jika Anda membuat project baru, berarti Anda sudah memiliki izin yang diperlukan.
-
Verify that billing is enabled for your Google Cloud project.
- Guna menetapkan project default untuk layanan Cloud Run Anda:
Ganti PROJECT_ID dengan Google Cloud project ID Anda.gcloud config set project PROJECT_ID
Jika Anda dikenai kebijakan organisasi pembatasan domain yang membatasi pemanggilan yang tidak diautentikasi untuk project, Anda perlu mengakses layanan yang di-deploy seperti yang dijelaskan di bagian Menguji layanan pribadi.
-
Enable the Cloud Run Admin API and Cloud Build APIs:
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles.gcloud services enable run.googleapis.com
cloudbuild.googleapis.com Setelah Cloud Run Admin API diaktifkan, akun layanan default Compute Engine akan dibuat secara otomatis.
- Tinjau harga Cloud Run atau perkirakan biaya dengan kalkulator harga.
-
Cloud Run Admin (
roles/run.admin
) di project -
Cloud Run Source Developer (
roles/run.sourceDeveloper
) di project -
Logs Viewer (
roles/logging.logsViewer
) di project -
Project IAM Admin (
roles/resourcemanager.projectIamAdmin
) pada project -
Pengguna Akun Layanan (
roles/iam.serviceAccountUser
) pada identitas layanan (secara default, ini adalah akun layanan default Compute Engine) Buatlah direktori bernama baru
helloworld
dan ubahlah direktori tersebut kedalamnya:mkdir helloworld cd helloworld
Lakukan inisialisasi file
go.mod
dari direktori project untuk mendeklarasikan modul go:go mod init github.com/GoogleCloudPlatform/golang-samples/run/helloworld
Buat file baru bernama
main.go
dan tempelkan kode berikut ke dalamnya:Kode ini menghasilkan sebuah web server dasar yang memantau port yang ditentukan oleh variabel
PORT
lingkungan.Di direktori kode sumber Anda, deploy folder saat ini menggunakan perintah berikut:
gcloud run deploy --source .
Saat diminta memasukkan nama layanan, tekan Enter untuk menerima nama default, misalnya
helloworld
.Jika Anda diminta untuk mengaktifkan API tambahan di project, misalnya, Artifact Registry API, tanggapi dengan menekan
y
.Saat Anda diminta untuk memasukkan region: pilih region pilihan Anda, misalnya
europe-west1
.Jika Anda diminta untuk membuat repositori di region yang ditentukan, respons dengan menekan
y
.Jika Anda diminta untuk mengizinkan akses publik: respons
y
. Anda mungkin tidak melihat perintah ini jika ada kebijakan organisasi pembatasan domain yang mencegahnya; untuk mengetahui detail selengkapnya, lihat bagian Sebelum Anda memulai.
Lalu tunggu sebentar sampai proses deployment selesai. Jika berhasil, command line akan menampilkan URL layanannya.
Kunjungi layanan yang telah di-deploy dengan membuka URL layanan pada browser web.
asia-east1
(Taiwan)asia-northeast1
(Tokyo)asia-northeast2
(Osaka)asia-south1
(Mumbai, India)europe-north1
(Finlandia)CO2 Rendah
europe-north2
(Stockholm)CO2 Rendah
europe-southwest1
(Madrid)CO2 Rendah
europe-west1
(Belgia)CO2 Rendah
europe-west4
(Belanda)CO2 Rendah
europe-west8
(Milan)europe-west9
(Paris)CO2 Rendah
me-west1
(Tel Aviv)northamerica-south1
(Meksiko)us-central1
(Iowa)CO2 Rendah
us-east1
(South Carolina)us-east4
(North Virginia)us-east5
(Columbus)us-south1
(Dallas)CO2 Rendah
us-west1
(Oregon)CO2 Rendah
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 Rendah
europe-west12
(Turin)europe-west2
(London, Inggris Raya)CO2 Rendah
europe-west3
(Frankfurt, Jerman)europe-west6
(Zurich, Swiss)CO2 Rendah
me-central1
(Doha)me-central2
(Dammam)northamerica-northeast1
(Montreal)CO2 Rendah
northamerica-northeast2
(Toronto)CO2 Rendah
southamerica-east1
(Sao Paulo, Brasil)CO2 Rendah
southamerica-west1
(Santiago, Cile)CO2 Rendah
us-west2
(Los Angeles)us-west3
(Salt Lake City)us-west4
(Las Vegas)Di konsol Google Cloud , buka Cloud Run:
Temukan layanan yang ingin Anda hapus dalam daftar layanan, lalu klik kotak centang layanan tersebut untuk memilihnya.
Klik Hapus. Tindakan ini akan menghapus semua revisi layanan.
- SERVICE: nama layanan Anda.
- REGION: Google Cloud region layanan.
Peran yang diperlukan
Untuk mendapatkan izin yang Anda perlukan untuk menyelesaikan panduan memulai cepat ini, minta administrator Anda untuk memberi Anda peran IAM berikut:
Untuk mengetahui informasi selengkapnya tentang pemberian peran, lihat Mengelola akses ke project, folder, dan organisasi.
Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran kustom atau peran yang telah ditentukan lainnya.
Memberi akun layanan Cloud Build akses ke project Anda
Cloud Build otomatis menggunakan akun layanan default Compute Engine sebagai akun layanan Cloud Build default untuk membangun kode sumber dan resource Cloud Run Anda, kecuali jika Anda mengganti perilaku ini.
Agar Cloud Build dapat membangun sumber Anda, berikan peran Cloud Run
Builder
(roles/run.builder
) ke akun layanan Cloud Build di project Anda:
gcloud projects add-iam-policy-binding PROJECT_ID \ --member=serviceAccount:SERVICE_ACCOUNT_EMAIL_ADDRESS \ --role=roles/run.builder
Ganti PROJECT_ID
dengan project ID Google CloudAnda dan SERVICE_ACCOUNT_EMAIL_ADDRESS
dengan alamat email akun layanan Cloud Build. Jika Anda menggunakan akun layanan default Compute Engine sebagai akun layanan Cloud Build, gunakan format berikut untuk alamat email akun layanan:
PROJECT_NUMBER-compute@
Ganti PROJECT_NUMBER
dengan Google Cloud
nomor project Anda.
Untuk mengetahui petunjuk mendetail tentang cara menemukan project ID dan nomor project Anda, lihat Membuat dan mengelola project.
Pemberian peran builder Cloud Run memerlukan waktu beberapa menit untuk diterapkan.
Menulis aplikasi contoh
Untuk menulis aplikasi di Go:
Aplikasi Anda sudah selesai dan siap untuk di-deploy.
Deploy ke Cloud Run dari sumber
Penting: Panduan memulai ini mengasumsikan bahwa Anda memiliki peran pemilik atau editor dalam project yang Anda gunakan untuk panduan memulai tersebut. Atau, lihat peran Developer Sumber Cloud Run untuk izin yang diperlukan guna men-deploy resource Cloud Run dari sumber.
Men-deploy dari sumber secara otomatis akan mem-build image container dari kode sumber dan men-deploy-nya.
Untuk men-deploy dari sumber:
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 produk Google Cloud
lainnya yang digunakan oleh layanan Cloud Run Anda.
Menggunakan Google Cloud produk secara bersamaan di beberapa lokasi dapat memengaruhi
latensi serta biaya layanan Anda.
Cloud Run tersedia di region berikut:
Tergantung harga Tingkat 1
Tergantung harga Tingkat 2
Jika sudah membuat layanan Cloud Run, Anda dapat melihat region di dasbor Cloud Run di Google Cloud konsol.
Pembersihan
Untuk menghindari biaya tambahan pada akun Google Cloud Anda, hapus semua resource yang Anda deploy dengan panduan memulai ini.
Menghapus repositori Anda
Cloud Run tidak mengenakan biaya saat layanan yang di-deploy tidak digunakan. Namun, Anda mungkin tetap dikenai biaya atas penyimpanan image container di Artifact Registry. Untuk menghapus repositori Artifact Registry, ikuti langkah-langkah di Menghapus repositori dalam dokumentasi Artifact Registry.
Menghapus layanan Anda
Layanan Cloud Run tidak menimbulkan biaya hingga menerima permintaan. Untuk menghapus layanan Cloud Run, ikuti salah satu langkah berikut:
Konsol
Untuk menghapus layanan:
gcloud
Untuk menghapus layanan, jalankan perintah berikut:
gcloud run services delete SERVICE --region REGION
Ganti kode berikut:
Menghapus project pengujian Anda
Menghapus project Google Cloud akan menghentikan penagihan untuk semua resource dalam project tersebut. Untuk melepaskan semua Google Cloud resource di project Anda, ikuti langkah-langkah berikut:
Delete a Google Cloud project:
gcloud projects delete PROJECT_ID
Langkah berikutnya
Untuk informasi lebih lanjut dalam mem-build container dari kode sumber dan penerapan untuk repositori, lihat: