ラボの設定手順と要件
アカウントと進行状況を保護します。このラボを実行するには、常にシークレット ブラウジング ウィンドウとラボの認証情報を使用してください。

継続的な Database Migration Service ジョブを使用したオンプレミス MySQL の移行

ラボ 1時間 30分 universal_currency_alt クレジット: 1 show_chart 入門
info このラボでは、学習をサポートする AI ツールが組み込まれている場合があります。
このコンテンツはまだモバイル デバイス向けに最適化されていません。
快適にご利用いただくには、メールで送信されたリンクを使用して、デスクトップ パソコンでアクセスしてください。

GSP860

Google Cloud セルフペース ラボのロゴ

概要

Database Migration Service には、1 回限りのジョブや継続的なジョブでさまざまな接続オプションを使用してデータを Cloud SQL に移行するためのオプションが用意されています。接続オプションには、IP 許可リスト、VPC ピアリング、リバース SSH トンネルなどがあります(接続の構成ガイドの接続オプションに関するドキュメントを参照)。

このラボでは、継続的な Database Migration Service ジョブと接続用の VPC ピアリングを使用して、オンプレミスの MySQL データベース(仮想マシン上で実行)を Cloud SQL for MySQL に移行します。

移行ジョブを作成して実行した後、データベースの最初のコピーが Cloud SQL for MySQL インスタンスに正常に移行されていることを確認します。継続的な移行ジョブによってデータ更新が移行元データベースから Cloud SQL インスタンスにどのように適用されるかについても確認します。移行ジョブを完結させるために、Cloud SQL インスタンスをスタンドアロン データベースにプロモートして、データを読み書きできるようにします。

演習内容

このラボでは、データベースを MySQL インスタンスから Cloud SQL for MySQL に移行するための継続的な Database Migration Service ジョブを構成する方法について学習します。

  • MySQL インスタンス(オンプレミス MySQL など)への移行元接続のプロファイルを作成する。
  • VPC ピアリングを使用して、移行元データベースと移行先データベースのインスタンス間の接続を構成する。
  • Database Migration Service を使用して、継続的な移行ジョブを作成、実行、検証する。
  • 移行先インスタンス(Cloud SQL for MySQL)をスタンドアロン データベースにプロモートして、データを読み書きできるようにする。

設定と要件

[ラボを開始] ボタンをクリックする前に

こちらの説明をお読みください。ラボには時間制限があり、一時停止することはできません。タイマーは、Google Cloud のリソースを利用できる時間を示しており、[ラボを開始] をクリックするとスタートします。

このハンズオンラボでは、シミュレーションやデモ環境ではなく実際のクラウド環境を使って、ラボのアクティビティを行います。そのため、ラボの受講中に Google Cloud にログインおよびアクセスするための、新しい一時的な認証情報が提供されます。

このラボを完了するためには、下記が必要です。

  • 標準的なインターネット ブラウザ(Chrome を推奨)
注: このラボの実行には、シークレット モード(推奨)またはシークレット ブラウジング ウィンドウを使用してください。これにより、個人アカウントと受講者アカウント間の競合を防ぎ、個人アカウントに追加料金が発生しないようにすることができます。
  • ラボを完了するための時間(開始後は一時停止できません)
注: このラボでは、受講者アカウントのみを使用してください。別の Google Cloud アカウントを使用すると、そのアカウントに料金が発生する可能性があります。

