例: 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 マネジメントコンソール にサインインして、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 は、タスクを作成した後で、パブリッシャーからサブスクライバーへのデータの移行を開始します。