Data Connect サービスとデータベースを管理する

Data Connect プロジェクトは、次の 2 つの主要なインフラストラクチャ要素で構成されています。

  • 1 つ以上の Data Connect サービス インスタンス
  • 1 つ以上の Cloud SQL for PostgreSQL インスタンス

このガイドでは、Data Connect サービス インスタンスの設定と管理方法について説明します。また、関連する Cloud SQL インスタンスの管理方法についても説明します。

Firebase Data Connect のリージョンを構成する

Data Connect を使用するプロジェクトでは、ロケーションを設定する必要があります。

新しい Data Connect サービス インスタンスを作成すると、サービスのロケーションを選択するように求められます。

利用できるロケーション

Data Connect サービスは、次のリージョンに作成できます。

  • 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 サービス インスタンスを管理する

サービスの創出

新しいサービスを作成するには、Firebase コンソールを使用するか、Firebase CLI を使用してローカル プロジェクトの初期化を実行します。これらのワークフローでは、新しい Data Connect サービスを作成します。

これらのフローでは、以下の操作も行えます。

  • 新しい Cloud SQL インスタンスのプロビジョニング(無料の階層)
  • 既存の Cloud SQL インスタンスを Data Connect にリンクする(Blaze プラン)

ユーザーを管理

Data Connect には、最小権限の原則(各ユーザーまたはサービス アカウントに必要な機能をサポートするために必要な最小限の権限を付与する)と、ロールベース アクセス制御(RBAC)の概念(データベース権限を管理するための事前定義ロールがあり、セキュリティ管理を簡素化する)に従ったユーザー アクセスを管理するためのツールが用意されています。

プロジェクト メンバーをプロジェクト内の Data Connect インスタンスを変更できるユーザーとして追加するには、Firebase コンソールを使用して、適切な事前定義されたユーザーロールを選択します。

これらのロールは、Identity and Access Management(IAM)を使用して権限を付与します。ロールは権限の集合です。ロールをプロジェクト メンバーに割り当てると、そのロールに含まれるすべての権限がそのプロジェクト メンバーに付与されます。詳細については、以下をご覧ください。

ロールを選択して特定のワークフローを有効にする

IAM ロールを使用すると、Firebase CLI ワークフローで Data Connect プロジェクトを管理できます。

CLI コマンド、その他のワークフロー 必要なロール
firebase init dataconnect
  • 権限なし(Cloud SQL インスタンスをリンクしていない場合)
  • roles/cloudsql.admin(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
  • ターゲット Cloud SQL インスタンスに対する roles/cloudsql.admin
firebase dataconnect:sql:grant
  • ターゲット Cloud SQL インスタンスの roles/cloudsql.admin

Data Connect サービスのパフォーマンスをモニタリングする

サービスのパフォーマンスを理解する

Data Connect サービスと Cloud SQL for PostgreSQL サービスの両方のパフォーマンスが、プレビュー版の使用感に影響する可能性があります。

  • Data Connect サービスには、1 分あたり 1,200 件の GraphQL とコネクタのリクエストの上限があり、クエリとミューテーションを呼び出して実行できるレートに影響します。
  • Cloud SQL for PostgreSQL サービスについては、割り当てと上限のドキュメントの一般的なガイダンスをご覧ください。

サービスのパフォーマンス、使用状況、課金をモニタリングする

リクエスト、エラー、オペレーション レートは、Firebase コンソールでグローバルとオペレーションごとにモニタリングできます。

Cloud SQL インスタンスを管理する

無料トライアルの制限事項

次の Cloud SQL for PostgreSQL 機能は、無料試用版ではサポートされていません。

  • 15.x 以外の PostgreSQL バージョン
  • 既存の Cloud SQL for PostgreSQL インスタンスの使用
  • db-f1-micro とは異なるマシン階層
  • インスタンスのリソースの変更(ストレージ、メモリ、CPU など)
  • リードレプリカ
  • プライベート インスタンスの IP アドレス
  • 高可用性(マルチゾーン): シングルゾーン インスタンスのみがサポートされます。
  • Enterprise Plus エディション
  • 自動バックアップ
  • ストレージの自動増量。

Cloud SQL インスタンスを管理する

一般に、Cloud SQL インスタンスは、Google Cloud コンソールを使用して管理し、次のワークフローを実行できます。

  • Cloud SQL インスタンスを停止して再起動する
  • Cloud SQL データベースの作成と削除(インスタンス内)
  • フラグを使用して PostgreSQL データベース インスタンスを起動し、さまざまな拡張機能を使用する
  • Google Cloud コンソールCloud SQL のオブザーバビリティ機能を使用してパフォーマンスをモニタリングする
  • IAM、シークレット マネージャー、データ暗号化、認証プロキシなどの機能を使用して、Cloud SQL のアクセスとセキュリティを管理する
  • Cloud SQL ユーザーを追加、削除、管理する。

これらのワークフローとその他のワークフローについては、Cloud SQL for PostgreSQL のドキュメントをご覧ください。

Firebase CLI と Google Cloud ツールを使用して PostgreSQL ユーザーロールを付与する

Data Connect には、最小権限の原則(各ユーザーまたはサービス アカウントに必要な機能をサポートするために必要な最小限の権限を付与)とロールベースのアクセス制御(RBAC)(データベース権限を管理するための事前定義ロールを使用してセキュリティ管理を簡素化)に従ってユーザー アクセスを管理するためのツールが用意されています。

Cloud RunCloud Functions、GKE など、任意の SQL クライアントを介して、Data Connect が管理する Cloud SQL データベースに直接接続する場合があります。

このような接続を有効にするには、次の手順で SQL 権限を付与する必要があります。

  • Google Cloud コンソールから、または gcloud CLI を使用して、インスタンスに接続する必要があるユーザーまたはサービス アカウントに roles/cloudsql.client IAM ロールを割り当てる
  • Firebase CLI を使用して必要な PostgreSQL ロールを付与する

Cloud SQL IAM ロールを割り当てる

Cloud SQL for PostgreSQL を使用して IAM ロール roles/cloudsql.client を割り当てる方法については、ロールと権限をご覧ください。

PostgreSQL ロールを付与する

Firebase CLI を使用して、firebase dataconnect:sql:grant コマンドを使用して、プロジェクトに関連付けられているユーザーまたはサービス アカウントに事前定義された PostgreSQL ロールを付与できます。

たとえば、書き込みロールを付与するには、CLI で次のコマンドを実行します。

firebase dataconnect:sql:grant --role writer

詳細については、CLI リファレンス ガイドをご覧ください。