Mengelola layanan dan database SQL Connect

Project SQL Connect Anda terdiri dari dua elemen infrastruktur utama:

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

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

Mengonfigurasi region untuk Firebase SQL Connect

Project yang menggunakan SQL Connect memerlukan setelan lokasi.

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

Lokasi yang tersedia

SQL Connect layanan dapat dibuat di region berikut.

  • asia-east1
  • asia-east2
  • asia-northeast1
  • asia-northeast2
  • asia-northeast3
  • asia-south1
  • asia-southeast1 (tidak tersedia untuk uji coba paket Spark)
  • asia-southeast2 (tidak tersedia untuk uji coba paket Spark)
  • 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 SQL Connect

Membuat layanan

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

Alur ini juga memandu Anda melalui:

  • Menyediakan instance Cloud SQL baru (tingkat gratis)
  • Menautkan instance Cloud SQL yang ada ke SQL Connect (paket Blaze)
Firebase

Mengelola pengguna

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

Untuk menambahkan anggota project sebagai pengguna yang dapat mengubah SQL Connect instance di project Anda, gunakan konsol Firebase untuk memilih peran pengguna yang telah ditentukan 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 untuk mengelola project SQL Connect Anda.

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 pada instance Cloud SQL target
firebase dataconnect:sql:grant
  • roles/cloudsql.admin pada instance Cloud SQL target

Memantau performa layanan SQL Connect

Memahami performa layanan

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

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

    • Kuota per project per region sebesar 24.000 permintaan GraphQL per menit

    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 kecepatan operasi, baik secara global maupun per operasi di konsol Firebase.

Mengelola instance Cloud SQL

Batasan uji coba gratis

Fitur Cloud SQL untuk PostgreSQL berikut tidak didukung dalam uji coba gratis Spark atau Blaze:

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

Batasan database orientasi sementara

Saat menambahkan SQL Connect ke project Firebase, Anda dapat langsung mulai membuat prototipe model data dan memuat data, karena data akan disimpan dalam database sementara. Perhatikan bahwa instance Cloud SQL untuk PostgreSQL permanen Anda akan memerlukan waktu 5 hingga 20 menit untuk disediakan. Data awal yang Anda muat akan otomatis dimigrasikan ke database PostgreSQL permanen setelah disediakan.

Database sementara ini sangat cocok untuk mempelajari skema dan operasi CRUD Anda.

Jika tidak ingin menggunakan database sementara, tunggu hingga instance Anda disediakan.Cloud SQL

Database sementara bukan database PostgreSQL dan tidak menyediakan semua fitur PostgreSQL.

Batasan pentingnya adalah:

  • Ukuran database harus kurang dari 1 MB
  • Jumlah baris per tabel harus kurang dari 1.000
  • Kurang dari 1 kueri per detik
  • Tidak ada dukungan untuk penelusuran teks lengkap
  • Tidak ada dukungan untuk pembuatan embedding vektor
  • Tidak ada dukungan untuk fitur SQL seperti @view, @col(dataType), atau SQL native.

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 Cloud SQL database (dalam instance)

  • Memulai instance database PostgreSQL dengan flag dan menggunakan a berbagai ekstensi

  • Memantau performa dengan Cloud SQL fitur observabilitas di Google Cloud konsol

  • Mengelola Cloud SQL akses dan keamanan dengan fitur seperti IAM, Secret Manager, enkripsi data, dan proxy autentikasi

  • Menambahkan, menghapus, dan mengelola Cloud SQL pengguna.

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

Memberikan peran pengguna PostgreSQL

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

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

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

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

Menetapkan peran IAM Cloud SQL

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

Memberikan peran PostgreSQL

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

Misalnya, untuk memberikan peran penulis, jalankan perintah ini menggunakan Firebase CLI:

firebase dataconnect:sql:grant --role writer

Untuk mengetahui detailnya, lihat panduan referensi Firebase CLI.

Mengintegrasikan database Cloud SQL untuk PostgreSQL yang ada

Alur penyediaan dan pengelolaan database default mengasumsikan project Anda menggunakan database baru (greenfield), dan saat Anda memanggil firebase deploy, SQL 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 SQL Connect alat untuk migrasi, tetapi ingin menggunakan database Anda dalam project SQL Connect untuk memanfaatkan pembuatan SDK-nya untuk seluler dan web, otorisasi berbasis kueri, pengelolaan koneksi klien, dan lainnya.

Bagian ini menawarkan panduan tentang kasus terakhir: mengintegrasikan database yang ada dengan SQL Connect.

Mengintegrasikan database yang ada ke dalam project SQL Connect

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

  1. Selama penyiapan project SQL Connect di konsol Firebase, pilih instance dan database.

  2. Menggunakan Firebase CLI, jalankan perintah firebase dataconnect:sql:setup dan tolak opsi untuk mengizinkan SQL 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 bukan peran owner. Informasi selengkapnya tentang perintah setup dan peran PostgreSQL tersedia di Firebase panduan referensi CLI.

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

    Anda hanya dapat men-deploy skema, kueri, dan mutasi GraphQL jika skema GraphQL Anda 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 menggunakan perintah ini untuk menyempurnakan skema GraphQL secara berulang agar sesuai dengan skema database yang ada.

  4. Selanjutnya, 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 Anda terapkan ke PostgreSQL menggunakan alat dan alur kustom.

  5. Atau, Anda dapat melakukan perubahan langsung ke database PostgreSQL terlebih dahulu, lalu mencoba memindahkannya kembali ke skema GraphQL. Sebaiknya gunakan pendekatan GraphQL terlebih dahulu, karena mungkin ada kasus ketika 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.