Twoje projekty Data Connect składają się z 2 głównych elementów infrastruktury:
- Co najmniej 1 instancja usługi Data Connect
- co najmniej 1 instancja Cloud SQL for PostgreSQL,
Ten przewodnik zawiera informacje o tym, jak skonfigurować instancje usługi Data Connect i nimi zarządzać oraz jak zarządzać powiązanymi z nimi instancjami Cloud SQL.
Konfigurowanie regionów dla usługi Firebase Data Connect
Projekty, które używają Data Connect, wymagają ustawienia lokalizacji.
Podczas tworzenia nowego wystąpienia usługi Data Connect pojawi się prośba o wybranie lokalizacji usługi.
Dostępne lokalizacje
Usługi Data Connect można tworzyć w tych regionach.
- 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
Zarządzanie instancjami usługi Data Connect
Tworzenie usług
Aby utworzyć nową usługę, użyj konsoli Firebase lub uruchom lokalną inicjalizację projektu za pomocą interfejsu wiersza poleceń Firebase. Te przepływy pracy tworzą nową usługę Data Connect.
Te procesy obejmują też te czynności:
- Prowadzenie nowej instancji Cloud SQL (poziom bez kosztów)
- Łączenie istniejącej instancji Cloud SQL z usługą Data Connect (abonament Blaze)
Zarządzanie użytkownikami
Data Connect udostępnia narzędzia do zarządzania dostępem użytkowników zgodnie z zasadą jak najmniejszych uprawnień (przyznawaniem każdemu użytkownikowi lub kontu usługi minimalnych uprawnień niezbędnych do obsługi potrzebnych funkcji) oraz z pojęciem kontroli dostępu opartej na rolach (RBAC) (z wstępnie zdefiniowanymi rolami do zarządzania uprawnieniami bazy danych, co upraszcza zarządzanie zabezpieczeniami).
Aby dodać członków projektu jako użytkowników, którzy mogą modyfikować instancje Data Connect w projekcie, użyj konsoli Firebase, aby wybrać odpowiednie wstępnie zdefiniowane role użytkowników.
Te role przyznają uprawnienia za pomocą usługi Identity and Access Management (IAM). Rola to zbiór uprawnień. Przypisując rolę do członka projektu, przyznajesz temu członkowi wszystkie uprawnienia zawarte w tej roli. Więcej informacji:
- Omówienie ról uprawnień Firebase IAM
- szczegółowa lista ról Data Connect,
Wybieranie ról do włączania określonych przepływów pracy
Role uprawnień umożliwiają tworzenie przepływów pracy w interfejsie wiersza poleceń Firebase, aby umożliwić zarządzanie projektami Data Connect.
Polecenie w interfejsie wiersza poleceń, inny przepływ pracy | Wymagane role |
---|---|
firebase init dataconnect
|
|
firebase deploy -–only dataconnect
|
|
firebase dataconnect:sql:diff
|
|
firebase dataconnect:sql:migrate
|
|
firebase dataconnect:sql:grant
|
|
Monitorowanie skuteczności usługi Data Connect
Analizowanie wydajności usługi
Wydajność usługi Data Connect i usługi Cloud SQL for PostgreSQL może wpływać na działanie usługi.
- W przypadku usługi Cloud SQL for PostgreSQL zapoznaj się z ogólnymi wskazówkami w dokumentacji dotyczącej limitów i kwot.
W przypadku usługi Data Connect obowiązuje limit żądań GraphQL, który wpływa na częstotliwość, z jaką możesz wywoływać i wykonywać zapytania:
- Ogólny limit na projekt: 6000 żądań na minutę z połączeń z aplikacjami klientów.
- Ogólny limit na projekt: 6000 żądań na minutę z interfejsu Firebase Admin SDK i interfejsu REST API.
- Limit 1200 żądań na użytkownika na minutę. W tym przypadku limit na użytkownika oznacza, że limit dotyczy żądań wysłanych z jednego adresu IP, niezależnie od tego, czy pochodzą one z aplikacji klienckiej, z Firebase Admin SDK czy z interfejsu API REST.
Jeśli osiągniesz te limity, skontaktuj się z zespołem pomocy Firebase, aby dostosować odpowiedni limit.
monitorowanie skuteczności usługi, jej wykorzystania i płatności;
W konsoli Firebase możesz monitorować żądania, błędy i szybkości operacji zarówno globalnie, jak i w poszczególnych operacjach.
Zarządzanie instancjami Cloud SQL
Ograniczenia bezpłatnego okresu próbnego
Te funkcje Cloud SQL for PostgreSQL nie są obsługiwane w ramach 3-miesięcznego bezpłatnego okresu próbnego:
- wersje PostgreSQL inne niż 15.x,
- Korzystanie z istniejących instancji Cloud SQL for PostgreSQL
- inny typ maszyny niż db-f1-micro,
- Zmiana zasobów instancji, takich jak miejsce na dane, pamięć i procesor
- Repliki do odczytu
- Prywatny adres IP instancji
- Wysoka dostępność (wiele stref); obsługiwane są tylko instancje jednostrefowe
- Wersja Enterprise Plus
- Automatyczne kopie zapasowe
- Automatyczne zwiększanie miejsca na dane.
Administracja instancjami Cloud SQL
Ogólnie możesz zarządzać instancjami Cloud SQL za pomocą konsoli Google Cloud, aby wykonywać te procesy.
- Zatrzymywanie i ponowne uruchamianie instancji Cloud SQL
- Tworzenie i usuwanie baz danych Cloud SQL (w instancjach)
- Uruchamianie instancji bazy danych PostgreSQL za pomocą flag i używanie różnych rozszerzeń
- Monitoruj wydajność za pomocą funkcji monitorowania Cloud SQL w konsoli Google Cloud.
- Zarządzaj dostępem do Cloud SQL i jego zabezpieczeniami za pomocą funkcji takich jak IAM, menedżer tajnych danych, szyfrowanie danych i serwer proxy uwierzytelniania.
- Dodawanie, usuwanie i administrowanie użytkownikami Cloud SQL.
Te i inne przepływy pracy znajdziesz w dokumentacji Cloud SQL for PostgreSQL.
Przypisywanie ról użytkownika PostgreSQL
Data Connect udostępnia narzędzia do zarządzania dostępem użytkowników zgodnie z zasadą jak najmniejszych uprawnień (przyznawaniem każdemu użytkownikowi lub kontu usługi minimalnych uprawnień niezbędnych do obsługi potrzebnych funkcji) oraz z pojęciem kontroli dostępu opartej na rolach (RBAC) (z wstępnie zdefiniowanymi rolami do zarządzania uprawnieniami bazy danych, co upraszcza zarządzanie zabezpieczeniami).
W niektórych przypadkach możesz chcieć połączyć się bezpośrednio z bazą danych Cloud SQL zarządzaną przez Data Connect za pomocą wybranego przez siebie klienta SQL, np. Cloud Run, Cloud Functions lub GKE.
Aby umożliwić takie połączenia, musisz przyznać uprawnienia SQL:
- Przypisz rolę uprawnień
roles/cloudsql.client
użytkownikowi lub kontu usługi, które musi nawiązać połączenie z instancją, za pomocą konsoli Google Cloud lub interfejsu gcloud CLI. - Przyznawanie wymaganej roli PostgreSQL za pomocą interfejsu wiersza poleceń Firebase
Przypisywanie roli Cloud SQL w Cloud IAM
Informacje o działaniu w Cloud SQL for PostgreSQL w celu przypisania roli IAM roles/cloudsql.client
znajdziesz w artykule Role i uprawnienia.
Przyznawanie ról PostgreSQL
Za pomocą interfejsu wiersza poleceń Firebase możesz przypisać zdefiniowane wstępnie role PostgreSQL użytkownikom lub kontom usługi powiązanym z Twoim projektem za pomocą polecenia firebase dataconnect:sql:grant
.
Aby na przykład przyznać rolę autora, uruchom to polecenie w interfejsie wiersza poleceń:
firebase dataconnect:sql:grant --role writer
Szczegółowe informacje znajdziesz w przewodniku po interfejsie wiersza poleceń.
Integracja istniejących baz danych Cloud SQL for PostgreSQL
Domyślny proces alokacji i zarządzania bazą danych zakłada, że projekt używa nowych (nieużywanych) baz danych. Gdy wywołasz firebase deploy
, Data Connect wyświetli zmiany schematu bazy danych, które należy wprowadzić, a po zatwierdzeniu przeprowadzi migrację.
W przypadku istniejących (brownfield) baz danych możesz mieć własny proces zarządzania schematami i nie możesz używać narzędzi Data Connect do migracji, ale chcesz korzystać z bazy danych w projekcie Data Connect, aby m.in. generować pakiet SDK na potrzeby aplikacji mobilnych i internetowych, korzystać z autoryzacji na podstawie zapytań i zarządzać połączeniami klienta.
W tej sekcji znajdziesz wskazówki dotyczące tego drugiego przypadku: integracji istniejących baz danych z Data Connect.
.Integracja istniejącej bazy danych z projektem Data Connect
Proces integracji istniejącej bazy danych obejmuje zazwyczaj te czynności:
- Podczas konfigurowania projektu Data Connect w konsoli Firebase wybierz instancję i bazę danych.
Uruchom polecenie Firebase w interfejsie wiersza poleceń Firebase i odmów opcji zezwalania Data Connect na obsługę migracji SQL.
firebase dataconnect:sql:setup
Aby zapobiec zmianom w schemacie bazy danych, które nie są wprowadzane przez Twoje narzędzia niestandardowe, komenda
setup
przypisze odpowiednie role czytelnika i pisarza, ale nie rolęowner
. Więcej informacji o komandachsetup
i rolach w PostgreSQL znajdziesz w przewodniku po wierszu poleceń.Utwórz schemat GraphQL Data Connect, który pasuje do schematu bazy danych.
Schemat, zapytania i mutacje GraphQL możesz wdrożyć tylko wtedy, gdy schemat GraphQL jest zgodny ze schematem PostgreSQL.
Aby uprościć dopasowywanie obu schematów, udostępniamy polecenie
firebase dataconnect:sql:diff
, które zawiera wymagane instrukcje SQL potrzebne do przeniesienia bazy danych. Możesz go używać, aby stopniowo ulepszać schemat GraphQL, tak aby pasował do istniejącego schematu bazy danych.W przyszłości możesz szybko iterować schemat, zapytania i mutacje GraphQL w lokalnym środowisku programistycznym. Następnie, gdy wszystko będzie gotowe, możesz użyć narzędzia
firebase dataconnect:sql:diff
, aby uzyskać instrukcje migracji SQL, które możesz zastosować w PostgreSQL za pomocą niestandardowych narzędzi i przepływów.Możesz też najpierw wprowadzić zmiany bezpośrednio w bazie danych PostgreSQL, a potem spróbować przenieść je z powrotem do schematu GraphQL. Zalecamy podejście polegające na użyciu GraphQL w pierwszej kolejności, ponieważ mogą wystąpić przypadki, w których zmiany w schemacie nie będą obsługiwane. Jeśli dodatkowo wdrożysz zmiany, które powodują, że schemat PostgreSQL staje się niezgodny z zaimplementowanymi zapytaniami lub mutacjami w złączu, te złącza mogą przestać działać lub zacząć działać nieprawidłowo.