Datastream を使用して準リアルタイムにデータを BigQuery にレプリケートする

Datastream を使用して、ソース データベースから BigQuery データセットにデータを複製する方法を学びます。


このタスクを Google Cloud コンソールで直接行う際の順を追ったガイダンスについては、「ガイドを表示」をクリックしてください。

ガイドを表示


準備

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。

    プロジェクト セレクタに移動

  3. Google Cloud プロジェクトで課金が有効になっていることを確認します

  4. Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。

    プロジェクト セレクタに移動

  5. Google Cloud プロジェクトで課金が有効になっていることを確認します

  6. Datastream API を有効にします。

    API を有効にする

  7. ユーザー アカウントに Datastream 管理者のロールが割り当てられていることを確認します。

    IAM ページに移動

標準または共有 VPC ネットワークのプライベート接続構成を作成する場合は、追加の前提条件を満たす必要があります。詳細については、プライベート接続構成を作成するをご覧ください。

要件

Datastream には、さまざまな移行元オプション、移行先オプション、ネットワーク接続方法が用意されています。

このクイックスタートでは、Cloud SQL for PostgreSQL データベースから BigQuery にデータを複製することを前提としています。移行元データベースでは、Datastream パブリック IP アドレスからの接続を受け入れるようにデータベース インスタンスを構成できる必要があります。

ユーザーの具体的な環境を把握できないため、ネットワーク構成に関する詳細なステップは提供できません。

このクイックスタートでは、ネットワーク接続方法として [IP 許可リスト] を選択します。IP 許可リストは、ソース データベースのデータへのアクセスを信頼できるユーザーのみに制限し、アクセスを制御する際によく使われるセキュリティ機能です。IP 許可リストを使用して、ユーザーと、Datastream などの他の Cloud サービスがこのデータにアクセスできる、信頼できる IP アドレスまたは IP 範囲のリストを作成できます。IP 許可リストを使用するには、Datastream からの受信接続に対してソース Cloud SQL データベースを開く必要があります。

接続プロファイルの作成

接続プロファイルを作成することで、ソースと宛先に関する基本情報を Datastream に格納します。この情報は複数のストリームで再利用できます。

このクイックスタートでは、移行元の接続プロファイルのプロファイル タイプとして PostgreSQL を選択し、移行先接続プロファイルのプロファイル タイプとして BigQuery を選択します。Datastream は、接続プロファイルの情報を使用して、ソース データベースと BigQuery に接続します。

PostgreSQL データベース用のソース接続プロファイルの作成

  1. Google Cloud Console で Datastream の [接続プロファイル] ページに移動します。

    [接続プロファイル] ページに移動

  2. [プロファイルを作成] をクリックします。

  3. [接続プロファイルの作成] ページで、[PostgreSQL] プロファイル タイプをクリックします(PostgreSQL データベースのソース接続プロファイルを作成するため)。

  4. [Create PostgreSQL profile] ページの [接続設定の定義] セクションに、次の情報を入力します。

    • 移行元データベースの [接続プロファイル名] として、My Source Connection Profile と入力します。
    • 自動生成された接続プロファイル ID を保持します。
    • 接続プロファイルを保存する [リージョン] を選択します。

    • 接続の詳細を入力します。

      • [ホスト名または IP] フィールドに、Datastream がソース PostgreSQL データベースへの接続に使用できるホスト名またはパブリック IP アドレスを入力します。このクイックスタートでは、IP 許可リストをネットワーク接続に使用するため、パブリック IP アドレスを指定します。
      • [ポート] フィールドに、ソース データベース用に予約されているポート番号を入力します。PostgreSQL データベースの場合、デフォルトのポートは通常 5432 です。
      • 移行元データベースへの認証用に、ユーザー名パスワードを入力します。
      • [データベース] フィールドに、データベース インスタンスを識別する名前を入力します。PostgreSQL データベースの場合は、通常 postgres です。
  5. [接続設定の定義] セクションで、[続行] をクリックします。[PostgreSQL プロファイルの作成] ページの [接続方法の定義] セクションはアクティブです。

  6. ソースのデータベースと Datastream の間の接続を確立するために使用するネットワーク方式を選択します。このクイックスタートでは、[接続方法] プルダウン メニューを使用して、ネットワーク方式として [IP 許可リスト] を選択します。

  7. 表示される Datastream パブリック IP アドレスからの受信接続を許可するように移行元データベースを構成します。

  8. [接続方法の定義] セクションで [続行] をクリックします。[PostgreSQL プロファイルの作成] ページの [テスト接続プロファイル] セクションはアクティブです。

  9. [テストを実行] をクリックして、移行元データベースと Datastream が相互に通信できることを確認します。

  10. [Test passed] のステータスが表示されていることを確認します。

  11. テストに失敗した場合は、フローの適切な部分で問題に対処してから、再テストに戻ることができます。 トラブルシューティングの手順については、問題の診断ページをご覧ください。

  12. [作成] をクリックします。

