このクイックスタートでは、Database Migration Service を使用して AlloyDB for PostgreSQL にデータを移行する方法について説明します。このクイックスタートで作成されるリソースにかかる費用は、クリーンアップを含む手順を適切なタイミングで完了した場合、通常 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 は、さまざまな移行元のデータベース オプションと接続方法を提供します。さまざまなソースは、一部の接続方法でのほうが、他のものよりもよく機能します。このクイックスタートでは、ネットワークを構成して受信ファイアウォール ルールを追加できる環境で、スタンドアロンの PostgreSQL データベースを使用していることを前提としています。移行元データベースは、オンプレミスまたはクラウド プロバイダにできます。お客様の具体的な環境を把握できないため、ネットワーキング構成に関する詳細なステップは提供できません。
このクイックスタートでは、移行元データベース エンジンに PostgreSQL、移行先データベース エンジンに AlloyDB for PostgreSQL、ネットワーキング メソッドに VPC ピアリングを選択します。
ソース接続プロファイルの作成
接続プロファイルを作成すると、ソース データベースに関する情報を含むレコードが作成されます。Database Migration Service は、接続プロファイルの情報を使用して、移行元データベースから移行先の AlloyDB データベース インスタンスにデータを移行します。Google Cloud コンソールで、Database Migration Service の [接続プロファイル] ページに移動します。
[プロファイルを作成] をクリックします。
[Create a connection profile] ページの [Profile role] リストから、[Source] を選択します。
[データベース エンジン] リストから、ソース データベースの次のいずれかの分類タイプを選択します。
- スタンドアロンの PostgreSQL インスタンス(PostgreSQL)
- 既存の Cloud SQL for PostgreSQL インスタンス(Cloud SQL for PostgreSQL)
- PostgreSQL 用の Amazon RDS インスタンス(Amazon RDS for PostgreSQL)
このクイックスタートでは、[PostgreSQL] を選択します。
- 次の情報を指定します。
- [接続プロファイル名] フィールドに、移行元データベースの接続プロファイルの名前(
My Connection Profile
など)を入力します。 - 自動生成された接続プロファイル ID を保持します。
- 接続情報を入力します。
- 自己ホスト型のデータベースからレプリケーションを行う場合は、ホストにアクセスするためのホスト名または IP アドレス(ドメインまたは IP)とポートを入力します。(デフォルトの PostgreSQL ポートは 5432 です)。
- Cloud SQL データベースからレプリケーションを行う場合は、プルダウン リストから Cloud SQL インスタンスを選択します。
- 移行元インスタンスへの認証用に、ユーザー名とパスワードを入力します。
- [接続プロファイル名] フィールドに、移行元データベースの接続プロファイルの名前(
ページの [接続プロファイルのリージョン] セクションで、接続プロファイルを保存するリージョンを選択します。
- [作成] をクリックします。
移行ジョブの作成
Database Migration Service は、移行ジョブを使用して、移行元のデータベース インスタンスから移行先の AlloyDB データベース インスタンスにデータを移行します。移行ジョブの作成には以下が含まれます。
- ジョブの設定の定義
- 移行元データベース用に作成した接続プロファイル(ソース接続プロファイル)を選択します。
- 移行先の AlloyDB データベース インスタンスの設定を定義する
- 移行元データベースと移行先データベースのインスタンス間の接続を設定します
- 移行ジョブをテストして、ジョブに指定した接続情報が有効であることを確認します
移行ジョブの設定を定義する
Google Cloud コンソールで、Database Migration Service の [Migration jobs] ページに移動します。
[CREATE MIGRATION JOB] をクリックします。
[移行ジョブ名] フィールドに、移行ジョブの名前(
My Migration Job
など)を入力します。自動生成された移行ジョブ ID を保持します。
[移行元データベース エンジン] プルダウン リストを開き、移行元データベースの分類タイプを選択します。このクイックスタートでは、[AlloyDB for PostgreSQL] を選択します。
宛先インスタンスを作成する宛先のリージョンを選択します。
[移行ジョブタイプ] を [継続的] に設定します。これは、移行元データベースで進行中の変更を移行先の AlloyDB データベース インスタンスに移行するためです。
移行ジョブに環境を準備する方法が反映されるように、自動的に生成される必須の前提条件を確認します。これらの前提条件には、移行元データベースの構成方法と、移行先の AlloyDB データベース インスタンスに接続する方法が含まれます。この手順でこれらの前提条件を完了することをおすすめしますが、移行ジョブをテストまたは開始する前にいつでも完了できます。これらの前提条件の詳細については、移行元の構成をご覧ください。
[保存して続行] をクリックします。
ソース接続プロファイルに関する情報の指定
[移行元接続プロファイルを選択する] プルダウン リストを開き、作成した接続プロファイルを選択します。
[保存して続行] をクリックします。
宛先 AlloyDB クラスタを作成する
クラスタは AlloyDB の最上位リソースです。宛先クラスタを作成するには:
- クラスタタイプを選択します。Database Migration Service は現在、高可用性の AlloyDB クラスタをサポートしています。リージョン内の複数のゾーンからデータを提供できますが、読み取りプールは使用しません。
- [続行] をクリックします。
- クラスタを構成します。
- [クラスタ ID] フィールドに、クラスタの ID を入力します。
- [パスワード] フィールドに、デフォルトの
postgres
ユーザーのパスワードを入力します。データベースにログインするには、このパスワードが必要です。 - [ネットワーク] フィールドでネットワーク パスを選択し、移行接続の設定時に使用可能なリソースを定義します。クラスタを構成するには、プライベート IP ネットワーク パスが必要です。VPC ピアリングを介して移行元データベースに接続する場合は、移行元データベースが存在する VPC を選択します。
- 必要に応じて、割り振られた IP 範囲名を選択して、インスタンスが接続できる IP アドレスを指定します。
- [続行] をクリックします。
- プライマリ インスタンスを構成します。プライマリ インスタンスは、クラスタのコンピューティング容量を決定し、読み取り / 書き込みオペレーションをサポートします。
- [インスタンス ID] フィールドに、プライマリ インスタンスの ID を入力します。
- マシンタイプを選択します。
- 省略可: インスタンスにフラグを設定します。フラグを使用してインスタンスをカスタマイズできます。サポートされているフラグの詳細については、AlloyDB のドキュメントをご覧ください。フラグごとに、次の操作を行います。
- [フラグを追加] をクリックします。
- [新しいデータベース フラグ] リストからフラグを選択します。
- フラグの値を指定します。
- [完了] をクリックします。
- [保存して続行] をクリックします。
- [移行先を作成して続行] をクリックして選択を確定します。
- 宛先インスタンスの作成が完了するまで待ちます。
接続を設定する
- 移行元データベースと移行先データベース間の接続を確立するために使用するネットワーク方式を選択します。このクイックスタートでは、[接続方法] リストを使用して、ネットワーク方式として [VPC ピアリング] を選択します。 移行元データベースの VPC ネットワークを確認します。[構成して続行] をクリックして、接続プロファイルの構成を完了します。
移行ジョブをテストして作成する
移行ジョブに選択した設定を確認します。
[テストジョブ] をクリックして、移行元が正しく構成されていること、移行元と移行先のインスタンスが相互に通信可能であること、移行ジョブが有効であることを確認します。
[テストが正常に完了しました] ステータスが表示されていることを確認します。
テストに失敗した場合は、フローの適切な部分で問題に対処してから、再テストに戻ることができます。
[ジョブを作成して開始] をクリックして、移行ジョブを作成してすぐに開始します。
次のダイアログ ボックスで [開始] をクリックします。
[移行ジョブ] ページで、移行ジョブのステータスが [開始中] であることを確認します。数分後、ステータスが [実行中] に変わっていることを確認します。
移行ジョブを確認する
このセクションでは、Database Migration Service が移行ジョブを使用して、移行元のデータベース インスタンスから移行先の AlloyDB データベース インスタンスにデータを移行したことを確認します。
- Google Cloud コンソールで、AlloyDB の [クラスタ] ページに移動します。
- 移行ジョブのリードレプリカ エントリをクリックします。
- ページの右上に表示される [Cloud Shell をアクティブにする] アイコンをクリックします。
- Cloud Shell プロンプトで Enter キーを押します。
- 省略可: [Cloud Shell の承認] ダイアログ ボックスが表示されたら、[承認] をクリックします。
- [パスワードを入力する] プロンプトで、移行先の AlloyDB インスタンスを定義して作成するで指定したパスワードまたは Database Migration Service によって生成されたパスワードを入力します。
- postgres プロンプトで
\list
と入力してデータベースを一覧表示し、移行元データベース インスタンスが表示されていることを確認します。 - このデータベース インスタンスに関連付けられているテーブルを表示するため、postgres プロンプトで
\connect SOURCE_DB_NAME
と入力します。プロンプトの名前がpostgres
から SOURCE_DB_NAME に変わります。 - SOURCE_DB_NAME プロンプトで
\dt
と入力して、このインスタンスのテーブルを表示します。 - SOURCE_DB_NAME プロンプトで、このインスタンスのテーブル内のデータへのアクセス権限をこのユーザーに付与するため、「
GRANT alloydbexternalsync to USER;
」と入力します。 - SOURCE_DB_NAME プロンプトで
SELECT * from TABLE_NAME;
と入力して、移行元データベース インスタンスのテーブルから複製された情報を表示します。 - 表に正しい情報が表示されていることを確認します。
これにより、Database Migration Service がデータを移行したことを確認できます。
移行ジョブを昇格させる
これで、移行ジョブをプロモートできます。その結果、移行先の AlloyDB データベース インスタンスが、移行元のデータベース インスタンスに代わってプライマリ データベースになります。
[移行ジョブ] ページに戻ります。
プロモートする移行ジョブをクリックします。[移行ジョブの詳細] ページが表示されます。
レプリケーションの遅延がゼロに近づくまで待ちます。
移行元データベースへのすべての書き込みを停止します。
レプリケーションの遅延がゼロになるまで待ちます。
プロモートする移行ジョブをクリックします。このジョブのステータスは「実行中」になります。
[PROMOTE] をクリックして、移行ジョブをプロモートします。
次のダイアログ ボックスでもう一度 [昇格] をクリックします。
移行ジョブのステータスが [Promote in progress] であることを確認します。数分後、ステータスが [完了] に変わっていることを確認します。
新しい AlloyDB データベース インスタンスが使用できるようになりました。
クリーンアップ
このページで使用したリソースについて、 Google Cloud アカウントに課金されないようにするには、次の操作を行います。
- Google Cloud コンソールを使用して、移行ジョブ、接続プロファイル、AlloyDB クラスタ、プロジェクトを、不要な場合は削除します。
次のステップ
- 詳しくは、接続プロファイルを管理する方法をご覧ください。
- 詳しくは、移行ジョブのステータスをご覧ください。
- 詳しくは、移行ジョブの指標をご覧ください。