ID region
REGION_ID adalah kode singkat yang ditetapkan Google berdasarkan region yang Anda pilih saat membuat aplikasi. Kode ini tidak sesuai dengan negara atau provinsi, meskipun beberapa ID region mungkin tampak mirip dengan kode negara dan provinsi yang umum digunakan. Untuk aplikasi yang dibuat setelah Februari 2020, REGION_ID.r disertakan dalam URL App Engine. Untuk aplikasi lama yang dibuat sebelum tanggal tersebut, ID region bersifat opsional dalam URL.
Pelajari ID region lebih lanjut.
Panduan ini menjelaskan cara men-deploy aplikasi Anda di lingkungan standar ke Cloud Run menggunakan Google Cloud CLI. Petunjuk ini berlaku untuk runtime generasi kedua yang tidak menggunakan layanan paket lama App Engine.
Langkah-langkah yang dijelaskan dalam panduan ini tidak memengaruhi fungsi atau aliran traffic aplikasi App Engine Anda yang ada. Layanan Cloud Run yang baru dibuat adalah replika layanan App Engine yang dapat Anda uji secara independen.
Cloud Run menggunakan banyak infrastruktur yang sama dengan lingkungan standar App Engine, sehingga ada banyak kesamaan di antara kedua platform ini. Untuk mempelajari lebih lanjut persamaan dan perbedaan antara App Engine dan Cloud Run, termasuk manfaat bermigrasi ke Cloud Run, lihat ringkasan perbandingan.
Untuk men-deploy ke Cloud Run, pilih salah satu strategi berikut:
Men-deploy aplikasi App Engine yang ada langsung ke Cloud Run.
Menggunakan file
app.yamluntuk men-deploy layanan ke Cloud Run menggunakan konfigurasi App Engine Anda yang ada.
Sebelum memulai
Pastikan Anda memiliki akses ke kode sumber App Engine, dan aplikasi App Engine Anda berjalan tanpa error.
Aktifkan Cloud Run Admin API dan Artifact Registry API:
Konfigurasi project dan region Anda menggunakan perintah berikut:
gcloud auth login gcloud config set project PROJECT_ID gcloud config set run/region REGION gcloud components updateGanti kode berikut:
- PROJECT_ID dengan Google Cloud project ID Anda.
- REGION dengan region Anda.
Tinjau fitur yang tidak kompatibel di aplikasi Anda, dan hapus fitur tersebut sebelum bermigrasi ke Cloud Run. Jika ada fitur yang tidak kompatibel di aplikasi Anda yang ada, proses migrasi akan berhenti dan mencantumkan fitur yang tidak kompatibel.
Tinjau perbedaan Cloud Run berikut:
Cloud Run menggunakan istilah
Revision, bukanVersion, untuk mewakili setiap kali Anda men-deploy perubahan ke layanan tertentu. Men-deploy aplikasi Anda ke layanan di Cloud Run untuk pertama kalinya akan menciptakan revisi pertamanya. Setiap deployment layanan berikutnya akan membuat revisi lainnya. Pelajari selengkapnya tentang cara men-deploy ke Cloud Run.Anda dapat men-deploy kode sumber ke Cloud Run menggunakan gcloud CLI atau Google Cloud konsol untuk mengonfigurasi dan mengelola setelan aplikasi Anda. Cloud Run tidak memerlukan konfigurasi berbasis file, tetapi konfigurasi YAML didukung.
Tidak seperti layanan App Engine yang bersifat publik secara default, layanan Cloud Run bersifat pribadi secara default dan mengharuskan Anda mengonfigurasinya untuk akses publik (tidak diautentikasi).
Peran yang diperlukan
Anda dapat memilih untuk membuat akun layanan baru atau menggunakan akun layanan yang sama yang dikelola pengguna di Cloud Run yang Anda gunakan untuk App Engine. Anda atau administrator Anda harus memberikan peran IAM berikut ke akun deployer dan akun layanan Cloud Build.
Klik untuk melihat peran yang diperlukan untuk akun deployer
Untuk mendapatkan izin yang diperlukan untuk mem-build dan men-deploy dari sumber, minta administrator Anda untuk memberikan peran IAM berikut:
- Cloud Run Source Developer (
roles/run.sourceDeveloper) di project Anda - Service Usage Consumer (
roles/serviceusage.serviceUsageConsumer) di project Anda - Pengguna Akun Layanan (
roles/iam.serviceAccountUser) di identitas layanan Cloud Run
Klik untuk melihat peran yang diperlukan untuk akun layanan Cloud Build
Cloud Build secara otomatis menggunakan akun layanan default Compute Engine sebagai akun layanan Cloud Build default untuk mem-build kode sumber dan resource Cloud Run Anda, kecuali jika Anda mengganti perilaku ini. Agar
Cloud Build dapat mem-build sumber Anda, minta administrator Anda untuk memberikan
Cloud Run Builder
(roles/run.builder) ke akun layanan default Compute Engine
di project Anda:
gcloud projects add-iam-policy-binding PROJECT_ID \ --member=serviceAccount:PROJECT_NUMBER-compute@developer.gserviceaccount.com \ --role=roles/run.builder
Ganti PROJECT_NUMBER dengan nomor project Anda Google Cloud, dan PROJECT_ID dengan project ID Anda Google Cloud. Untuk mengetahui petunjuk mendetail tentang cara menemukan project ID dan nomor project Anda,
lihat Membuat
dan mengelola project.
Pemberian peran builder Cloud Run ke akun layanan default Compute Engine memerlukan waktu beberapa menit untuk diterapkan.
Untuk mengetahui daftar peran dan izin IAM yang terkait dengan Cloud Run, lihat Peran IAM Cloud Run dan Izin IAM Cloud Run. Jika layanan Cloud Run Anda berinteraksi dengan Google Cloud API, seperti Cloud Client Libraries, lihat panduan konfigurasi identitas layanan. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat izin deployment dan mengelola akses.
Men-deploy aplikasi App Engine yang ada
Deploy aplikasi App Engine yang ada langsung ke Cloud Run menggunakan Google Cloud konsol atau gcloud CLI.
Konsol
Di Google Cloud konsol, buka halaman App Engine.
Di menu navigasi, klik Migration hub untuk men-deploy aplikasi App Engine Anda ke Cloud Run. Migration hub juga memungkinkan Anda memeriksa perkiraan penghematan di Cloud Run untuk perkiraan biaya dan rekomendasi.
Pilih layanan yang ingin Anda migrasikan, lalu klik Check compatibility.
Pilih Service dan Version untuk melihat hasil kompatibilitas. Migration hub menjalankan pemeriksa kompatibilitas untuk mengidentifikasi fitur yang tidak kompatibel.
Tinjau hasilnya untuk memverifikasi bahwa aplikasi Anda sepenuhnya kompatibel dengan Cloud Run, lalu klik Continue untuk melanjutkan ke bagian Review &Deploy.
Salin perintah di bagian Deploy through gcloud, lalu jalankan di dalam direktori project Anda.
Klik View deployed versions untuk melihat layanan App Engine Anda yang di-deploy di Cloud Run.
gcloud
Gunakan Google Cloud CLI untuk memigrasikan aplikasi Anda menggunakan file app.yaml lokal atau konfigurasi deployment App Engine yang ada.
Di terminal Anda, ubah ke direktori sumber project tempat file
app.yamlberada.Jalankan perintah berikut:
gcloud beta app migrate-to-runJika file
app.yamlAnda berada di direktori lain, sertakan flag--appyaml:gcloud beta app migrate-to-run --appyaml=PATHGanti PATH dengan jalur ke file
app.yamlAnda.
Untuk mengetahui informasi selengkapnya, lihat gcloud beta app migrate-to-run.
Menggunakan file app.yaml
Terjemahkan file app.yaml App Engine lokal Anda ke layanan Cloud Run dengan menjalankan perintah berikut:
Di terminal Anda, ubah ke direktori sumber project tempat file
app.yamlberada.Jalankan perintah berikut:
gcloud beta app migrate-to-runJika file
app.yamlAnda berada di direktori lain, sertakan flag--appyaml:gcloud beta app migrate-to-run --appyaml=PATHGanti PATH dengan jalur ke file
app.yamlAnda.
Untuk mengetahui informasi selengkapnya, lihat gcloud beta app migrate-to-run.
Menggunakan konfigurasi deployment yang ada
Untuk menggunakan konfigurasi layanan App Engine yang di-deploy, bukan file app.yaml lokal, jalankan perintah berikut.
gcloud beta app migrate-to-run --service=SERVICE --version=VERSION
Perintah ini menggunakan konfigurasi file app.yaml dari deployment yang ada, yang mungkin sudah tidak berlaku jika Anda baru-baru ini melakukan perubahan pada file app.yaml lokal Anda:
Ganti kode berikut:
- SERVICE dengan nama layanan App Engine Anda.
App Engine menggunakan konfigurasi layanan yang ada, dan mengabaikan konfigurasi file
app.yamldi direktori lokal Anda. - VERSION dengan ID versi layanan Anda. App Engine menggunakan konfigurasi versi yang ada, dan mengabaikan konfigurasi file
app.yamldi direktori lokal Anda.
Untuk mengetahui informasi selengkapnya, lihat gcloud beta app
migrate-to-run.
Fitur yang tidak kompatibel
Perintah migrasi akan gagal jika file app.yaml Anda berisi salah satu konfigurasi yang tidak didukung berikut:
Layanan masuk:
inbound_services: - warmupHalaman error kustom:
error_handlers: - file: default_error.html - error_code: over_quota file: over_quota.htmlLayanan paket untuk runtime generasi kedua:
app_engine_apis: trueVariabel lingkungan build:
build_env_variables: Foo: BarRuntime generasi pertama:
runtime: python27
Langkah berikutnya
- Pahami cara mengelola layanan Cloud Run.
- Lihat kontrak runtime container Cloud Run untuk memahami persyaratan dan perilaku container di Cloud Run.
- Pelajari cara menyimpan dependensi untuk layanan Anda yang memerlukan kunci API, sandi, atau informasi sensitif lainnya menggunakan Secret Manager.