ラボを開始して Google Cloud コンソールにログインする方法

  1. [ラボを開始] ボタンをクリックします。ラボの料金をお支払いいただく必要がある場合は、表示されるダイアログでお支払い方法を選択してください。 左側の [ラボの詳細] ペインには、以下が表示されます。

    • [Google Cloud コンソールを開く] ボタン
    • 残り時間
    • このラボで使用する必要がある一時的な認証情報
    • このラボを行うために必要なその他の情報(ある場合)
  2. [Google Cloud コンソールを開く] をクリックします(Chrome ブラウザを使用している場合は、右クリックして [シークレット ウィンドウで開く] を選択します)。

    ラボでリソースがスピンアップし、別のタブで [ログイン] ページが表示されます。

    ヒント: タブをそれぞれ別のウィンドウで開き、並べて表示しておきましょう。

    注: [アカウントの選択] ダイアログが表示されたら、[別のアカウントを使用] をクリックします。
  3. 必要に応じて、下のユーザー名をコピーして、[ログイン] ダイアログに貼り付けます。

    {{{user_0.username | "Username"}}}

    [ラボの詳細] ペインでもユーザー名を確認できます。

  4. [次へ] をクリックします。

  5. 以下のパスワードをコピーして、[ようこそ] ダイアログに貼り付けます。

    {{{user_0.password | "Password"}}}

    [ラボの詳細] ペインでもパスワードを確認できます。

  6. [次へ] をクリックします。

    重要: ラボで提供された認証情報を使用する必要があります。Google Cloud アカウントの認証情報は使用しないでください。 注: このラボでご自身の Google Cloud アカウントを使用すると、追加料金が発生する場合があります。
  7. その後次のように進みます。

    • 利用規約に同意してください。
    • 一時的なアカウントなので、復元オプションや 2 要素認証プロセスは設定しないでください。
    • 無料トライアルには登録しないでください。

その後、このタブで Google Cloud コンソールが開きます。

注: Google Cloud のプロダクトやサービスにアクセスするには、ナビゲーション メニューをクリックするか、[検索] フィールドにサービス名またはプロダクト名を入力します。 ナビゲーション メニュー アイコンと検索フィールド

Cloud Shell をアクティブにする

Cloud Shell は、開発ツールと一緒に読み込まれる仮想マシンです。5 GB の永続ホーム ディレクトリが用意されており、Google Cloud で稼働します。Cloud Shell を使用すると、コマンドラインで Google Cloud リソースにアクセスできます。

  1. Google Cloud コンソールの上部にある「Cloud Shell をアクティブにする」アイコン 「Cloud Shell をアクティブにする」アイコン をクリックします。

  2. ウィンドウで次の操作を行います。

    • Cloud Shell 情報ウィンドウで操作を進めます。
    • Cloud Shell が認証情報を使用して Google Cloud API を呼び出すことを承認します。

接続した時点で認証が完了しており、プロジェクトに各自の Project_ID が設定されます。出力には、このセッションの PROJECT_ID を宣言する次の行が含まれています。

Your Cloud Platform project in this session is set to {{{project_0.project_id | "PROJECT_ID"}}}

gcloud は Google Cloud のコマンドライン ツールです。このツールは、Cloud Shell にプリインストールされており、タブ補完がサポートされています。

  1. (省略可)次のコマンドを使用すると、有効なアカウント名を一覧表示できます。
gcloud auth list
  1. [承認] をクリックします。

出力:

ACTIVE: * ACCOUNT: {{{user_0.username | "ACCOUNT"}}} To set the active account, run: $ gcloud config set account `ACCOUNT`
  1. (省略可)次のコマンドを使用すると、プロジェクト ID を一覧表示できます。
gcloud config list project

出力:

[core] project = {{{project_0.project_id | "PROJECT_ID"}}} 注: Google Cloud における gcloud ドキュメントの全文については、gcloud CLI の概要ガイドをご覧ください。

Database Migration API が有効になっていることを確認する

  1. Google Cloud コンソールで、上部の検索バーに「Database Migration API」と入力します。検索結果の「Database Migration API」をクリックします。

このページには、ステータス情報、またはこの API を有効にするオプションが表示されます。

  1. 必要に応じて API を有効にします。

Service Networking API が有効になっていることを確認する

  1. Google Cloud コンソールで、上部の検索バーに「Service Networking API」と入力します。検索結果の「Service Networking API」をクリックします。

このページには、ステータス情報、またはこの API を有効にするオプションが表示されます。

  1. 必要に応じて API を有効にします。

タスク 1. MySQL 移行元インスタンスの接続情報を取得する

