Membuat aplikasi runtime kustom di lingkungan fleksibel App Engine
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 ini, ID region bersifat opsional dalam URL.
Dengan runtime kustom Anda dapat membangun aplikasi yang berjalan di lingkungan yang ditentukan oleh Dockerfile. Dengan menggunakan a Dockerfile, Anda dapat menggunakan bahasa dan paket yang bukan bagian dari Google Cloud serta menggunakan resource dan alat yang sama dengan yang digunakan di lingkungan fleksibel App Engine.
Dalam panduan memulai ini, server web nginx diluncurkan ke App Engine menggunakan runtime kustom.
Sebelum memulai
Sebelum menjalankan aplikasi contoh di panduan memulai ini, Anda perlu menyiapkan lingkungan dan membuat Google Cloud project baru untuk App Engine:
Buat Google Cloud project baru menggunakan Google Cloud console:
Bukaconsole: Google Cloud
Klik Create Project , lalu beri nama Google Cloud project baru Anda.
Aktifkan penagihan diproject baru Anda dengan membuat akun penagihan baru atau menetapkan akun penagihan yang sudah ada: Google Cloud
Download dan instal Google Cloud CLI, lalu inisialisasi gcloud CLI:
Jalankan perintah
gcloudberikut untuk membuat aplikasi App Engine dan tentukan region geografis mana yang Anda inginkan untuk menjalankan aplikasi:gcloud app create- Karena perubahan perilaku default terkait cara Cloud Build menggunakan akun layanan di project baru, dan perubahan kebijakan organisasi yang aman secara default, Anda mungkin perlu memberikan peran tambahan ke akun layanan deployment. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran tertentu, lihat panduan pemecahan masalah.
Lokasi App Engine
App Engine bersifat regional. Artinya, infrastruktur yang menjalankan aplikasi Anda terletak di region tertentu, dan Google mengelolanya sehingga tersedia secara redundan di seluruh semua zona dalam region tersebut.
Memenuhi persyaratan latensi, ketersediaan, atau ketahanan adalah faktor utama untuk memilih region tempat aplikasi dijalankan. Umumnya, Anda dapat memilih region yang paling dekat dengan pengguna aplikasi Anda, tetapi Anda harus mempertimbangkan lokasi tempat App Engine tersedia serta lokasi dari Google Cloud produk dan layanan lain yang digunakan aplikasi Anda. Penggunaan layanan di beberapa lokasi dapat memengaruhi latensi dan hargaaplikasi.
Anda tidak dapat mengubah region aplikasi setelah menyetelnya.
Jika sudah membuat aplikasi App Engine, Anda dapat melihat region-nya dengan melakukan salah satu tindakan berikut:
Jalankan perintah
gcloud app describe.Buka Dasbor App Engine di Google Cloud konsol. Region muncul di dekat bagian atas halaman.
Mendownload aplikasi Halo Dunia
Pilih salah satu opsi berikut untuk mendownload aplikasi contoh Hello World dari GitHub ke komputer lokal Anda:
Clone aplikasi contoh Halo Dunia dari repositori berikut:
git clone https://github.com/GoogleCloudPlatform/appengine-custom-runtimes-samplesUnduh contoh sebagai file .zip, lalu ekstrak ke direktori lokal.
Buka direktori
nginxtempat kode contoh berada, misalnya:cd appengine-custom-runtimes-samples/nginx
Menjalankan Halo Dunia di komputer Anda
Anda dapat menguji aplikasi contoh dengan mendownload dan menginstal Docker, lalu menjalankan container Hello World di komputer lokal.
Tidak ada langkah-langkah khusus App Engine di sini sehingga Anda dapat menguji aplikasi contoh menggunakan alat dan pendekatan yang Anda inginkan.
Men-deploy Halo Dunia ke App Engine
Setelah Anda siap men-deploy aplikasi contoh ke App Engine, lakukan langkah-langkah berikut:
Jalankan perintah berikut dari direktori tempat
app.yamldanDockerfileAnda berada:gcloud app deployPelajari flag opsional.
Agar aplikasi Anda berjalan di
https://PROJECT_ID.REGION_ID.r.appspot.com, jalankan perintah berikut untuk meluncurkan browser:gcloud app browse
Flag perintah gcloud umum
-
Sertakan flag
--versionuntuk menentukan ID yang secara unik mengidentifikasi versi aplikasi Anda. Jika tidak, ID akan dibuatkan untuk Anda. Contoh:--version [YOUR_VERSION_ID] -
Sertakan flag
--projectuntuk menentukan project ID alternatif Google Cloud dengan yang Anda inisialisasi sebagai default di alatgcloud. Contoh:--project [YOUR_PROJECT_ID]
Contoh:
gcloud app deploy --version pre-prod-5 --project my-sample-app
Untuk mempelajari lebih lanjut cara men-deploy aplikasi dari command line, lihat bagian Menguji dan Men-deploy Aplikasi. Untuk daftar semua flag perintah, lihat referensi gcloud app deploy.
Pembersihan
Agar akunAnda tidak dikenai biaya untuk resource yang digunakan pada halaman ini, ikuti langkah-langkah berikut. Google Cloud
- Di Google Cloud konsol, buka halaman Manage resources.
- Pada daftar project, pilih project yang Anda ingin Anda hapus, lalu klik Delete.
- Pada dialog, ketik project ID, lalu klik Shut down untuk menghapus project.
Langkah berikutnya
Pelajari Dockerfile lebih lanjut di referensi Dockerfile.
Untuk informasi tentang cara membuat runtime kustom Anda sendiri, lihat Mem-build Runtime Kustom.
Peninjauan kode
Halo Dunia adalah aplikasi App Engine paling sederhana karena aplikasi ini membuat satu container yang hanya menjalankan satu layanan dan satu versi. Bagian ini menjelaskan setiap file aplikasi secara mendetail.
app.yamlMenentukan konfigurasi aplikasi. File
app.yamlharus berada di direktori yang sama dengan fileDockerfile.Entri
runtime: custommemberi tahu App Engine untuk mencariDockerfileyang akan menentukan image runtime Anda danenv: flexmenentukan bahwa Anda men-deploy ke lingkungan fleksibel.Untuk informasi selengkapnya, lihat referensi
app.yaml.DockerfileMenentukan rangkaian petunjuk yang digunakan untuk membuat image Docker untuk container aplikasi contoh. File
Dockerfileharus berada di direktori yang sama dengan fileapp.yaml.Dockerfileini akan menginstal server web nginx dan menyalin beberapa konfigurasi dasar:Perintah FROM membuat image dasar menggunakan image Docker resmi untuk server web nginx.
Dengan menggunakan
Dockerfileini, image container Anda akan berisi nginx dan semua konten dalam direktoriwww/akan tersedia untuk aplikasi Anda.
Aplikasi contoh Halo Dunia juga mencakup
nginx.conf
file yang berisi informasi konfigurasi dasar nginx, serta
index.html
yang berfungsi sebagai halaman {i>root<i} untuk server web nginx.