Lokasi Cloud Functions
Cloud Functions bersifat regional. Artinya, infrastruktur yang menjalankan Cloud Functions terletak di region tertentu dan dikelola oleh Google agar tersedia secara redundan di semua zona dalam region tersebut.
Saat memilih region untuk menjalankan Cloud Functions, pertimbangan utama Anda haruslah latensi dan ketersediaan. Secara umum, Anda bisa memilih region yang terdekat dengan pengguna Cloud Functions, tetapi Anda juga harus mempertimbangkan lokasi produk dan layanan Google Cloud lain yang digunakan aplikasi Anda. Penggunaan layanan di beberapa lokasi dapat memengaruhi latensi dan pricing aplikasi.
Region yang tersedia untuk Cloud Functions tercantum di bawah ini. Berbagai versi Cloud Functions memiliki ketersediaan regional yang berbeda-beda - lihat kolom "Versi produk yang didukung" di tabel.
Harga Paket 1
Cloud Functions tersedia di region berikut dengan harga Paket 1:
Region | Location | Versi produk yang didukung | Emisi CO2 |
---|---|---|---|
asia-east1 |
Taiwan | Generasi ke-1, generasi ke-2 | |
asia-east2 |
Hong Kong | Generasi ke-1 | |
asia-northeast1 |
Tokyo | Generasi ke-1, generasi ke-2 | |
asia-northeast2 |
Osaka | Generasi ke-1, generasi ke-2 | |
europe-north1 |
Finlandia | Generasi ke-2 | CO Rendah2 |
europe-southwest1 |
Madrid | Generasi ke-2 | |
europe-west1 |
Belgia | Generasi ke-1, generasi ke-2 | CO Rendah2 |
europe-west2 |
London | Generasi ke-1 | |
europe-west4 |
Belanda | Generasi ke-2 | |
europe-west8 |
Milan | Generasi ke-2 | |
europe-west9 |
Paris | Generasi ke-2 | CO Rendah2 |
me-west1 |
Tel Aviv | Generasi ke-2 | |
us-central1 |
Iowa | Generasi ke-1, generasi ke-2 | CO Rendah2 |
us-east1 |
South Carolina | Generasi ke-1, generasi ke-2 | |
us-east4 |
Northern Virginia | Generasi ke-1, generasi ke-2 | |
us-east5 |
Columbus | Generasi ke-2 | |
us-south1 |
Dallas | Generasi ke-2 | |
us-west1 |
Oregon | Generasi ke-1, generasi ke-2 | CO Rendah2 |
Harga Paket 2
Cloud Functions tersedia di region berikut dengan harga Paket 2:
Region | Location | Versi produk yang didukung | Emisi CO2 |
---|---|---|---|
asia-east2 |
Hong Kong | Generasi ke-2 | |
asia-northeast3 |
Seoul | Generasi ke-1, generasi ke-2 | |
asia-southeast1 |
Singapura | Generasi ke-1, generasi ke-2 | |
asia-southeast2 |
Jakarta | Generasi ke-1, generasi ke-2 | |
asia-south1 |
Mumbai | Generasi ke-1, generasi ke-2 | |
asia-south2 |
Delhi, India | Generasi ke-2 | |
australia-southeast1 |
Sydney | Generasi ke-1, generasi ke-2 | |
australia-southeast2 |
Melbourne | Generasi ke-2 | |
europe-central2 |
Warsawa | Generasi ke-1, generasi ke-2 | |
europe-west2 |
London | Generasi ke-2 | |
europe-west3 |
Frankfurt | Generasi ke-1, generasi ke-2 | CO Rendah2 |
europe-west6 |
Zurich | Generasi ke-1, generasi ke-2 | CO Rendah2 |
europe-west10 |
Berlin | Generasi ke-2 | |
europe-west12 |
Turin | Generasi ke-2 | |
me-central1 |
Doha | Generasi ke-2 | |
me-central2 |
Dammam | Generasi ke-2 | |
northamerica-northeast1 |
Montreal | Generasi ke-1, generasi ke-2 | CO Rendah2 |
northamerica-northeast2 |
Toronto | Generasi ke-2 | CO2 Rendah |
southamerica-east1 |
Sao Paulo | Generasi ke-1, generasi ke-2 | CO Rendah2 |
southamerica-west1 |
Santiago, Cile | Generasi ke-2 | |
us-west2 |
Los Angeles | Generasi ke-1, generasi ke-2 | |
us-west3 |
Salt Lake City | Generasi ke-1, generasi ke-2 | |
us-west4 |
Las Vegas | Generasi ke-1, generasi ke-2 |
Memilih region
Anda dapat memilih region untuk fungsi selama deployment.
gcloud
Jika menggunakan Google Cloud CLI, Anda dapat menentukan region menggunakan
flag --region
:
gcloud functions deploy FUNCTION_NAME --region=REGION ...
Dengan REGION
adalah salah satu region yang tercantum di atas.
Konsol
Jika menggunakan konsol Google Cloud, Anda dapat memilih region saat membuat dan men-deploy fungsi.
Di konsol Google Cloud, buka halaman Ringkasan Cloud Functions.
Buka halaman Ringkasan Cloud Functions
Pastikan project tempat Anda mengaktifkan Cloud Functions dipilih.
Klik Buat fungsi.
Di kolom Region, pilih region.
Anda dapat men-deploy fungsi ke region yang berbeda dalam suatu project, tetapi region untuk suatu fungsi tidak dapat diubah setelah dipilih.
Fungsi di region tertentu pada project tertentu harus memiliki nama unik (peka huruf besar/kecil), tetapi fungsi lintas region atau lintas project dapat menggunakan nama yang sama.
Menetapkan region default
Anda dapat menetapkan region default menggunakan Google Cloud CLI sebagai berikut:
gcloud config set functions/region REGION
Contoh:
gcloud config set functions/region europe-west1
Residensi Data
Cloud Functions memberikan jaminan residensi data pada cakupan eksekusi fungsi (Kepatuhan Cakupan A—eksekusi fungsi), di mana fungsi tertentu menyediakan residensi data untuk pemanggilan/eksekusi fungsi.
Kepatuhan ini berlaku untuk fungsi HTTP dan fungsi yang dipicu peristiwa. Untuk fungsi yang berbasis peristiwa, Cloud Functions mematuhi residensi data sejak produk upstream (produk pemicu) mengirimkan peristiwa ke Cloud Functions. Oleh karena itu, penting untuk memastikan bahwa produk upstream (seperti Cloud Storage atau Pub/Sub) mematuhi residensi data.
Praktik terbaik dalam mengubah region
Jika Anda perlu mengubah region tempat fungsi di-deploy, ikuti rekomendasi di bawah ini.
Fungsi HTTP
Untuk fungsi HTTP, sebaiknya deploy ulang fungsi HTTP terlebih dahulu ke
region tujuan (region ini bisa memiliki nama yang sama), lalu ubah fungsi
asal untuk mengalihkan permintaan HTTP-nya ke fungsi baru. Jika klien fungsi
HTTP Anda mendukung pengalihan, Anda dapat mengubah fungsi asal dengan mudah
untuk menampilkan status pengalihan HTTP (301
) beserta URL fungsi yang
baru. Jika klien tidak menangani pengalihan dengan baik, Anda dapat mem-proxy
permintaan dari fungsi asal ke fungsi baru dengan menginisiasi permintaan
baru dari fungsi asal ke fungsi baru. Langkah terakhir adalah
memastikan bahwa semua klien memanggil fungsi baru.
Fungsi berbasis peristiwa
Fungsi berbasis peristiwa mengadopsi semantik penayangan peristiwa setidaknya-sekali, yang berarti dalam keadaan tertentu, fungsi dapat menerima peristiwa duplikat, sehingga harus selalu diterapkan sebagai idempoten. Jika fungsi sudah idempoten, Anda dapat men-deploy ulang fungsi tersebut di region baru dengan pemicu peristiwa yang sama, dan menghapus fungsi lama setelah memverifikasi bahwa fungsi baru sudah menerima traffic dengan benar. Selama transisi ini, kedua fungsi akan menerima peristiwa.
Jika fungsi Anda saat ini tidak idempoten, atau idempotensinya tidak melampaui region, sebaiknya terapkan idempotensi terlebih dulu sebelum memindahkan fungsi.