始める前に
- ラボでは、Google Cloud プロジェクトとリソースを一定の時間利用します
- ラボには時間制限があり、一時停止機能はありません。ラボを終了した場合は、最初からやり直す必要があります。
- 画面左上の [ラボを開始] をクリックして開始します
Prepare the source database for migration.
/ 20
Create a Database Migration Service connection profile.
/ 20
Create and start a continuous migration job.
/ 20
Confirm the data in Cloud SQL for PostgreSQL.
/ 20
Promote Cloud SQL to be a stand-alone instance for reading and writing data.
/ 20
Prepare the source database for migration.
/ 20
Create a Database Migration Service connection profile.
/ 20
Create and start a continuous migration job.
/ 20
Confirm the data in Cloud SQL for PostgreSQL.
/ 20
Promote Cloud SQL to be a stand-alone instance for reading and writing data.
/ 20
Database Migration Service には、1 回限りのジョブや継続的なジョブでデータを Cloud SQL に移行するためのオプションが用意されています。このサービスでは、IP 許可リスト、リバース SSH トンネル、VPC ピアリング、Private Service Connect インターフェースなど、さまざまな接続方法を使用できます。接続オプションの詳細については、接続の構成ガイドをご覧ください。
このラボでは、仮想マシンでホストされているスタンドアロンの PostgreSQL データベースを Cloud SQL for PostgreSQL に移行します。この移行では、Database Migration Service の継続的なジョブを使用し、VPC ピアリングによって接続を確立します。
Database Migration Service を使用してデータベースを移行するには、移行元データベースでいくつかの準備手順を行う必要があります。
pglogical 拡張機能を追加する: この拡張機能は、移行元のデータベースにインストールする必要があります。postgres データベースに対する権限を付与する必要があります。設定が完了したら、移行ジョブを作成して実行します。移行プロセスには次の操作が含まれます。
このラボでは、次のタスクの実行方法について学びます。
こちらの説明をお読みください。ラボには時間制限があり、一時停止することはできません。タイマーは、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 の概要ガイドをご覧ください。
Database Migration Service を通じてデータベース データの移動を管理するには、Database Migration API が必要です。
API が有効になっている場合は、[管理] ボタンが表示されます。
VPC ピアリングとプライベート IP アドレスを介した接続をサポートするように Cloud SQL を構成するには、Service Networking API が必要です。
API が有効になっている場合は、[管理] ボタンが表示されます。
Database Migration Service を使用した移行に向けて、移行元データベースに pglogical 拡張機能を追加し、データベース移行ユーザーを作成します。
pglogical 拡張機能を使用してデータベースをアップグレードするには、次の操作を行います。
pglogical 拡張機能をインストールして構成します。postgres、orders、gmemegen_db データベースに pglogical データベース拡張機能を追加します。データベース移行ユーザーを作成するには、レプリケーション権限を持つ migration_admin ユーザーを作成し、そのユーザーに対して、スキーマとリレーションに関する必要な権限を付与します。
このセクションでは、postgresql-vm VM インスタンスに pglogical データベース拡張機能をインストールして構成し、必要なサーバー パラメータを構成して、PostgreSQL サービスを再起動します。
Google Cloud コンソールのナビゲーション メニュー()で、[Compute Engine] > [VM インスタンス] をクリックします。
postgresql-vm VM インスタンスで、[SSH] をクリックします。
プロンプトが表示されたら、[承認] をクリックします。
SSH ターミナルで、pglogical データベース拡張パッケージをインストールします。
pglogical は、PostgreSQL 拡張機能として完全に実装される論理的なレプリケーション システムです。完全に統合されているため、トリガーや外部プログラムは必要ありません。物理レプリケーションに代わるもので、選択的なレプリケーションにパブリッシュ / サブスクライブ モデルを使用して、データを非常に効率的に複製します。
postgresql.conf と pg_hba.conf を構成して論理レプリケーションと出力プラグインを有効にし、PostgreSQL サービスを再起動します。このセクションでは、専用の migration_admin レプリケーション ユーザーを作成し、すべてのアクティブなデータベースで pglogical 拡張機能を有効にして、必要な権限を付与します。
postgresql-vm ターミナルで、次のコマンドを実行します。orders データベースのテーブルのオーナー権限を migration_admin に移行することで、ラボの評価チェックと継続的なレプリケーション テストの両方が正常に実行されるようになります。
移行ジョブを開始する前に、postgresql-vm で次のクエリを実行して、すべてが正しく構成されていることを確認します。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
新しい移行ジョブを作成するには、既存の接続プロファイルを使用して移行元データベース インスタンスを指定する必要があります。次に、移行先データベース インスタンスを確立し、移行元インスタンスと移行先インスタンスの間の必要な接続を設定します。
このステップでは、Cloud SQL に移行する移行元データベース インスタンスの内部 IP アドレスを特定します。
Google Cloud コンソールのナビゲーション メニュー()で、[Compute Engine] > [VM インスタンス] をクリックします。
インスタンス リストで、postgresql-vm を見つけます。
内部 IP(10.128.0.2 など)をコピーしておきます。この IP アドレスは、次のセクションで接続プロファイルを構成する際に使用します。
Google Cloud コンソールのタイトルバーにある [検索] に「データベースの移行」と入力して Enter キーを押し、検索結果で [データベースの移行] をクリックします。
左側のメニューで、[移行ジョブ] をクリックし、[移行ジョブを作成] をクリックします。
このステップでは、新しい継続的な移行ジョブを作成します。
| フィールド | 値 |
|---|---|
| 移行ジョブ名 | vm-to-cloudsql |
| 移行元データベース エンジン | PostgreSQL |
| 移行先データベース エンジン | Cloud SQL for PostgreSQL |
| 宛先リージョン | |
| 移行ジョブの種類 | 継続的 |
このステップでは、移行元インスタンスを定義し、PostgreSQL 移行元インスタンスの新しい接続プロファイルを作成します。
接続プロファイルには、移行元データベース インスタンス(スタンドアロンの PostgreSQL など)に関する情報が保存され、Database Migration Service でデータを移行元から移行先 Cloud SQL データベース インスタンスに移行するために使用されます。作成した接続プロファイルは、さまざまな移行ジョブで再利用できます。
[移行元接続プロファイル] で、[接続プロファイルを作成] を選択します。
[接続プロファイルの作成] タブで、次の値を指定します。その他の値はデフォルトのままにします。
| フィールド | 値 |
|---|---|
| 移行元エンジン | PostgreSQL |
| 移行先エンジン | Cloud SQL for PostgreSQL |
| プロファイルの種類 | ソース |
| 接続プロファイルの名前 | postgres-vm |
| リージョン | |
| 接続構成の定義 | 定義 |
| ホスト名または IP アドレス | 前のタスクでコピーした PostgreSQL 移行元インスタンスの内部 IP(10.128.0.2 など) |
| ポート | 5432 |
| ユーザー名 | migration_admin |
| パスワード | DMS_1s_cool! |
移行ジョブ ウィザードの [ソースを定義する] ページに、postgres-vm という名前の新しい接続プロファイルが表示されます。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
このステップでは、移行での移行先インスタンスを定義します。
[移行先インスタンスのタイプ] で、[既存のインスタンス] を選択します。
[移行先インスタンスの選択] で、[postgresql-cloudsql] を選択します。
[選択して続行] をクリックします。
確認のメッセージが表示されたら、インスタンス名「postgresql-cloudsql」を入力します。
[確認して続行] をクリックします。
このステップでは、移行用の接続方法を定義します。
[接続方法] で [VPC ピアリング] を選択します。
[VPC] で [デフォルト] を選択します。
VPC ネットワーク(この例のデフォルト ネットワーク)に提供された情報を使用して、Database Migration Service が VPC ピアリングを構成します。
新しいメッセージにより移行先インスタンスが作成されたことが通知されたら、次のステップに進みます。
このステップでは、移行元インスタンスを移行用に定義します。
[移行するデータベース] で、[すべてのデータベース] を選択します。
[保存して続行] をクリックします。
このステップでは、Database Migration Service にスタンドアロンの PostgreSQL データベースへのアクセスを許可するように pg_hba.conf PostgreSQL 構成ファイルを編集します。
割り当てられた IP アドレス範囲を取得するには、コンソールのナビゲーション メニュー()で、[VPC ネットワーク] をクリックし、[VPC 接続] を右クリックして、[新しいタブでリンクを開く] を選択します。
[VPC ネットワーク ピアリング] タブを選択します。
servicenetworking-googleapis-com エントリをクリックし、下部の [適用されているルートのビュー] をクリックします。
[ネットワーク] で [default] を選択し、[リージョン] で [
[送信先 IP 範囲] 列で、peering-route-xxxxx... ルートの横にある IP 範囲(10.107.176.0/24 など)を記録します。これは、次の手順で使用します。
VM インスタンスのターミナル セッションで、pg_hba.conf ファイルを次のように編集します。
「すべての IP アドレス」範囲(0.0.0.0/0)を、前の手順で記録した範囲に置き換えます。
Ctrl+O キー、Enter キー、Ctrl+X キーの順に押して、ファイルを保存し、nano エディタを終了します。
変更を反映させるには、VM インスタンスのターミナル セッションで次のコマンドを実行して PostgreSQL サービスを再起動します。
このステップでは、移行ジョブをテストして開始します。
前に開いた [Database Migration Service] タブで、移行ジョブの詳細を確認します。
[ジョブをテスト] をクリックします。
テストが成功したら、[ジョブを作成して開始] をクリックします。
確認を求めるメッセージが表示されたら、[作成して開始] をクリックします。
このステップでは、継続的な移行ジョブが実行されていることを確認します。
Google Cloud コンソールのナビゲーション メニュー()で、[データベースの移行] > [移行ジョブ] をクリックします。
移行ジョブ [vm-to-cloudsql] をクリックして、詳細ページを表示します。
移行ジョブのステータスを確認します。
ジョブフェーズが [CDC] に変わったら、次のタスクに進みます。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
Google Cloud コンソールの ナビゲーション メニュー()で、[Cloud SQL] をクリックします。
postgresql-cloudsql-master というインスタンス ID を開きます。
インスタンス postgresql-cloudsql(PostgreSQL リードレプリカ)をクリックします。
[レプリカ インスタンス] メニューで、[データベース] をクリックします。
postgres、orders、gmemegen_db という名前のデータベースが Cloud SQL に移行されていることを確認します。
[レプリカ インスタンス] メニューで、[概要] をクリックします。
[このインスタンスとの接続] セクションまでスクロールし、[Cloud Shell を開く] をクリックします。
PostgreSQL に接続するためのコマンドが Cloud Shell に次のように事前入力されます。
事前入力されたコマンドを実行します。
プロンプトが表示されたら API について [承認] をクリックします。
前に設定したパスワードの入力を求められたら、次のように入力します。
移行先インスタンスの PostgreSQL インタラクティブ コンソールが有効になりました。
distribution_centers テーブルにクエリを実行します。出力:
移行先インスタンスの PostgreSQL インタラクティブ コンソールが有効になりました。
distribution_centers テーブルにクエリを実行します。出力:
スタンドアロンの orders データベースに追加された新しい行が移行されたデータベースに存在することに注意してください。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
Google Cloud コンソールのナビゲーション メニュー()で [すべてのプロダクトを表示] をクリックし、[データベース] セクションの [データベースの移行] > [移行ジョブ] をクリックします。
移行ジョブ名 [vm-to-cloudsql] をクリックして、詳細ページを表示します。
[プロモート] をクリックします。
確認するメッセージが表示されたら、[プロモート] をクリックします。
プロモートが完了すると、ジョブのステータスが [完了] に更新されます。
postgresql-cloudsql がスタンドアロン インスタンスになり、データの読み書きが可能になっていることに注意してください。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
データベースを PostgreSQL インスタンスから Cloud SQL for PostgreSQL に移行するための継続的な Database Migration Service ジョブを構成しました。
データ移行、Cloud SQL データベース、Database Migration Service の詳細については、次のリソースをご覧ください。
Google Cloud トレーニングと認定資格を通して、Google Cloud 技術を最大限に活用できるようになります。必要な技術スキルとベスト プラクティスについて取り扱うクラスでは、学習を継続的に進めることができます。トレーニングは基礎レベルから上級レベルまであり、オンデマンド、ライブ、バーチャル参加など、多忙なスケジュールにも対応できるオプションが用意されています。認定資格を取得することで、Google Cloud テクノロジーに関するスキルと知識を証明できます。
マニュアルの最終更新日: 2026 年 9 月 28 日
ラボの最終テスト日: 2026 年 9 月 28 日
Copyright 2026 Google LLC. All rights reserved. Google および Google のロゴは Google LLC の商標です。その他すべての企業名および商品名はそれぞれ各社の商標または登録商標です。
このコンテンツは現在ご利用いただけません
利用可能になりましたら、メールでお知らせいたします
ありがとうございます。
利用可能になりましたら、メールでご連絡いたします
1 回に 1 つのラボ
既存のラボをすべて終了して、このラボを開始することを確認してください