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. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  5. Make sure that billing is enabled for your Google Cloud project.

  6. Enable the Datastream API.

    Enable the API

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

    IAM ページに移動

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

要件

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

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

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

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

接続プロファイルの作成

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

このクイックスタートでは、移行元の接続プロファイルのプロファイル タイプとして PostgreSQL を選択し、移行先接続プロファイルのプロファイル タイプとして PostgreSQL を選択します。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. 「テストに合格」のステータスが表示されていることを確認します。

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

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

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

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

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

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

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

  4. [Create BigQuery profile] ページで、次の情報を入力します。

    • 宛先の 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. [ストリーム書き込みモード] の値は [マージ] のままにします。これにより、BigQuery のテーブルはソースと同期された状態を維持します。

  5. [データ未更新期間の上限を指定する] プルダウン リストの値は 15 分に設定したままにします。BigQuery はこの値を使用して、クエリ時にデータの古さを判断します。

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

ストリームの作成

  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 と入力して [削除] をクリックします。

次のステップ