このタスクでは、Cloud SQL に移行する移行元データベース インスタンスの内部 IP アドレスを特定します。

  1. Google Cloud コンソールのナビゲーション メニューナビゲーション メニュー アイコン)で、[Compute Engine] > [VM インスタンス] をクリックします。

  2. dms-mysql-training-vm-v2 という名前のインスタンスが示されている行を見つけます。

  3. 内部 IP の値(10.128.0.2 など)をコピーします。

タスク 2. MySQL 移行元インスタンスの新しい接続プロファイルを作成する

接続プロファイルには、移行元データベース インスタンス(オンプレミスの MySQL など)に関する情報が保存され、Database Migration Service でデータを移行元から移行先 Cloud SQL データベース インスタンスに移行するために使用されます。作成した接続プロファイルは、さまざまな移行ジョブで再利用できます。

  1. Google Cloud コンソールのナビゲーション メニューナビゲーション メニュー アイコン)で、[データベース] セクションの [すべてのプロダクトを表示] をクリックし、[データベースの移行] > [接続プロファイル] をクリックします。

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

  3. [接続プロファイルの作成] ページの [プロファイル ロール] リストから、[ソース] を選択します。

  4. [データベース エンジン] で [MySQL] を選択します。

  5. 接続プロファイルに、次の必須情報を入力します。

プロパティ
接続プロファイルの名前 mysql-vm
接続プロファイル ID 自動生成された値をそのまま使用します。
ホスト名または IP アドレス 前のタスクでコピーした MySQL 移行元インスタンスの内部 IP(10.128.0.2 など)を入力します。
ポート 3306
ユーザー名 admin
パスワード changeme
  1. [接続プロファイルのリージョン] で、 を選択します。

  2. [暗号化のタイプ] で [なし] を選択します。

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

mysql-vm という名前の新しい接続プロファイルが接続プロファイル リストに表示されます。

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 MySQL 移行元インスタンスの接続プロファイルを作成する。

タスク 3. 継続的な移行ジョブを作成して開始する

新しい移行ジョブを作成する場合は、まず前に作成した接続プロファイルを使用して移行元データベース インスタンスを定義します。次に、新しい移行先データベース インスタンスを作成し、移行元インスタンスと移行先インスタンスの間の接続を構成します。

このタスクでは、移行ジョブ インターフェースを使用して新しい Cloud SQL for MySQL データベース インスタンスを作成し、MySQL 移行元インスタンスからの継続的な移行ジョブの移行先として設定します。

継続的な移行ジョブを作成する

  1. Google Cloud コンソールのナビゲーション メニューナビゲーション メニュー アイコン)で、[データベース] セクションの [すべてのプロダクトを表示] をクリックし、[データベースの移行] > [移行ジョブ] をクリックします。

  2. [移行ジョブを作成] をクリックします。

  3. [移行ジョブの作成] の [開始] タブで、次の値を使用します。

プロパティ
移行ジョブ名 vm-to-cloudsql
移行ジョブ ID 自動生成された値をそのまま使用します。
移行元データベース エンジン MySQL
宛先リージョン
移行ジョブの種類 継続的

その他の設定はすべてデフォルトのままにします。

  1. [保存して続行] をクリックします。

移行元インスタンスを定義する

  1. [ソース接続プロファイルの選択] で [mysql-vm] を選択します。

  2. 他の設定はデフォルトのままにします。

  3. [保存して続行] をクリックします。

移行先インスタンスを作成する

  1. 次の必須情報を入力して Cloud SQL の移行先インスタンスを作成します。
プロパティ
移行先インスタンスのタイプ 新しいインスタンス
移行先インスタンス ID mysql-cloudsql
root パスワード supersecret!
  1. [Cloud SQL のエディションの選択] で、[Enterprise] を選択します。

  2. [データベースのバージョン] で [Cloud SQL for MySQL 5.7] を選択します。

  3. [ゾーンの可用性] で [シングルゾーン] を選択します。[ゾーンを表示] プルダウンをクリックし、ゾーン を選択します。

  4. [接続] で、[プライベート IP] と [パブリック IP] を選択します。

  5. [自動的に割り当てられた IP 範囲を使用する] を選択します。

  6. [割り振りと接続] をクリックします。

