SQL ファイルをインポートする

このページでは、SQL ファイルを AlloyDB データベースにインポートする方法について説明します。

インポートを実行する手順は次のとおりです。

  1. Cloud Storage バケットに SQL ファイルをアップロードします

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

  3. データベースに SQL ファイルをインポートします。

  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

SQL ファイルをアップロードする

SQL ファイルをアップロードするには、Cloud Storage バケットを作成し、そのバケットに SQL ファイルをアップロードします。

  1. AlloyDB データベースが存在するプロジェクトとリージョンに Standard Storage のリージョン ストレージ バケットを作成します。次の手順を行うときは、インポートする SQL ファイルに対応できる十分なローカル ストレージを Compute Engine VM に割り当ててください。

  2. 作成したストレージ バケットに SQL ファイルをアップロードします。

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

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

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

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

SQL ファイルをインポートする

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

  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. SQL ファイルをクライアント ホストのローカル ファイル システムにコピーします。
    gcloud storage cp gs://BUCKET_NAME/SQL_FILE_NAME .
  4. SQL ファイルをインポートします。
    psql -h IP_ADDRESS -U postgres DB_NAME < SQL_FILE_NAME
    
    • IP_ADDRESS: プライマリ インスタンスの IP アドレス。
    • DB_NAME: インポート先のデータベースの名前。
    • SQL_FILE_NAME: アップロードした SQL ファイル。

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

SQL ファイルが正常にインポートされたら、Cloud Storage バケットを削除し、インポート手順で使用した Compute Engine VM を削除できます。