Mengelola layanan dan database Data Connect

Project Data Connect Anda terdiri dari dua elemen infrastruktur utama:

  • Satu atau beberapa instance layanan Data Connect
  • Satu atau beberapa instance Cloud SQL untuk PostgreSQL

Panduan ini membahas cara menyiapkan dan mengelola instance layanan Data Connect, serta memperkenalkan cara mengelola instance Cloud SQL terkait.

Mengonfigurasi wilayah untuk Firebase Data Connect

Project yang menggunakan Data Connect memerlukan setelan lokasi.

Saat membuat instance layanan Data Connect baru, Anda akan diminta untuk memilih lokasi layanan.

Lokasi yang tersedia

Layanan Data Connect dapat dibuat di region berikut.

  • asia-east1
  • asia-east2
  • asia-northeast1
  • asia-northeast2
  • asia-northeast3
  • asia-south1
  • asia-southeast1
  • asia-southeast2
  • australia-southeast1
  • australia-southeast2
  • europe-central2
  • europe-north1
  • europe-southwest1
  • europe-west1
  • europe-west2
  • europe-west3
  • europe-west4
  • europe-west6
  • europe-west8
  • europe-west9
  • me-west1
  • northamerica-northeast1
  • northamerica-northeast2
  • southamerica-east1
  • Southamerica-west1
  • us-central1
  • us-east1
  • us-east4
  • us-south1
  • us-west1
  • us-west2
  • us-west3
  • us-west4

Mengelola instance layanan Data Connect

Membuat layanan

Untuk membuat layanan baru, gunakan Firebase console atau jalankan inisialisasi project lokal menggunakan Firebase CLI. Alur kerja ini membuat layanan Data Connect baru.

Alur ini juga memandu Anda melalui:

  • Menyediakan instance Cloud SQL baru (paket tanpa biaya)
  • Menautkan instance Cloud SQL yang ada ke Data Connect (paket Blaze)

Kelola pengguna

Data Connect menyediakan alat untuk mengelola akses pengguna yang mengikuti prinsip hak istimewa terendah (memberikan izin minimum yang diperlukan kepada setiap pengguna atau akun layanan untuk mendukung fungsi yang diperlukan) dan konsep kontrol akses berbasis peran (RBAC) (dengan peran yang telah ditentukan untuk mengelola izin database, yang menyederhanakan pengelolaan keamanan).

Untuk menambahkan anggota project sebagai pengguna yang dapat mengubah instance Data Connect di project Anda, gunakan konsol Firebase untuk memilih peran pengguna standar yang sesuai.

Peran ini memberikan izin menggunakan Identity and Access Management (IAM). Peran adalah kumpulan izin. Saat menetapkan peran kepada anggota project, Anda memberikan anggota project tersebut semua izin yang dimiliki oleh peran tersebut. Lihat informasi selengkapnya di:

Memilih peran untuk mengaktifkan alur kerja tertentu

Peran IAM memungkinkan alur kerja CLI Firebase agar Anda dapat mengelola project Data Connect.

Perintah CLI, alur kerja lainnya Peran yang diperlukan
firebase init dataconnect
  • Tidak ada izin (jika tidak menautkan instance Cloud SQL)
  • roles/cloudsql.admin (saat membuat instance Cloud SQL)
firebase deploy -–only dataconnect
  • firebasedataconnect.connectors.*
  • firebasedataconnect.services.*
  • firebasedataconnect.schemas.*
  • roles/cloudsql.admin
firebase dataconnect:sql:diff
  • firebasedataconnect.services.*
  • firebasedataconnect.schemas.*
firebase dataconnect:sql:migrate
  • roles/cloudsql.admin di instance Cloud SQL target
firebase dataconnect:sql:grant
  • roles/cloudsql.admin di instance Cloud SQL target

Memantau performa layanan Data Connect

Memahami performa layanan