注: このステップには数分かかる場合があります。リクエストを再試行するよう求められた場合は、[再試行] ボタンをクリックして、Service Networking API を更新します。

このステップが完了すると、新しいメッセージにより、インスタンスで既存のマネージド サービス接続が使用されることが通知されます。

  1. Cloud SQL の移行先インスタンスを作成するために必要となる次の追加情報を入力します。
プロパティ
マシンシェイプ 1 vCPU、3.75 GB
ストレージの種類 SSD
ストレージ容量 10 GB
  1. [作成して続行] をクリックします。

確認するよう求めるメッセージが表示されたら、[移行先を作成して続行] をクリックします。

接続方法を定義する

移行先データベース インスタンスが作成中であることを示すメッセージが表示されます。その間にステップ 1 に進みます。

移行先 Cloud SQL インスタンスが作成されると構成して続行するためのボタンが有効になることを示すメッセージが表示されます。

  1. [接続方法] で [VPC ピアリング] を選択します。

  2. [VPC] で [デフォルト] を選択します。

Database Migration Service により、VPC ネットワーク(この例ではデフォルト ネットワーク)に対して指定されている情報を使用して VPC ピアリングが構成されます。

新しいメッセージにより移行先インスタンスが作成されたことが通知されたら、次のステップに進みます。

  1. [構成して続行] をクリックします。

継続的な移行ジョブをテストして開始する

  1. 移行ジョブの詳細を確認します。

  2. [ジョブをテスト] をクリックします。

  3. テストが成功したら、[ジョブを作成して開始] をクリックします。

確認するメッセージが表示されたら、[作成して開始] をクリックします。

タスク 4. 継続的な移行ジョブのステータスを確認する

  1. Google Cloud コンソールのナビゲーション メニューナビゲーション メニュー アイコン)で、[データベース] セクションの [すべてのプロダクトを表示] をクリックし、[データベースの移行] > [移行ジョブ] をクリックします。

  2. 移行ジョブ [vm-to-cloudsql] をクリックして、詳細ページを表示します。

  3. 移行ジョブのステータスを確認します。

    • ジョブが開始されていない場合、ステータスは [開始前] と表示されます。ジョブを開始するか、削除するかを選択できます。
    • ジョブが開始されると、ステータスは [開始中] と表示され、[実行中]、[完全なダンプの処理中] に移行して、最初のデータベース ダンプが処理中であることが示されます。

ジョブ ステータスが [実行中] に変わったら、次のタスクに進みます。

注: 継続的な移行ジョブが実行中ステータスのままの場合、移行先データベースは引き続き移行元からデータ更新を受け取ります。

移行先データベースがスタンドアロン データベースにプロモートされてデータを読み書きできるようになると、完了ステータスになります(タスク 7 を参照)。

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 継続的な移行ジョブを作成、開始、確認する。

タスク 5. Cloud SQL for MySQL でデータを確認する

Cloud SQL で MySQL データベースを確認する

  1. Google Cloud コンソールの ナビゲーション メニューナビゲーション メニュー アイコン)で、[Cloud SQL] をクリックします。

  2. mysql-cloudsql(MySQL リードレプリカ)というインスタンス ID をクリックします。

  3. [レプリカ インスタンス] メニューで、[データベース] をクリックします。

customers_datasales_data という名前のデータベースが Cloud SQL に移行されていることを確認します。

MySQL インスタンスに接続する

  1. [レプリカ インスタンス] メニューで、[概要] をクリックします。

  2. [Cloud Shell を開く] をクリックします。

MySQL に接続するためのコマンドが Cloud Shell に事前入力されます。

gcloud sql connect mysql-cloudsql --user=root --quiet
  1. 事前入力されたコマンドを実行します。

プロンプトが表示されたら API について [承認] をクリックします。

  1. 前に設定したパスワードの入力を求められたら、次のように入力します。
supersecret!

移行先インスタンスの MySQL インタラクティブ コンソールが有効になりました。

Cloud SQL for MySQL インスタンスのデータを確認する

  1. MySQL インタラクティブ コンソールでデータベースを選択するには、次のコマンドを実行します。
