自動フローを使用して AlloyDB ストリームを作成する

このページでは、自動設定フローを使用して AlloyDB for PostgreSQL ストリームを作成する方法について説明します。

自動ストリーム設定により、実行する必要がある手順の数が減り、AlloyDB for PostgreSQL クラスタから BigQuery へのデータ移動プロセスが簡素化されます。このフローを使用すると、AlloyDB for PostgreSQL クラスタの概要ページから直接ストリームを作成できます。

AlloyDB for PostgreSQL デプロイは、プライマリ インスタンスを含むプライマリ クラスタで構成されます。セカンダリ クラスタとセカンダリ インスタンスを含めることもできます。Datastream は、常にプライマリ クラスタのプライマリ インスタンスからストリームを作成します。

Datastream は、ストリームと移行元クラスタ間の VPC 接続の保護を自動化し、データベース構成とストリーム接続リソースを作成します。

無料枠

Datastream を使用すると、無料枠を使用して AlloyDB for PostgreSQL から BigQuery にストリーミングできます。これにより、毎月最大 100 GiB の変更データ キャプチャ データを無料で利用できます。詳細については、Datastream の料金をご覧ください。

始める前に

  1. Datastream、Network Connectivity、Compute Engine の各 API を有効にします。
  2. Datastream リソースの作成と管理に必要な Identity and Access Management(IAM)権限があることを確認します。詳しくは、次のセクションをご覧ください。
  3. レプリケーション用の移行元 AlloyDB for PostgreSQL クラスタを作成して構成します。詳細については、CDC 用に AlloyDB for PostgreSQL データベースを構成するをご覧ください。
  4. ストリームを作成する前に、クラスタの論理レプリケーションを有効にすることをおすすめします。論理レプリケーションを有効にしない場合、Datastream が有効にします。これにより、移行元インスタンスが再起動します。

    AlloyDB for PostgreSQL クラスタで論理レプリケーションを有効にする方法については、CDC 用に AlloyDB for PostgreSQL データベースを構成するをご覧ください。

  5. 移行元クラスタがプライベート サービス アクセスを使用するように構成されていることを確認します。

必要な権限

自動ストリーム作成フローを使用するには、次の Identity and Access Management(IAM)ロールまたは権限が必要です。

  • 必要な API を有効にしてネットワーク構成タスクを実行するための serviceusage.services.enablecompute.networkAdmin
  • クラスタとインスタンスの構成タスクの alloydb.admin
  • Datastream がユーザーに代わって実行する管理タスクの datastream.admin

選択したデータベース内のすべてのスキーマとテーブルに postgres ロールまたは alloydbsuperuser ロールが付与されていることを確認します。自動フローにはデフォルトでデータベース内のすべてのスキーマとテーブルが含まれるため、自動的に作成されたユーザーにスキーマまたはテーブルに対する権限がない場合、ストリームの作成は失敗します。

ストリーム設定をカスタマイズする場合は、データベース管理者ユーザーに、複製するスキーマの GRANT 権限と、移行元データベース内の管理タスクと構造タスクの追加権限も必要です。ソース データベースに接続して、次のコマンドを実行します。

  GRANT alloydbsuperuser 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";
  

将来のテーブル

今後のテーブルは、自動フロー中に認証するためにアカウントの詳細を提供するユーザーによって作成された場合にのみ、ストリームに自動的に追加されます。別のユーザーが将来のテーブルを作成する場合は、そのユーザーが Datastream リーダー ユーザーにテーブルに対する SELECT 権限を明示的に付与する必要があります。

ストリームを作成して開始する

ストリームを作成して開始する手順は次のとおりです。

コンソール

  1. 移行元の AlloyDB for PostgreSQL クラスタの概要ページに移動します。

    AlloyDB for PostgreSQL に移動する

  2. データをストリーミングするプライマリ クラスタをクリックします。

  3. 次のいずれかの方法で、ストリームを自動的に作成して開始します。

    1. [クラスタの詳細] ページの [データ複製] で、[ストリームを開始] をクリックします。
    2. [インテグレーション] セクションで、[BigQuery にデータを複製] の [ストリームを開始] をクリックします。
    3. [Launchpad] タブの [他のGoogle Cloud プロダクトとシームレスに統合する] で、[BigQuery にデータを複製する] をクリックします。
  4. [データを複製するストリームの開始] ペインが開きます。

  5. [ライブ配信の設定] で、作成するライブ配信のデフォルト設定を確認します。

  6. ソース データベースを変更するには、対応するプルダウンを開いて別の値を選択します。

  7. 配信を作成して開始する準備ができたら、[配信を開始] をクリックします。

ストリームの設定を変更する必要がある場合は、[カスタマイズ] をクリックします。