Performa layanan Data Connect dan layanan Cloud SQL untuk PostgreSQL dapat memengaruhi pengalaman Anda.

  • Untuk layanan Cloud SQL untuk PostgreSQL, lihat panduan umum dalam Dokumentasi kuota dan batas.
  • Untuk layanan Data Connect, ada kuota untuk permintaan GraphQL, yang memengaruhi kecepatan Anda dapat memanggil dan menjalankan kueri:

    • Kuota per project secara keseluruhan sebesar 6.000 permintaan per menit dari konektor aplikasi klien.
    • Kuota per project secara keseluruhan sebesar 6.000 permintaan per menit dari Firebase Admin SDK dan dari REST API.
    • Kuota per pengguna sebesar 1.200 permintaan per menit. Di sini, per pengguna berarti batas berlaku untuk permintaan yang dimulai oleh satu alamat IP, baik dari aplikasi klien, dari Firebase Admin SDK, maupun dari REST API.

    Jika Anda mengalami batas kuota tersebut, hubungi dukungan Firebase untuk menyesuaikan kuota yang relevan.

Memantau performa, penggunaan, dan penagihan layanan

Anda dapat memantau permintaan, error, dan tingkat operasi, baik secara global maupun per operasi di Firebase console.

Mengelola instance Cloud SQL

Batasan uji coba gratis

Fitur Cloud SQL untuk PostgreSQL berikut tidak didukung dalam uji coba gratis 3 bulan:

  • Versi PostgreSQL selain 15.x
  • Penggunaan instance Cloud SQL untuk PostgreSQL yang ada
  • Tingkat mesin yang berbeda dari db-f1-micro
  • Mengubah resource instance Anda, seperti penyimpanan, memori, CPU
  • Replika baca
  • Alamat IP instance pribadi
  • Ketersediaan tinggi (multi-zona); hanya instance zona tunggal yang didukung
  • Edisi Enterprise Plus
  • Backup otomatis
  • Peningkatan penyimpanan otomatis.

Mengelola instance Cloud SQL

Secara umum, Anda dapat mengelola instance Cloud SQL menggunakan konsol Google Cloud untuk melakukan alur kerja berikut.

  • Menghentikan dan memulai ulang instance Cloud SQL
  • Membuat dan menghapus database Cloud SQL (dalam instance)
  • Memulai instance database PostgreSQL dengan flag dan menggunakan berbagai ekstensi
  • Memantau performa dengan fitur visibilitas Cloud SQL di konsol Google Cloud
  • Mengelola akses dan keamanan Cloud SQL dengan fitur seperti IAM, secret manager, enkripsi data, dan auth proxy
  • Menambahkan, menghapus, dan mengelola pengguna Cloud SQL.

Untuk alur kerja ini dan alur kerja lainnya, lihat dokumentasi Cloud SQL untuk PostgreSQL.

Memberikan peran pengguna PostgreSQL

Data Connect menyediakan alat untuk mengelola akses pengguna yang mengikuti prinsip hak istimewa terendah (memberikan izin minimum yang diperlukan kepada setiap pengguna atau akun layanan untuk mendukung fungsi yang diperlukan) dan konsep kontrol akses berbasis peran (RBAC) (dengan peran yang telah ditentukan untuk mengelola izin database, yang menyederhanakan pengelolaan keamanan).

Dalam beberapa kasus, Anda mungkin ingin terhubung ke database Cloud SQL yang dikelola Data Connect langsung melalui klien SQL pilihan Anda, misalnya, Cloud Run, Cloud Functions, atau GKE.

Untuk mengaktifkan koneksi tersebut, Anda perlu memberikan izin SQL dengan:

  • Menetapkan peran IAM roles/cloudsql.client ke akun pengguna atau layanan yang perlu terhubung ke instance, baik dari konsol Google Cloud maupun menggunakan gcloud CLI
  • Memberikan peran PostgreSQL yang diperlukan menggunakan CLI Firebase

