読み込んでいます...
一致する結果は見つかりませんでした。

Google Cloud コンソールでスキルを試す

700 以上のラボとコースにアクセス

Database Migration Service を使用して PostgreSQL から AlloyDB に移行する

ラボ 1時間 30分 universal_currency_alt クレジット: 1 show_chart 入門
info このラボでは、学習をサポートする AI ツールが組み込まれている場合があります。
700 以上のラボとコースにアクセス

GSP1084

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

概要

Google Cloud では、Database Migration Service を使用して PostgreSQL データベースを AlloyDB for PostgreSQL に移行できます。これを行うには、AlloyDB でプライベート サービス アクセスを使用する必要があります。このアクセスは、お客様の VPC ネットワークと、基盤となる Google Cloud の VPC ネットワーク(AlloyDB リソースが存在するネットワーク)との間の VPC ピアリング接続として実装されます。

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

Database Migration Service を使用してデータベースを移行するには、移行元データベースの準備が必要です。これらのタスクは移行元環境で完了済みです。最も重要なのは、移行元インスタンスに pglogical パッケージをセットアップすることです。

移行ジョブを作成して実行した後、データベースの最初のコピーが AlloyDB for PostgreSQL インスタンスに正常に移行されていることを確認します。継続的な移行ジョブによってデータ更新が移行元データベースから AlloyDB for PostgreSQL インスタンスにどのように適用されるかについても確認します。

演習内容

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

  • 移行元インスタンスのデータを確認する
  • PostgreSQL インスタンス(スタンドアロン PostgreSQL など)への移行元接続のプロファイルを作成する
  • 継続的な移行ジョブを作成して開始する
  • AlloyDB for PostgreSQL インスタンスでデータの読み込みを確認する
  • ライブアップデートを AlloyDB インスタンスに伝播する

セットアップと要件

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

こちらの説明をお読みください。ラボには時間制限があり、一時停止することはできません。タイマーは、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 の概要ガイドをご覧ください。

タスク 1. 移行元インスタンスのデータを確認する

ソース インスタンスのデータを確認する

このステップでは、pg14-source VM インスタンスの postgres データベースに接続してデータを確認します。

  1. ナビゲーション メニューconsole_nav_small.png)で、[Compute Engine] の下にある [VM インスタンス] をクリックします。

  2. pg14-source という名前のインスタンスの [接続] 列で、[SSH] をクリックしてターミナル ウィンドウを開きます。

  3. 次のコマンドを使用して、PostgreSQL(psql)クライアントを起動します。

sudo -u postgres psql
  1. 次のような psql ターミナル プロンプトが表示されます。
psql (14.5 (Debian 14.5-1.pgdg110+1)) Type "help" for help.
  1. 次の SQL コマンドを入力して実行し、postgres データベースの HR 関連のテーブルを確認します。
\dt
  1. 次のクエリを実行して、各テーブルの行数を特定します。
select count (*) as countries_row_count from countries; select count (*) as departments_row_count from departments; select count (*) as employees_row_count from employees; select count (*) as jobs_row_count from jobs; select count (*) as locations_row_count from locations; select count (*) as regions_row_count from regions;
  1. ソーステーブルの行数は次のとおりです。
名前
25
部門 27
従業員 107
ジョブ 19
ロケーション 23
リージョン 4



  1. \q」と入力して psql クライアントを終了します。

  2. exit」と入力して、ターミナル ウィンドウを閉じます。

タスク 2. スタンドアロンの PostgreSQL データベースの Database Migration Service 接続プロファイルを作成する

このタスクでは、PostgreSQL 移行元インスタンスの接続プロファイルを作成します。

PostgreSQL 移行元インスタンスの接続情報とデプロイ情報を取得する

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

  1. ナビゲーション メニューconsole_nav_small.png)で、[Compute Engine] の下にある [VM インスタンス] をクリックします。

  2. インスタンス pg14-source の行を見つけます。

  3. 内部 IP の値(10.128.15.208)。

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

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