BigQuery の宛先接続プロファイルを作成する

  1. Google Cloud Console で Datastream の [接続プロファイル] ページに移動します。

    [接続プロファイル] ページに移動

  2. [プロファイルを作成] をクリックします。

  3. [接続プロファイルを作成] ページで、[BigQuery] プロファイル タイプをクリックします(BigQuery の宛先接続プロファイルを作成するため)。

  4. [BigQuery プロファイルの作成] ページで、次の情報を入力します。

    • 宛先 BigQuery サービスの接続プロファイル名として「My Destination Connection Profile」と入力します。
    • 自動生成された接続プロファイル ID を保持します。
    • 接続プロファイルを保存する [リージョン] を選択します。
  5. [作成] をクリックします。

PostgreSQL データベースのソース接続プロファイルと BigQuery の移行先接続プロファイルを作成した後、それらを使用してストリームを作成できます。

ストリームの作成

このセクションでは、ソース PostgreSQL データベースから BigQuery にデータを複製するためのストリームを作成します。

ストリームの作成には以下が含まれます。

  • ストリームの設定を定義します。
  • 移行元データベース用に作成した接続プロファイル(ソース接続プロファイル)を選択します。このクイックスタートでは、My Source Connection Profile です。
  • レプリケーションのプロパティと、Datastream の移行元データベースにあるテーブルとスキーマを指定して、ストリームのソース データベースに関する情報を構成します。
    • 宛先への転送ができる。
    • 宛先への転送が制限されている。
  • Datastream が過去のデータをバックフィルするのか、進行中の変更を宛先にストリーミングするのか、データへの変更のみをストリーミングするのかを決定します。
  • BigQuery 用に作成した接続プロファイル(移行先の接続プロファイル)を選択します。このクイックスタートでは、My Destination Connection Profile です。
  • ストリームの宛先に関する情報の構成(BigQuery データセットの構成など)。
  • ストリームを検証する。

ストリームの設定を定義する

  1. Google Cloud Console で Datastream の [ストリーム] ページに移動します。

    [ストリーム] ページに移動

  2. [ストリームの作成] をクリックします。

  3. [ストリームの作成] ページの [ストリームの詳細の定義] パネルで、次の情報を指定します。

    • [ストリーム名] として「My Stream」と入力します。
    • 自動生成されたストリーム ID を保持します。
    • [リージョン] メニューから、移行元の接続プロファイルを作成したリージョンを選択します。
    • [ソースタイプ] メニューから [PostgreSQL] プロファイル タイプを選択します。
    • [宛先の種類] メニューから、[BigQuery] プロファイル タイプを選択します。
  4. ストリームに環境を準備する方法が反映されるように、自動的に生成される必須の前提条件を確認します。これらの前提条件には、ソース データベースの構成方法と BigQuery の構成方法が含まれます。

  5. [続行] をクリックします[ストリームの作成] ページの [Define PostgreSQL connection profile] パネルが表示されます。

ソース接続プロファイルに関する情報の指定

  1. [ソース接続プロファイル] メニューから、PostgreSQL データベースのソース接続プロファイルを選択します。

  2. [テストを実行] をクリックして、移行元データベースと Datastream が相互に通信できることを確認します。

    テストに失敗した場合、接続プロファイルに関連する問題が表示されます。トラブルシューティングの手順については、問題の診断ページをご覧ください。必要な変更を行って問題を修正し、再度テストを行います。

  3. [続行] をクリックします。[ストリームの作成] ページの [ストリーム ソースの構成] パネルが表示されます。

ストリームのソース データベースに関する情報の構成

  1. ソース データベースのレプリケーション スロットパブリケーションの名前を指定します。レプリケーション スロットとパブリケーションは、PostgreSQL データベースの構成時に作成されました。

  2. [含めるオブジェクト] メニューを使用して、Datastream が BigQuery に複製するソース データベース内のテーブルとスキーマを指定します。メニューが読み込まれるのは、データベースに 5,000 個のオブジェクトがある場合のみです。

    このクイックスタートでは、Datastream ですべてのテーブルとスキーマを転送します。そのため、メニューから [すべてのテーブル] を選択します。

  3. [続行] をクリックします[ストリームの作成] ページの [Define BigQuery connection profile] パネルが表示されます。

宛先接続プロファイルの選択

  1. [宛先接続プロファイル] メニューから、BigQuery の宛先接続プロファイルを選択します。

  2. [続行] をクリックします[ストリームの作成] ページの [ストリームの移行先の構成] パネルが表示されます。

ストリームの転送先に関する情報の構成

  1. [スキーマごとのデータセット] オプションを選択すると、Datastream はソース データベース内のすべてのスキーマに BigQuery でデータセットを作成します。

  2. BigQuery でデータセットを作成するロケーションを選択します。ロケーションは、Datastream ストリームが作成されるリージョンと同じにする必要はありません。

  3. [接頭辞] を quickstart- に設定します。Datastream は、BigQuery で作成するすべてのデータセットの先頭にこの文字列を追加します。

  4. [データステイルネスの制限を指定する] プルダウン リストの値は 15 分のままにします。BigQuery はこの値を使用して、クエリ時のデータの古さを決定します。

  5. [続行] をクリックします[ストリームの作成] ページの [ストリームの詳細と作成] パネルが表示されます。

