Terhubung dari Cloud Run
Panduan memulai ini memandu Anda melalui proses men-deploy aplikasi contoh di layanan Cloud Run menggunakan Google Cloud konsol dan aplikasi klien. Aplikasi contoh ini menghubungkan Cloud Run ke AlloyDB untuk PostgreSQL.
Kode aplikasi contoh
Kode aplikasi contoh untuk panduan memulai ini terletak di examples/go
direktori repositori GitHub GoogleCloudPlatform/alloydb-auth-proxy.
Aplikasi ini ditulis dalam bahasa pemrograman Go dan berfungsi sebagai alat untuk mengumpulkan suara. Logika utama terdapat dalam file main.go, yang memulai server web dan menangani permintaan pengguna.
Koneksi database dikonfigurasi menggunakan variabel lingkungan, yang Anda siapkan saat membuat layanan Cloud Run. Variabel ini memberi tahu aplikasi cara terhubung ke instance AlloyDB Anda, termasuk nama database, pengguna, sandi, dan alamat IP instance. Kode ini menggunakan variabel ini untuk membuat koneksi yang aman ke database AlloyDB Anda.
Repositori kode
Repositori alloydb-auth-proxy berisi Proxy Auth AlloyDB,
alat yang membantu Anda terhubung dengan aman ke instance AlloyDB.
Repositori ini juga menyertakan library dan contoh terkait, seperti aplikasi Go yang digunakan dalam panduan memulai ini.
Anda tidak memerlukan seluruh project alloydb-auth-proxy untuk terhubung ke AlloyDB dari Cloud Run. Perintah cloudshell_open meng-clone seluruh repositori untuk kemudahan Anda, tetapi hanya file yang digunakan untuk mem-build container untuk panduan memulai ini yang terletak di direktori examples/go.
Sebelum memulai
- Login ke akun Anda. Google Cloud Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa produk kami dalam skenario dunia nyata. Pelanggan baru juga mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
-
In the Google Cloud console, on the project selector page, select or create 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 role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Compute Engine, Cloud Run, AlloyDB, Cloud Resource Manager, Service Networking, Cloud Build, and Container Registry APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
In the Google Cloud console, on the project selector page, select or create 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 role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Compute Engine, Cloud Run, AlloyDB, Cloud Resource Manager, Service Networking, Cloud Build, and Container Registry APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.- Pastikan Anda memiliki cluster AlloyDB dan instance utama. Untuk mengetahui informasi selengkapnya, lihat Membuat cluster dan instance utamanya.
Peran yang diperlukan
Untuk mendapatkan izin yang Anda perlukan untuk terhubung dari Cloud Run, minta administrator Anda untuk memberi Anda peran IAM berikut di project Anda:
-
Compute Network Admin (
roles/compute.networkAdmin) -
AlloyDB Admin (
roles/alloydb.admin) -
Artifact Registry Administrator (
roles/artifactregistry.admin) -
Admin Cloud Run (
roles/run.admin) -
Storage Admin (
roles/storage.admin) -
Editor Cloud Build (
roles/cloudbuild.builds.editor) -
Admin Analisis Container (
roles/containeranalysis.admin) -
Pembuat Token Akun Layanan (
roles/iam.serviceAccountTokenCreator) -
Monitoring Metric Writer (
roles/monitoring.metricWriter) -
Dev Ops (
roles/iam.devOps)
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 khusus atau peran bawaan lainnya.
Menghubungkan ke instance dan membuat database
Jika Anda tidak berada di halaman Overview cluster yang baru dibuat, buka halaman Clusters di Google Cloud konsol.
Untuk menampilkan halaman Overview cluster, klik nama cluster
my-cluster.Di Navigation menu, klik AlloyDB Studio.
Di daftar Database di halaman Sign in to AlloyDB Studio, pilih
postgres.Di daftar drop-down User, pilih
postgres.Di kolom Password, masukkan sandi yang Anda buat di Membuat cluster dan instance utamanya.
Klik Authenticate. Panel Explorer menampilkan daftar objek di database Anda.
Di tab Editor 1, buat database:
CREATE DATABASE quickstart_db;Klik Run. Tunggu hingga pesan
Statement executed successfullyditampilkan di panel Results.
Menemukan project ID
Buka halaman Dashboard di Google Cloud konsol.
Temukan project ID di kartu Project info.
Catat project ID Anda. Anda memerlukannya untuk langkah berikutnya dalam panduan memulai ini.
Mengisi Artifact Registry dengan image aplikasi contoh
Di Google Cloud konsol, buka Cloud Shell.
Di Cloud Shell Editor, gunakan perintah berikut untuk meng-clone repositori dengan kode aplikasi contoh dari GitHub:
cloudshell_open --repo_url \ "https://github.com/GoogleCloudPlatform/alloydb-auth-proxy" \ --dir \ "examples/go" \ --force_new_cloneBuat repositori di Artifact Registry untuk image Docker:
gcloud artifacts repositories create cloud-run-source-deploy --location us-central1 --repository-format=docker --project PROJECT_IDGanti
PROJECT_IDdengan ID project Anda.Di dialog Authorize Cloud Shell, klik Authorize. Perintah ini tidak akan muncul jika Anda telah melakukan langkah ini sebelumnya.
Untuk mem-build container Docker dan memublikasikannya ke Artifact Registry, gunakan perintah berikut:
gcloud builds submit --tag us-central1-docker.pkg.dev/PROJECT_ID/cloud-run-source-deploy/run-sql --project PROJECT_IDGanti
PROJECT_IDdengan ID project Anda.Kode aplikasi contoh untuk panduan memulai ini terletak di
examples/godirektori repositori GitHubGoogleCloudPlatform/alloydb-auth-proxy. Perintahcloudshell_opendi langkah sebelumnya otomatis meng-clone repositori ini dan membuka direktori yang benar untuk Anda.
Menemukan alamat IP untuk instance baru Anda
Di Google Cloud konsol, buka halaman Clusters.
Temukan baris dalam tabel yang Resource name-nya adalah
my-primary.Catat Private IP address baris tersebut. Anda memerlukannya untuk langkah berikutnya dalam panduan memulai ini.
Format contoh alamat IP adalah
172.19.209.2:5432.
Membuat layanan untuk Cloud Run
Di Google Cloud konsol, buka halaman Cloud Run.
Di tab Services, klik Deploy Container.
Di halaman Create service, pilih opsi Deploy one revision from an existing container image.
Di kolom Container image URL, klik Select.
Di panel Select container image, selesaikan langkah-langkah berikut:
- Pilih tab Artifact registry.
- Luaskan
us-central1-docker.pkg.dev/PROJECT_ID/cloud-run-source-deploy. - Luaskan
run-sql. - Pilih image terbaru.
- Klik Select.
Di kolom Service name, masukkan
quickstart-service.Pastikan
us-central1 (Iowa)dipilih dalam daftar Region secara default.Di bagian Authentication, pilih Allow public access.
Pastikan CPU is only allocated during request processing dipilih di bagian CPU allocation and pricing.
Luaskan bagian Container(s), Volumes, Networking, Security.
Di tab Container(s) , pilih tab Variables &secrets , lalu selesaikan langkah-langkah berikut:
Di bagian Environment variables, klik Add variable.
Masukkan hal berikut di kolom
NamedanValue:DB_NAME:quickstart_dbDB_USER:postgresDB_PASS: Sandi yang Anda masukkan saat Anda membuat cluster.DB_PORT:5432INSTANCE_HOST: Alamat IP instance utama cluster Anda, yang Anda temukan di Menemukan alamat IP untuk instance baru Anda. Jangan sertakan nomor port—misalnya, tetapkan ke172.19.209.2, bukan172.19.209.2:5432.
Beralih dari tab Container(s) ke tab Networking , lalu selesaikan langkah-langkah berikut:
Centang kotak Connect to a VPC for outbound traffic.
Pilih opsi Send traffic directly to a VPC.
Di daftar drop-down Network, pilih nilai
default.Di daftar drop-down Subnet, pastikan nilai
defaultdipilih.
Klik Create untuk membuat layanan Cloud Run.
Setelah layanan Cloud Run di-deploy, halaman quickstart-service akan menampilkan URL aplikasi contoh di kolom URL.
Aplikasi ini menggunakan AlloyDB sebagai penyimpanan datanya.
Melihat aplikasi contoh
Di Google Cloud konsol, buka halaman Cloud Run.
Di halaman quickstart-service, klik content_copy Copy to clipboard untuk menyalin URL aplikasi.
Di tab browser baru, tempel URL aplikasi yang disalin, lalu klik Enter.
Pembersihan
Agar akunAnda tidak dikenai biaya untuk resource yang digunakan pada halaman ini, ikuti langkah-langkah berikut. Google Cloud
Membersihkan cluster
Di Google Cloud konsol, buka halaman Clusters.
Di samping cluster
my-clusteryang ingin Anda hapus, klik more_vert Actions, lalu klik delete Delete.Di dialog Delete cluster yang muncul, ketik
my-clusterdi kolom my-cluster, yang mengonfirmasi bahwa Anda ingin menghapusnya.Klik Delete.
Membersihkan layanan
Di Google Cloud konsol, buka halaman Cloud Run.
Pilih kotak centang di samping nama layanan
quickstart-service.Klik delete Delete di bagian atas halaman Cloud Run.
Di dialog Delete quickstart-service yang muncul, klik Delete untuk mengonfirmasi.