このステップでは、PostgreSQL 移行元インスタンスの新しい接続プロファイルを作成します。

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

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

  3. [プロファイル ロール] で [ソース] を選択します。

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

  5. [接続プロファイル名] に「pg14-source」と入力します。

  6. [リージョン] で を選択します。

  7. [接続構成の定義] で [定義] をクリックします。

  8. [ホスト名または IP アドレス] に、前のタスクでコピーした PostgreSQL 移行元インスタンスの内部 IP(10.128.15.208 など)を入力します。

  9. [ポート] に「5432」と入力します。

  10. [ユーザー名] に「postgres」と入力します。

  11. [パスワード] に「Change3Me」と入力します。

  12. 他のすべての値はデフォルトのままにします。

  13. [保存] をクリックします。

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

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

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

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

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

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

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

このステップでは、新しい継続的な移行ジョブを作成します。

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

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

  3. [移行ジョブ名] に「postgres-to-alloydb」と入力します。

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

  5. [移行先データベース エンジン] で [AlloyDB for PostgreSQL] を選択します。

  6. [送信先リージョン] で を選択します。

  7. 現時点では、PostgreSQL から AlloyDB への移行ジョブの種類として利用できるのは [継続的] のみです。

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

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

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

このステップでは、移行元インスタンスを移行用に定義します。

  1. [移行元接続プロファイルを選択する] で、数ステップ前に作成した pg14-source 接続プロファイルを選択します。

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

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

このステップでは、DMS ウィザードが AlloyDB クラスタとインスタンスをユーザーに代わって作成します。

  1. [移行先クラスタのタイプ] で、[新しいクラスタ] がすでに選択されています。

  2. [続行] をクリックして、[クラスタ構成の確認] に進みます。

  3. [クラスタ ID] に「alloydb-target-cluster」と入力します。

  4. [パスワード] に「Change3Me」と入力します。

  5. [ネットワーク] で [peering-network] を選択します。

  6. [続行] をクリックします。

  7. [インスタンス ID] に「alloydb-target-instance」と入力します。

  8. マシンタイプとして [2 vCPU、16 GB] を選択します。

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

  10. ポップアップ ウィンドウで、[移行先を作成して続行] をクリックして続行します。

  11. AlloyDB インスタンスとクラスタの作成中に、[接続方法] のオプション リストから [VPC ピアリング] を選択できます。

  12. クラスタとインスタンスが完了するまでお待ちください。データベースが利用可能になると、[構成して続行] リンクが利用可能になります。

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

  14. [移行するオブジェクトの選択] ページで、[移行するデータベース] の下にある [すべてのデータベース] を選択します。

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

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

このステップでは、移行ジョブをテストして開始します。

  1. Database Migration Service ウィザードが [移行ジョブのテストと作成] ステップに移動します。

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

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

注: [ジョブを作成して開始] をクリックしないと、ジョブは開始されません。もう一方のリンクは、ジョブの詳細を作成して保存するだけです。

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

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

このステップでは、継続的な移行ジョブが実行されていることを確認します。

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

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

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

  • ジョブが開始されていない場合、ステータスは [開始前] と表示されます。ジョブを開始するか、削除するかを選択できます。
  • ジョブが開始されると、ステータスは [開始中] と表示され、[実行中]、[完全なダンプの処理中] に移行して、最初のデータベース ダンプが処理中であることが示されます。
  • 初期読み込みが完了し、DMS が継続的なオペレーションに使用可能になると、ジョブのステータスが [実行中]、[CDC の処理中] に変わります。

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

タスク 4. AlloyDB for PostgreSQL インスタンスでデータの読み込みを確認する

AlloyDB for PostgreSQL インスタンスを確認する

  1. Cloud コンソールのナビゲーション メニューconsole_nav_small.png)で、[すべてのプロダクトを表示] をクリックし、[データベース] セクションで [AlloyDB for PostgreSQL] をクリックしてから [クラスタ] をクリックして、クラスタの詳細を確認します。

  2. クラスタの名前は alloydb-target-cluster、インスタンスの名前は alloydb-target-cluster-primary です。

  3. インスタンス セクションのプライベート IP アドレスをメモしてください。プライベート IP アドレスをテキスト ファイルにコピーします。この値は、後のステップで貼り付けます。

  4. ナビゲーション メニューナビゲーション メニュー アイコン)で、[Compute Engine] の下にある [VM インスタンス] をクリックします。

  5. alloydb-client という名前のインスタンスの [接続] 列で、[SSH] をクリックしてターミナル ウィンドウを開きます。

  6. 次の環境変数を設定します。ALLOYDB_ADDRESS は、AlloyDB インスタンスのプライベート IP アドレスに置き換えます。

