このセクションでは、ストリームを作成する方法について説明します。Datastream は、このストリームを使用して移行元データベースから BigQuery または Cloud Storage にデータを転送します。
ストリームの作成には以下が含まれます。
- ストリームの設定を定義します。
- 作成した接続プロファイルを選択するか、接続プロファイルを作成します。
- Datastream の移行元データベースでテーブルとスキーマを指定して、ストリームのソース データベースに関する情報を構成します。
- 宛先への転送ができる。
- 移行先への転送は制限されています。
Datastream が過去のデータをバックフィルするのか、進行中の変更を移行先にストリーミングするのか、データへの変更のみをストリーミングするのかを決定します。履歴バックフィルを有効にする際に、Datastream が移行先にバックフィルしない移行元データベースのスキーマとテーブルを指定できます。
BigQuery または Cloud Storage 用に作成した接続プロファイル(移行先の接続プロファイル)を選択するか、作成していない場合は移行先の接続プロファイルを作成します。
ストリームの宛先に関する情報の構成これには以下の情報が含まれます。
- BigQuery 向け
- Datastream が移行元データベースからスキーマ、テーブル、データを複製するデータセット。
- Cloud Storage の場合:
- Datastream が移行元 Oracle データベースからスキーマ、テーブル、データを転送する移行先バケットのフォルダ。
- BigQuery 向け
ストリームを検証して、ストリームが正常に実行されることを確認します。ストリームの検証では、次のことを確認します。
- データストリームがソースからデータをストリーミングできるようにソースが適切に構成されているかどうか
- ストリームがソースと宛先の両方に接続できるかどうか
- ストリームのエンドツーエンド構成
始める前に
- レプリケーション用にソース データベースを設定していることを確認します。サポートされている各ソースタイプに必要な手順については、ソースを構成するをご覧ください。
- 選択した場所を設定するために必要な手順を確認します。詳細については、宛先を構成するをご覧ください。
ストリームの設定の定義
Google Cloud コンソールの [ストリーム] ページに移動します。
[ストリームを作成] をクリックします。
次の表を使用して、[ストリームの作成] ページの [ストリームの詳細の定義] セクションのフィールドに入力します。
フィールド 説明 ストリーム名 ゲートウェイの表示名を入力します。 ストリーム ID このフィールドは、入力したストリーム名に基づいて Datastream が自動的に入力します。自動生成された ID を保持することも、変更することもできます。 リージョン ストリームが保存されるリージョンを選択します。ストリームは、他のすべてのリソースと同様にリージョンに保存されます。リージョンの選択は、ストリームがソース データベースまたは宛先に接続できるかどうかには影響しませんが、リージョンでダウンタイムが発生した場合の可用性に影響する可能性があります。コストとパフォーマンスを最適化するには、ストリームのすべてのリソースをソースデータと同じリージョンに配置することをおすすめします。 ソースタイプ ソースの接続プロファイルを作成したときに指定したプロファイル タイプを選択します。ソース データベースの接続プロファイルを作成していない場合は、ここで作成できます。
宛先の種類 BigQuery または Cloud Storage の移行先の接続プロファイルを作成したときに指定したプロファイル タイプを選択します。宛先の接続プロファイルを作成していない場合は、ここで作成できます。 暗号化 デフォルトでは、データは Google Cloudが管理する鍵で暗号化されます。ご自身で暗号化を管理する場合は、顧客管理の暗号鍵(CMEK)を使用します。
- [Cloud KMS 鍵] チェックボックスをオンにします。
- [鍵のタイプ] プルダウン メニューから [Cloud KMS] を選択し、CMEK を選択します。
鍵が表示されない場合は、[鍵のリソース名を入力] をクリックして、使用する鍵のリソース名を指定します。たとえば、[鍵のリソース名] フィールドに「
projects/my-project-name/locations/my-location/keyRings/my-keyring/cryptoKeys/my-key」と入力し、[保存] をクリックします。必要に応じて、ラベルを使用して Datastream のリソースを整理します。
- ラベルを作成するには、[ラベルを追加] をクリックして、ラベルの Key-Value ペアを入力します。
- ラベルを削除するには、そのラベルがある行の右側のゴミ箱アイコンをクリックします。
必要に応じて、ストリームのアラート ポリシーを追加します。アラート ポリシーでは、ストリームの障害について通知を受け取るタイミングと方法を定義します。
- アラート ポリシーを作成するには、[アラート ポリシーを追加] をクリックします。
- Cloud Monitoring に [アラート ポリシーを作成] ページが表示されます。このページでは、ストリームが失敗した場合のアラート ポリシーを定義します。
アラート ポリシーの詳細については、指標ベースのアラート ポリシーの管理をご覧ください。
ストリームに環境を準備する方法が反映されるように、自動的に生成される必須の前提条件を確認します。これらの前提条件には、移行元データベースの構成方法と移行先に接続する方法が含まれます。この手順でこれらの前提条件を完了することをおすすめしますが、ストリームをテストまたは開始する前であればいつでも完了できます。これらの前提条件の詳細については、ソースをご覧ください。
[続行] をクリックします移行元データベースのタイプに応じて、[ストリームの作成] ページの [接続プロファイルの定義] パネルが表示されます。
ソース接続プロファイルに関する情報の指定
移行元接続プロファイルを作成した場合は、接続プロファイルのリストから選択します。
ソース接続プロファイルを作成していない場合は、プルダウン リストの下部にある [接続プロファイルの作成] をクリックして構成を作成してから、接続プロファイルの作成と同じ手順を行います。
[テストを実行] をクリックして、移行元データベースと Datastream が相互に通信できることを確認します。
テストに失敗した場合、接続プロファイルに関連する問題が表示されます。トラブルシューティングの手順については、問題を診断するページを参照してください。必要な変更を行って問題を修正し、再度テストを行います。
[続行] をクリックします。[ストリームの作成] ページの [ストリーム ソースの構成] パネルが表示されます。
ストリームのソース データベースに関する情報の構成
PostgreSQL ソース データベースを構成する
- PostgreSQL ソース データベースのレプリケーション プロパティを定義します。[Replication properties] セクションで、次のプロパティを指定します。
- [レプリケーション スロット名] フィールドに、このストリーム専用に作成したスロットの名前を入力します。データベースサーバーはこのスロットを使用して、イベントを Datastream に送信します。
- [パブリケーション名] フィールドに、データベースで作成したパブリケーションの名前を入力します。パブリケーションは、このストリームを使用して変更を複製するすべてのテーブルのグループです。
- [含めるオブジェクトを選択] セクションで、[含めるオブジェクト] プルダウン メニューを使用して、DataStream が移行先に転送する移行元データベースのテーブルとスキーマを特定します。
- Datastream ですべてのテーブルとスキーマを転送する場合は、[すべてのスキーマのすべてのテーブル] を選択します。
- Datastream で特定のテーブルとスキーマのみを転送する場合は、[特定のスキーマとテーブル] を選択し、Datastream で pull するスキーマとテーブルのチェックボックスをオンにします。
- Datastream で転送するテーブルとスキーマのテキスト定義を提供する場合は、[カスタム] を選択し、[条件に一致するオブジェクト] フィールド内で Datastream に pull するスキーマとテーブルを入力します。データベースにテーブルとスキーマが大量にある場合は、pull するオブジェクトのリストにテーブルやスキーマが含まれていない可能性があるため、[カスタム] オプションを使用することをおすすめします。
- 宛先が BigQuery の場合は、テーブルのパーティショニングとクラスタリングを構成できます。
- パーティショニングまたはクラスタリングを設定するテーブルごとに、[列を選択] をクリックします。
- パーティショニングを構成するには、[パーティショニング] セクションで、次のいずれかのオプションを選択します。
- パーティショニングなし: このオプションを選択すると、テーブルにパーティショニングは適用されません。
- 取り込み時間でパーティショニング: このオプションを選択すると、データは時間ベースのパーティションに整理されます。[パーティショニング タイプ] リストから値を選択して、パーティショニングの粒度を構成します。使用可能なオプションは、時間単位、日単位、月単位、年単位です。デフォルトの粒度は [毎日] です。
- フィールドによるパーティショニング: このオプションを選択する場合は、テーブルのパーティショニングに使用するソース列とパーティショニング タイプを選択する必要があります。選択できるのは、サポートされているデータ型のソース列のみです。サポートされているソースデータ型と使用可能なパーティショニング タイプについては、BigQuery の宛先のパーティショニングとクラスタリングを構成するをご覧ください。
必要に応じて、[パーティショニング フィルタ] オプションを選択します。このオプションを選択すると、このテーブルのすべてのクエリでパーティション フィルタが必要になります。パーティション フィルタを使用すると、費用が低減され、パフォーマンスが向上する場合があります。詳細については、パーティション フィルタの要件を設定するをご覧ください。
- クラスタリングを構成するには、[クラスタリング] セクションで、テーブルをクラスタ化するフィールドを選択します。選択できるフィールドは 4 つまでです。クラスタリング フィールドを追加する順序によって、データの並べ替え順序が決まります。テーブルのクラスタリング設定を指定しない場合、Datastream はデフォルトで、ソーステーブルの最大 4 つの主キーを BigQuery のクラスタリング キーとして使用します。
- [保存] をクリックして設定を保存します。
パーティショニングとクラスタリングの詳細については、パーティショニングとクラスタリングを構成するをご覧ください。
- 必要に応じて、[除外するオブジェクトを選択] ノードを展開します。[除外するオブジェクト] フィールドに、Datastream による pull を制限する移行元データベース内のテーブルとスキーマを入力します。[除外するオブジェクト] リストは、[含めるオブジェクト] リストよりも優先されます。オブジェクトが追加リストと除外リストの両方の条件を満たしている場合、そのオブジェクトはストリームから除外されます。
- 必要に応じて、[履歴データのバックフィル モードを選択] ノードを展開し、次のいずれかを選択します。
- データの変更に加えて、既存のすべてのデータを移行先にストリーミングするには、[自動] オプションを選択します。[自動バックフィルから除外されたオブジェクト] フィールドに、Datastream が移行先にバックフィルするのを制限する移行元データベース内のテーブルとスキーマを入力します。
- データの変更のみを移行先にストリーミングするには、[手動] オプションを選択します。
- [続行] をクリックします[ストリームの作成] ページの [接続プロファイルの定義] パネルが、宛先タイプに応じて表示されます。
MySQL ソース データベースを構成する
- [含めるオブジェクトを選択] セクションで、[含めるオブジェクト] プルダウン メニューを使用して、DataStream が移行先に転送する移行元データベースのテーブルとスキーマを特定します。
- Datastream ですべてのテーブルとスキーマを転送する場合は、[すべてのスキーマのすべてのテーブル] を選択します。
- Datastream で特定のテーブルとスキーマのみを転送する場合は、[