ストリームの作成

  1. ストリームの詳細と、ストリームが移行元の PostgreSQL データベースから BigQuery へのデータ転送に使用する移行元と移行先の接続プロファイルを確認します。

  2. [検証を実行] をクリックしてストリームを検証します。ストリームを検証すると、Datastream は移行元が適切に構成されていることを確認し、ストリームが移行元と移行先の両方に接続できること、ストリームのエンドツーエンド構成を検証します。

  3. すべての検証チェックに合格したら、[作成] をクリックします。

  4. [ストリームを作成しますか?] ダイアログ ボックスで、[作成] をクリックします。

ストリームの開始

クイックスタートの前のセクションでストリームを作成しましたが、まだ開始していません。これから開始していきましょう。

このクイックスタートでは、移行元データベースの負荷が増大した場合にストリームを個別に作成して開始します。負荷を軽減するには、ストリームを開始せずに作成し、負荷が発生したときにストリームを開始します。

ストリームを開始すると、Datastream は移行元データベースから移行先にデータ、スキーマ、テーブルを転送できます。

  1. Google Cloud Console で Datastream の [ストリーム] ページに移動します。

    [ストリーム] ページに移動

  2. 開始するストリームの左側にあるチェックボックスをオンにします。このクイックスタートでは、My Stream を使用します。

  3. [START] ボタンをクリックします。

  4. ダイアログ ボックスで [開始] をクリックします。ストリームのステータスが Not started から Starting、そして Running に変わります。

    ストリームを開始すると、Datastream がソース データベースから宛先にデータを転送することを確認できます。

ストリームの検証

このセクションでは、Datastream が移行元 PostgreSQL データベースのすべてのテーブルから BigQuery にデータを転送することを確認します。

  1. Google Cloud Console で Datastream の [ストリーム] ページに移動します。

    [ストリーム] ページに移動

  2. 作成したストリームをクリックします。このクイックスタートでは、My Stream を使用します。

  3. [ストリームの詳細] ページで、[書き込み先パス] フィールドの下にあるリンクをクリックします。BigQuery Studio が別のタブで開きます。

  4. ソース PostgreSQL データベースのスキーマとテーブルを表すデータセットとテーブルが表示されていることを確認します。

  5. 表のいずれかをクリックすると、データのプレビューが表示されます。

クリーンアップ

このページで使用したリソースについて、Google Cloud アカウントに課金されないようにするには、次の手順を行います。

  1. Google Cloud コンソールを使用して、プロジェクト、Datastream ストリームと接続プロファイル、BigQuery データセットを削除します。

Datastream で作成したリソースをクリーンアップすることで、割り当てを使い果たしたり、今後料金が発生しないようにします。次のセクションで、このようなリソースを削除または無効にする方法を説明します。

プロジェクトの削除

課金をなくす最も簡単な方法は、このクイックスタート用に作成したプロジェクトを削除することです。

  1. Cloud Console で [リソースの管理] ページに移動します。

    [リソースの管理] ページに移動

  2. プロジェクト リストで削除するプロジェクトを選択し、[削除] をクリックします。

  3. ダイアログ ボックスで、プロジェクト ID を入力して、[シャットダウン] をクリックしてプロジェクトを削除します。

ストリームの削除

  1. Google Cloud Console で Datastream の [ストリーム] ページに移動します。

    [ストリーム] ページに移動

  2. 変更するストリームをクリックします。このクイックスタートでは、My Stream を使用します。

  3. [一時停止] をクリックします。

  4. ダイアログ ボックスで [一時停止] をクリックします。

  5. [ストリームの詳細] ページの [ストリームのステータス] ペインで、ストリームのステータスが Paused であることを確認します。

  6. [削除] をクリックします。

  7. ダイアログ ボックスで、テキスト フィールドに Delete と入力して [削除] をクリックします。

接続プロファイルの削除

  1. Google Cloud Console で Datastream の [接続プロファイル] ページに移動します。

    [接続プロファイル] ページに移動

  2. 削除する各接続プロファイルのチェックボックスをオンにします。このクイックスタートでは、[My Source Connection Profile] と [My Destination Connection Profile] のチェックボックスをオンにします。

  3. [削除] をクリックします。

  4. ダイアログ ボックスで [削除] をクリックします。

BigQuery データセットを削除する

  1. Google Cloud コンソールの [BigQuery Studio] ページに移動します。

    BigQuery Studio に移動

  2. このクイックスタートを作成したプロジェクト ノードを展開します。

  3. 削除する各データセットについて、[アクションを表示] メニューをクリックし、[削除] をクリックします。

  4. ダイアログ ボックスで、テキスト フィールドに delete と入力して [削除] をクリックします。

次のステップ