Lokasi Cloud Functions (generasi ke-1)

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 Emisi CO2
asia-east1 Taiwan
asia-east2 Hong Kong
asia-northeast1 Tokyo
asia-northeast2 Osaka
europe-west1 Belgia ikon daun CO Rendah2
europe-west2 London
us-central1 Iowa ikon daun CO Rendah2
us-east1 South Carolina
us-east4 Northern Virginia
us-west1 Oregon ikon daun CO Rendah2

Harga Paket 2

Cloud Functions tersedia di region berikut dengan harga Paket 2:

Region Location Emisi CO2
asia-northeast3 Seoul
asia-southeast1 Singapura
asia-southeast2 Jakarta
asia-south1 Mumbai
australia-southeast1 Sydney
europe-central2 Warsawa
europe-west3 Frankfurt ikon daun CO Rendah2
europe-west6 Zurich ikon daun CO Rendah2
northamerica-northeast1 Montreal ikon daun CO2 Rendah
southamerica-east1 Sao Paulo ikon daun CO Rendah2
us-west2 Los Angeles
us-west3 Salt Lake City
us-west4 Las Vegas

Pilih 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.

  1. Di konsol Google Cloud, buka halaman Ringkasan Cloud Functions.

    Buka halaman Ringkasan Cloud Functions

    Pastikan project tempat Anda mengaktifkan Cloud Functions dipilih.

  2. Klik Buat fungsi.

  3. 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.