DMP ファイルをエクスポートする

このページでは、pg_dump ツールを使用して AlloyDB データベースをカスタム形式のアーカイブ DMP ファイルにエクスポートし、後で pg_restore ツールを使用してインポートする方法について説明します。

エクスポートを実行する手順は次のとおりです。

  1. DMP ファイルを保存する Cloud Storage バケットを作成します。

  2. エクスポート オペレーションを実行するクライアント ホストを準備します。

  3. DMP ファイルにデータベースをエクスポートします。

  4. 手順を実行するために作成したリソースをクリーンアップします。

始める前に

  • 使用している Google Cloud プロジェクトで、オーナー(roles/owner)または編集者(roles/editor)の基本 IAM ロールが必要です。または、次の事前定義された IAM ロールが必要です。
    • AlloyDB 管理者(roles/alloydb.admin)または AlloyDB 閲覧者(roles/alloydb.viewer
    • Storage 管理者(roles/storage.admin
    • Compute インスタンス管理者(v1)(roles/compute.instanceAdmin.v1

Cloud Storage バケットを作成する

AlloyDB データベースのあるプロジェクトとリージョンに Standard Storage Regional Storage バケットを作成します。

クライアント ホストを準備する

エクスポート オペレーションを実行するクライアント ホストを準備するには、データベースが配置されている AlloyDB プライマリ インスタンスに接続できる Compute Engine VM を作成し、その VM に pg_dump ツールと Google Cloud CLI をインストールします。

  1. psql クライアントをインスタンスに接続するの手順に沿って、適切に接続され、pg_dump ツールがインストールされた Compute Engine VM を作成します。これらの手順を行う場合は、作成する DMP ファイルに対応できる十分なローカル ストレージを Compute Engine VM に割り当ててください。

  2. gcloud CLI をインストールして、Cloud Storage バケットにコマンドラインからアクセスして DMP ファイルを作成できるようにします。

データベースをエクスポートする

データベースを DMP ファイルにエクスポートするには、データベースが存在する AlloyDB プライマリ インスタンスの IP アドレスを取得し、pg_dump ツールを使用します。

  1. 詳細を表示して、データベースが存在する AlloyDB プライマリ インスタンスの IP アドレスを取得します。
  2. Compute Engine VM に SSH で接続します。

    コンソール

    1. Google Cloud コンソールで [VM インスタンス] ページに移動します。

      [VM インスタンス] に移動

    2. 仮想マシン インスタンスのリストで、作成したインスタンスの行の SSH をクリックします。

      インスタンス名の横にある SSH ボタン。

    gcloud

    gcloud compute ssh コマンドを使用して、作成したインスタンスに接続します。

    gcloud compute ssh --project=PROJECT_ID --zone=ZONE VM_NAME

    次のように置き換えます。

    • PROJECT_ID: インスタンスが含まれているプロジェクトの ID。
    • ZONE: インスタンスが存在するゾーンの名前
    • VM_NAME: インスタンスの名前。
  3. DMP ファイルにデータベースをエクスポートします。
    pg_dump -h IP_ADDRESS -U postgres -F custom \
      DB_NAME > DMP_FILE_NAME
    

    postgres ユーザーのパスワードを入力するよう求められます。

    • IP_ADDRESS: プライマリ インスタンスの IP アドレス。
    • -F custom: DMP ファイルの形式をカスタム形式のアーカイブに設定します。このアーカイブは、後で pg_restore ツールを使用してインポートできます。
    • DB_NAME: エクスポートするデータベースの名前。
    • DMP_FILE_NAME: クライアント ホストのローカル ファイル システムに作成する DMP ファイルのファイル名を指定します。

    上記は、シンプルな pg_dump コマンドを示しています。このコマンドがサポートする幅広いオプションについては、PostgreSQL のドキュメントをご覧ください。

  4. DMP ファイルを、前に作成した Cloud Storage バケットにコピーします。
    gcloud storage cp DMP_FILE_NAME gs://BUCKET_NAME

リソースのクリーンアップ

DMP ファイルのエクスポートが正常に完了したら、エクスポート手順で使用した Compute Engine VM を削除できます。

次のステップ