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

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

自動ストリーム設定により、実行する必要がある手順の 数を減らすことで、 Google Cloud マネージド データベースから BigQuery へのデータ移動プロセスが簡素化されます。このフローを使用すると、Cloud SQL インスタンスの概要ページから直接ストリームを作成できます。 Datastream は、ストリームとソース データベース間の VPC 接続の保護、データベース構成とストリーム接続リソースの作成を自動化します。

始める前に

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

  6. Cloud SQL for MySQL インスタンスの場合 __: Cloud SQL for MySQL インスタンスのポイントインタイム リカバリを有効にし、データベース バージョンが 8.0.14 以降であることを確認します。自動ストリーム設定を使用する場合、Datastream は 標準バックアップ ティアでのみポイントインタイム リカバリの有効化をサポートしています。

  7. Cloud SQL for SQL Server インスタンスの場合 __: Datastream がインスタンスで使用する SQL Server バージョンをサポートしていることを確認します。

必要な権限

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

  • 必要な API を有効にしてネットワーク構成タスクを実行するための serviceusage.services.enablecompute.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 リーダー ユーザーに明示的に付与する必要があります。

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

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

コンソール

  1. ソース Cloud SQL データベース インスタンスの概要ページに移動します。

    Cloud SQL の [インスタンス] に移動

  2. データをストリーミングするインスタンスを選択します。

  3. [Replicate data to BigQuery] セクションで、[Start stream] をクリックします。

  4. [Start stream to replicate data] ペインが開きます。

  5. Cloud SQL for PostgreSQL ソースと Cloud SQL for MySQL ソースの場合は、 [Stream settings] で、作成するストリームのデフォルト設定を確認します。Cloud SQL for SQL Server ソースの場合は、ストリーム設定を カスタマイズするに進みます。

  6. ストリームを作成して開始する準備ができたら、[Start stream] をクリックします。

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

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

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

使ってみる

  1. [使ってみる] ページの [ストリーム名] フィールドに、ストリームの名前を入力します。一意の識別子が自動的に入力されます。
  2. [Provide the instance user account details] セクションで、認証方法を選択します。

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

      1. コンソール Google Cloud で、[Cloud SQL のインスタンス] ページに移動します。

      Cloud SQL の [インスタンス] に移動

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

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

ソースの構成

  1. [Configure stream source] ページで、データのレプリケート元となるデータベースを選択します。

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

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

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

宛先の構成

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

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

  1. [Create and start later] をクリックしてストリームを作成し、後で Datastream で開始するか、[Start] をクリックしてストリームを作成してすぐに開始します。

  2. 自動的に実行されるタスクについて通知されます。

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

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

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

概要ページから、ストリームの開始や一時停止などの操作を行うこともできます。より詳細なモニタリング情報については、ストリーム名をクリックして Datastream に移動します。

ストリームの削除

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

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

次のステップ