1
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?

AWS DMS(Database Migration Service) レプリケーションインスタンスについて解説します

Last updated at Posted at 2025-04-04

レプリケーションとは

レプリケーションとは、「複製(レプリカ)を作る」という意味です。別の場所に、リアルタイムでデータをコピーする技術のことを指します。

image.png

今回は、RDSレプリケーションの仕組みが理解出来るように、MySQLで解説します。

用途

1. データベース移行

オンプレミスからクラウドへの移行
オンプレミスのデータベースをAWSのクラウド環境(例えば、Amazon RDSやAmazon Aurora)に移行する際に使用します。
クラウド間の移行
AWS内の異なるリージョン間や異なるクラウドプロバイダー間でデータベースを移行する際に使用します。

2. データベースの統合

データの統合
複数のデータベースを一つのデータベースに統合する際に使用します。

レプリケーションとバックアップの違い

項目 レプリケーション バックアップ
目的 データの可用性と信頼性の向上、負荷分散、災害復旧 データの保護と復旧、災害復旧
データの複製方法 データをリアルタイムまたは定期的に複製し、複数の場所に保存 データのスナップショットを定期的に取得し、バックアップファイルとして保存
データの一貫性 高い(特に同期レプリケーションの場合) 一貫性は低い(バックアップ時点のデータのみ)
パフォーマンス リアルタイムレプリケーションはパフォーマンスに影響を与えることがある バックアッププロセス中にパフォーマンスに影響を与えることがある
データの復旧時間 短い(データが常に最新の状態であるため) 長い(バックアップファイルからの復旧が必要)
データの保存場所 複数のサーバーやデータセンター 専用のバックアップストレージ(オンプレミスまたはクラウド)
使用例 データベースレプリケーション、ファイルシステムレプリケーション、クラウドサービス データベースバックアップ、ファイルシステムバックアップ、クラウドストレージ
コスト 高い(複数のサーバーやデータセンターが必要) 低い(専用のバックアップストレージのみが必要)
メンテナンス 継続的な監視と管理が必要 定期的なバックアップスケジュールの設定と管理が必要

どんな手順で実現するのか?

1.ターゲットとなるデータベースを作成する
2.レプリケーションするインスタンスを作成する
3.ソースエンドポイントを作成する
4.ターゲットエンドポイントを作成する
5.レプリケーションタスクを作成し実行する

ターゲットとなるデータベースを作成する

image.png

レプリケーションするインスタンスを作成する

image.png

image.png

接続とセキュリティ

パブリックアクセス可能: チェックボックスをオンにする。
このオプションを選択すると、AWS DMS によってレプリケーションインスタンスにパブリック IP アドレスが割り当てられるため、お客様の VPC の外部のデータベースに接続できるようになります。

ソースエンドポイントを作成する

image.png

エンドポイント設定

設定項目 設定値
エンドポイントタイプ ソースエンドポイント を選択する。
エンドポイント識別子 source-endpoint と入力する。
ソースエンジン MySQL を選択する。
エンドポイントデータベースへのアクセス アクセス情報を手動で提供する を選択する。
サーバー名 DBServerDNSName を入力する。
ポート 3306 と入力する。
ユーザー名 XXXX と入力する。
パスワード XXXXXX と入力する。
Secure Socket Layer (SSL) モード none を選択する。

ターゲットエンドポイントを作成する

image.png

エンドポイント設定

設定項目 設定値
エンドポイントタイプ ターゲットエンドポイント を選択する。
RDS DB インスタンスの選択 チェックボックスをオンにする。
RDS インスタンス 作成した RDS インスタンスを選択する。
エンドポイント識別子 target-endpoint と入力する。
ターゲットエンジン MySQL を選択する。
エンドポイントデータベースへのアクセス アクセス情報を手動で提供する を選択する。
ユーザー名 XXX と入力する。
パスワード XXXXXXXX と入力する。
残りの設定 すべてデフォルト値のままにする。

レプリケーションタスクを作成し実行する

image.png

タスク設定、テーブルマッピング設定、および移行タスクのスタートアップ設定の各項目とその設定値

タスク設定

設定項目 設定値
タスク識別子 replication-cdc
レプリケーションインスタンス replication-instance
ソースデータベースエンドポイント source-endpoint
ターゲットデータベースエンドポイント target-endpoint
移行タイプ 移行と複製
編集モード ウィザード
ソーストランザクションのカスタム CDC 停止モード カスタム CDC 停止モードを無効にする
ターゲットテーブル準備モード 何もしない
フルロードの完了後にタスクを停止する 停止しない
LOB column settings 制限付き LOB モード
最大 LOB サイズ (KB) 32
検証の有効化 チェックボックスをオンにする。
CloudWatch ログの有効化 チェックボックスをオンにする。
残りの設定 すべてデフォルト値のままにする。

テーブルマッピング

設定項目 設定値
編集モード ウィザード
Selection rules Selection rules をクリックし、新しい選択ルールの追加 を選択する。
スキーマ ドロップダウンリストから スキーマの入力 を選択する。
ソース名 元となる データベース名 を入力する。

移行タスクのスタートアップ設定

設定項目 設定値
Start migration task 作成時に自動的に行う を選択する。

タスクの作成

タスクの作成 をクリックします。
Statusロード完了、レプリケーション進行中 に変わるまで待機します。

タスクの実行中の確認
タスクの実行中は、その詳細を表示し、テーブルとレプリケーションした行数に関する情報を確認できます。この処理は数分で完了します。[Status] が ロード完了、レプリケーション進行中 に変わるまで待機します。

仲間を募集しています!

ARIではエンジニア・ITコンサルタント・PM職全方位で仲間を募集しております。
カジュアル面談、随時受付中です!
ご興味ある方はこちらをご覧ください。

1
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
1
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?