Data Connect hizmetlerini ve veritabanlarını yönetme

Data Connect projeleriniz iki ana altyapı öğesinden oluşur:

  • Bir veya daha fazla Data Connect hizmet örneği
  • Bir veya daha fazla PostgreSQL için Cloud SQL örneği

Bu kılavuzda, Data Connect hizmet örneklerinizi nasıl ayarlayacağınız ve yöneteceğiniz açıklanmakta, ayrıca ilişkili Cloud SQL örneklerinizi nasıl yöneteceğiniz tanıtılmaktadır.

Firebase Data Connect için bölgeleri yapılandırma

Data Connect kullanan projeler için konum ayarı gerekir.

Yeni bir Data Connect hizmet örneği oluşturduğunuzda hizmetin konumunu seçmeniz istenir.

Kullanılabildiği yerler

Data Connect hizmetleri aşağıdaki bölgelerde oluşturulabilir.

  • 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

Data Connect hizmet örneklerini yönetme

Hizmet oluşturma

Yeni bir hizmet oluşturmak için Firebase konsolunu kullanın veya Firebase KSA'yı kullanarak yerel proje başlatma işlemini çalıştırın. Bu iş akışları yeni bir Data Connect hizmeti oluşturur.

Bu akışlar ayrıca aşağıdaki konularda da size yol gösterir:

  • Yeni bir Cloud SQL örneği sağlama (ücretsiz katman)
  • Mevcut bir Cloud SQL örneğini Data Connect'ya (Blaze planı) bağlama

Kullanıcıları yönetme

Data Connect, kullanıcı erişimini yönetmek için en düşük ayrıcalık ilkesine (gerekli işlevselliği desteklemek için her kullanıcıya veya hizmet hesabına gereken minimum izinleri verme) ve rol tabanlı erişim denetimi (RBAC) (veritabanı izinlerini yönetmek için önceden tanımlanmış rollerle güvenlik yönetimini basitleştirme) kavramına uygun araçlar sunar.

Proje üyelerini, projenizdeki Data Connect örneklerini değiştirebilen kullanıcılar olarak eklemek için Firebase konsolunu kullanarak uygun önceden tanımlanmış kullanıcı rollerini seçin.

Bu roller, Kimlik ve Erişim Yönetimi (IAM) kullanılarak izin verir. Roller, izinlerin toplamıdır. Bir proje üyesine rol atadığınızda, bu proje üyesine rolün içerdiği tüm izinleri vermiş olursunuz. Daha fazla bilgiyi şu kaynaklarda bulabilirsiniz:

Belirli iş akışlarını etkinleştirmek için rolleri seçme

IAM rolleri, Firebase CLI iş akışlarını etkinleştirerek Data Connect projelerinizi yönetmenize olanak tanır.

CLI komutu, diğer iş akışı Gerekli roller
firebase init dataconnect
  • İzin yok (Cloud SQL örneği bağlanmadığında)
  • roles/cloudsql.admin (Cloud SQL örneği oluştururken)
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
  • Hedef Cloud SQL örneğinde roles/cloudsql.admin
firebase dataconnect:sql:grant
  • Hedef Cloud SQL örneğinde roles/cloudsql.admin

Data Connect hizmet performansını izleme

Hizmet performansını anlayın

Hem Data Connect hizmetinin hem de PostgreSQL için Cloud SQL hizmetinin performansı deneyiminizi etkileyebilir.

  • PostgreSQL için Cloud SQL hizmetiyle ilgili genel yönergeler için Kotalar ve sınırlar dokümanına bakın.
  • Data Connect hizmetinde, GraphQL istekleri için kota vardır. Bu kota, sorguları çağırma ve yürütme hızınızı etkiler:

    • İstemci uygulaması bağlayıcılarından gelen istekler için proje başına dakikada 6.000 istek kotası.
    • Firebase Admin SDK ve REST API'den gelen istekler için proje başına toplam 6.000 istek/dakika kotası.
    • Kullanıcı başına dakikada 1.200 istek kotası. Burada kullanıcı başına, sınırın bir IP adresi tarafından başlatılan istekler için geçerli olduğu anlamına gelir. Bu istekler, istemci uygulamasından, Firebase Admin SDK veya REST API'den başlatılabilir.

    Bu kota sınırlarıyla karşılaşırsanız lütfen ilgili kotayı ayarlamak için Firebase destek ekibiyle iletişime geçin.