export ALLOYDB=ALLOYDB_ADDRESS
  1. 次のコマンドを実行して、AlloyDB インスタンスのプライベート IP アドレスを AlloyDB クライアント VM に保存し、ラボ全体で保持されるようにします。
echo $ALLOYDB > alloydbip.txt
  1. psql クライアントに接続し、次のクエリを実行して、5 つのソーステーブルが AlloyDB インスタンスに存在することを確認します。クラスタの作成時に指定した postgres ユーザーのパスワード(Change3Me)を入力するよう求められます。
psql -h $ALLOYDB -U postgres \dt List of relations Schema | Name | Type | Owner --------+-------------+-------+--------------------- public | countries | table | alloydbexternalsync public | departments | table | alloydbexternalsync public | employees | table | alloydbexternalsync public | jobs | table | alloydbexternalsync public | locations | table | alloydbexternalsync public | regions | table | alloydbexternalsync (6 rows)
  1. 次のクエリを実行して、移行されたテーブルの行数を特定します。値は、移行元インスタンスのクエリ出力と一致します。
select count (*) as countries_row_count from countries; select count (*) as departments_row_count from departments; select count (*) as employees_row_count from employees; select count (*) as jobs_row_count from jobs; select count (*) as locations_row_count from locations; select count (*) as regions_row_count from regions;
  1. ターゲット テーブルの行数は次のとおりです。
名前
25
部門 27
従業員 107
ジョブ 19
ロケーション 23
リージョン 4



  1. 次のクエリを実行して、regions テーブルのデータを確認します。
select region_id, region_name from regions; region_id | region_name -----------+------------------------ 1 | Europe 2 | Americas 3 | Asia 4 | Middle East and Africa (4 rows) .

タスク 5. ライブアップデートを AlloyDB インスタンスに伝播する

  1. Database Migration Service ジョブは継続的な更新構成で設定されているため、移行元インスタンスで行った更新はすべて AlloyDB ターゲットに適用されます。

  2. ナビゲーション メニューconsole_nav_small.png)で、[Compute Engine] の下にある [VM インスタンス] をクリックします。

  3. pg14-source という名前のインスタンスの [接続] 列で、[SSH] をクリックしてターミナル ウィンドウを開きます。

  4. 次のコマンドを使用して、PostgreSQL(psql)クライアントを起動します。

sudo -u postgres psql
  1. psql ターミナルのプロンプトが表示されます。次の SQL コマンドを入力して実行し、regions テーブルに 1 行のデータを追加します。
insert into regions values (5, 'Oceania');
  1. 行がローカルに挿入されたことを確認します。
select region_id, region_name from regions; region_id | region_name -----------+------------------------ 1 | Europe 2 | Americas 3 | Asia 4 | Middle East and Africa 5 | Oceania (5 rows)

AlloyDB for PostgreSQL インスタンスのデータを確認する

  1. alloydb-client のターミナルシェルに戻ります。psql クライアントは開いたままになります。次のクエリを実行して、Oceania の行がターゲットの AlloyDB インスタンスに追加されたことを確認します。
select region_id, region_name from regions; region_id | region_name -----------+------------------------ 1 | Europe 2 | Americas 3 | Asia 4 | Middle East and Africa 5 | Oceania (5 rows)
  1. [進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。 データの継続的な移行をテストする

お疲れさまでした

これで、継続的な Database Migration Service ジョブを使用して、スタンドアロンの PostgreSQL データベース(仮想マシン上で実行)を AlloyDB for PostgreSQL に移行することができるようになりました。

マニュアルの最終更新日: 2025 年 2 月 14 日

ラボの最終テスト日: 2025 年 2 月 14 日

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

始める前に

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

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

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

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

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

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

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

ありがとうございます。

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

1 回に 1 つのラボ

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

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

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