自動フローを使用して 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 は、自動ストリーム設定を使用する場合、 Standard バックアップ階層でのポイントインタイム リカバリの有効化のみをサポートしています。

  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. [Stream data into BigQuery] セクションで、[Create stream] をクリックします。

  3. [Get started] ページの [Stream name] フィールドに、ストリームの名前を入力します。一意の識別子が自動的に入力されます。

  4. [Provide the instance user account details] セクションで、認証方法を選択します。

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

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

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

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

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

ソースの構成

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

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

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

  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 のソースと宛先の接続プロファイル
  • プライベート接続リソース。
  • 自動フローで作成されたすべてのネットワーク リソース(サブネットワーク、ネットワーク アタッチメントなど)。

次のステップ