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 yang ada di lingkungan fleksibel ke Cloud Run.
Langkah-langkah yang dijelaskan dalam panduan ini tidak memengaruhi fungsi atau alur traffic aplikasi App Engine yang ada. Layanan Cloud Run yang baru dibuat adalah replika layanan App Engine yang dapat Anda uji secara independen.
Lingkungan fleksibel App Engine dan Cloud Run adalah platform aplikasi yang terkelola sepenuhnya dan kompatibel dengan container, tetapi keduanya berbeda secara struktural. 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:
Gunakan konfigurasi lokal file
app.yaml(direkomendasikan): Pilih opsi ini untuk membangun image container langsung dari kode sumber lokal Anda dan men-deploy-nya ke Cloud Run. Tindakan ini memastikan bahwa modifikasi lokal terbaru pada kode atau konfigurasi Anda disertakan dalam deployment baru.Gunakan image yang dibuat sebelumnya: Opsi ini berguna jika Anda tidak memiliki akses ke kode sumber. Pilih opsi ini untuk men-deploy salinan persis dari versi yang sudah berjalan di App Engine, tanpa membangun ulang image container. Hal ini berguna jika Anda ingin memverifikasi perilaku deployment aktif tanpa perubahan kode.
Sebelum memulai
Pastikan aplikasi App Engine Anda berjalan tanpa error. Anda memerlukan akses ke kode sumber App Engine jika memilih untuk men-deploy menggunakan konfigurasi lokal.
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: Google Cloud Project ID Anda.
- REGION: region tempat Anda ingin men-deploy layanan Cloud Run.
Periksa fitur yang tidak kompatibel di aplikasi Anda, dan hapus fitur tersebut sebelum bermigrasi ke Cloud Run. Untuk memeriksa ketidakcocokan aplikasi tanpa melakukan migrasi atau deployment, jalankan perintah berikut:
gcloud beta app migrate-to-run --dry-runTinjau hasil pemeriksaan kompatibilitas dan lakukan perubahan yang direkomendasikan jika diperlukan.
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 lebih lanjut cara men-deploy ke Cloud Run.Anda dapat men-deploy kode sumber ke Cloud Run menggunakan gcloud CLI 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 dikelola pengguna yang sama di Cloud Run yang Anda gunakan untuk lingkungan fleksibel. 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.
Menggunakan konfigurasi lokal file app.yaml
Untuk men-deploy layanan Cloud Run menggunakan file app.yaml lokal dari konfigurasi App Engine yang ada, ikuti langkah-langkah berikut:
Di terminal, ubah ke direktori sumber tempat file
app.yamlberada.Jalankan perintah berikut untuk men-deploy layanan Anda ke Cloud Run:
gcloud beta app migrate-to-runPerintah ini menghasilkan konfigurasi file
service.yamluntuk Cloud Run dan menyimpannya secara lokal ke direktori yang sama dengan fileapp.yamlAnda. Untuk informasi selengkapnya, lihat:gcloud beta app migrate-to-run.- Saat diminta
Proceed with the deployment?, masukkanYuntuk membangun image container dari kode sumber Anda, lalu men-deploy layanan ke Cloud Run.
- Saat diminta
Buka layanan Cloud Run yang telah di-deploy dengan membuka URL layanan di browser web.
Opsional:
Jika file
app.yamlAnda berada di direktori lain, tentukan jalur file tersebut menggunakan flag--appyaml:gcloud beta app migrate-to-run --appyaml=PATHGanti PATH dengan jalur ke file
app.yamlAnda.Untuk membuat dan mengekspor konfigurasi Cloud Run
service.yamltanpa men-deploy layanan, jalankan perintah berikut:gcloud beta app migrate-to-run --export-only=EXPORT_PATHGanti EXPORT_PATH dengan direktori atau jalur tempat Anda ingin menyimpan file
service.yaml.
Menggunakan image yang dibuat sebelumnya
Untuk men-deploy menggunakan image container yang sebelumnya dibuat dari versi App Engine yang di-deploy, bukan membangun ulang image container dari file app.yaml lokal, ikuti langkah-langkah berikut:
Anda tidak memerlukan kode sumber aplikasi untuk deployment ini.
Jalankan perintah berikut untuk men-deploy layanan Anda ke Cloud Run. Perintah ini menggunakan image container deployment App Engine yang aktif dan tidak merekam perubahan terbaru dari file
app.yamllokal Anda, yang dapat menyebabkan deployment yang sudah tidak berlaku:gcloud beta app migrate-to-run --service=SERVICE --version=VERSION --from-imageGanti kode berikut:
- SERVICE: nama layanan App Engine Anda.
- VERSION: ID versi layanan Anda.
Perintah ini mengambil konfigurasi layanan dan versi yang ditentukan untuk membuat file
service.yamluntuk Cloud Run. Untuk mengetahui informasi selengkapnya, lihatgcloud beta app migrate-to-run.- Saat diminta dengan
Proceed with the deployment?, masukkanYuntuk mengekspor image container App Engine yang ada dan men-deploy layanan ke Cloud Run.
Buka layanan Cloud Run yang telah di-deploy dengan membuka URL layanan di browser web.
Opsional:
Untuk membuat konfigurasi
service.yamlCloud Run tanpa men-deploy layanan, jalankan perintah berikut:gcloud beta app migrate-to-run --service=SERVICE \ --version=VERSION \ --from-image \ --export-only=EXPORT_PATHGanti EXPORT_PATH dengan direktori atau jalur tempat Anda ingin menyimpan file
service.yaml.
Fitur yang Tidak Kompatibel
Perintah migrasi akan gagal jika fileapp.yaml Anda berisi
konfigurasi yang tidak didukung berikut:
Layanan masuk:
inbound_services: - warmupSolusi: Hapus bagian
inbound_servicesdari fileapp.yamlAnda. Cloud Run memanaskan instance menggunakan titik entri container, sehingga Anda tidak perlu mengonfigurasi permintaan pemanasan. Jika Anda perlu menjalankan kode inisialisasi sebelum melayani traffic, konfigurasi layanan Anda untuk menjalankannya saat startup, sebelum memproses permintaan atau menggunakan pemeriksaan startup. Anda juga dapat mengonfigurasi instance minimum untuk menjaga instance tetap aktif.
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.