Terhubung dari Cloud Run
Untuk menghubungkan aplikasi serverless ke AlloyDB untuk PostgreSQL, Anda dapat men-deploy aplikasi web Go contoh di layanan Cloud Run di konsolGoogle Cloud dan mengonfigurasinya untuk berkomunikasi dengan instance AlloyDB Anda melalui jaringan Virtual Private Cloud (VPC) pribadi.
Kode aplikasi contoh
Kode aplikasi contoh untuk panduan memulai ini terletak di direktori examples/go
dari 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 tersebut 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 memudahkan Anda, tetapi satu-satunya file yang digunakan untuk
membangun container untuk panduan memulai ini terletak di direktori examples/go.
Sebelum memulai
-
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, if any are not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.- Pastikan Anda memiliki cluster dan instance utama AlloyDB. 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 untuk memberi Anda peran IAM berikut pada project Anda:
- Compute Network Admin (
roles/compute.networkAdmin) - Admin AlloyDB (
roles/alloydb.admin) - Artifact Registry Administrator (
roles/artifactregistry.admin) - Cloud Run Admin (
roles/run.admin) - Storage Admin (
roles/storage.admin) - Editor Cloud Build (
roles/cloudbuild.builds.editor) - Container Analysis Admin (
roles/containeranalysis.admin) - Service Account Token Creator (
roles/iam.serviceAccountTokenCreator) - Monitoring Metric Writer (
roles/monitoring.metricWriter) - Service Account User (
roles/iam.serviceAccountUser)
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 konsol Google Cloud .
Untuk menampilkan halaman Overview cluster, klik nama cluster
my-cluster.Di menu navigasi, klik AlloyDB Studio.
Dalam daftar Database di Log in to your database, pilih
postgres.Di menu 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 dalam database Anda.
Di tab Untitled query, buat database:
CREATE DATABASE quickstart_db;Klik Run. Tunggu hingga pesan
Statement executed successfullyditampilkan di panel Results.
Menemukan project ID
Buka halaman Dashboard di konsol Google Cloud .
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 konsol Google Cloud , 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.Dalam 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 direktori
examples/godari repositori GitHubGoogleCloudPlatform/alloydb-auth-proxy. Perintahcloudshell_opendi langkah sebelumnya akan otomatis meng-clone repositori ini dan membuka direktori yang benar untuk Anda.
Menemukan alamat IP untuk instance baru Anda
Di konsol Google Cloud , buka halaman Clusters.
Temukan baris dalam tabel yang Nama resource-nya adalah
my-primary.Catat alamat IP pribadi baris tersebut. Anda memerlukannya untuk langkah berikutnya dalam panduan memulai ini.
Contoh format alamat IP adalah
172.19.209.2:5432.
Membuat layanan untuk Cloud Run
Di konsol Google Cloud , 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 URL image container, 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 Pilih.
Di kolom Nama layanan, 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 dan selesaikan langkah-langkah berikut:
Di bagian Variabel lingkungan, klik Tambahkan variabel.
Masukkan perintah berikut di kolom
NamedanValue:DB_NAME:quickstart_dbDB_USER:postgresDB_PASS: Sandi yang Anda masukkan saat 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, dan bukan172.19.209.2:5432.
Beralih dari tab Container(s) ke tab Networking dan selesaikan langkah-langkah berikut:
Centang kotak Hubungkan ke VPC untuk traffic keluar.
Pilih opsi Send traffic directly to a VPC.
Di menu drop-down Network, pilih nilai
default.Di menu drop-down Subnet, pastikan nilai
defaultdipilih.
Klik Buat 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 konsol Google Cloud , 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 akun Google Cloud Anda tidak dikenai biaya untuk resource yang digunakan pada halaman ini, ikuti langkah-langkah berikut.
Membersihkan cluster
Di konsol Google Cloud , buka halaman Clusters.
Di samping cluster
my-clusteryang ingin Anda hapus, klik more_vert Actions, lalu klik delete Delete.Pada dialog Delete cluster yang muncul, ketik
my-clusterdi kolom my-cluster, yang mengonfirmasi bahwa Anda ingin menghapusnya.Klik Hapus.
Membersihkan layanan
Di konsol Google Cloud , buka halaman Cloud Run.
Pilih kotak centang di samping nama layanan
quickstart-service.Klik delete Delete di bagian atas halaman Cloud Run.
Pada dialog Delete quickstart-service yang muncul, klik Delete untuk mengonfirmasi.