スキップしてコンテンツを表示

RDS for PostgreSQL から Aurora PostgreSQL に移行する方法を教えてください。

所要時間2分
0

Amazon Relational Database Service (Amazon RDS) for PostgreSQL から Amazon Aurora PostgreSQL 互換エディションに移行したいと考えています。

簡単な説明

既存の Amazon RDS for PostgreSQL データベースから Aurora PostgreSQL 互換の DB クラスターにデータを移行するには、5 つのオプションがあります。

Amazon RDS for PostgreSQL から Aurora PostgreSQL に移行するには、ユースケースに応じて以下のいずれかの方法を使用してください。

解決策

スナップショットを使用して RDS for PostgreSQL を移行する

Aurora PostgreSQL DB クラスターを作成するには、RDS for PostgreSQL DB インスタンスの DB スナップショットを移行します。新しい Aurora PostgreSQL DB クラスターには、元の RDS for PostgreSQL DB インスタンスからのデータが入力されています。RDS for PostgreSQL スナップショットには、Aurora PostgreSQL と同じかそれ以前のマイナーバージョンを使用する必要があります。

Aurora と RDS コンソールまたは AWS コマンドラインインターフェイス (AWS CLI) を使用してスナップショットを移行できます。手順については、「RDS for PostgreSQL DB インスタンスのスナップショットを Aurora PostgreSQL DB クラスターに移行する」を参照してください。

重要:

Aurora リードレプリカを使用して RDS for PostgreSQL を移行する

Aurora リードレプリカを使用して、RDS for PostgreSQL DB インスタンスを新しい Aurora PostgreSQL DB クラスターの基礎として使用します。Aurora リードレプリカは、同じ AWS リージョンとアカウント内でのみ移行できます。Aurora リードレプリカオプションを使用すると、移行中のダウンタイムを最小限に抑えられます。プライマリ RDS インスタンスと Aurora リードレプリカの間のレプリケーションラグがゼロ (0) になったら、新しいクラスターを昇格できます。

Aurora と RDS コンソールを使用して Aurora リードレプリカを作成できるのは、AWS リージョンに互換性のある Aurora PostgreSQL バージョンが提供されている場合のみです。RDS for PostgreSQL DB インスタンスの Aurora リードレプリカは、Aurora と RDS コンソールまたは AWS CLI を使用して作成できます。手順については、「Aurora リードレプリカを使用して RDS for PostgreSQL DB インスタンスから Aurora PostgreSQL DB クラスターにデータを移行する」を参照してください。

注: ソースの RDS for PostgreSQL には、移行中に先行書き込みログ (WAL) セグメントを保持するのに十分なストレージ容量が必要です。詳細については、「Aurora リードレプリカを使用してデータを移行するよう準備する」を参照してください。

pg_dump ユーティリティを使用して RDS for PostgreSQL を移行する

pg_dump は PostgreSQL データベースをバックアップするためのユーティリティです。データベースのサイズが小さい場合や、ダウンタイムを考慮する必要がない場合は、このオプションを使用できます。この方法は、数 GB から 500GB のサイズのデータベースを移行する場合に最適です。大規模なデータベースを移行する場合、データベースのサイズによっては停止時間が長くなる場合があります。ネットワークレイテンシーを軽減するには、ターゲットデータベースと同じアベイラビリティーゾーン内のホストとして Amazon Elastic Compute Cloud (Amazon EC2) インスタンスを使用してください。

手順については、「Amazon EC2 インスタンスから PostgreSQL データベースをインポートする」を参照してください。

pg_dump に関するその他の情報については、PostgreSQL の公式ドキュメントを参照してください。

論理レプリケーションを使用して RDS for PostgreSQL を移行する

Amazon RDS for PostgreSQL と Aurora PostgreSQL は、外部 PostgreSQL 物理レプリケーションのターゲットとしてサポートされていません。ただし、論理レプリケーションは全体的な移行時間を短縮する方法の 1 つです。RDS for PostgreSQL と Aurora PostgreSQL インスタンスの間にパブリッシャーモデルとサブスクライバーモデルを設定して、最小限のダウンタイムでデータを移行できます。

詳細については、「Best practices for migrating PostgreSQL databases to Amazon RDS and Aurora」(PostgreSQL データベースを Amazon RDS と Aurora に移行するためのベストプラクティス) を参照し、「Logical replication」(論理レプリケーション) の指示に従ってください。

Amazon S3 からのデータインポートを使用して RDS for PostgreSQL を移行する

データが Amazon Simple Storage Service (Amazon S3) を使用して保存されている場合は、データを Aurora PostgreSQL DB クラスターインスタンスに移行できます。手順については、「Amazon S3 から Aurora PostgreSQL DB クラスターにデータをインポートする」を参照してください。

関連情報

Working with parameter groups (パラメータグループの使用)

AWS公式更新しました 4年前
1コメント

This article was reviewed and updated on 2022-11-22.

エキスパート

応答済み 3ヶ月前

関連するコンテンツ