Menetapkan peran IAM Cloud SQL

Untuk informasi tentang cara menggunakan Cloud SQL untuk PostgreSQL guna menetapkan peran IAM roles/cloudsql.client, lihat Peran dan izin.

Memberikan peran PostgreSQL

Dengan menggunakan CLI Firebase, Anda dapat memberikan peran PostgreSQL yang telah ditentukan sebelumnya kepada pengguna atau akun layanan yang terkait dengan project Anda dengan perintah firebase dataconnect:sql:grant.

Misalnya, untuk memberikan peran penulis, jalankan perintah ini di CLI:

firebase dataconnect:sql:grant --role writer

Untuk mengetahui detailnya, lihat panduan referensi CLI.

Mengintegrasikan database Cloud SQL untuk PostgreSQL yang ada

Alur penyediaan dan pengelolaan database default mengasumsikan bahwa project Anda menggunakan database baru (greenfield), dan saat Anda memanggil firebase deploy, Data Connect akan menampilkan perubahan skema database yang akan dilakukan dan melakukan migrasi setelah Anda menyetujuinya.

Untuk database yang ada (brownfield), Anda mungkin memiliki alur kerja sendiri untuk mengelola skema dan tidak dapat menggunakan alat Data Connect untuk migrasi, tetapi ingin menggunakan database Anda dalam project Data Connect untuk memanfaatkan pembuatan SDK-nya untuk seluler dan web, otorisasi berbasis kueri, pengelolaan koneksi klien, dan lainnya.

Bagian ini menawarkan panduan tentang kasus kedua: mengintegrasikan database yang ada dengan Data Connect.

Mengintegrasikan database yang ada ke dalam project Data Connect

Alur kerja untuk mengintegrasikan database yang ada biasanya melibatkan langkah-langkah berikut:

  1. Selama penyiapan project Data Connect di konsol Firebase, pilih instance dan database.
  2. Menggunakan Firebase CLI, jalankan perintah firebase dataconnect:sql:setup dan tolak opsi untuk mengizinkan Data Connect menangani migrasi SQL.

    Untuk mencegah perubahan pada skema database yang tidak didorong oleh alat kustom Anda, perintah setup akan menetapkan peran pembaca dan penulis yang sesuai, tetapi tidak peran owner. Informasi selengkapnya tentang perintah setup dan peran PostgreSQL tersedia di panduan referensi CLI.

  3. Tulis skema GraphQL Data Connect yang cocok dengan skema database Anda.

    Anda hanya dapat men-deploy skema, kueri, dan mutasi GraphQL jika skema GraphQL kompatibel dengan skema PostgreSQL.

    Untuk menyederhanakan penyelarasan kedua skema, kami menyediakan perintah firebase dataconnect:sql:diff, yang akan memberi Anda pernyataan SQL yang diperlukan untuk memigrasikan database. Anda dapat menggunakannya untuk meningkatkan skema GraphQL secara iteratif agar cocok dengan skema database yang ada.

  4. Ke depannya, Anda dapat melakukan iterasi dengan cepat pada skema, kueri, dan mutasi GraphQL di lingkungan pengembangan lokal. Kemudian, jika sudah puas, Anda dapat menggunakan firebase dataconnect:sql:diff untuk mendapatkan pernyataan migrasi SQL yang dapat diterapkan ke PostgreSQL menggunakan alat dan alur kustom.

  5. Atau, Anda dapat membuat perubahan langsung ke database PostgreSQL terlebih dahulu, lalu mencoba memindahkannya kembali ke skema GraphQL. Sebaiknya gunakan pendekatan GraphQL-first, karena mungkin ada kasus saat perubahan skema tidak didukung. Selain itu, jika Anda men-deploy perubahan yang membuat skema PostgreSQL tidak kompatibel dengan kueri atau mutasi konektor yang di-deploy, konektor tersebut mungkin berhenti berfungsi atau berperilaku tidak semestinya.