このページでは、自動設定フローを使用してストリームを作成する方法について説明します。
自動化されたストリーム設定により、Cloud SQL for PostgreSQL マネージド データベースから BigQuery へのデータ移動プロセスが簡素化され、実行する必要がある手順の数が減ります。このフローを使用すると、Cloud SQL for PostgreSQL インスタンスの概要ページから直接ストリームを作成できます。Datastream は、ストリームとソース データベース間の VPC 接続の保護を自動化し、データベース構成とストリーム接続リソースを作成します。
始める前に
- Datastream、Network Connectivity、Compute Engine の各 API を有効にします。
- Datastream リソースの作成と管理に必要な Identity and Access Management(IAM)権限があることを確認します。詳しくは、次のセクションをご覧ください。
- レプリケーション用の移行元 Cloud SQL for PostgreSQL データベースを作成して構成します。詳細については、CDC 用に Cloud SQL for PostgreSQL データベースを構成するをご覧ください。
ストリームを作成する前に、インスタンスの論理レプリケーションを有効にすることをおすすめします。論理レプリケーションを有効にしない場合、Datastream が自動的に有効にします。このとき、移行元インスタンスが再起動されます。
Cloud SQL for PostgreSQL インスタンスで論理レプリケーションを有効にする方法については、CDC 用に Cloud SQL for PostgreSQL データベースを構成するをご覧ください。
移行元データベースがプライベート サービス アクセスを使用するように構成されていることを確認します。
必要な権限
自動ストリーム作成フローを使用するには、次の Identity and Access Management(IAM)ロールまたは権限が必要です。
- 必要な API を有効にしてネットワーク構成タスクを実行するための
serviceusage.services.enable、compute.networkAdmin。 - インスタンス構成タスクの
cloudsql.admin。 - Datastream がユーザーに代わって実行する管理タスクの
datastream.admin。
データベース管理者ユーザーには、複製するスキーマに対する 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;
ストリームを作成して開始する
ストリームを作成して開始する手順は次のとおりです。
コンソール
使ってみる
移行元の Cloud SQL for PostgreSQL データベース インスタンスの概要ページに移動します。
[Stream data into BigQuery] セクションで、[Create stream] をクリックします。
[スタートガイド] ページの [ストリーム名] フィールドに、ストリームの名前を入力します。一意の識別子が自動的に入力されます。
[インスタンスのユーザー アカウントの詳細を指定する] セクションで、認証方法を選択します。
IAM データベース認証: このオプションは、ユーザーに Identity and Access Management(IAM)プリンシパル ID が割り当てられている場合に使用できます。詳細については、IAM プリンシパルをご覧ください。このオプションを選択した場合は、ユーザーに
cloudsqlsuperuserロールとCREATEROLE権限を手動で付与する必要があります。- Google Cloud コンソールで、Cloud SQL の [インスタンス] ページに移動します。
- Cloud SQL インスタンスを選択します。
- ナビゲーション メニューで [Cloud SQL Studio] をクリックしてログインします。
- [エクスプローラ] ペインで、ユーザーに対して次のクエリを実行します。
GRANT cloudsqlsuperuser TO "USER_NAME"; ALTER ROLE "USER_NAME" CREATEROLE;
- 組み込みデータベース認証:
cloudsqlsuperuserロールを持つユーザーのユーザー名とパスワードを指定します。このオプションを選択する場合は、ユーザーが複製するテーブルに対するGRANT権限を持っていることを確認してください。
リージョン、暗号化、ラベルなど、ストリームの追加の詳細を確認します。必要に応じて、[その他のストリームの詳細] セクションを開いて変更を適用します。
[続行] をクリックします。
ソースの構成
- [ストリームソースを構成] ページで、データを複製するデータベースを選択します。
- [含めるオブジェクト] リストでは、使用可能なすべてのオブジェクトがデフォルトで選択されています。リストに表示されるオブジェクトは、ストリーミングに必要な権限が付与されているオブジェクトです。選択したオブジェクトを変更するには、リストで選択内容を変更します。
- バックフィル モードやバックフィルの同時接続数の最大値など、高度なストリーム構成を確認します。必要に応じて、[高度なストリーム構成] セクションを開いて変更を適用します。
- [続行] をクリックします。
宛先の構成
- [宛先を構成] ページで、必要に応じて BigQuery の宛先設定を調整します。詳細については、ストリームの宛先に関する情報を構成するをご覧ください。
ストリームを作成して開始する
[ストリームを作成して後で開始] をクリックしてストリームを作成し、後で Datastream で開始するか、[開始] をクリックしてストリームを作成してすぐに開始します。
自動的に実行されるタスクについて通知を受け取ります。
- Datastream は、内部 IP アドレス範囲、サブネットワーク、ネットワーク アタッチメントなど、必要な Virtual Private Cloud リソースを作成します。
- Datastream は、CDC 用にテーブルを構成し、レプリケーション スロットを設定し、データベース内のすべてのテーブルのパブリケーションを設定し、専用の Datastream ユーザーを作成します。
- Datastream は、プライベート接続構成とソースおよび移行先の接続プロファイルを作成します。
ストリームを作成するか、ストリームを作成して開始するかを確認します。
ストリームをモニタリングする
基本的なストリームの詳細は、 Google Cloud コンソールのソース インスタンスの概要ページでモニタリングできます。このページには、ストリームのステータス、ストリーム名、宛先 BigQuery データセット、宛先プロジェクト ID などの情報が表示されます。
概要ページから、ストリームの開始、停止、一時停止などのアクションを実行することもできます。より詳細なモニタリング情報を確認するには、ストリーム名をクリックして Datastream に移動します。
ストリームの削除
自動フローを使用して作成したストリームを削除すると、PostgreSQL レプリケーション スロットなどの一部のリソースが自動的に削除されます。ただし、手動で削除する必要があるリソースがあります。
- 論文。パブリケーションはデータベース管理者ユーザーを使用して作成され、そのオーナー(デフォルトでは作成者)のみが削除できます。
- Datastream リーダー ユーザー。
- Datastream の移行元と移行先の接続プロファイル
- プライベート接続リソース。
- 自動フローで作成されたすべてのネットワーク リソース(サブネットやネットワーク アタッチメントなど)。
次のステップ
- ストリームを手動で作成する方法を学習する。
- 詳しくは、ストリームをモニタリングする方法をご覧ください。