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 ikon daun CO Rendah2
europe-southwest1 Madrid Generasi ke-2
europe-west1 Belgia Generasi ke-1, generasi ke-2 ikon daun 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 ikon daun CO Rendah2
me-west1 Tel Aviv Generasi ke-2
us-central1 Iowa Generasi ke-1, generasi ke-2 ikon daun 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 ikon daun 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 ikon daun CO Rendah2
europe-west6 Zurich Generasi ke-1, generasi ke-2 ikon daun 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 ikon daun CO Rendah2
northamerica-northeast2 Toronto Generasi ke-2 ikon daun CO2 Rendah
southamerica-east1 Sao Paulo Generasi ke-1, generasi ke-2 ikon daun 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.

  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.