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 alur traffic aplikasi App Engine yang sudah 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:
Deploy aplikasi App Engine yang ada langsung ke Cloud Run.
Gunakan file
app.yamluntuk men-deploy layanan ke Cloud Run menggunakan konfigurasi App Engine 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 project ID Google Cloud Anda.
- REGION dengan wilayah Anda.
Tinjau fitur yang tidak kompatibel di aplikasi Anda, dan hapus sebelum bermigrasi ke Cloud Run. Jika ada fitur yang tidak kompatibel di aplikasi yang ada, proses migrasi akan berhenti dan mencantumkan ketidakcocokan tersebut.
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 konsol Google Cloud untuk mengonfigurasi dan mengelola setelan aplikasi Anda. Cloud Run tidak memerlukan konfigurasi berbasis file; namun, konfigurasi YAML didukung.
Setiap layanan yang Anda deploy ke Cloud Run menggunakan domain
run.appdi URL untuk mengakses layanan secara publik.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 kepada akun deployer dan akun layanan Cloud Build.
Klik untuk melihat peran yang diperlukan untuk akun deployer
Untuk mendapatkan izin yang Anda perlukan untuk membangun dan men-deploy dari sumber, minta administrator untuk memberi Anda 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) pada 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 membangun kode sumber dan
resource Cloud Run Anda, kecuali jika Anda mengganti perilaku ini. Agar Cloud Build dapat membangun sumber Anda, minta administrator Anda untuk memberikan peran 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 Google Cloud
Anda, dan PROJECT_ID dengan project ID Google Cloud
Anda. 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 berlaku.
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 Library Klien Cloud, 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 konsol Google Cloud , buka halaman App Engine.
Di menu navigasi, klik Migration hub untuk men-deploy aplikasi App Engine ke Cloud Run. Hub migrasi juga memungkinkan Anda memeriksa perkiraan penghematan di Cloud Run untuk perkiraan dan rekomendasi biaya.
Pilih layanan yang ingin Anda migrasikan, lalu klik Periksa kompatibilitas.
Pilih Layanan dan Versi Anda untuk melihat hasil kompatibilitas. Hub migrasi menjalankan pemeriksa kompatibilitas untuk mengidentifikasi fitur yang tidak kompatibel.
Tinjau hasilnya untuk memverifikasi bahwa aplikasi Anda sepenuhnya kompatibel dengan Cloud Run, lalu klik Lanjutkan untuk melanjutkan ke bagian Tinjau & Deploy.
Salin perintah di bagian Deploy melalui gcloud, lalu eksekusi 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 menggunakan file app.yaml lokal atau konfigurasi deployment App Engine yang ada.
Di terminal, 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 tanda--appyaml:gcloud beta app migrate-to-run --appyaml=PATHGanti PATH dengan jalur ke file
app.yamlAnda.
Untuk 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, 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 tanda--appyaml:gcloud beta app migrate-to-run --appyaml=PATHGanti PATH dengan jalur ke file
app.yamlAnda.
Untuk 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 membuat perubahan pada file app.yaml lokal:
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 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.