Hizmet performansını, kullanımını ve faturalandırmayı izleme

İstekleri, hataları ve işlem oranlarını hem genel olarak hem de işlem bazında Firebase konsolunda izleyebilirsiniz.

Cloud SQL örneklerini yönetme

Ücretsiz deneme sürümü sınırlamaları

PostgreSQL için Cloud SQL'in aşağıdaki özellikleri 3 aylık ücretsiz deneme süresinde desteklenmez:

  • 15.x dışındaki PostgreSQL sürümleri
  • Mevcut PostgreSQL için Cloud SQL örneklerinin kullanımı
  • db-f1-micro'dan farklı bir makine katmanı
  • Depolama alanı, bellek, CPU gibi örneğinizin kaynaklarını değiştirme
  • Okuma replikaları
  • Özel örnek IP adresi
  • Yüksek kullanılabilirlik (çok bölgeli); yalnızca tek bölgeli örnekler desteklenir.
  • Enterprise Plus sürümü
  • Otomatik yedekleme
  • Otomatik depolama alanı artışı.

Cloud SQL örneklerini yönetme

Genel olarak, aşağıdaki iş akışlarını gerçekleştirmek için Cloud SQL örneklerinizi Google Cloud konsolunu kullanarak yönetebilirsiniz.

  • Cloud SQL örneklerini durdurma ve yeniden başlatma
  • Cloud SQL veritabanları oluşturma ve silme (örnekler içinde)
  • PostgreSQL veritabanı örneklerini işaretlerle başlatma ve çeşitli uzantılar kullanma
  • Google Cloud konsolundaki Cloud SQL gözlemlenebilirlik özellikleriyle performansı izleme
  • IAM, Secret Manager, veri şifreleme ve yetkilendirme proxy'si gibi özelliklerle Cloud SQL erişimini ve güvenliğini yönetme
  • Cloud SQL kullanıcılarını ekleme, silme ve yönetme

Bu ve diğer iş akışları için PostgreSQL İçin Cloud SQL belgelerine bakın.

PostgreSQL kullanıcı rollerini verme

Data Connect, kullanıcı erişimini yönetmek için en düşük ayrıcalık ilkesine (gerekli işlevselliği desteklemek için her kullanıcıya veya hizmet hesabına gereken minimum izinleri verme) ve rol tabanlı erişim denetimi (RBAC) (veritabanı izinlerini yönetmek için önceden tanımlanmış rollerle güvenlik yönetimini basitleştirme) kavramına uygun araçlar sunar.

Bazı durumlarda, örneğin Cloud Run, Cloud Functions veya GKE kullanarak doğrudan seçtiğiniz bir SQL istemcisi aracılığıyla Data Connect tarafından yönetilen Cloud SQL veritabanına bağlanmak isteyebilirsiniz.

Bu tür bağlantıları etkinleştirmek için SQL izinleri vermeniz gerekir. Bunun için:

  • Örneğe bağlanması gereken kullanıcıya veya hizmet hesabına roles/cloudsql.client IAM rolünü atayın. Bunu Google Cloud konsolundan veya gcloud CLI kullanarak yapabilirsiniz.
  • Firebase CLI'yı kullanarak gerekli PostgreSQL rolünü verme

Cloud SQL IAM rolünü atama

IAM rolü roles/cloudsql.client atamak için PostgreSQL İçin Cloud SQL ile çalışma hakkında bilgi edinmek üzere Roller ve izinler başlıklı makaleyi inceleyin.

PostgreSQL rolleri verme

