Ваши проекты Data Connect состоят из двух основных элементов инфраструктуры:
- Один или несколько экземпляров службы Data Connect
- Один или несколько экземпляров Cloud SQL для PostgreSQL
В этом руководстве обсуждается, как настроить и управлять экземплярами службы Data Connect , а также рассказывается, как управлять связанными с ними экземплярами Cloud SQL.
Настройка регионов для Firebase Data Connect
Для проектов, использующих Data Connect требуется настройка местоположения.
При создании нового экземпляра службы Data Connect вам будет предложено выбрать местоположение службы.
Доступные локации
Услуги Data Connect могут быть созданы в следующих регионах .
- азия-восток1
- азия-восток2
- азия-северо-восток1
- азия-северо-восток2
- азия-северо-восток3
- азия-юг1
- азия-юго-восток1
- азия-юго-восток2
- австралия-юго-восток1
- австралия-юго-восток2
- европа-центральная2
- европа-север1
- европа-юго-запад1
- европа-запад1
- европа-запад2
- европа-запад3
- европа-запад4
- европа-запад6
- европа-запад8
- европа-запад9
- я-west1
- северная америка-северо-восток1
- северная америка-северо-восток2
- южная америка-восток1
- южная америка-запад1
- us-central1
- us-east1
- us-east4
- us-south1
- us-west1
- us-west2
- us-west3
- us-west4
Управление экземплярами службы Data Connect
Создать услуги
Чтобы создать новую службу, используйте консоль Firebase или запустите локальную инициализацию проекта с помощью Firebase CLI. Эти рабочие процессы создают новую службу Data Connect .
Эти потоки также проведут вас через:
- Подготовка нового экземпляра Cloud SQL (бесплатный уровень)
- Привязка существующего экземпляра Cloud SQL к Data Connect (план Blaze)
Управление пользователями
Data Connect предоставляет инструменты для управления доступом пользователей, которые следуют принципу наименьших привилегий (предоставлять каждому пользователю или учетной записи службы минимально необходимые разрешения для поддержки требуемой функциональности) и концепции управления доступом на основе ролей (RBAC) (с предопределенными ролями для управления разрешениями базы данных, что упрощает управление безопасностью).
Чтобы добавить участников проекта в качестве пользователей, которые могут изменять экземпляры Data Connect в вашем проекте, используйте консоль Firebase для выбора соответствующих предопределенных ролей пользователей.
Эти роли предоставляют разрешения с использованием Identity and Access Management (IAM). Роль — это набор разрешений. Когда вы назначаете роль участнику проекта, вы предоставляете этому участнику проекта все разрешения, которые содержит роль. Подробнее см. в:
- Обзор ролей Firebase IAM
- Подробный список ролей Data Connect
Выберите роли, чтобы включить определенные рабочие процессы
Роли IAM позволяют использовать рабочие процессы Firebase CLI для управления проектами Data Connect .
Команда CLI, другой рабочий процесс | Требуются роли |
---|---|
firebase init dataconnect |
|
firebase deploy -–only dataconnect |
|
firebase dataconnect:sql:diff |
|
firebase dataconnect:sql:migrate |
|
firebase dataconnect:sql:grant |
|
Мониторинг производительности службы Data Connect
Понимание эффективности обслуживания
Производительность как службы Data Connect , так и службы Cloud SQL для PostgreSQL может повлиять на ваш опыт.
- Информацию по сервису Cloud SQL для PostgreSQL см. в общих рекомендациях в документации по квотам и ограничениям .
Для службы Data Connect существует квота на запросы GraphQL, влияющая на скорость, с которой вы можете вызывать и выполнять запросы:
- Общая квота на проект составляет 6000 запросов в минуту от коннекторов клиентских приложений.
- Общая квота на проект составляет 6000 запросов в минуту из Firebase Admin SDK и из REST API.
- Квота на пользователя 1200 запросов в минуту. Здесь «на пользователя» означает, что ограничение применяется к запросам, инициированным одним IP-адресом, будь то из клиентского приложения, из Firebase Admin SDK или из REST API.
Если вы столкнетесь с этими ограничениями квоты, обратитесь в службу поддержки Firebase, чтобы скорректировать соответствующую квоту.
Мониторинг производительности, использования и выставления счетов за услуги
Вы можете отслеживать запросы, ошибки и скорость выполнения операций как в глобальном масштабе, так и для каждой операции в консоли Firebase .
Управление экземплярами Cloud SQL
Ограничения бесплатной пробной версии
Следующие функции Cloud SQL для PostgreSQL не поддерживаются в бесплатной 3-месячной пробной версии :
- Версии PostgreSQL, отличные от 15.x
- Использование существующих экземпляров Cloud SQL для PostgreSQL
- Другой уровень машины, чем db-f1-micro
- Изменение ресурсов вашего экземпляра, таких как хранилище, память, ЦП
- Читать реплики
- IP-адрес частного экземпляра
- Высокая доступность (многозонная); поддерживаются только однозонные экземпляры
- Издание Enterprise Plus
- Автоматическое резервное копирование
- Автоматическое увеличение хранилища.
Администрирование экземпляров Cloud SQL
Как правило, вы можете управлять экземплярами Cloud SQL с помощью консоли Google Cloud для выполнения следующих рабочих процессов.
- Остановка и перезапуск экземпляров Cloud SQL
- Создание и удаление баз данных Cloud SQL (внутри экземпляров)
- Запускайте экземпляры базы данных PostgreSQL с флагами и используйте различные расширения
- Отслеживайте производительность с помощью функций наблюдения Cloud SQL в консоли Google Cloud
- Управляйте доступом к Cloud SQL и безопасностью с помощью таких функций, как IAM, менеджер секретов, шифрование данных и прокси-сервер аутентификации
- Добавляйте, удаляйте и администрируйте пользователей Cloud SQL.
Информацию об этих и других рабочих процессах можно найти в документации Cloud SQL для PostgreSQL .
Предоставление ролей пользователей PostgreSQL
Data Connect предоставляет инструменты для управления доступом пользователей, которые следуют принципу наименьших привилегий (предоставлять каждому пользователю или учетной записи службы минимально необходимые разрешения для поддержки требуемой функциональности) и концепции управления доступом на основе ролей (RBAC) (с предопределенными ролями для управления разрешениями базы данных, что упрощает управление безопасностью).
В некоторых случаях вам может потребоваться подключиться к базе данных Cloud SQL, управляемой Data Connect , напрямую через клиент SQL по вашему выбору, например, с помощью Cloud Run , Cloud Functions или GKE.
Чтобы включить такие соединения, вам необходимо предоставить разрешения SQL:
- Назначение роли IAM
roles/cloudsql.client
учетной записи пользователя или службы, которой необходимо подключиться к экземпляру, либо из консоли Google Cloud , либо с помощью gcloud CLI - Предоставление необходимой роли PostgreSQL с помощью Firebase CLI
Назначьте роль Cloud SQL IAM
Информацию о работе с Cloud SQL для PostgreSQL для назначения роли IAM roles/cloudsql.client
см. в разделе Роли и разрешения .
Предоставление ролей PostgreSQL
Используя Firebase CLI, вы можете предоставить предопределенные роли PostgreSQL пользователям или учетным записям служб, связанным с вашим проектом, с помощью команды firebase dataconnect:sql:grant
.
Например, чтобы предоставить роль писателя, выполните следующую команду в CLI:
firebase dataconnect:sql:grant --role writer
Подробную информацию см. в справочном руководстве по CLI .
Интеграция существующих баз данных Cloud SQL для PostgreSQL
Поток подготовки и управления базой данных по умолчанию предполагает, что ваш проект использует новые (созданную с нуля) базы данных, и когда вы вызываете firebase deploy
, Data Connect отобразит изменения схемы базы данных, которые необходимо внести, и выполнит любые миграции после вашего одобрения.
Для существующих (старых) баз данных у вас может быть собственный рабочий процесс для управления схемами и вы не можете использовать инструменты Data Connect для миграции, но хотели бы использовать свою базу данных в проекте Data Connect чтобы воспользоваться преимуществами ее SDK-генерации для мобильных устройств и веб-приложений, авторизации на основе запросов, управления клиентскими подключениями и многого другого.
В этом разделе даются рекомендации по последнему случаю: интеграции существующих баз данных с Data Connect .
Интеграция существующей базы данных в проект Data Connect
Рабочий процесс интеграции существующей базы данных обычно включает следующие этапы:
- Во время настройки проекта Data Connect в консоли Firebase выберите экземпляр и базу данных.
Используя Firebase CLI, выполните команду
firebase dataconnect:sql:setup
и отклоните опцию, разрешающую Data Connect обрабатывать миграции SQL.Чтобы предотвратить изменения в схеме базы данных, не обусловленные вашими пользовательскими инструментами, команда
setup
назначит соответствующие роли читателя и писателя, но не рольowner
. Более подробная информация о командеsetup
и ролях PostgreSQL доступна в справочном руководстве CLI .Напишите схему Data Connect GraphQL, соответствующую схеме вашей базы данных.
Вы можете развернуть схему, запросы и мутации GraphQL только в том случае, если ваша схема GraphQL совместима с вашей схемой PostgreSQL.
Для упрощения выравнивания обеих схем мы предоставляем команду
firebase dataconnect:sql:diff
, которая предоставит вам необходимые SQL-выражения для миграции вашей базы данных. Вы можете использовать ее для итеративного уточнения вашей схемы GraphQL для соответствия вашей существующей схеме базы данных.Двигаясь вперед, вы можете быстро итерировать вашу схему GraphQL, запросы и мутацию в вашей локальной среде разработки. Затем, когда все будет удовлетворено, вы можете использовать
firebase dataconnect:sql:diff
для получения операторов миграции SQL, которые вы можете применить к PostgreSQL, используя ваши пользовательские инструменты и потоки.В качестве альтернативы вы можете сначала внести изменения непосредственно в базу данных PostgreSQL, а затем попытаться перенести их обратно в схему GraphQL. Мы рекомендуем подход GraphQL-first, поскольку могут быть случаи, когда изменения схемы не поддерживаются. Кроме того, если вы развертываете изменения, которые делают вашу схему PostgreSQL несовместимой с развернутыми запросами коннектора или мутацией, то эти коннекторы могут перестать работать или вести себя неправильно.
Ваши проекты Data Connect состоят из двух основных элементов инфраструктуры:
- Один или несколько экземпляров службы Data Connect
- Один или несколько экземпляров Cloud SQL для PostgreSQL
В этом руководстве обсуждается, как настроить и управлять экземплярами службы Data Connect , а также рассказывается, как управлять связанными с ними экземплярами Cloud SQL.
Настройка регионов для Firebase Data Connect
Для проектов, использующих Data Connect требуется настройка местоположения.
При создании нового экземпляра службы Data Connect вам будет предложено выбрать местоположение службы.
Доступные локации
Услуги Data Connect могут быть созданы в следующих регионах .
- азия-восток1
- азия-восток2
- азия-северо-восток1
- азия-северо-восток2
- азия-северо-восток3
- азия-юг1
- азия-юго-восток1
- азия-юго-восток2
- австралия-юго-восток1
- австралия-юго-восток2
- европа-центральная2
- европа-север1
- европа-юго-запад1
- европа-запад1
- европа-запад2
- европа-запад3
- европа-запад4
- европа-запад6
- европа-запад8
- европа-запад9
- я-west1
- северная америка-северо-восток1
- северная америка-северо-восток2
- южная америка-восток1
- южная америка-запад1
- us-central1
- us-east1
- us-east4
- us-south1
- us-west1
- us-west2
- us-west3
- us-west4
Управление экземплярами службы Data Connect
Создать услуги
Чтобы создать новую службу, используйте консоль Firebase или запустите локальную инициализацию проекта с помощью Firebase CLI. Эти рабочие процессы создают новую службу Data Connect .
Эти потоки также проведут вас через:
- Подготовка нового экземпляра Cloud SQL (бесплатный уровень)
- Привязка существующего экземпляра Cloud SQL к Data Connect (план Blaze)
Управление пользователями
Data Connect предоставляет инструменты для управления доступом пользователей, которые следуют принципу наименьших привилегий (предоставлять каждому пользователю или учетной записи службы минимально необходимые разрешения для поддержки требуемой функциональности) и концепции управления доступом на основе ролей (RBAC) (с предопределенными ролями для управления разрешениями базы данных, что упрощает управление безопасностью).
Чтобы добавить участников проекта в качестве пользователей, которые могут изменять экземпляры Data Connect в вашем проекте, используйте консоль Firebase для выбора соответствующих предопределенных ролей пользователей.
Эти роли предоставляют разрешения с использованием Identity and Access Management (IAM). Роль — это набор разрешений. Когда вы назначаете роль участнику проекта, вы предоставляете этому участнику проекта все разрешения, которые содержит роль. Подробнее см. в:
- Обзор ролей Firebase IAM
- Подробный список ролей Data Connect
Выберите роли, чтобы включить определенные рабочие процессы
Роли IAM позволяют использовать рабочие процессы Firebase CLI для управления проектами Data Connect .
Команда CLI, другой рабочий процесс | Требуются роли |
---|---|
firebase init dataconnect |
|
firebase deploy -–only dataconnect |
|
firebase dataconnect:sql:diff |
|
firebase dataconnect:sql:migrate |
|
firebase dataconnect:sql:grant |
|
Мониторинг производительности службы Data Connect
Понимание эффективности обслуживания
Производительность как службы Data Connect , так и службы Cloud SQL для PostgreSQL может повлиять на ваш опыт.
- Информацию по сервису Cloud SQL для PostgreSQL см. в общих рекомендациях в документации по квотам и ограничениям .
Для службы Data Connect существует квота на запросы GraphQL, влияющая на скорость, с которой вы можете вызывать и выполнять запросы:
- Общая квота на проект составляет 6000 запросов в минуту от коннекторов клиентских приложений.
- Общая квота на проект составляет 6000 запросов в минуту из Firebase Admin SDK и из REST API.
- Квота на пользователя 1200 запросов в минуту. Здесь «на пользователя» означает, что ограничение применяется к запросам, инициированным одним IP-адресом, будь то из клиентского приложения, из Firebase Admin SDK или из REST API.
Если вы столкнетесь с этими ограничениями квоты, обратитесь в службу поддержки Firebase, чтобы скорректировать соответствующую квоту.
Мониторинг производительности, использования и выставления счетов за услуги
Вы можете отслеживать запросы, ошибки и скорость выполнения операций как в глобальном масштабе, так и для каждой операции в консоли Firebase .
Управление экземплярами Cloud SQL
Ограничения бесплатной пробной версии
Следующие функции Cloud SQL для PostgreSQL не поддерживаются в бесплатной 3-месячной пробной версии :
- Версии PostgreSQL, отличные от 15.x
- Использование существующих экземпляров Cloud SQL для PostgreSQL
- Другой уровень машины, чем db-f1-micro
- Изменение ресурсов вашего экземпляра, таких как хранилище, память, ЦП
- Читать реплики
- IP-адрес частного экземпляра
- Высокая доступность (многозонная); поддерживаются только однозонные экземпляры
- Издание Enterprise Plus
- Автоматическое резервное копирование
- Автоматическое увеличение хранилища.
Администрирование экземпляров Cloud SQL
Как правило, вы можете управлять экземплярами Cloud SQL с помощью консоли Google Cloud для выполнения следующих рабочих процессов.
- Остановка и перезапуск экземпляров Cloud SQL
- Создание и удаление баз данных Cloud SQL (внутри экземпляров)
- Запускайте экземпляры базы данных PostgreSQL с флагами и используйте различные расширения
- Отслеживайте производительность с помощью функций наблюдения Cloud SQL в консоли Google Cloud
- Управляйте доступом к Cloud SQL и безопасностью с помощью таких функций, как IAM, менеджер секретов, шифрование данных и прокси-сервер аутентификации
- Добавляйте, удаляйте и администрируйте пользователей Cloud SQL.
Информацию об этих и других рабочих процессах можно найти в документации Cloud SQL для PostgreSQL .
Предоставление ролей пользователей PostgreSQL
Data Connect предоставляет инструменты для управления доступом пользователей, которые следуют принципу наименьших привилегий (предоставлять каждому пользователю или учетной записи службы минимально необходимые разрешения для поддержки требуемой функциональности) и концепции управления доступом на основе ролей (RBAC) (с предопределенными ролями для управления разрешениями базы данных, что упрощает управление безопасностью).
В некоторых случаях вам может потребоваться подключиться к базе данных Cloud SQL, управляемой Data Connect , напрямую через клиент SQL по вашему выбору, например, с помощью Cloud Run , Cloud Functions или GKE.
Чтобы включить такие соединения, вам необходимо предоставить разрешения SQL:
- Назначение роли IAM
roles/cloudsql.client
учетной записи пользователя или службы, которой необходимо подключиться к экземпляру, либо из консоли Google Cloud , либо с помощью gcloud CLI - Предоставление необходимой роли PostgreSQL с помощью Firebase CLI
Назначьте роль Cloud SQL IAM
Информацию о работе с Cloud SQL для PostgreSQL для назначения роли IAM roles/cloudsql.client
см. в разделе Роли и разрешения .
Предоставление ролей PostgreSQL
Используя Firebase CLI, вы можете предоставить предопределенные роли PostgreSQL пользователям или учетным записям служб, связанным с вашим проектом, с помощью команды firebase dataconnect:sql:grant
.
Например, чтобы предоставить роль писателя, выполните следующую команду в CLI:
firebase dataconnect:sql:grant --role writer
Подробную информацию см. в справочном руководстве по CLI .
Интеграция существующих баз данных Cloud SQL для PostgreSQL
Поток подготовки и управления базой данных по умолчанию предполагает, что ваш проект использует новые (созданную с нуля) базы данных, и когда вы вызываете firebase deploy
, Data Connect отобразит изменения схемы базы данных, которые необходимо внести, и выполнит любые миграции после вашего одобрения.
Для существующих (старых) баз данных у вас может быть собственный рабочий процесс для управления схемами и вы не можете использовать инструменты Data Connect для миграции, но хотели бы использовать свою базу данных в проекте Data Connect чтобы воспользоваться преимуществами ее SDK-генерации для мобильных устройств и веб-приложений, авторизации на основе запросов, управления клиентскими подключениями и многого другого.
В этом разделе даются рекомендации по последнему случаю: интеграции существующих баз данных с Data Connect .
Интеграция существующей базы данных в проект Data Connect
Рабочий процесс интеграции существующей базы данных обычно включает следующие этапы:
- Во время настройки проекта Data Connect в консоли Firebase выберите экземпляр и базу данных.
Используя Firebase CLI, выполните команду
firebase dataconnect:sql:setup
и отклоните опцию, разрешающую Data Connect обрабатывать миграции SQL.Чтобы предотвратить изменения в схеме базы данных, не обусловленные вашими пользовательскими инструментами, команда
setup
назначит соответствующие роли читателя и писателя, но не рольowner
. Более подробная информация о командеsetup
и ролях PostgreSQL доступна в справочном руководстве CLI .Напишите схему Data Connect GraphQL, соответствующую схеме вашей базы данных.
Вы можете развернуть схему, запросы и мутации GraphQL только в том случае, если ваша схема GraphQL совместима с вашей схемой PostgreSQL.
Для упрощения выравнивания обеих схем мы предоставляем команду
firebase dataconnect:sql:diff
, которая предоставит вам необходимые SQL-выражения для миграции вашей базы данных. Вы можете использовать ее для итеративного уточнения вашей схемы GraphQL для соответствия вашей существующей схеме базы данных.Двигаясь вперед, вы можете быстро итерировать вашу схему GraphQL, запросы и мутацию в вашей локальной среде разработки. Затем, когда все будет удовлетворено, вы можете использовать
firebase dataconnect:sql:diff
для получения операторов миграции SQL, которые вы можете применить к PostgreSQL, используя ваши пользовательские инструменты и потоки.В качестве альтернативы вы можете сначала внести изменения непосредственно в базу данных PostgreSQL, а затем попытаться перенести их обратно в схему GraphQL. Мы рекомендуем подход GraphQL-first, поскольку могут быть случаи, когда изменения схемы не поддерживаются. Кроме того, если вы развертываете изменения, которые делают вашу схему PostgreSQL несовместимой с развернутыми запросами коннектора или мутацией, то эти коннекторы могут перестать работать или вести себя неправильно.