Tutorial ini menjelaskan cara memigrasikan aplikasi web Node.js yang berjalan di Heroku ke Cloud Run di Google Cloud. Tutorial ini ditujukan kepada arsitek dan pemilik produk yang ingin memigrasikan aplikasi mereka dari Heroku ke layanan terkelola di Google Cloud.
Cloud Run adalah platform komputasi terkelola yang memungkinkan Anda menjalankan container stateless yang dapat dipanggil melalui permintaan HTTP. Alat ini dibangun di Knative open source, yang memungkinkan portabilitas di seluruh platform serta mendukung alur kerja container dan standar untuk continuous delivery. Platform Cloud Run terintegrasi secara baik dengan rangkaian produk Google Cloud dan memudahkan Anda untuk mendesain dan mengembangkan aplikasi yang portabel, skalabel, dan tangguh.
Dalam tutorial ini, Anda akan mempelajari cara memigrasikan aplikasi ke Google Cloud yang yang ditulis dalam Node.js dan menggunakan Heroku Postgres sebagai layanan pendukung di Heroku. Aplikasi web ditempatkan dalam container dan dihosting di Cloud Run, serta menggunakan Cloud SQL untuk PostgreSQL sebagai lapisan persistensinya.
Dalam tutorial ini, Anda menggunakan aplikasi sederhana bernama Tasks yang memungkinkan Anda melihat dan membuat tugas. Tugas ini disimpan di Heroku Postgres dalam deployment aplikasi saat ini di Heroku.
Tutorial ini mengasumsikan bahwa Anda telah memahami fungsi dasar Heroku dan Anda memiliki akun Heroku (atau akses ke akun tersebut). Langkah ini juga menganggap Anda sudah familier dengan Cloud Run .Cloud SQL .Docker , dan Node.js.
Tujuan
- Build image Docker untuk men-deploy aplikasi ke Cloud Run.
- Buat instance Cloud SQL untuk PostgreSQL yang berfungsi sebagai backend setelah migrasi ke Google Cloud.
- Tinjau kode Node.js untuk memahami cara Cloud Run terhubung ke Cloud SQL dan melihat perubahan kode (jika ada) yang diperlukan untuk bermigrasi ke Cloud Run dari Heroku.
- Memigrasikan data dari Heroku Postgres ke Cloud SQL untuk PostgreSQL.
- Men-deploy aplikasi ke Cloud Run.
- Menguji aplikasi yang di-deploy.
Biaya
Dalam dokumen ini, Anda menggunakan komponen Google Cloud yang dapat ditagih berikut:
Untuk membuat perkiraan biaya berdasarkan proyeksi penggunaan Anda,
gunakan kalkulator harga.
Anda mungkin juga akan dikenai biaya untuk resource yang Anda gunakan di Heroku.
Sebelum memulai
- Login ke akun Google Cloud Anda. 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.
-
Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.
-
Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.
-
Aktifkan API Cloud SQL, Cloud Build, Cloud Run, Container Registry, Service Networking, Serverless VPC Access.
-
Pastikan Anda memiliki peran berikut di project: Cloud Run > Cloud Run Admin, Cloud Storage > Storage Admin, Cloud SQL > Cloud SQL Admin, Compute Engine > Compute Network Admin, Resource Manager > Project IAM Admin, Cloud Build > Cloud Build Editor, Serverless VPC Access > Serverless VPC Access Admin, Logging > Logs Viewer, Service Accounts > Service Account Admin, Service Accounts > Service Account User, and Service Usage > Service Usage Consumer
Memeriksa peran
-
Di konsol Google Cloud, buka halaman IAM.
Buka IAM - Pilih project.
-
Di kolom Akun utama, cari baris yang berisi alamat email Anda.
Jika alamat email Anda tidak ada di kolom tersebut, berarti Anda tidak memiliki peran apa pun.
- Di kolom Peran untuk baris yang berisi alamat email Anda, periksa apakah daftar peran menyertakan peran yang diperlukan.
Memberikan peran
-
Di konsol Google Cloud, buka halaman IAM.
Buka IAM - Pilih project.
- Klik Berikan akses.
- Di kolom Akun utama baru, masukkan alamat email Anda.
- Di daftar Pilih peran, pilih peran.
- Untuk memberikan peran tambahan, klik Tambahkan peran lain, lalu tambahkan setiap peran tambahan.
- Klik Simpan.
-
-
Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.
-
Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.
-
Aktifkan API Cloud SQL, Cloud Build, Cloud Run, Container Registry, Service Networking, Serverless VPC Access.
-
Pastikan Anda memiliki peran berikut di project: Cloud Run > Cloud Run Admin, Cloud Storage > Storage Admin, Cloud SQL > Cloud SQL Admin, Compute Engine > Compute Network Admin, Resource Manager > Project IAM Admin, Cloud Build > Cloud Build Editor, Serverless VPC Access > Serverless VPC Access Admin, Logging > Logs Viewer, Service Accounts > Service Account Admin, Service Accounts > Service Account User, and Service Usage > Service Usage Consumer
Memeriksa peran
-
Di konsol Google Cloud, buka halaman IAM.
Buka IAM - Pilih project.
-
Di kolom Akun utama, cari baris yang berisi alamat email Anda.
Jika alamat email Anda tidak ada di kolom tersebut, berarti Anda tidak memiliki peran apa pun.
- Di kolom Peran untuk baris yang berisi alamat email Anda, periksa apakah daftar peran menyertakan peran yang diperlukan.
Memberikan peran
-
Di konsol Google Cloud, buka halaman IAM.
Buka IAM - Pilih project.
- Klik Berikan akses.
- Di kolom Akun utama baru, masukkan alamat email Anda.
- Di daftar Pilih peran, pilih peran.
- Untuk memberikan peran tambahan, klik Tambahkan peran lain, lalu tambahkan setiap peran tambahan.
- Klik Simpan.
-
Menyiapkan lingkungan Anda
Buka Cloud Shell.
Di Cloud Shell, tetapkan variabel lingkungan dan nilai default untuk Google Cloud CLI yang digunakan dalam tutorial ini.
gcloud config set project PROJECT_ID gcloud config set run/region us-central1
Ganti
PROJECT_ID
dengan project ID Anda.
Arsitektur
Gambar berikut menguraikan arsitektur aplikasi web di Heroku (sebagaimana adanya) dan tata letak arsitekturnya di Google Cloud (yang akan Anda build).
Aplikasi Tasks yang saat ini di-deploy di Heroku terdiri dari satu atau beberapa dyno web. Dyno web dapat menerima dan merespons traffic HTTP, tidak seperti dyno pekerja, yang lebih cocok untuk pekerjaan latar belakang dan tugas berjangka waktu. Aplikasi menyalurkan halaman indeks yang menampilkan tugas yang disimpan dalam database Postgres, menggunakan library template Mustache untuk Node.js.
Anda dapat mengakses aplikasi di URL HTTPS. Rute /tasks
di URL tersebut memungkinkan Anda
membuat tugas baru.
Di Google Cloud, Cloud Run digunakan sebagai platform serverless untuk men-deploy aplikasi Tasks. Cloud Run dirancang untuk menjalankan container berbasis permintaan dan stateless. Alat ini sangat cocok saat Anda memerlukan layanan terkelola untuk mendukung aplikasi dalam container yang melakukan penskalaan otomatis dan juga menskalakan hingga nol saat tidak menyalurkan traffic.
Memetakan komponen yang digunakan dalam Heroku ke Google Cloud
Tabel berikut memetakan komponen di platform Heroku ke Google Cloud. Pemetaan ini membantu Anda menerjemahkan arsitektur yang diuraikan dalam tutorial ini dari Heroku ke Google Cloud.
Komponen | Platform Heroku | Google Cloud |
---|---|---|
Container | Dyno: Heroku menggunakan model container untuk membangun dan menskalakan aplikasi Heroku. Container Linux ini disebut dyno dan dapat diskalakan ke angka yang Anda tentukan untuk mendukung permintaan resource untuk aplikasi Heroku Anda. Anda dapat memilih dari berbagai jenis dyno berdasarkan kebutuhan memori dan CPU aplikasi Anda. | Container Cloud Run: Google Cloud mendukung pengoperasian workload dalam container dalam container stateless yang dapat dijalankan di lingkungan yang terkelola sepenuhnya atau di klaster Google Kubernetes Engine (GKE). |
Aplikasi web | Aplikasi Heroku: Dyno adalah elemen penyusun aplikasi Heroku. Aplikasi biasanya terdiri dari satu atau beberapa jenis dyno, biasanya kombinasi dyno web dan pekerja. | Layanan Cloud Run: Aplikasi web dapat dimodelkan sebagai layanan Cloud Run. Setiap layanan mendapatkan endpoint HTTPS-nya sendiri dan dapat secara otomatis meningkatkan atau menurunkan skala dari 0 ke N berdasarkan traffic ke endpoint layanan Anda. |
Database | Heroku Postgres adalah database as a service (DaaS) Heroku berdasarkan PostgreSQL. | Cloud SQL adalah layanan database terkelola untuk database relasional di Google Cloud. |
Men-deploy contoh aplikasi web Tasks ke Heroku
Bagian berikutnya menunjukkan cara menyiapkan antarmuka command line (CLI) untuk Heroku, meng-clone repositori sumber GitHub, dan men-deploy aplikasi ke Heroku.
Menyiapkan antarmuka command line untuk Heroku
Tutorial ini menjalankan Heroku CLI di Cloud Shell dan harus melakukan autentikasi menggunakan kunci API Heroku. Saat dijalankan di Cloud Shell, Heroku CLI tidak dapat melakukan autentikasi menggunakan sandi atau autentikasi berbasis web.
Atau, jika Anda menjalankan contoh di terminal lokal, Anda dapat menggunakan metode autentikasi Heroku CLI apa pun. Saat menjalankan tutorial di terminal lokal, Anda juga harus menginstal Google Cloud CLI, git, dan Docker.
Login ke konsol web untuk Heroku, lalu dari halaman setelan akun Anda, salin nilai kunci API Anda.
Di Cloud Shell, instal Heroku CLI
Di Cloud Shell, lakukan autentikasi Heroku CLI. Saat diminta memasukkan sandi, masukkan nilai kunci API yang Anda salin dari konsol Heroku, bukan sandi yang digunakan untuk login ke konsol.
heroku login --interactive
Meng-clone repositori sumber
Di Cloud Shell, lakukan clone contoh repositori GitHub aplikasi Tasks:
git clone https://github.com/GoogleCloudPlatform/migrate-webapp-heroku-to-cloudrun-node.git
Ubah direktori ke direktori yang dibuat dengan meng-clone repositori:
cd migrate-webapp-heroku-to-cloudrun-node
Direktori tersebut berisi file berikut:
- Skrip Node.js yang disebut
index.js
dengan kode untuk rute yang disalurkan oleh aplikasi web. - File
package.json
danpackage-lock.json
yang menguraikan dependensi aplikasi web. Anda harus menginstal dependensi ini agar aplikasi dapat berjalan. - File
Procfile
yang menentukan perintah yang dijalankan aplikasi saat aplikasi dimulai. Anda membuat fileProcfile
untuk men-deploy aplikasi ke Heroku. - Direktori
views
, dengan konten HTML yang disajikan oleh aplikasi web pada rute "/". - File
.gitignore
- Skrip Node.js yang disebut
Men-deploy aplikasi ke Heroku
Di Cloud Shell, buat aplikasi Heroku:
heroku create
Catat nama yang dibuat untuk aplikasi tersebut. Anda memerlukan nilai ini pada langkah berikutnya.
Buat variabel lingkungan untuk nama aplikasi Heroku:
export APP_NAME=APP_NAME
Ganti
APP_NAME
dengan nama aplikasi yang ditampilkan oleh perintahheroku create
.Tambahkan add-on Heroku Postgres untuk menyediakan database PostgreSQL:
heroku addons:create heroku-postgresql:mini
Pastikan add-on berhasil ditambahkan:
heroku addons
Jika add-on Postgres berhasil ditambahkan, Anda akan melihat pesan yang serupa seperti berikut:
Add-on Plan Price State ----------------- ----- -------- ----- heroku-postgresql mini 5$/month created
Deploy aplikasi ke Heroku:
git push heroku master
Jalankan perintah berikut untuk mengonfirmasi nilai DATABASE_URL.
heroku config
Catat nilai yang diambil untuk DATABASE_URL. Anda memerlukan nilai ini pada langkah berikutnya.
Menjalankan container Docker.
docker run -it --rm postgres psql "DATABASE_URL"
Ganti
DATABASE_URL
dengan URL Heroku Postgres yang Anda catat di langkah sebelumnya.Di container Docker, buat tabel
TASKS
menggunakan perintah berikut:CREATE TABLE TASKS (DESCRIPTION TEXT NOT NULL);
Keluar dari container:
exit
Di Cloud Shell, dapatkan URL Web untuk aplikasi Heroku Anda dengan menjalankan perintah berikut:
heroku info
Buka URL web di jendela browser. Aplikasi akan terlihat seperti screenshot berikut (meskipun versi Anda tidak akan mencantumkan tugas):
Membuat contoh tugas di aplikasi Anda dari browser. Pastikan tugas diambil dari database dan terlihat di UI.
Menyiapkan kode aplikasi web untuk migrasi ke Cloud Run
Bagian ini menjelaskan langkah-langkah yang harus Anda selesaikan guna menyiapkan aplikasi web untuk deployment ke Cloud Run.
Membangun dan memublikasikan container Docker ke Container Registry
Anda memerlukan image Docker untuk membangun container aplikasi agar dapat berjalan di Cloud Run. Anda dapat mem-build container secara manual atau dengan menggunakan Buildpacks.
Mem-build container secara manual
Di Cloud Shell, buat Dockerfile dalam direktori yang dibuat dengan meng-clone repositori untuk tutorial ini:
cat <<"EOF" > Dockerfile # Use the official Node image. # https://hub.docker.com/_/node FROM node:10-alpine # Create and change to the app directory. WORKDIR /app # Copying this separately prevents re-running npm install on every code change. COPY package*.json ./ RUN npm install # Copy local code to the container image. COPY . /app # Configure and document the service HTTP port. ENV PORT 8080 EXPOSE $PORT # Run the web service on container startup. CMD ["npm", "start"] EOF
Bangun container Anda dengan Cloud Build dan memublikasikan gambar ke Container Registry:
gcloud builds submit --tag gcr.io/PROJECT_ID/APP_NAME:1 \ --gcs-log-dir=gs://PROJECT_ID_cloudbuild
Buat variabel lingkungan untuk menyimpan nama image Docker yang Anda buat:
export IMAGE_NAME="gcr.io/PROJECT_ID/APP_NAME:1"
Membangun container dengan Buildpacks
Di Cloud Shell, instal paket CLI.
Setel CLI paket untuk menggunakan builder Heroku secara default:
pack config default-builder heroku/buildpacks:22
Buat variabel lingkungan untuk menyimpan nama image Docker:
export IMAGE_NAME=gcr.io/PROJECT_ID/APP_NAME:1
Build image menggunakan perintah
pack
, lalu kirim atau publikasikan image ke Container Registry:pack build --publish $IMAGE_NAME
Membuat instance Cloud SQL untuk PostgreSQL
Anda membuat instance Cloud SQL untuk PostgreSQL agar berfungsi sebagai backend untuk aplikasi web. Dalam tutorial ini, PostgreSQL paling cocok sebagai aplikasi contoh yang di-deploy di Heroku, yang menggunakan database Postgres sebagai backend-nya. Untuk tujuan aplikasi ini, bermigrasi ke Cloud SQL untuk PostgreSQL dari layanan Postgres terkelola tidak memerlukan perubahan skema.
Siapkan jaringan Anda untuk Cloud SQL dengan alamat IP pribadi.
gcloud compute addresses create google-managed-services-default \ --global \ --purpose=VPC_PEERING \ --prefix-length=16 \ --description="peering range for CloudSQL Private Service Access" \ --network=default gcloud services vpc-peerings connect \ --service=servicenetworking.googleapis.com \ --ranges=google-managed-services-default \ --network=default \ --project=PROJECT_ID
Buat variabel lingkungan bernama
CLOUDSQL_DB_NAME
untuk menyimpan nama instance database yang Anda buat di langkah berikutnya:export CLOUDSQL_DB_NAME=tasks-db
Membuat Database:
gcloud sql instances create $CLOUDSQL_DB_NAME \ --cpu=1 \ --memory=4352Mib \ --database-version=POSTGRES_15 \ --region=us-central1 \ --network default \ --no-assign-ip
Instance mungkin memerlukan waktu beberapa menit untuk diinisialisasi.
Setel sandi untuk pengguna Postgres:
gcloud sql users set-password postgres \ --instance=$CLOUDSQL_DB_NAME \ --password=POSTGRES_PASSWORD
Ganti
POSTGRES_PASSWORD
dengan sandi yang ingin Anda gunakan untuk database Postgres.
Mengimpor data ke Cloud SQL dari Heroku Postgres
Ada beberapa pola migrasi yang dapat Anda gunakan untuk memigrasikan data ke Cloud SQL. Secara umum, pendekatan terbaik yang memerlukan sedikit atau tidak ada periode nonaktif adalah dengan mengonfigurasi Cloud SQL sebagai replika untuk database yang sedang dimigrasikan, dan menjadikan Cloud SQL sebagai instance utama setelah migrasi. Heroku Postgres tidak mendukung replika eksternal (pengikut). Jadi, dalam tutorial ini, Anda harus menggunakan alat open source untuk memigrasikan skema aplikasi.
Untuk aplikasi Tasks dalam tutorial ini, Anda menggunakan pg_dump aplikasi utilitas untuk mengekspor data dari Heroku Postgres ke bucket Cloud Storage lalu mengimpornya ke Cloud SQL. Utilitas ini dapat mentransfer data di seluruh versi homogen atau jika versi database tujuan lebih baru dari database sumber.
Di Cloud Shell, dapatkan kredensial database untuk database Heroku Postgres yang dilampirkan ke aplikasi contoh. Anda memerlukan kredensial ini pada langkah berikutnya.
heroku pg:credentials:url
Perintah ini menampilkan string informasi koneksi dan URL koneksi untuk aplikasi Anda. String informasi koneksi memiliki format berikut:
"dbname=DATABASE_NAME host=FQDN port=5432 user=USER_NAME password=PASSWORD_STRING sslmode=require"
Anda memerlukan nilai yang ditampilkan dalam string koneksi di langkah berikutnya.
Untuk contoh nilai FQDN (nama domain yang sepenuhnya memenuhi syarat) dalam string informasi koneksi, lihat dokumentasi Heroku.
Tetapkan variabel lingkungan untuk menyimpan nilai Heroku yang Anda gunakan pada langkah-langkah berikutnya:
export HEROKU_PG_DBNAME=DATABASE_NAME export HEROKU_PG_HOST=FQDN export HEROKU_PG_USER=USER_NAME export HEROKU_PG_PASSWORD=PASSWORD_STRING
Ganti kode berikut:
DATABASE_NAME
: nama database yang ditampilkan dalam string informasi.FQDN
: FQDN yang ditampilkan dalam string informasi.USER_NAME
: nama pengguna yang ditampilkan dalam string informasi.PASSWORD_STRING
: string sandi yang ditampilkan dalam string informasi.
Buat cadangan format SQL dari database Heroku Postgres:
docker run \ -it --rm \ -e PGPASSWORD=$HEROKU_PG_PASSWORD \ -v $(pwd):/tmp \ --entrypoint "pg_dump" \ postgres \ -Fp \ --no-acl \ --no-owner \ -h $HEROKU_PG_HOST \ -U $HEROKU_PG_USER \ $HEROKU_PG_DBNAME > herokudump.sql
Buat variabel lingkungan untuk menyimpan nama bucket Cloud Storage Anda:
export PG_BACKUP_BUCKET=gs://PROJECT_ID-pg-backup-bucket
Membuat bucket Cloud Storage:
gcloud storage buckets create $PG_BACKUP_BUCKET \ --location=us-central1 \ --public-access-prevention \ --uniform-bucket-level-access
Upload file SQL ke bucket ini:
gcloud storage cp herokudump.sql $PG_BACKUP_BUCKET/herokudump.sql
Otorisasi instance Cloud SQL Anda dengan peran yang diperlukan untuk mengimpor file SQL dari bucket Cloud Storage:
gcloud projects add-iam-policy-binding PROJECT_ID \ --member=serviceAccount:$(gcloud sql instances describe $CLOUDSQL_DB_NAME --format='get("serviceAccountEmailAddress")') \ --role=roles/storage.objectAdmin gcloud projects add-iam-policy-binding PROJECT_ID \ --member=serviceAccount:$(gcloud sql instances describe $CLOUDSQL_DB_NAME --format='get("serviceAccountEmailAddress")') \ --role=roles/cloudsql.editor
Impor file SQL ke instance Cloud SQL:
gcloud sql import sql $CLOUDSQL_DB_NAME $PG_BACKUP_BUCKET/herokudump.sql \ --database=postgres \ --user=postgres
Saat diminta
do you want to continue (y/n)
, masukkan "y".
Cara Cloud Run mengakses database Cloud SQL
Sama seperti aplikasi web yang di-deploy ke Heroku yang perlu terhubung ke instance terkelola Heroku Postgres, Cloud Run memerlukan akses ke Cloud SQL agar dapat membaca dan menulis data.
Cloud Run berkomunikasi dengan Cloud SQL menggunakan proxy Cloud SQL yang diaktifkan dan dikonfigurasi secara otomatis saat Anda men-deploy container ke Cloud Run. Database tidak perlu memiliki alamat IP eksternal yang disetujui karena semua komunikasi yang diterimanya berasal dari proxy yang menggunakan TCP aman.
Kode Anda perlu memanggil operasi database (seperti mengambil data dari database atau menulisnya) dengan memanggil proxy melalui soket UNIX.
Karena aplikasi web ini ditulis dalam Node.js, Anda harus menggunakan library pg-connection-string
untuk mengurai URL database dan membuat objek config
. Keuntungan dari pendekatan ini adalah membuat koneksi ke database backend menjadi lancar di seluruh Heroku dan Cloud Run.
Pada langkah berikutnya, Anda meneruskan URL database sebagai variabel lingkungan saat men-deploy aplikasi web.
Men-deploy aplikasi contoh ke Cloud Run
Di Cloud Shell, konfigurasikan akses vpc serverless untuk mengizinkan traffic pribadi dari Cloud Run ke Cloud SQL:
gcloud compute networks subnets create serverless-connector-subnet \ --network=default \ --range=10.0.0.0/28 \ --region=us-central1 gcloud compute networks vpc-access connectors create serverless-connector \ --region=us-central1 \ --subnet=serverless-connector-subnet
Di Cloud Shell, buat variabel lingkungan yang menyimpan nama koneksi instance Cloud SQL yang Anda buat:
export DB_CONN_NAME=$(gcloud sql instances describe $CLOUDSQL_DB_NAME --format='value(connectionName)')
Buat variabel lingkungan bernama
DATABASE_URL
untuk menyimpan string koneksi yang akan terhubung ke Proxy Cloud SQL melalui port UNIX.export DATABASE_URL="socket:/cloudsql/${DB_CONN_NAME}?db=postgres&user=postgres&password=POSTGRES_PASSWORD"
Buat akun layanan untuk Cloud Run dengan peran IAM untuk terhubung ke database:
gcloud iam service-accounts create sa-run-db-client gcloud projects add-iam-policy-binding PROJECT_ID \ --member=serviceAccount:sa-run-db-client@PROJECT_ID. \ --role=roles/cloudsql.client
Men-deploy aplikasi web ke Cloud Run:
gcloud run deploy tasksapp-PROJECT_ID \ --image=$IMAGE_NAME \ --service-account=sa-run-db-client@PROJECT_ID. \ --set-env-vars=DATABASE_URL=$DATABASE_URL \ --add-cloudsql-instances $DB_CONN_NAME \ --vpc-connector serverless-connector \ --allow-unauthenticated
Perintah sebelumnya juga menautkan container Cloud Run Anda ke instance database Cloud SQL yang Anda buat. Perintah tersebut menetapkan variabel lingkungan agar Cloud Run mengarah ke string
DATABASE_URL
yang Anda buat di langkah sebelumnya.
Menguji aplikasi
Di Cloud Shell, dapatkan URL tempat Cloud Run menyalurkan traffic:
gcloud run services list
Anda juga dapat meninjau Layanan Cloud Run di Konsol Google Cloud.
Pastikan aplikasi web Anda menerima permintaan HTTP dengan membuka URL Layanan Cloud Run.
Cloud Run membuat, atau menjalankan, container baru saat permintaan HTTP dikirim ke endpoint penyaluran dan jika sebuah container belum berjalan. Ini berarti permintaan yang menyebabkan container baru muncul mungkin memerlukan waktu sedikit lebih lama untuk ditayangkan. Mengingat waktu tambahan tersebut, pertimbangkan jumlah permintaan serentak yang dapat didukung aplikasi Anda dan persyaratan memori tertentu yang mungkin dimilikinya.
Untuk aplikasi ini, Anda menggunakan setelan serentak default, yang memungkinkan layanan Cloud Run menyalurkan 80 permintaan secara serentak dari satu container.
Pembersihan
Agar tidak menimbulkan tagihan ke akun Google Cloud Anda untuk resource yang digunakan dalam tutorial ini: Anda mungkin juga ingin menghapus resource yang dibuat di Heroku untuk tutorial ini.
Menghapus project Google Cloud
- Di konsol Google Cloud, buka halaman Manage resource.
- Pada daftar project, pilih project yang ingin Anda hapus, lalu klik Delete.
- Pada dialog, ketik project ID, lalu klik Shut down untuk menghapus project.
Menghapus Aplikasi Heroku
Untuk menghapus aplikasi contoh yang Anda deploy ke Heroku dan add-on PostgreSQL terkait, jalankan perintah berikut:
heroku apps:destroy -a APP_NAME
Langkah berikutnya
- Pelajari cara mengimpor data ke Cloud SQL.
- Pelajari dokumentasi Cloud Run.