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

  1. 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.
  2. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. 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.

  4. Verify that billing is enabled for your Google Cloud project.

  5. 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 the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  6. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  7. 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.

  8. Verify that billing is enabled for your Google Cloud project.

  9. 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 the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  10. 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:

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

  1. Jika Anda tidak berada di halaman Overview cluster yang baru dibuat, buka halaman Clusters di Google Cloud konsol.

    Buka Cluster

  2. Untuk menampilkan halaman Overview cluster, klik nama cluster my-cluster.

  3. Di Navigation menu, klik AlloyDB Studio.

  4. Di daftar Database di halaman Sign in to AlloyDB Studio, pilih postgres.

  5. Di daftar drop-down User, pilih postgres.

  6. Di kolom Password, masukkan sandi yang Anda buat di Membuat cluster dan instance utamanya.

  7. Klik Authenticate. Panel Explorer menampilkan daftar objek di database Anda.

  8. Di tab Editor 1, buat database:

    CREATE DATABASE quickstart_db;
    
  9. Klik Run. Tunggu hingga pesan Statement executed successfully ditampilkan di panel Results.

Menemukan project ID

  1. Buka halaman Dashboard di Google Cloud konsol.

    Buka Dasbor

  2. Temukan project ID di kartu Project info.

  3. Catat project ID Anda. Anda memerlukannya untuk langkah berikutnya dalam panduan memulai ini.

Mengisi Artifact Registry dengan image aplikasi contoh

  1. Di Google Cloud konsol, buka Cloud Shell.

    Buka Cloud Shell

  2. 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_clone
  3. Buat repositori di Artifact Registry untuk image Docker:

    gcloud artifacts repositories create cloud-run-source-deploy --location us-central1 --repository-format=docker --project PROJECT_ID

    Ganti PROJECT_ID dengan ID project Anda.

  4. Di dialog Authorize Cloud Shell, klik Authorize. Perintah ini tidak akan muncul jika Anda telah melakukan langkah ini sebelumnya.

  5. 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_ID

    Ganti PROJECT_ID dengan ID project Anda.

    Kode aplikasi contoh untuk panduan memulai ini terletak di examples/go direktori repositori GitHub GoogleCloudPlatform/alloydb-auth-proxy. Perintah cloudshell_open di langkah sebelumnya otomatis meng-clone repositori ini dan membuka direktori yang benar untuk Anda.

Menemukan alamat IP untuk instance baru Anda

  1. Di Google Cloud konsol, buka halaman Clusters.

    Buka Cluster

  2. Temukan baris dalam tabel yang Resource name-nya adalah my-primary.

  3. 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

  1. Di Google Cloud konsol, buka halaman Cloud Run.

    Buka Cloud Run

  2. Di tab Services, klik Deploy Container.

  3. Di halaman Create service, pilih opsi Deploy one revision from an existing container image.

  4. Di kolom Container image URL, klik Select.

  5. Di panel Select container image, selesaikan langkah-langkah berikut:

    1. Pilih tab Artifact registry.
    2. Luaskan us-central1-docker.pkg.dev/PROJECT_ID/cloud-run-source-deploy.
    3. Luaskan run-sql.
    4. Pilih image terbaru.
    5. Klik Select.
  6. Di kolom Service name, masukkan quickstart-service.

  7. Pastikan us-central1 (Iowa) dipilih dalam daftar Region secara default.

  8. Di bagian Authentication, pilih Allow public access.

  9. Pastikan CPU is only allocated during request processing dipilih di bagian CPU allocation and pricing.

  10. Luaskan bagian Container(s), Volumes, Networking, Security.

  11. Di tab Container(s) , pilih tab Variables &secrets , lalu selesaikan langkah-langkah berikut:

    1. Di bagian Environment variables, klik Add variable.

    2. Masukkan hal berikut di kolom Name dan Value:

      • DB_NAME: quickstart_db
      • DB_USER: postgres
      • DB_PASS: Sandi yang Anda masukkan saat Anda membuat cluster.
      • DB_PORT: 5432
      • INSTANCE_HOST: Alamat IP instance utama cluster Anda, yang Anda temukan di Menemukan alamat IP untuk instance baru Anda. Jangan sertakan nomor port—misalnya, tetapkan ke 172.19.209.2, bukan 172.19.209.2:5432.
  12. Beralih dari tab Container(s) ke tab Networking , lalu selesaikan langkah-langkah berikut:

    1. Centang kotak Connect to a VPC for outbound traffic.

    2. Pilih opsi Send traffic directly to a VPC.

    3. Di daftar drop-down Network, pilih nilai default.

    4. Di daftar drop-down Subnet, pastikan nilai default dipilih.

  13. 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

  1. Di Google Cloud konsol, buka halaman Cloud Run.

    Buka Cloud Run

  2. Di halaman quickstart-service, klik Copy to clipboard untuk menyalin URL aplikasi.

  3. 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

  1. Di Google Cloud konsol, buka halaman Clusters.

    Buka Cluster

  2. Di samping cluster my-cluster yang ingin Anda hapus, klik Actions, lalu klik Delete.

  3. Di dialog Delete cluster yang muncul, ketik my-cluster di kolom my-cluster, yang mengonfirmasi bahwa Anda ingin menghapusnya.

  4. Klik Delete.

Membersihkan layanan

  1. Di Google Cloud konsol, buka halaman Cloud Run.

    Buka Cloud Run

  2. Pilih kotak centang di samping nama layanan quickstart-service.

  3. Klik Delete di bagian atas halaman Cloud Run.

  4. Di dialog Delete quickstart-service yang muncul, klik Delete untuk mengonfirmasi.

Langkah berikutnya