Membuat aplikasi Python 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 tersebut, ID region bersifat opsional dalam URL.
Pelajari ID region lebih lanjut.
Panduan memulai ini menunjukkan cara membuat dan men-deploy aplikasi yang menampilkan
pesan singkat. Anda dapat menggunakan aplikasi contoh dalam panduan memulai ini untuk versi Python yang didukung, dengan menentukan versi runtime dan sistem operasi dalam file app.yaml
.
Sebelum memulai
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.
-
Make sure that billing is enabled for your Google Cloud project.
-
Aktifkan Cloud Build API.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.
-
Make sure that billing is enabled for your Google Cloud project.
-
Aktifkan Cloud Build API.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
Prasyarat tambahan
Lakukan inisialisasi aplikasi App Engine dengan project Anda, lalu pilih region:
gcloud app create --project=[YOUR_PROJECT_ID]
Saat diminta, pilih region tempat Anda ingin menemukan aplikasi App Engine.
Instal hal berikut di komputer lokal Anda:
Jalankan perintah berikut untuk menginstal komponen gcloud yang meliputi ekstensi App Engine untuk Python:
gcloud components install app-engine-python
Siapkan lingkungan Anda untuk pengembangan Python. Sebaiknya Anda menginstal Python versi terbaru,
pip
, dan alat terkait lainnya di sistem Anda. Untuk mendapatkan petunjuk, lihat Panduan Penyiapan Lingkungan Pengembangan Python.
Lokasi App Engine
App Engine bersifat regional. Artinya, infrastruktur yang menjalankan aplikasi Anda terletak di region tertentu, dan Google mengelolanya sehingga aplikasi Anda tersedia secara redundan di semua zona dalam region tersebut.
Memenuhi persyaratan latensi, ketersediaan, atau ketahanan adalah faktor utama untuk memilih region tempat aplikasi dijalankan. Secara umum, Anda dapat memilih region yang paling dekat dengan pengguna aplikasi Anda, tetapi Anda harus mempertimbangkan lokasi tempat App Engine tersedia serta lokasi dari produk dan layanan Google Cloud lainnya yang digunakan aplikasi Anda. Penggunaan layanan di beberapa lokasi dapat memengaruhi latensi dan harga aplikasi.
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 konsol Google Cloud. Region muncul di dekat bagian atas halaman.
Men-download aplikasi Halo Dunia
Kami telah membuat aplikasi Hello World untuk App Engine agar Anda dapat dengan cepat memahami cara men-deploy aplikasi ke Google Cloud.
Buat clone repositori aplikasi contoh Halo Dunia ke komputer lokal Anda.
git clone https://github.com/GoogleCloudPlatform/python-docs-samples
Atau, Anda dapat mendownload sampel sebagai file ZIP dan mengekstraknya.
Ubah ke direktori yang berisi kode contoh.
cd python-docs-samples/appengine/flexible/hello_world
Menjalankan Halo Dunia di komputer lokal
Untuk menjalankan aplikasi Halo Dunia di komputer lokal:
Mac OS / Linux
- Buat lingkungan Python yang terisolasi:
python3 -m venv env
source env/bin/activate
- Jika Anda tidak berada dalam direktori yang berisi kode contoh, buka direktori yang berisi kode contoh
hello_world
. Kemudian instal dependensi:cd YOUR_SAMPLE_CODE_DIR
pip install -r requirements.txt
- Jalankan aplikasi:
python main.py
- Di browser web, masukkan alamat berikut:
http://localhost:8080
Jika Anda menggunakan Cloud Shell, di toolbar, klik Web Preview dan pilih Preview on port 8080 sebagai gantinya.
Windows
Gunakan PowerShell untuk menjalankan paket Python Anda.
- Temukan penginstalan PowerShell Anda.
- Klik kanan pintasan PowerShell dan mulai sebagai administrator.
- Buat
lingkungan Python yang terisolasi.
python -m venv env
.\env\Scripts\activate
- Buka direktori project Anda lalu instal dependensi. Jika Anda tidak berada dalam direktori yang berisi kode contoh, buka direktori yang berisi kode contoh
hello_world
. Kemudian, instal dependensi:cd YOUR_SAMPLE_CODE_DIR
pip install -r requirements.txt
- Jalankan aplikasi:
python main.py
- Di browser web, masukkan alamat berikut:
http://localhost:8080
Pesan Halo Dunia dari aplikasi contoh akan ditampilkan di halaman. Di jendela terminal, tekan Ctrl+C untuk keluar dari server web.
Men-deploy dan menjalankan Halo Dunia di App Engine
Untuk men-deploy aplikasi Anda ke lingkungan fleksibel App Engine:-
Deploy aplikasi Halo Dunia dengan menjalankan perintah berikut dari direktori
hello_world
:gcloud app deploy
Pelajari flag opsional.
Flag perintah
gcloud
umum-
Sertakan flag
--version
untuk menentukan ID yang secara unik mengidentifikasi versi aplikasi Anda. Jika tidak, ID akan dibuatkan untuk Anda. Contoh:--version [YOUR_VERSION_ID]
-
Sertakan flag
--project
untuk menentukan project ID Google Cloud alternatif 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
. -
Sertakan flag
-
Luncurkan browser Anda untuk melihat aplikasi di
https://PROJECT_ID.REGION_ID.r.appspot.com
dengangcloud app browse
PROJECT_ID
mewakili project ID Google Cloud Anda.
Kali ini, halaman yang menampilkan pesan Halo Dunia dikirim oleh server web yang berjalan di instance App Engine.
Selamat! Anda telah men-deploy aplikasi App Engine pertama Anda ke lingkungan fleksibel App Engine.
Jika Anda mengalami error saat men-deploy aplikasi, lihat tips pemecahan masalah.Lihat bagian berikut untuk mengetahui informasi tentang pembersihan serta link ke kemungkinan langkah berikutnya yang dapat Anda lakukan.
Pembersihan
Agar tidak menimbulkan biaya, Anda dapat menghapus project Google Cloud untuk menghentikan penagihan semua resource yang digunakan dalam project tersebut.
- 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.
Langkah berikutnya
Mempelajari seluruh platform
Setelah mengetahui cara mengembangkan dan men-deploy aplikasi App Engine, Anda dapat menjelajahi bagian Google Cloud lainnya. Anda telah menginstal Google Cloud CLI yang menyediakan alat untuk berinteraksi dengan produk seperti Cloud SQL, Cloud Storage, Firestore, dan lainnya.
Mempelajari lingkungan fleksibel App Engine
Berikut beberapa topik yang dapat membantu Anda melanjutkan pembelajaran tentang App Engine:
Ulasan kode Halo Dunia
Halo Dunia adalah aplikasi App Engine paling sederhana, karena hanya berisi satu layanan, hanya memiliki satu versi, dan semua kode berada dalam direktori utama aplikasi. Bagian ini menjelaskan setiap file aplikasi secara mendetail.
main.py
Aplikasi Halo Dunia adalah aplikasi Flask dasar dengan satu file.
app.yaml
File app.yaml
mendeskripsikan konfigurasi berikut untuk aplikasi Anda:
- Menetapkan
env: flex
, yang menunjukkan bahwa aplikasi Anda menggunakan lingkungan fleksibel App Engine. Menentukan runtime yang digunakan oleh aplikasi. Jika Anda mengecualikan setelan
runtime_version
, App Engine akan menggunakan versi Python terbaru sebagai versi default untuk aplikasi Anda.entrypoint
memberi tahu App Engine cara memulai aplikasi. Aplikasi ini menggunakangunicorn
untuk menyalurkan aplikasi Python sebagai alternatif untuk server pengembangan Flask (digunakan saat berjalan secara lokal). Variabel$PORT
ditetapkan oleh App Engine saat memulai aplikasi. Untuk mengetahui informasi selengkapnya tentangentrypoint
, lihat Memulai aplikasi.
Untuk mengetahui informasi selengkapnya tentang cara kerja runtime Python, lihat Runtime Python.
Untuk mengetahui detail selengkapnya tentang cara mendesain aplikasi yang memanfaatkan versi dan layanan, lihat Ringkasan App Engine.
Untuk mengetahui detail selengkapnya tentang setelan konfigurasi untuk App Engine, lihat Mengonfigurasi aplikasi dengan app.yaml.
requirements.txt
requirements.txt
dan pengelola paket Python
pip
mendeklarasikan dan menginstal dependensi aplikasi. Halo Dunia memerlukan Flask, framework web, dan Gunicorn, server WSGI.
requirements.txt
menentukan library yang akan diinstal secara lokal maupun saat men-deploy ke App Engine.