このページでは、自動設定フローを使用してストリームを作成する方法について説明します。
自動ストリーム設定により、 Google Cloud マネージド データベースから BigQuery にデータを移動するプロセスが簡素化され、実行する必要がある 手順の数が減ります。このフローを使用すると、Cloud SQL インスタンスの概要ページから直接ストリームを作成できます。 Datastream は、ストリームとソース データベース間の VPC 接続の保護、データベース構成とストリーム接続リソースの作成を自動化します。
始める前に
- Datastream、Network Connectivity、Compute Engine の API を有効にします。
- Datastream リソースを作成して管理するために必要な Identity and Access Management(IAM)権限があることを確認します。詳細については、次のセクション をご覧ください。
- レプリケーション用のソース Cloud SQL データベースを作成して構成します。詳細については、 ソースを構成するをご覧ください。
- ソース データベースが プライベート サービス アクセスを使用するように構成されていることを確認します。
Cloud SQL for PostgreSQL インスタンスの場合: ストリームを作成する前に、インスタンスの論理 レプリケーションを有効にすることをおすすめします。論理レプリケーションを有効にしない場合、Datastream が有効にすると、ソース インスタンスが再起動します。
Cloud SQL for MySQL インスタンスの場合 __: Cloud SQL for MySQL インスタンスのポイントインタイム リカバリを有効にし、データベース バージョンが 8.0.14 以降であることを確認します。Datastream は、自動ストリーム設定を使用する場合、 Standard バックアップ階層でのポイントインタイム リカバリの有効化のみをサポートしています。
Cloud SQL for SQL Server インスタンスの場合 __: Datastream がインスタンスで使用する SQL Server バージョンをサポートしていることを確認します。
必要な権限
自動ストリーム作成フローを使用するには、次の Identity and Access Management(IAM)ロールまたは権限が必要です。
- 必要な API を有効にしてネットワーク構成タスクを実行するための
serviceusage.services.enable、compute.networkAdmin。 - インスタンス構成タスク用の
cloudsql.admin。 - Datastream がユーザーに代わって実行する管理タスク用の
datastream.admin。
Cloud SQL for PostgreSQL に必要な追加の権限
- 選択したデータベース内のすべてのスキーマとテーブルへのアクセス権を
postgresロールまたはcloudsqlsuperuserロールに付与していることを確認します。自動フローでは、デフォルトでデータベース内のすべてのスキーマとテーブルが含まれるため、自動的に作成されたデータベース ユーザーにスキーマまたはテーブルに対する権限がない場合、ストリームの作成は失敗します。 ストリーム設定をカスタマイズする場合は、データベース管理者ユーザーに、レプリケートするスキーマに対する
GRANT権限と、ソース データベース内の管理タスクと構造タスクに必要な追加の権限も必要です。ソース データベースに接続して、次のコマンドを実行します。GRANT cloudsqlsuperuser TO "USER_NAME"; ALTER ROLE "USER_NAME" CREATEROLE; GRANT SELECT on ALL TABLES IN SCHEMA "SCHEMA_NAME" to
"USER_NAME" WITH GRANT OPTION; ALTER DEFAULT PRIVILEGES IN SCHEMA "SCHEMA_NAME" GRANT SELECT ON TABLES TO "USER_NAME" WITH GRANT OPTION; GRANT CREATE ON DATABASE "DATABASE_NAME" TO "USER_NAME"; 今後のテーブルは、自動フロー中に認証するためにアカウントの詳細を提供するユーザーによって作成された場合にのみ、ストリームに自動的に追加されます。別のユーザーが今後のテーブルを作成した場合、そのユーザーはテーブルに対する
SELECT権限を Datastream リーダー ユーザーに明示的に付与する必要があります。
ストリームを作成して開始する
ストリームを作成して開始する手順は次のとおりです。
コンソール
使ってみる
ソース Cloud SQL データベース インスタンスの概要ページに移動します。
[Stream data into BigQuery] セクションで、[Create stream] をクリックします。
[Get started] ページの [Stream name] フィールドに、ストリームの名前を入力します。一意の識別子が自動的に入力されます。
[Provide the instance user account details] セクションで、認証方法を選択します。
IAM データベース認証: ユーザーに Identity and Access Management(IAM)プリンシパル ID が割り当てられている場合に使用できます。詳細については、 IAM プリンシパルをご覧ください。 このオプションを選択した場合は、ユーザーに
cloudsqlsuperuserロールとCREATEROLE権限を手動で付与する必要があります。- コンソールで、[Cloud SQL インスタンス] ページに移動します。 Google Cloud
- Cloud SQL インスタンスを選択します。
- ナビゲーション メニューで [Cloud SQL Studio] をクリックして、ログインします。
- [エクスプローラ] ペインで、ユーザーに対して次のクエリを実行します。
GRANT cloudsqlsuperuser TO "USER_NAME"; ALTER ROLE "USER_NAME" CREATEROLE;
- 組み込みデータベース認証:
cloudsqlsuperuserロールを持つユーザーのユーザー名と パスワードを入力します。 このオプションを選択する場合は、レプリケートするテーブルに対するGRANT権限がユーザーに付与されていることを確認してください。
リージョン、暗号化、ラベルなど、ストリームの詳細を確認します。 必要に応じて、[Additional stream details] セクションを開いて変更を適用します。
[続行] をクリックします。
ソースの構成
[Configure stream source] ページで、データのレプリケート元となるデータベースを選択します。
[Objects to include] リストでは、デフォルトですべての利用可能なオブジェクトが選択されます。 リスト内のオブジェクトは、ストリーミングに必要な権限が付与されているオブジェクトです。選択したオブジェクトを変更するには、リストの選択を変更します。
バックフィル モードや同時バックフィル接続の最大数など、高度なストリーム構成を確認します。必要に応じて、[Advanced stream configurations] セクションを開いて変更を適用します。
[続行] をクリックします。
宛先の構成
- [Configure destination] ページで、必要に応じて BigQuery の宛先設定を調整します。詳細については、 ストリームの宛先に関する情報を構成するをご覧ください。
ストリームを作成して開始する
[Create and start later] をクリックしてストリームを作成し、後で Datastream で開始するか、[Start] をクリックしてストリームを作成してすぐに開始します。
自動的に実行されるタスクについて通知されます。
- Datastream は、内部 IP アドレス範囲、サブネットワーク、ネットワーク アタッチメントなど、必要な Virtual Private Cloud リソースを作成します。
- Datastream は、CDC 用にテーブルを構成し、レプリケーション スロットを設定し、データベース内のすべてのテーブルのパブリケーションを設定して、専用の Datastream ユーザーを作成します。
- Datastream は、プライベート接続構成とソースおよび宛先の接続プロファイルを作成します。
ストリームを作成するか、作成して開始することを確認します。
ストリームをモニタリングする
コンソールのソース インスタンスの概要ページで、基本的なストリームの詳細をモニタリングできます。 Google Cloud このページには、ストリームのステータス、ストリーム名、宛先 BigQuery データセット、宛先プロジェクト ID などの情報が表示されます。
概要ページから、ストリームの開始や一時停止などの操作を行うこともできます。より詳細なモニタリング情報については、ストリーム名をクリックして Datastream に移動します。
ストリームの削除
自動フローを使用して作成したストリームを削除すると、PostgreSQL レプリケーション スロットなどの一部のリソースが自動的に削除されます。 ただし、手動で削除する必要があるリソースもあります。
- パブリケーション。パブリケーションはデータベース管理者ユーザーを使用して作成され、そのオーナー(デフォルトでは作成者)のみが削除できます。
- Datastream リーダー ユーザー。
- Datastream のソースと宛先の接続プロファイル
- プライベート接続リソース。
- 自動フローで作成されたすべてのネットワーク リソース(サブネットワーク、ネットワーク アタッチメントなど)。
次のステップ
- ストリームを手動で作成する方法を学習する。
- ストリームをモニタリング する方法の詳細を確認する。