Firebase CLI'yı kullanarak firebase dataconnect:sql:grant komutuyla projenizle ilişkili kullanıcılara veya hizmet hesaplarına önceden tanımlanmış PostgreSQL rolleri verebilirsiniz.

Örneğin, yazar rolü vermek için CLI'da şu komutu çalıştırın:

firebase dataconnect:sql:grant --role writer

Ayrıntılar için KSA referans kılavuzuna bakın.

Mevcut PostgreSQL için Cloud SQL veritabanlarını entegre etme

Varsayılan veritabanı sağlama ve yönetim akışı, projenizin yeni (sıfırdan) veritabanları kullandığını varsayar. firebase deploy komutunu çağırdığınızda Data Connect, yapılacak veritabanı şeması değişikliklerini gösterir ve onayınızdan sonra tüm taşımaları gerçekleştirir.

Mevcut (brownfield) veritabanları için şemaları yönetmeye yönelik kendi iş akışınız olabilir ve Data Connect araçlarını geçişler için kullanamayabilirsiniz. Ancak mobil ve web için SDK oluşturma, sorguya dayalı yetkilendirme, istemci bağlantı yönetimi gibi özelliklerden yararlanmak amacıyla veritabanınızı bir Data Connect projesinde kullanmak isteyebilirsiniz.

Bu bölümde, mevcut veritabanlarını Data Connect ile entegre etme hakkında bilgi verilmektedir.

adımları uygulayarak Database Migration Service'i kullanabilirsiniz.

Mevcut bir veritabanını Data Connect projesine entegre etme

Mevcut bir veritabanını entegre etme iş akışı genellikle şu adımları içerir:

  1. Data Connect Konsolda Firebase proje kurulumu sırasında örneği ve veritabanını seçin.
  2. Firebase CLI'yı kullanarak firebase dataconnect:sql:setup komutunu çalıştırın ve Data Connect'ın SQL taşıma işlemlerini gerçekleştirmesine izin verme seçeneğini belirleyin.

    Veritabanı şemanızda özel araçlarınız tarafından yapılmayan değişiklikleri önlemek için setup komutu uygun okuyucu ve yazıcı rollerini atar ancak owner rolünü atamaz. setup komutu ve PostgreSQL rolleri hakkında daha fazla bilgiyi KSA referans kılavuzunda bulabilirsiniz.

  3. Veritabanı şemanızla eşleşen bir Data Connect GraphQL şeması yazın.

    GraphQL şemanızı, sorgularınızı ve mutasyonlarınızı yalnızca GraphQL şemanız PostgreSQL şemananızla uyumlu olduğunda dağıtabilirsiniz.

    Her iki şemayı da hizalamayı kolaylaştırmak için firebase dataconnect:sql:diff komutunu sunuyoruz. Bu komut, veritabanınızı taşımak için gereken SQL ifadelerini sağlar. Bunu, GraphQL şemanızı mevcut veritabanı şemanızla eşleşecek şekilde yinelemeli olarak iyileştirmek için kullanabilirsiniz.

  4. Bundan sonra, yerel geliştirme ortamınızda GraphQL şemanız, sorgularınız ve mutasyonunuz üzerinde hızlı bir şekilde yineleme yapabilirsiniz. Ardından, sonuçtan memnun kaldığınızda firebase dataconnect:sql:diff kullanarak özel araçlarınızı ve akışlarınızı kullanarak PostgreSQL'e uygulayabileceğiniz SQL taşıma ifadelerini elde edebilirsiniz.

  5. Alternatif olarak, önce doğrudan PostgreSQL veritabanınızda değişiklik yapıp bunları GraphQL şemanıza geri aktarmayı deneyebilirsiniz. Şema değişikliklerinin desteklenmediği durumlar olabileceğinden GraphQL'i öncelikli olarak kullanmanızı öneririz. Ayrıca, PostgreSQL şemanızı dağıtılan bağlayıcı sorgularıyla veya mutasyonla uyumsuz hale getiren değişiklikler dağıtırsanız bu bağlayıcılar çalışmayı durdurabilir veya hatalı davranışlar sergileyebilir.