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
|
|
firebase deploy -–only dataconnect
|
|
firebase dataconnect:sql:diff
|
|
firebase dataconnect:sql:migrate |
|
firebase dataconnect:sql:grant
|
|
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 Run、Cloud 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 リファレンス ガイドをご覧ください。