0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Azure PostgreSQLをリージョン間で移動した話

Last updated at Posted at 2025-11-02

Azure PostgreSQLをリージョン間で移動した話

Azure PostgreSQLをリージョン間で移動した経験について、その手順と結果を記録しておきます。

前提

今回移動したAzure PostgreSQLは、個人開発で作っているシステムのデータベースとして使用しているものです。
費用を抑えるため、下記の構成で作成しました。

構成:バースト可能, B1ms、1 個の仮想コア、2 GiB の RAM、32 GiB の ストレージ

システムの構成

システムの構成は、下記のとおりです。

  • フロントエンド:React
  • バックエンド:FastAPI
  • データベース:Azure PostgreSQL
  • AI:Azure OpenAI

開発環境

フロントエンドとバックエンドはローカルPCで動作させ、データベースとAIはAzure上で動作させることにしました。
リージョンは特に深く考えず、East USを選択しました。

本番環境

フロントエンドとバックエンドはAzure App Services Freeプランで動作させ、データベースとAIは開発環境と同じものを使用します。

移動した理由

移動を決めた理由は以下の通りです:

  • Azure App Services FreeプランがEast USでは利用できなかったため
  • East USではAzure PostgreSQLを停止できず、常時課金が発生するため

移動したリージョン

  • 移動前:East US
  • 移動先:Japan West

移動方法の検討

各種移行方法を検討した結果、以下のような状況でした:

移行方法 使用可否 理由
Azure Database Migration Service リージョン間の移動では使えない
Azure PostgreSQL内のレプリケーション機能 バースト可能構成では使えない
Azure Resource Mover PostgreSQLは非対応
Azure Database for PostgreSQL の移行サービス Azure PostgreSQLからAzure PostgreSQLへの移行について詳細な説明がないため使用を見送り
pg_dump/pg_restore この方法を採用

移動手順

前提条件

VS Codeのターミナルで移動前のPostgreSQLに接続してpsqlが使えるように環境設定済みであること。

手順

  1. データベースのダンプを取得
    pg_dumpallを使ってデータベース全体のダンプを取得します。

    pg_dumpall -h <source_server_name>.postgres.database.azure.com -U <username>@<source_server_name> -p 5432 > dump.sql
    
  2. 移動先リージョンにAzure PostgreSQLサーバーを作成
    移動先リージョン(Japan West)に新しいPostgreSQLサーバーを作成します。

  3. 移動先PostgreSQLへの接続設定
    移動先のPostgreSQLに接続できるように環境設定を行います。

  4. データベースのダンプを復元
    psqlを使って移動先のAzure PostgreSQLにダンプを復元します。

    psql -h <destination_server_name>.postgres.database.azure.com -U <username>@<destination_server_name> -p 5432 < dump.sql
    

移動結果と感想

pg_dumpallpsqlを使った移動は、思ったより簡単に実行できました。

East USではAzure PostgreSQLを停止できず継続的に料金が発生していましたが、Japan Westに移動したことで停止機能が利用できるようになり、費用を大幅に抑えることができそうです。

参考にしたセッション

今回の検討・実施にあたり、以下のセッションが大変参考になりました。

  • 「Microsoft Azure Virtual Training Day: Linux と PostgreSQL を Azure に移行する」
    移行に関する質問をして詳しい回答をいただき、大変参考になりました。

  • 「Reactor Model Context Protocol (MCP) でエージェントを進化させる」
    PostgreSQLの確認をpsqlやVS CodeのPostgreSQL拡張機能で行っていましたが、画面が見づらくて困っていました。このセッションでpgAdmin4を使う方法を知ることができ、作業効率が大幅に向上しました。

このようなセッションを開催していただき、ありがとうございました。

まとめ

Azure PostgreSQLのリージョン間移動は、標準的な移行ツールでは対応していないケースが多いことが分かりました。しかし、pg_dumpallpsqlを使った古典的な方法であれば、確実かつ簡単に移行することができました。

特にバースト可能構成のような制限がある環境では、この手法が最も実用的な選択肢だと感じました。今後、他の移行方法についても調査していこうと思います。


Last updated: 2025-11-02 22:16:09
Source: Azure PostgreSQLをリージョン間で移動した話.md

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?