ストリーム設定のカスタマイズ

[カスタマイズ] をクリックすると、[ストリーム設定をカスタマイズ] ページが表示されます。ストリーム設定をカスタマイズするために必要な権限があることを確認します。

使ってみる

  1. [スタートガイド] ページの [ストリーム名] フィールドに、ストリームの名前を入力します。[ストリーム ID] フィールドには自動的に値が入力されます。
  2. [インスタンスのユーザー アカウントの詳細を指定する] セクションで、認証方法を選択します。

    • IAM データベース認証: このオプションは、ユーザーに Identity and Access Management(IAM)プリンシパル ID が割り当てられている場合に使用できます。詳細については、IAM プリンシパルをご覧ください。このオプションを選択した場合は、ユーザーに alloydbsuperuser ロールと CREATEROLE 権限を手動で付与する必要があります。

      1. Google Cloud コンソールで、[AlloyDB for PostgreSQL クラスタ] ページに移動します。

      AlloyDB for PostgreSQL に移動する

      1. AlloyDB for PostgreSQL クラスタを選択します。
      2. ナビゲーション メニューで [AlloyDB for PostgreSQL Studio] をクリックしてログインします。
      3. [エクスプローラ] ペインで、ユーザーに対して次のクエリを実行します。
    GRANT alloydbsuperuser TO "USER_NAME";
    ALTER ROLE "USER_NAME" CREATEROLE;
    • 組み込みデータベース認証: alloydbsuperuser ロールを持つユーザーのユーザー名とパスワードを指定します。ユーザーに alloydbsuperuser ロールがない場合は、IAM データベース認証セクションで説明されている手順に沿って、手動で付与します。組み込みデータベース認証を選択した場合は、ユーザーが複製するテーブルに対する GRANT 権限を持っていることも確認してください。
  3. リージョン、暗号化、ラベルなど、ストリームの追加の詳細を確認します。必要に応じて、[その他のストリームの詳細] セクションを開いて変更を適用します。

  4. [続行] をクリックします。

ソースの構成

  1. [ソースを構成] ページで、データを複製するデータベースを選択します。

  2. [選択したオブジェクト] リストでは、デフォルトですべての利用可能なオブジェクトが選択されます。リストに表示されるオブジェクトは、ストリーミングに必要な権限が付与されているオブジェクトです。選択したオブジェクトを変更するには、リストで選択内容を変更します。

  3. バックフィル モードやバックフィルの同時接続数の最大値など、高度なストリーム構成を確認します。必要に応じて、[高度なストリーム構成] セクションを開いて変更を適用します。

  4. [続行] をクリックします。

宛先の構成

  1. [宛先を構成] ページで、必要に応じて BigQuery の宛先設定を調整します。詳細については、ストリームの宛先に関する情報を構成するをご覧ください。

ストリームを作成して開始する

  1. [作成して開始] をクリックしてストリームを作成して開始するか、[開始せずに作成] をクリックしてストリームを作成し、後で Datastream で開始します。

  2. 自動的に実行されたタスクについて、次の通知が届きます。

    • Datastream は、内部 IP アドレス範囲、サブネットワーク、ネットワーク アタッチメントなど、必要な Virtual Private Cloud リソースを作成します。
    • Datastream は、CDC 用にテーブルを構成し、レプリケーション スロットを設定し、データベース内のすべてのテーブルのパブリケーションを設定し、専用の Datastream ユーザーを作成します。
    • Datastream は、プライベート接続構成とソースおよび移行先の接続プロファイルを作成します。
  3. ストリームの作成と開始を確認します。

ストリームをモニタリングする

基本的なストリームの詳細は、 Google Cloud コンソールのソース インスタンスの概要ページでモニタリングできます。このページには、ストリームのステータス、ストリーム名、宛先 BigQuery データセット、宛先プロジェクト ID などの情報が表示されます。

概要ページでは、ストリームの開始や一時停止などのアクションも実行できます。より詳細なモニタリング情報を確認するには、ストリーム名をクリックして Datastream に移動します。

ストリームの削除

自動フローを使用して作成したストリームを削除すると、PostgreSQL レプリケーション スロットなどの一部のリソースが自動的に削除されます。ただし、手動で削除する必要があるリソースがあります。

  • パブリケーション。パブリケーションはデータベース管理者ユーザーを使用して作成され、そのオーナー(デフォルトでは作成したユーザー)のみが削除できます。
  • Datastream リーダー ユーザー。
  • Datastream の移行元と移行先の接続プロファイル
  • プライベート接続リソース。
  • 自動フローで作成されたすべてのネットワーク リソース(サブネットワークやネットワーク アタッチメントなど)。

次のステップ