例: Aurora PostgreSQL と AWS Database Migration Service を使用した論理レプリケーション
AWS Database Migration Service 「AWS DMS」 を使用してデータベースまたはその一部をレプリケートできます。AWS DMS を使用して、Aurora PostgreSQL データベースから、別のオープンソースデータベースまたは商用データベースにデータを移行させます。AWS DMS の詳細については、『AWS Database Migration Service ユーザーガイド』を参照してください。
次の例では、Aurora PostgreSQL データベースからの (パブリッシャーとしての) 論理的なレプリケーションを設定し、次に移行のために AWS DMS を使用する方法を示します。この例では、「例: Aurora PostgreSQL DB クラスターにおける論理レプリケーションの使用」で作成したのと同じパブリッシャーおよびサブスクライバーを使用しています。
AWS DMS で論理的なレプリケーションを設定するには、Amazon RDS のパブリッシャーとサブスクライバーに関する詳細が必要です。特に、パブリッシャーの書き込み DB インスタンスとサブスクライバーの DB インスタンスに関する詳細が必要です。
パブリッシャーの書き込み DB インスタンスについては以下の情報を取得します。
仮想プライベートクラウド (VPC) の識別子
サブネットグループ
アベイラビリティーゾーン (AZ)
VPC セキュリティグループ
DB インスタンス ID
サブスクライバーの DB インスタンスについては以下の情報を取得します。
DB インスタンス ID
出典エンジン
Aurora PostgreSQL での論理的なレプリケーションに AWS DMS を使用するには
-
AWS DMS を使用するようにパブリッシャーデータベースを準備します。
これを行うには、PostgreSQL 10.x 以降のデータベースで、AWS DMS ラッパー関数をパブリッシャーデータベースに適用する必要があります。このステップと以降のステップの詳細については、AWS Database Migration Service ユーザーガイドの「AWS DMS のソースとして PostgreSQL バージョン 10.x 以降を使用する」を参照してください。
-
AWS Management Console にサインインして、AWS DMS で https://console.aws.amazon.com/dms/v2
コンソールを開きます。右上で、パブリッシャーとサブスクライバーがある同じ AWS リージョンを選択します。 -
AWS DMS レプリケーションインスタンスを作成します。
パブリッシャーの書き込み DB インスタンスと同じ値を選択します。これらには、以下の設定が含まれます。
-
「VPC」 で、書き込み DB インスタンスと同じ VPC を選択します。
-
「Replication Subnet Group (レプリケーションのサブネットグループ)」 で、書き込み DB インスタンスと同じ値のサブネットグループを選択します。必要に応じて新規に作成してください。
-
「アベイラビリティーゾーン」 で、書き込み DB インスタンスと同じゾーンを選択します。
-
「VPC セキュリティグループ」 で、書き込み DB インスタンスと同じグループを選択します。
-
-
出典の AWS DMS エンドポイントを作成します。
次の設定を使用して、パブリッシャーを出典エンドポイントとして指定します。
-
「Endpoint type (エンドポイントタイプ)」 で 「Source endpoint (出典エンドポイント)」を選択します。
-
[Select RDS DB Instance (RDS DB インスタンスの選択)] を選択します。
-
「RDS Instance (RDS インスタンス)」で、パブリッシャーの書き込み DB インスタンスの DB 識別子を選択します。
-
「Source engine (出典エンジン)」 で 「postgres」 を選択します。
-
-
ターゲットの AWS DMS エンドポイントを作成します。
次の設定を使用して、サブスクライバーをターゲットエンドポイントとして指定します。
-
「Endpoint type (エンドポイントタイプ)」 で 「Target endpoint (ターゲットエンドポイント)」 を選択します。
-
[Select RDS DB Instance (RDS DB インスタンスの選択)] を選択します。
-
[RDS Instance (RDS インスタンス)] で、サブスクライバーの DB インスタンスの DB 識別子を選択します。
-
[Source engine (出典エンジン)] の値を選択します。例えば、サブスクライバーが RDS PostgreSQL データベースの場合は、[postgres] を選択します。サブスクライバーが Aurora PostgreSQL データベースである場合は、[aurora-postgresql] を選択します。
-
-
AWS DMS データベース移行タスクを作成します。
データベース移行タスクを使用して、移行するデータベーステーブルを指定し、ターゲットスキーマを使用してデータをマッピングして、ターゲットデータベースで新しいテーブルを作成します。少なくとも、[Task configuration (タスクの設定)] で以下の設定を使用します。
-
[Replication instance (レプリケーションインスタンス)] で、前のステップで作成したレプリケーションインスタンスを選択します。
-
[Source database endpoint (出典データベースエンドポイント)] で、前のステップで作成したパブリッシャー出典を選択します。
-
[Target database endpoint (ターゲットデータベースエンドポイント)] で、前のステップで作成したサブスクライバーターゲットを選択します。
タスクの残りの詳細は、移行プロジェクトに応じて異なります。DMS タスクのすべての詳細を指定する方法については、AWS Database Migration Service ユーザーガイドの「AWS DMS タスクの使用」を参照してください。
-
AWS DMS は、タスクを作成した後で、パブリッシャーからサブスクライバーへのデータの移行を開始します。