このクイックスタートでは、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 の [接続プロファイル] ページに移動します。
[プロファイルを作成] をクリックします。
[接続プロファイルを作成する] ページの [プロファイル ロール] リストから、[移行元] を選択します。
[データベース エンジン] リストから、ソース データベースの次のいずれかの分類タイプを選択します。
- スタンドアロン 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 の [移行ジョブ] ページに移動します。
[移行ジョブを作成] をクリックします。
[移行ジョブ名] フィールドに、移行ジョブの名前(
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 データベース インスタンスが、移行元データベース インスタンスをプライマリ データベースとして置き換えます。
[移行ジョブ] ページに戻ります。
プロモートする移行ジョブをクリックします。[移行ジョブの詳細] ページが表示されます。
レプリケーションの遅延がゼロになるまで待ちます。
移行元データベースへの書き込みをすべて停止します。
移行ジョブをプロモートすると、移行先の AlloyDB データベースがプライマリ データベースになるため、移行元データベースへのすべての書き込みを停止する必要があります。レプリケーションの遅延がゼロになるまで待ちます。
プロモートする移行ジョブをクリックします。このジョブのステータスは「実行中」である必要があります。
[プロモート] をクリックして、移行ジョブをプロモートします。
次のダイアログ ボックスで、もう一度 [プロモート] をクリックします。
移行ジョブのステータスが「昇格中」であることを確認します。数分後、ステータスが [完了] に変わっていることを確認します。
新しい AlloyDB データベース インスタンスを使用できるようになりました。
クリーンアップ
このページで使用したリソースについて、 Google Cloud アカウントに課金されないようにするには、次の手順を実施します。
- 不要になった移行ジョブ、接続プロファイル、AlloyDB クラスタ、プロジェクトを Google Cloud コンソールで削除します。
次のステップ
- 詳しくは、接続プロファイルを管理する方法をご覧ください。
- 詳しくは、移行ジョブのステータスをご覧ください。
- 詳しくは、移行ジョブの指標をご覧ください。