始める前に
- ラボでは、Google Cloud プロジェクトとリソースを一定の時間利用します
- ラボには時間制限があり、一時停止機能はありません。ラボを終了した場合は、最初からやり直す必要があります。
- 画面左上の [ラボを開始] をクリックして開始します
Set up the Striim software
/ 30
Set up Connector/J
/ 30
Create a Cloud Spanner access key
/ 40
このラボは Google のパートナーである Striim と共同開発されました。アカウント プロフィールでサービスの最新情報、お知らせ、特典の受け取りをご希望になった場合、お客様の個人情報が本ラボのスポンサーである Striim と共有される場合があります。
このラボでは、Google Cloud のデータ移行パートナーである Striim を使用して、Cloud SQL for MySQL データベースを Cloud Spanner に移行する方法について学びます。
Striim は包括的なストリーミング ETL プラットフォームです。グラフィカルなドラッグ&ドロップ インターフェースを使用して、オンプレミスやクラウドのデータソースから Google Cloud データサービスに対してオンライン データ移行や継続的なストリーミング レプリケーションを実行できます。次の図は、Striim のアーキテクチャの概要を示しています。
この図は、使用および作成するさまざまなサービスと、実装する Striim を介した Cloud SQL for MySQL から Cloud Spanner へのデータフローを示しています。
このハンズオンラボでは、次のタスクの方法について学びます。
こちらの説明をお読みください。ラボには時間制限があり、一時停止することはできません。タイマーは、Google Cloud のリソースを利用できる時間を示しており、[ラボを開始] をクリックするとスタートします。
このハンズオンラボでは、シミュレーションやデモ環境ではなく実際のクラウド環境を使って、ラボのアクティビティを行います。そのため、ラボの受講中に Google Cloud にログインおよびアクセスするための、新しい一時的な認証情報が提供されます。
このラボを完了するためには、下記が必要です。
[ラボを開始] ボタンをクリックします。ラボの料金をお支払いいただく必要がある場合は、表示されるダイアログでお支払い方法を選択してください。 左側の [ラボの詳細] ペインには、以下が表示されます。
[Google Cloud コンソールを開く] をクリックします(Chrome ブラウザを使用している場合は、右クリックして [シークレット ウィンドウで開く] を選択します)。
ラボでリソースがスピンアップし、別のタブで [ログイン] ページが表示されます。
ヒント: タブをそれぞれ別のウィンドウで開き、並べて表示しておきましょう。
必要に応じて、下のユーザー名をコピーして、[ログイン] ダイアログに貼り付けます。
[ラボの詳細] ペインでもユーザー名を確認できます。
[次へ] をクリックします。
以下のパスワードをコピーして、[ようこそ] ダイアログに貼り付けます。
[ラボの詳細] ペインでもパスワードを確認できます。
[次へ] をクリックします。
その後次のように進みます。
その後、このタブで Google Cloud コンソールが開きます。
Cloud Shell は、開発ツールと一緒に読み込まれる仮想マシンです。5 GB の永続ホーム ディレクトリが用意されており、Google Cloud で稼働します。Cloud Shell を使用すると、コマンドラインで Google Cloud リソースにアクセスできます。
Google Cloud コンソールの上部にある「Cloud Shell をアクティブにする」アイコン をクリックします。
ウィンドウで次の操作を行います。
接続した時点で認証が完了しており、プロジェクトに各自の Project_ID、
gcloud は Google Cloud のコマンドライン ツールです。このツールは、Cloud Shell にプリインストールされており、タブ補完がサポートされています。
出力:
出力:
gcloud ドキュメントの全文については、gcloud CLI の概要ガイドをご覧ください。
データベースを移行するには、初期構成が必要です。
striim-usr-password です。mysql> プロンプトでトランザクションを読み込みます。定義したデータベースとテーブルを使用して Cloud Spanner インスタンスが設定されていることを確認します。Google Cloud コンソールで、ページ上部の検索バーを使用して「Spanner」を検索します。
インスタンス striim-spanner-demo、データベース striimdemo の順にクリックします。テーブル orders が存在することを確認します。
テーブル orders をクリックして、[データ] タブをクリックします。テーブルは空です。
次に、Google Cloud Marketplace を介して、Striim サーバーのインスタンスを設定します。
または、直接リンクを使用して、Marketplace で検索できます。
[使ってみる] ボタンをクリックします。
チェックボックスをオンにして、利用規約に同意し、[同意する] をクリックします。
[デプロイ] をクリックします。Striim サーバーの構成オプションが表示されます。
ゾーンを
マシンタイプを N1 から E2 に変更します。
Striim との情報共有を許可するかどうかを選択します。
他のすべての設定をそのままの状態にし、[デプロイ] ボタンをクリックします。
ソリューションのプロビジョニング後、[Deployment Manager] ページにリダイレクトされ、デプロイメントの詳細が表示されます。
mysql> プロンプトをまだ終了していない場合は、「exit」と入力して Cloud Shell に戻ります。戻ったら、次のコマンドを実行します。VM 名 [STRIIM VM NAME] とゾーン [STRIIM VM ZONE] はデプロイメントの詳細ペインのものに置き換えます。Y キーを押して続行することを確認します。[Deployment Manager] ページで、[Visit the site] をクリックします。新しいブラウザタブで Striim 構成ウィザードが開きます。リダイレクト通知が表示された場合は、無視してかまいません。表示されたリンクをクリックします。
[Accept Striim EULA and Continue] をクリックして EULA に同意します。
Striim インストールを構成します。
| プロパティ | 値(値を入力するか、指定されたオプションを選択) |
|---|---|
| First name | Example |
| Last name | User |
user@example.com |
|
| Company Name | Example |
| Cluster name | my_cluster |
| Admin password | my_admin_password |
| Sys user password | my_cluster_password |
| Striim Key Store password | my_cluster_password |
クラスタ名およびクラスタと管理者のパスワードは、このラボの後半で使用するためメモしておきます。
[Save and Continue] をクリックします。
次の画面で、ライセンスの詳細を尋ねられます。項目を空白のままにして [Save and Continue] をクリックします。
[Launch] をクリックし、緑色の [Log In] ボタンをクリックします。
admin ユーザーと管理者パスワード my_admin_password を使用してログインします。Striim 管理者コンソール(次に示す画面)が表示され、MySQL に接続できるようになりました。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
Striim オンライン ドキュメントに従い、MySQL Connector/J を使用して Striim を Cloud SQL インスタンスに接続します。
Striim インスタンスの [Deployment Manager] ページで、青色の [Visit the site] ボタンの横にある [SSH] をクリックします。新しいウィンドウが開き、仮想マシンに自動的に SSH 接続します。
Connector/J を VM にダウンロードして解凍します。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
admin ユーザーとパスワードを使用してログインします。再起動後、管理コンソールの更新に数分かかります。最初のトライアルで管理コンソールが再読み込みされない場合は、管理コンソールが表示されるまで何回か更新してください。管理コンソールが表示されない場合は、サイトアドレスを使用します。ただし、ポートは 9070 ではなく 9080 を使用します。例: http://[IP_ADDRESS]:9080/
admin ユーザーは組み込みユーザーで、Striim 管理コンソールで正常にログインするにはこれを使用する必要があります。Striim では、Cloud Spanner に接続するためにアクセスキーが必要です。必要な手順は次のとおりです。
ホームパスに striim-spanner-key.json というキーが作成されます。
次に、作成したキーを Striim VM に移動する必要があります。
Deployment Manager のデプロイメントの詳細ページに移動するか、Cloud コンソールで gcloud compute instances list コマンドを使用して、Striim がデプロイされている仮想マシンの名前を特定します。Striim VM の名前がわかったら、次の手順に進みます。
次のコマンドを使用して、JSON ファイルを Striim サーバーにコピーします。
これにより、SSH キーが生成されることがあります(その場合はパスフレーズを指定する必要があります)。
Y キーを押して続行し、パスフレーズ項目を空のままにします。これで、Striim アプリケーションを作成する準備が整いました。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
オンライン データベース移行では、データをソース データベース(オンプレミスまたはクラウド プロバイダのホスト型)から Google Cloud のターゲット データベースに移動します。その間、ビジネス アプリケーションからソース データベースには引き続き完全にアクセスでき、ソース データベースのパフォーマンスへの影響は最小化されます。
オンライン移行では、初期一括読み込みが実行され、変更の継続的なキャプチャも実行されます。その後、2 つのデータベースを同期して、データが失われないようにします。通常、両方のデータベースは長期間保持されるため、新しいクラウド データベースへの切り替えの際に、アプリケーションとユーザーが影響を受けないことをテストして確認できます。
まず初期一括読み込みを作成します。
Striim Web UI で、[Apps] ペインをクリックします。
ページの右上にある [Create App] ボタンをクリックします。
Striim でアプリケーションを作成する方法はいくつかあります。
[Start From Scratch] をクリックします。
アプリケーションに覚えやすい名前を付けます。このラボでは、demo_online を使用します。
アプリケーション名の下で名前空間を選択できます。これらは、アプリケーションの編成に役立つ論理グループです。デフォルトの admin 名前空間を使用します。[Save] をクリックします。
[Flow Designer] ページが表示されます。ストリーミング データ アプリケーションの作成に必要なコネクタはすべて、すぐに使用できる状態でメニューバーの左側に表示されます。
1 回限りのデータの初期一括読み込みを行うために、Database Reader を使用します。
[Database] タイルを [Sources] ペインから中央のアプリケーション キャンバスにドラッグ&ドロップします。
| プロパティ | 値(値を入力するか、指定されたオプションを選択) |
|---|---|
| Name | mysql_source |
| Connection URL | jdbc:mysql://[PRIMARY_ADDRESS]:3306/striimdemo?useSSL=false&serverTimezone=UTC |
| ユーザー名 | striim-user |
| Password | striim-usr-password |
[PRIMARY_ADDRESS] は、SQL インスタンスの IP アドレスです。IP アドレスは、Cloud Shell で gcloud sql instances list コマンドを使用して確認できます。
| プロパティ | 値(値を入力するか、指定されたオプションを選択) |
|---|---|
| Tables | striimdemo.ORDERS |
| [OUTPUT TO] > [New Output] | stream_CloudSQLMySQLInitLoad |
簡単なテストを実施し、構成設定が正しいかどうかと、Striim が MySQL に正常に接続できることを確認します。
[Deployment] ウィンドウで、デプロイメント トポロジのどの部分で、アプリケーションのどの部分が実行されるようにするかを指定します。通常、これを使用するのは、ソースに接してデプロイされた軽量の転送エージェントをオンプレミスで実行し、クラウドで実行されている Striim サーバーに特定のポートを介してデータを push する場合です。
シンプルなデプロイメント トポロジを使用するので、デフォルト オプションを選択して、[デプロイ] をクリックします。
Database Reader コンポーネントの下にあるウェーブ アイコンをクリックし、その横にある目のアイコンをクリックして、Striim パイプラインを通過するデータをプレビューします。
これで、Striim アプリケーションが実行され、データがパイプラインを通過することがわかります。エラーが発生した場合は、パイプラインにソース コンポーネントのみ存在するためにソース データベースへの接続に問題があることを意味します。アプリケーションが正常に実行されてもデータが通過しない場合、通常はデータベースにデータが存在しないことを意味します。
ソース データベースに正常に接続し、データを読み取ることができることをテストしました。
トップメニュー バーの [Running] をクリックし、[Stop App] を選択します。
[Stopped] をクリックし、[Undeploy App] を選択します。これで、Cloud Spanner に接続できるようになりました。
[DatabaseReader] の下にあるウェーブボタンをクリックします。今回は + ボタンが表示されます。これをクリックして [Connect next Target component] を選択します。
このターゲット オブジェクトに CloudSpannerInitialLoadTarget という名前を付けて、[Adapter] フィールドの下で、「Spanner」を検索します。[SpannerWriter] を選択します。
| プロパティ | 値(値を入力するか、指定されたオプションを選択) |
|---|---|
| Service Account Key | /opt/striim/striim-spanner-key.json |
| InstanceID | striim-spanner-demo |
| Tables | striimdemo.ORDERS,striimdemo.orders |
gcloud spanner instances list を使用して確認できます。srcSchema1.srcTable1,tgtSchema1.tgtTable1; srcSchema2.srcTable2,tgtSchema2.tgtTable2 のような形式になります。[Save] をクリックします。
[Created] プルダウンで [Deploy App] をクリックします。
デフォルトのオプションを選択し、[Deploy] をクリックします。
[Deployed] をクリックし、[Start App] をクリックします。
Cloud Console で [Spanner] に移動し、次に striimdemo データベースに移動します。
左側のペインで、[Spanner Studio] をクリックします。
エディタ ウィンドウで、クエリ SELECT * from orders を実行すると、複製されたデータが返されます。
これで、一括読み込みが実行されるように Striim 環境とパイプラインを設定できました。
このクエリによって、注文の平均数量と合計数量がわかります。これらは、それぞれ 43148.952 と 431489.52 です。
1 回限りの初期一括読み込みを完了したところで、次に、継続的なレプリケーション パイプラインを設定します。これは作成した一括パイプラインによく似ていますが、ソース オブジェクトが異なります。
[Start from Scratch] をクリックし、MySQLToCloudSpanner_cdc という名前を付けます。名前空間は admin などのようにそのままにします。
[Save] をクリックします。
今回は、DatabaseReader ソースではなく MySQL CDC リーダーを選択します。
| プロパティ | 値(値を入力するか、指定されたオプションを選択) |
|---|---|
| Name | spanner_source |
| Connection URL | jdbc:mysql://[PRIMARY_ADDRESS]:3306/striimdemo?useSSL=false&serverTimezone=UTC |
| ユーザー名 | striim-user |
| Password | striim-usr-password |
| Tables | striimdemo.ORDERS |
| [OUTPUT TO] > [New Output] | tgt_MySQLCDCSpanner |
[PRIMARY_ADDRESS] は、SQL インスタンスの IP アドレスです。IP アドレスは、Cloud Shell で gcloud sql instances list コマンドを使用して確認できます。
[Save] をクリックします。
[Spanner_Source] の下にあるウェーブボタンをクリックします。今回は + ボタンが表示されます。これをクリックして [Connect next Target component] を選択します。
このターゲット オブジェクトに tgt_CDC_SPANNER という名前を付けて、[Adapter] フィールドの下で「Spanner」を検索します。[SpannerWriter] を選択します。
残りの接続プロパティを入力します。
| プロパティ | 値(値を入力するか、指定されたオプションを選択) |
|---|---|
| Service Account Key | /opt/striim/striim-spanner-key.json |
| InstanceID | striim-spanner-demo |
| Tables | striimdemo.ORDERS,striimdemo.orders |
[Save] をクリックします。
[Created] プルダウンで [Deploy App] をクリックします。
デフォルトのオプションを選択し、[Deploy] をクリックします。
[Deployed] をクリックし、[Start App] をクリックします。
ウェーブ アイコンをクリックし、その横にある目のアイコンをクリックしてデータを確認します。
Cloud Shell に戻り、次のコマンドを実行して MySQL インスタンスを接続します。
パスワードの入力を求められたら、「striim-usr-password」と入力します。
striimdemo データベースで、次のコマンドを実行してデータを追加します。
gcloud ツールを使用してクエリするか、Cloud コンソールでテーブルに移動します。データが正しくターゲットに複製されていることがわかります。Cloud コンソールで Cloud Spanner に移動して striimdemo データセットに移動します。
Spanner Studio で最後のクエリを実行して、データが正しく返されることを確認します。これにより、平均注文数量と合計注文数量がわかります。CDC パイプライン後、それぞれ 41959.899333333335 と 629398.4900000001 になります。
これで、Google Cloud のデータ移行パートナーである Striim を使用して、Cloud SQL for MySQL から Cloud Spanner へのストリーミング パイプラインを設定できました。
Google Cloud トレーニングと認定資格を通して、Google Cloud 技術を最大限に活用できるようになります。必要な技術スキルとベスト プラクティスについて取り扱うクラスでは、学習を継続的に進めることができます。トレーニングは基礎レベルから上級レベルまであり、オンデマンド、ライブ、バーチャル参加など、多忙なスケジュールにも対応できるオプションが用意されています。認定資格を取得することで、Google Cloud テクノロジーに関するスキルと知識を証明できます。
最終テスト日: 2023 年 12 月 5 日
最終更新日: 2023 年 12 月 5 日
Copyright 2025 Google LLC. All rights reserved. Google および Google のロゴは Google LLC の商標です。その他すべての企業名および商品名はそれぞれ各社の商標または登録商標です。
このコンテンツは現在ご利用いただけません
利用可能になりましたら、メールでお知らせいたします
ありがとうございます。
利用可能になりましたら、メールでご連絡いたします
1 回に 1 つのラボ
既存のラボをすべて終了して、このラボを開始することを確認してください