このクイックスタートでは、Database Migration Service を使用してデータを Cloud SQL for MySQL に移行する方法について説明します。このクイックスタートで作成されるリソースにかかる費用は、クリーンアップを含む手順を適切なタイミングで完了した場合、通常 1 ドル(USD)未満です。
始める前に
- 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.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Database Migration Service API.
- ユーザー アカウントにデータベース移行管理者のロールが割り当てられていることを確認します。
要件
Database Migration Service は、さまざまな移行元のデータベース オプションと接続方法を提供します。さまざまなソースは、一部の接続方法でのほうが、他の接続方法よりもよく機能します。このクイックスタートでは、ネットワークを構成して受信ファイアウォール ルールを追加できる環境でスタンドアロンの MySQL データベースを使用していることを前提としています。移行元データベースは、オンプレミスまたはクラウド プロバイダにできます。ユーザーの具体的な環境を把握できないため、ネットワーキング構成に関する詳細なステップは提供できません。
このクイックスタートでは、[移行元データベース エンジン] に MySQL を選択し、ネットワーキング方法として [IP 許可リスト] を選択します。
ソース接続プロファイルの作成
接続プロファイルを作成することで、ソース データベースに関する情報を含むレコードを作成します。Database Migration Service は、接続プロファイルの情報を使用して、移行元データベースから移行先の Cloud SQL データベース インスタンスにデータを移行します。Google Cloud コンソールで、Database Migration Service の [接続プロファイル] ページに移動します。
[プロファイルを作成] をクリックします。
[接続プロファイルを作成する] ページの [プロファイル ロール] リストから、[移行元] を選択します。
[データベース エンジン] リストから、ソース データベースの次のいずれかの分類タイプを選択します。
- スタンドアロン MySQL インスタンス(MySQL)
- 既存の Cloud SQL for MySQL インスタンス(Cloud SQL for MySQL)
- MySQL 用の Amazon RDS インスタンス(Amazon RDS for MySQL)
このクイックスタートでは、[MySQL] を選択します。
- 次の情報を指定します。
- [接続プロファイル名] フィールドに、移行元データベースの接続プロファイルの名前(
My Connection Profile
など)を入力します。 - 自動生成された接続プロファイル ID を保持します。
- 接続情報を入力します。
- 自己ホスト型のデータベースからレプリケーションを行う場合は、ホストにアクセスするためのホスト名または IP アドレス(ドメインまたは IP)とポートを入力します。(デフォルトの MySQL ポートは 3306 です)。
- Cloud SQL データベースからレプリケーションを行う場合は、プルダウン リストから Cloud SQL インスタンスを選択します。
- 移行元インスタンスへの認証用に、ユーザー名とパスワードを入力します。
- (省略可)パブリック ネットワーク上で(IP 許可リストを使用して)機密情報を転送する場合は、移行元データベースと移行先データベース間の接続に SSL/TLS 暗号化を使用することをおすすめします。それ以外の場合は、デフォルト値の [None] のままにします。
- [接続プロファイル名] フィールドに、移行元データベースの接続プロファイルの名前(
ページの [接続プロファイルのリージョン] セクションで、接続プロファイルを保存するリージョンを選択します。
- [作成] をクリックします。
移行ジョブの作成
Database Migration Service は、移行ジョブを使用して、移行元のデータベース インスタンスから移行先の Cloud SQL データベース インスタンスにデータを移行します。移行ジョブの作成には、次の操作が含まれます。
- ジョブの設定を定義する
- 移行元データベース用に作成した接続プロファイル(移行元接続プロファイル)を選択する
- 移行先の Cloud SQL データベース インスタンスの設定を定義する
- 移行元データベースと移行先データベースのインスタンス間の接続を設定する
- 移行ジョブをテストして、ジョブに指定した接続情報が有効であることを確認します
移行ジョブの設定を定義する
Google Cloud コンソールで、Database Migration Service の [移行ジョブ] ページに移動します。
[移行ジョブを作成] をクリックします。
[移行ジョブ名] フィールドに、移行ジョブの名前(
My Migration Job
など)を入力します。自動生成された移行ジョブ ID を保持します。
[移行元データベース エンジン] プルダウン リストを開き、移行元データベースの分類タイプを選択します。Database Migration Service では、移行先のデータベース エンジンが自動的に選択されます。
宛先インスタンスを作成する [宛先リージョン] を選択します。
移行元のデータベースで進行中の変更を移行先の Cloud SQL データベース インスタンスに移行するため、[移行ジョブタイプ] を [継続的] に設定します。
移行ジョブに環境を準備する方法が反映されるように、自動的に生成される必須の前提条件を確認します。これらの前提条件には、移行元データベースを構成する方法と移行先の Cloud SQL データベース インスタンスに接続する方法が含まれます。この手順でこれらの前提条件を完了することをおすすめしますが、移行ジョブをテストまたは開始する前であればいつでも完了できます。これらの前提条件の詳細については、移行元を構成するをご覧ください。
[保存して次へ] をクリックします。
ソース接続プロファイルに関する情報の指定
[移行元接続プロファイルを選択する] プルダウン リストを開き、作成した接続プロファイルを選択します。
[保存して次へ] をクリックします。
移行先の Cloud SQL インスタンスの設定を定義する
Cloud SQL インスタンスの移行先インスタンス ID を指定します。デフォルトでは、このフィールドに移行ジョブ ID が事前入力されています。この名前をそのまま使用することも、別の名前を入力することもできます。
移行先の Cloud SQL インスタンスの英数字のパスワードを指定します。これは、インスタンスの
root
管理者アカウントのパスワードになります。手動でパスワードを入力するか、[生成] をクリックして Database Migration Service で自動的に作成します。
指定したデータベース エンジン用にサポートされている Cloud SQL のバージョンのリストから、移行先インスタンスの [データベースのバージョン] を選択します。
新しい Cloud SQL インスタンスに必要な Google Cloud ゾーンを選択します(または [任意] のままにします)。
このクイックスタートでは、ネットワーク方式として IP 許可リストを使用するため、[パブリック IP] チェックボックスをオンにします。この方法は、Cloud SQL インスタンスの送信 IP アドレスからの接続を受け入れるようにソース データベース サーバーを構成することで機能します。
Cloud SQL インスタンスのマシンタイプを選択します。ディスクサイズは移行元データベースのサイズ以上である必要があります。
Cloud SQL インスタンスの [ストレージの種類] と [ストレージ容量] を定義します。
[作成して続行] をクリックして、新しいインスタンスを作成します。
次のダイアログ ボックスで、[移行先を作成して続行] をクリックします。インスタンスの作成が完了するまで数分かかる場合があります。
接続を設定する
- 移行元データベースと移行先データベースの間の接続を確立するために使用するネットワーク方式を選択します。このクイックスタートでは、[接続方法] リストを使用して、ネットワーク方式として [IP 許可リスト] を選択します。
- このフィールドにソース IP アドレスが事前入力されていない場合は、コンソールから Cloud SQL インスタンスの送信 IP アドレスをコピーし、それを使用して、移行元データベース サーバーがこの IP アドレスからの接続を受け入れるようにネットワーク ファイアウォールを構成します。
- ファイアウォール ルールで、宛先 Cloud SQL インスタンスの接続 IP アドレスからポート 3306 への接続を許可する上り(内向き)(または上り(内向き))ルールを作成します。
- [構成して続行] をクリックして、接続プロファイルの設定を完了します。
移行ジョブをテストして作成する
移行ジョブに選択した設定を確認します。
[ジョブをテスト] をクリックして、移行元が正しく構成されていること、移行元と移行先のインスタンスが相互に通信可能であること、移行ジョブが有効であることを確認します。
「テストが正常に完了しました」というステータスが表示されていることを確認します。
テストに失敗した場合は、フローの適切な部分で問題に対処してから、再テストに戻ることができます。
[ジョブを作成して開始] をクリックして、移行ジョブを作成してすぐに開始します。
次のダイアログ ボックスで [開始] をクリックします。
[移行ジョブ] ページで、移行ジョブのステータスが「開始中」であることを確認します。数分後、ステータスが [実行中] に変わっていることを確認します。
移行ジョブを確認する
このセクションでは、Database Migration Service が移行ジョブを使用して、移行元のデータベース インスタンスから移行先の Cloud SQL データベース インスタンスにデータを移行したことを確認します。
- Google Cloud consoleで [SQL インスタンス] ページに移動します。
- 移行ジョブのリードレプリカ エントリをクリックします。
- ページ右上に表示される [Cloud Shell をアクティブにする] アイコンをクリックします。
- Google Cloud Shell のプロンプトで、Enter キーを押します。
- 省略可: [Cloud Shell の承認] ダイアログ ボックスが表示されたら、[承認] をクリックします。
- 宛先の Cloud SQL データベース インスタンスに接続します。
- [パスワードを入力する] プロンプトで、移行先の Cloud SQL インスタンスの設定を定義するで指定したパスワードまたは Database Migration Service が生成したパスワードを入力します。
- mysql プロンプトで、
show databases;
と入力してデータベースを一覧表示し、移行元データベース インスタンスが表示されていることを確認します。 - mysql プロンプトで、このデータベース インスタンスに関連付けられているテーブルを表示するため、
use source_database_instance_name;
と入力します。 - mysql プロンプトで、
show tables;
と入力して、このインスタンスのテーブルを表示します。 - mysql プロンプトで、移行元データベース インスタンスのテーブルから複製された情報を表示するには、
select * from table_name;
と入力します。 - 表に正しい情報が表示されていることを確認します。
これにより、Database Migration Service がデータを移行したことが確認されます。
移行ジョブを昇格させる
移行ジョブをプロモートする準備が整いました。その結果、移行先の Cloud SQL データベース インスタンスが、移行元のデータベース インスタンスをプライマリ データベースとして置き換えます。
[移行ジョブ] ページに戻ります。
プロモートする移行ジョブをクリックします。[移行ジョブの詳細] ページが表示されます。
レプリケーションの遅延がゼロになるまで待ちます。
移行元データベースへの書き込みをすべて停止します。
レプリケーションの遅延がゼロになるまで待ちます。
プロモートする移行ジョブをクリックします。このジョブのステータスは「実行中」である必要があります。
[プロモート] をクリックして、移行ジョブをプロモートします。
次のダイアログ ボックスで、もう一度 [プロモート] をクリックします。
移行ジョブのステータスが「昇格中」であることを確認します。数分後、ステータスが [完了] に変わっていることを確認します。
新しい Cloud SQL データベース インスタンスを使用できるようになりました。
クリーンアップ
このページで使用したリソースについて、 Google Cloud アカウントに課金されないようにするには、次の手順を実施します。
- 不要になった移行ジョブ、接続プロファイル、Cloud SQL インスタンス、プロジェクトは、 Google Cloud コンソールを使用して削除します。
次のステップ
- 詳しくは、接続プロファイルを管理する方法をご覧ください。
- 詳しくは、移行ジョブのステータスをご覧ください。
- 詳しくは、移行ジョブの指標をご覧ください。