AWS DMS の同種データ移行での MySQL データベースからのデータの移行
同種データ移行 を使用して、セルフマネージド型 MySQL データベースを RDS for MySQL または Aurora MySQL に移行できます。AWS DMS は、データ移行のためのサーバーレス環境を作成します。AWS DMS はさまざまなネイティブ MySQL データベースツールを使用して、さまざまなタイプのデータ移行に対応します。
[フルロード] タイプの同種データ移行の場合、AWS DMS は mydumper を使用してソースデータベースからデータを読み取り、サーバーレス環境にアタッチされているディスクに保存します。すべてのソースデータの読み取りを完了した後、AWS DMS はターゲットデータベースの myloader を使用してデータを復元します。
[フルロードと変更データキャプチャ (CDC)] タイプの同種データ移行の場合、AWS DMS は mydumper を使用してソースデータベースからデータを読み取り、サーバーレス環境にアタッチされているディスクに保存します。すべてのソースデータの読み取りを完了した後、AWS DMS はターゲットデータベースの myloader を使用してデータを復元します。フルロードが完了すると、AWS DMSは binlog の位置をフルロードの開始に設定して、binlog のレプリケーションを設定します。データの不整合を避けるには、[ジョブの数] を 1 に設定して、既存のデータの一貫性ある状態をキャプチャします。詳細については、「データ移行の作成」を参照してください。
[変更データキャプチャ (CDC)] タイプの同種データ移行の場合、AWS DMS がレプリケーションを開始するには [ネイティブな CDC 開始点] が必要です。ネイティブな CDC 開始点を指定すると、AWS DMS はその時点からの変更をキャプチャします。または、データ移行設定で [すぐに] を選択すると、実際のデータ移行の開始時にレプリケーションの開始点を自動的にキャプチャできます。
注記
CDC のみの移行を正常に実行するには、ソースデータベースのすべてのスキーマとオブジェクトがターゲットデータベースに既に存在している必要があります。ただし、ターゲットにはソースには存在しないオブジェクトが含まれている場合があります。
次のコード例を使用すると、MySQL データベース内の現在のログシーケンス番号 (LSN) を取得できます。
show master status
このクエリは、binlog ファイル名と位置を返します。ネイティブ開始点には、binlog ファイル名と位置の組み合わせを使用します。例えば、mysql-bin-changelog.000024:373
と指定します。この例では、mysql-bin-changelog.000024
が binlog ファイル名、373
が AWS DMS で変更のキャプチャを開始する位置です。
次の図は、AWS DMS で同種データ移行を使用して MySQL データベースを RDS for MySQL または Aurora MySQL に移行するプロセスを説明しています。