use customers_data;
  1. customers テーブルのレコード数をクエリします。
select count(*) from customers;

MySQL 移行元インスタンスから移行された customers テーブルには 5,030 件のレコードがあります。

  1. customers テーブルのレコードを姓で並べ替えて、最初の 10 件のレコードを確認します。
select * from customers order by lastName limit 10;

customers テーブルの最初のレコードの姓は Accumsan です。

次のタスクでは、移行元データベース インスタンスの customers テーブルに新しいレコードを追加します。継続的な移行ジョブによって、新しいレコードが移行元インスタンスから移行先インスタンスに移行されます。

  1. MySQL インタラクティブ コンソールを終了します。
exit

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 Cloud SQL for MySQL で移行したデータを確認する。

タスク 6. 移行元インスタンスから移行先インスタンスへのデータの継続的な移行をテストする

移行元インスタンスに新しいデータを追加する

  1. Google Cloud コンソールのナビゲーション メニューナビゲーション メニュー アイコン)で、[Compute Engine] > [VM インスタンス] をクリックします。

  2. dms-mysql-training-vm-v2 という名前のインスタンスが示されている行を見つけます。

  3. [接続] で、[SSH] をクリックしてターミナル ウィンドウを開きます。

  4. ターミナル ウィンドウ内で MySQL インタラクティブ コンソールに接続するには、次のコマンドを実行します。

mysql -u admin -p
  1. パスワードの入力を求められたら、次のように入力します。
changeme
  1. MySQL インタラクティブ コンソールでデータベースを選択するには、次のコマンドを実行します。
use customers_data;
  1. 次のコマンドを使用して、customers テーブルに 2 つの新しいデータレコードを追加します。
INSERT INTO customers (customerKey, addressKey, title, firstName, lastName, birthdate, gender, maritalStatus, email, creationDate) VALUES ('9365552000000-999', '9999999', 'Ms', 'Magna', 'Ablorem', '1953-07-28 00:00:00', 'FEMALE', 'MARRIED', 'magna.lorem@gmail.com', CURRENT_TIMESTAMP), ('9965552000000-9999', '99999999', 'Mr', 'Arcu', 'Abrisus', '1959-07-28 00:00:00', 'MALE', 'MARRIED', 'arcu.risus@gmail.com', CURRENT_TIMESTAMP);
  1. customers テーブルの新しいレコード数をクエリします。
select count(*) from customers;

MySQL 移行元インスタンスの customers テーブルに 5,032 件のレコードがあります。

  1. customers テーブルのレコードを姓で並べ替えて、最初の 10 件のレコードを確認します。
select * from customers order by lastName limit 10;

customers テーブルの最初のレコードの姓が Ablorem に変更されています。

  1. MySQL インタラクティブ コンソールを終了します。
exit
  1. ターミナル セッションを終了します。
exit

Cloud SQL for MySQL インスタンスに接続する

  1. Google Cloud コンソールの ナビゲーション メニューナビゲーション メニュー アイコン)で、[Cloud SQL] をクリックします。

  2. mysql-cloudsql(MySQL リードレプリカ)というインスタンス ID をクリックします。

  3. [レプリカ インスタンス] メニューで、[概要] をクリックします。

  4. [Cloud Shell を開く] をクリックします。

MySQL に接続するためのコマンドが Cloud Shell に事前入力されます。

gcloud sql connect mysql-cloudsql --user=root --quiet
  1. 事前入力されたコマンドを実行します。

プロンプトが表示されたら API について [承認] をクリックします。

  1. 前に設定したパスワードの入力を求められたら、次のように入力します。
supersecret!

移行先インスタンスの MySQL インタラクティブ コンソールが有効になりました。

Cloud SQL for MySQL インスタンスにデータ更新が適用されていることを確認する

  1. MySQL インタラクティブ コンソールでデータベースを選択するには、次のコマンドを実行します。
use customers_data;
  1. customers テーブルのレコード数をクエリします。
select count(*) from customers;

