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:
- Firebase IAM rollerine genel bakış
- Data Connect rollerinin ayrıntılı listesi
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
|
|
firebase deploy -–only dataconnect
|
|
firebase dataconnect:sql:diff
|
|
firebase dataconnect:sql:migrate
|
|
firebase dataconnect:sql:grant
|
|
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:
- Data Connect Konsolda Firebase proje kurulumu sırasında örneği ve veritabanını seçin.
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 ancakowner
rolünü atamaz.setup
komutu ve PostgreSQL rolleri hakkında daha fazla bilgiyi KSA referans kılavuzunda bulabilirsiniz.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.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.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.