MySQL 移行元インスタンスに追加された 2 件のレコードが移行されています。Cloud SQL 移行先インスタンスの customers テーブルに 5,032 件のレコードがあります。

  1. customers テーブルのレコードを姓で並べ替えて、最初の 10 件のレコードを確認します。
select * from customers order by lastName limit 10;

customers テーブルの最初のレコードの姓が、Cloud SQL 移行先インスタンスと MySQL 移行元インスタンスで同一になっています。

  1. MySQL インタラクティブ コンソールを終了します。
exit

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 移行元から移行先へのデータの継続的な移行をテストする。

タスク 7. データの読み取りと書き込みのために Cloud SQL をスタンドアロン インスタンスにプロモートする

  1. Google Cloud コンソールのナビゲーション メニューナビゲーション メニュー アイコン)で、[データベース] セクションの [すべてのプロダクトを表示] をクリックし、[データベースの移行] > [移行ジョブ] をクリックします。

  2. 移行ジョブ名 [vm-to-cloudsql] をクリックして、詳細ページを表示します。

  3. [プロモート] をクリックします。

確認するメッセージが表示されたら、[プロモート] をクリックします。

プロモートが完了すると、ジョブのステータスが [完了] に更新されます。

  1. Google Cloud コンソールの ナビゲーション メニューナビゲーション メニュー アイコン)で、[Cloud SQL] をクリックします。

mysql-cloudsql がスタンドアロン インスタンスになり、データの読み書きが可能になっていることに注意してください。

mysql-cloudsql という名前のインスタンスにプライマリ インスタンスのラベルが付いています。

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 データの読み取りと書き込みのために Cloud SQL for MySQL をスタンドアロン インスタンスにプロモートする。

お疲れさまでした

継続的な Database Migration Service ジョブと接続用の VPC ピアリングを使用して、オンプレミスの MySQL データベース(仮想マシン上で実行)を Cloud SQL for MySQL に移行しました。

Google Cloud トレーニングと認定資格

Google Cloud トレーニングと認定資格を通して、Google Cloud 技術を最大限に活用できるようになります。必要な技術スキルとベスト プラクティスについて取り扱うクラスでは、学習を継続的に進めることができます。トレーニングは基礎レベルから上級レベルまであり、オンデマンド、ライブ、バーチャル参加など、多忙なスケジュールにも対応できるオプションが用意されています。認定資格を取得することで、Google Cloud テクノロジーに関するスキルと知識を証明できます。

マニュアルの最終更新日: 2025 年 10 月 28 日

ラボの最終テスト日: 2025 年 10 月 28 日

Copyright 2025 Google LLC. All rights reserved. Google および Google のロゴは Google LLC の商標です。その他すべての企業名および商品名はそれぞれ各社の商標または登録商標です。

始める前に

  1. ラボでは、Google Cloud プロジェクトとリソースを一定の時間利用します
  2. ラボには時間制限があり、一時停止機能はありません。ラボを終了した場合は、最初からやり直す必要があります。
  3. 画面左上の [ラボを開始] をクリックして開始します

シークレット ブラウジングを使用する

  1. ラボで使用するユーザー名パスワードをコピーします
  2. プライベート モードで [コンソールを開く] をクリックします

コンソールにログインする

    ラボの認証情報を使用して
  1. ログインします。他の認証情報を使用すると、エラーが発生したり、料金が発生したりする可能性があります。
  2. 利用規約に同意し、再設定用のリソースページをスキップします
  3. ラボを終了する場合や最初からやり直す場合を除き、[ラボを終了] はクリックしないでください。クリックすると、作業内容がクリアされ、プロジェクトが削除されます

このコンテンツは現在ご利用いただけません

利用可能になりましたら、メールでお知らせいたします

ありがとうございます。

利用可能になりましたら、メールでご連絡いたします

1 回に 1 つのラボ

既存のラボをすべて終了して、このラボを開始することを確認してください

シークレット ブラウジングを使用してラボを実行する

このラボの実行には、シークレット モードまたはシークレット ブラウジング ウィンドウを使用してください。これにより、個人アカウントと受講者アカウントの競合を防ぎ、個人アカウントに追加料金が発生することを防ぎます。