AWS Database Migration Service の仕組み - AWS Database Migration Service

英語の翻訳が提供されている場合で、内容が矛盾する場合には、英語版がオリジナルとして取り扱われます。翻訳は機械翻訳により提供されています。

AWS Database Migration Service の仕組み

AWS Database Migration Service (AWS DMS) は、ソースデータストアからターゲットデータストアへのデータの移行に使用できるウェブサービスです。この 2 つのデータストアはエンドポイントと呼ばれます。移行は、同じデータベースエンジンを使用するソースエンドポイントとターゲットエンドポイント (Oracle データベースと Oracle データベースなど) の間で行うことができます。移行は、異なるデータベースエンジンを使用するソースエンドポイントとターゲットエンドポイント (Oracle データベースと PostgreSQL データベースなど) の間で行うこともできます。AWS DMS を使用する唯一の要件は、エンドポイントの 1 つが AWS のサービス上にあることです。AWS DMS を使用して、オンプレミスのデータベースから別のオンプレミスのデータベースに移行することはできません。

データベース移行のコストについては、「AWS Database Migration Service の料金」を参照してください。

次のトピックを使用して AWS DMS についての理解を深めます。

AWS DMS の概要

データベースの移行を実行するには、AWS DMS はソースデータストアに接続し、ソースデータを読み取り、ターゲットデータストアが使用できるようにデータをフォーマットします。次に、ターゲットデータストアにデータをロードします。この処理のほとんどはメモリ内で行われますが、大きいトランザクションではディスクへのバッファリングが必要になることがあります。キャッシュされたトランザクションとログファイルもディスクに書き込まれます。

大まかに述べると、AWS DMS を使用するときの操作は次のとおりです。

  • レプリケーションサーバーを作成します。

  • データストアに関する接続情報を持つソースエンドポイントとターゲットエンドポイントを作成します。

  • ソースデータストアとターゲットデータストアの間でデータを移行するには、1 つ以上の移行タスクを作成します。

タスクは、3 つの主なフェーズで構成できます。

  • 既存のデータの全ロード

  • キャッシュされた変更の適用

  • 継続的なレプリケーション

ソースの既存のデータがターゲットに移動される全ロード移行時、AWS DMS はソースデータストア上のテーブルからターゲットデータストア上のテーブルにデータをロードします。全ロードの進行中、ロードするテーブルに加えられた変更はすべてレプリケーションサーバーにキャッシュされます。これらがキャッシュされた変更点です。AWS DMS は、特定のテーブルの全ロードが開始されるまで、そのテーブルの変更をキャプチャしない点に注意することが重要です。つまり、変更キャプチャが開始されるポイントは、個々のテーブルごとに異なります。

特定のテーブルの全ロードが完了すると、AWS DMS はすぐにそのテーブルのキャッシュされた変更を適用し始めます。すべてのテーブルがロードされると、AWS DMS は継続的なレプリケーションフェーズのトランザクションとして変更を収集し始めます。AWS DMS がキャッシュされた変更をすべて適用すると、テーブルはトランザクション面で一貫したものになります。この時点で、AWS DMS は継続的なレプリケーションフェーズに移り、変更がトランザクションとして適用されます。

継続的なレプリケーションフェーズの開始時、トランザクションのバックログにより、ソースデータベースとターゲットデータベースの間に通常いくらかの遅延が発生します。このトランザクションバックログが終わると、移行は最終的に安定した状態になります。この時点で、アプリケーションをシャットダウンして、残りのトランザクションをターゲットに適用できるようにし、ターゲットデータベースをポイントするようになったアプリケーションを起動できます。

AWS DMS は、移行の実行に必要なターゲットスキーマオブジェクトを作成します。ただし、AWS DMS は最小限のアプローチを採用するため、データの効率的な移行に必要なオブジェクトのみ作成します。つまり、AWS DMS は、テーブル、プライマリキー、場合によっては一意のインデックスを作成しますが、効率的にソースからデータを移行するために必要ではない他のオブジェクトは作成されません。たとえば、セカンダリインデックス、非プライマリキーの制約、データデフォルトは作成されません。

ほとんどの場合、移行を実行するとき、ソーススキーマの大部分またはすべても移行します。同機種間移行 (同じエンジンタイプの 2 つのデータベース間) を実行する場合、エンジンのネイティブツールを使用してスキーマ自体 (データなし) をエクスポートおよびインポートすることによりスキーマを移行します。

移行が異機種間 (異なるエンジンタイプを使用する 2 つのデータベース間) の場合、AWS Schema Conversion Tool (AWS SCT) を使用して完全なターゲットスキーマを自動的に生成できます。このツールを使用した場合、「全ロード」フェーズと「キャッシュされた変更の適用」フェーズの間は、外部キーの制約など、テーブル間の依存関係をすべて無効にする必要があります。パフォーマンスが問題になる場合は、移行プロセス中にセカンダリインデックスを削除または無効にすると役立ちます。AWS SCT の詳細については、AWS SCT ドキュメントの「AWS Schema Conversion Tool」を参照してください。

AWS DMS のコンポーネント

このセクションでは、AWS DMS の内部コンポーネントと、データ移行におけるそのコンポーネントの動作について説明します。AWS DMS の基礎となるコンポーネントを理解することで、効率的にデータを移行し、問題のトラブルシューティング時および調査時に優れた洞察を得ることができます。

AWS DMS の移行は、レプリケーションインスタンス、ソースエンドポイントとターゲットエンドポイント、およびレプリケーションタスクの 3 つのコンポーネントで構成されます。AWS DMS 移行を作成するには、必要なレプリケーションインスタンス、エンドポイント、タスクを AWS リージョンに作成します。

レプリケーションインスタンス

大まかに説明すると、AWS DMS レプリケーションインスタンスとは、1 つ以上のレプリケーションタスクをホストするマネージド Amazon Elastic Compute Cloud (Amazon EC2) インスタンスです。

関連付けられたいくつかのレプリケーションタスクを実行するレプリケーションインスタンスの例を以下の図に示します。


                            AWS DMS の開始方法

移行の特性とレプリケーションサーバーの容量に応じて、1 つのレプリケーションインスタンスを使用して、1 つ以上のレプリケーションタスクをホストできます。AWS DMS では、ユースケースに最適な設定を選択できるように、さまざまなレプリケーションインスタンスが用意されています。レプリケーションインスタンスのさまざまなクラスの詳細については、「正しい選択 AWS DMS 移行のためのレプリケーション インスタンス」を参照してください。

AWS DMS では、Amazon EC2 インスタンス上にレプリケーションインスタンスが作成されます。サービスのテストや小規模な移行の場合、いくつかの小さいインスタンスクラスで十分です。移行に多数のテーブルが関与する場合や、複数の同時レプリケーションタスクを実行する予定の場合、大きいインスタンスを 1 つ使用することを検討してください。AWS DMS はかなりのメモリと CPU を消費する可能性があるため、このアプローチが推奨されます。

選択した Amazon EC2 インスタンスクラスに応じて、レプリケーションインスタンスには 50 GB または 100 GB のデータストレージが付属しています。ほとんどのお客様にとって、通常このストレージ容量は十分な量です。ただし、移行で大規模なトランザクションや大量のデータ変更が発生する場合は、基本ストレージの割り当てを増やすことを検討します。変更データキャプチャ (CDC) によって、データがディスクに書き込まれる可能性があります。これは、ターゲットから変更が書き込まれる速度によって異なります。

AWS DMS は、マルチ AZ 配置を使用して高可用性およびフェイルオーバーサポートを提供します。AWS DMS のマルチ AZ 配置では、異なるアベイラビリティーゾーンにレプリケーションインスタンスのスタンバイレプリカが自動的にプロビジョニングされ、維持されます。プライマリレプリケーションインスタンスは、同期的にスタンバイレプリカにレプリケートされます。プライマリレプリケーションインスタンスに障害が発生するか、応答しない場合、スタンバイ状態で中断時間をできる限り抑えて、実行中のタスクを再開します。プライマリはその状態を常にスタンバイにレプリケーションしているため、マルチ AZ 配置ではパフォーマンス上のオーバーヘッドが発生します。

AWS DMS レプリケーションインスタンスの詳細については、「AWS DMS レプリケーションインスタンスを使用する」を参照してください。

エンドポイント

AWS DMS は、エンドポイントを使用してソースまたはターゲットのデータストアにアクセスします。具体的な接続情報はデータストアによって異なりますが、一般的にエンドポイントを作成するときは次の情報を指定します。

  • エンドポイントタイプ – ソースまたはターゲット。

  • エンジンタイプ – データベースエンジンのタイプ(Oracle、PostgreSQL など)。

  • サーバー名 – AWS DMS が到達可能なサーバー名または IP アドレス。

  • ポート – データベースサーバー接続に使用されるポート番号。

  • 暗号化 – セキュアソケットレイヤー (SSL) モード(SSL を使用して接続を暗号化する場合)。

  • 認証情報 – 必要なアクセス権限を持つアカウントのユーザー名とパスワード。

AWS DMS コンソールを使用してエンドポイントを作成する場合は、コンソールでエンドポイント接続をテストする必要があります。DMS タスクでエンドポイントを使用する前に、テストが成功している必要があります。接続情報と同様に、特定のテスト基準はエンジンの種類によって異なります。一般的に、AWS DMS では、指定されたサーバー名とポートにデータベースが存在することと、提供された認証情報を使用して、移行を実行するために必要なアクセス許可を持つデータベースに接続できることを検証します。接続テストが成功すると、AWS DMS は、スキーマ情報をダウンロードして格納します。この情報は、後でタスク設定時に使用できます。スキーマ情報には、テーブル定義、プライマリキー定義、一意キー定義などがあります。

複数のレプリケーションタスクで 1 つのエンドポイントを使用することもできます。たとえば、2 つの論理的に異なるアプリケーションがあり、これらが同じソースデータベースにホストされていて、これらを別々に移行するとします。この場合は、アプリケーションテーブルのセットごとに 1 つずつ、2 つのレプリケーションタスクを作成します。両方のタスクで、同じ AWS DMS エンドポイントを使用できます。

エンドポイントの動作をカスタマイズするには、追加の接続属性を使用します。追加の接続属性は、ログの詳細、ファイルサイズ、その他のパラメータなど、さまざまな動作を制御できます。データストアのエンジンタイプにはそれぞれ、使用可能な追加接続属性があります。データストアごとの追加接続属性は、データストアのソースセクションまたはターゲットセクションにあります。サポートされているソースとターゲットデータストアのリストについては、「AWS DMS のソース」と「AWS DMS のターゲット」を参照してください。

AWS DMS エンドポイントの詳細な情報については、「Working with AWS DMS endpoints」を参照してください。

レプリケーションタスク

一連のデータをソースエンドポイントからターゲットエンドポイントに移動するには、AWS DMS レプリケーションタスクを使用します。レプリケーションタスクの作成は、移行を開始する前に最後に実行する必要があります。

レプリケーションタスクの作成時に以下のタスク設定を指定します。

  • レプリケーションインスタンス – タスクをホストして実行するインスタンス

  • ソースエンドポイント

  • ターゲットエンドポイント

  • 移行タイプオプションは次にリストされるとおりです。移行タイプのオプションの詳細な説明については、「タスクの作成」を参照してください。

    • 全ロード (既存データの移行) – 既存のデータをコピーできる長さの停止が許容される場合は、このオプションが適しています。このオプションでは、ソースデータベースからターゲットデータベースにデータがそのまま移行され、必要に応じてテーブルが作成されます。

    • 全ロード + CDC (既存のデータを移行して、継続的な変更をレプリケート) – このオプションでは、ソースで変更をキャプチャしながら、全データロードが実行されます。フルロードが完了すると、キャプチャされた変更がターゲットに適用されます。最終的に、変更の適用は安定した状態に到達します。この時点で、アプリケーションをシャットダウンし、残りの変更がターゲットに移動するようにした後、ターゲットをポイントするアプリケーションを再起動できます。

    • CDC のみ(データ変更のみレプリケート) – 状況によっては、AWS DMS 以外の方法を使用して既存のデータをコピーした方が効率的である場合があります。たとえば、同機種間移行では、一括データのロードにネイティブのエクスポート/インポートツールを使用する方が効率的になる可能性があります。その場合は、AWS DMS を使用し、一括ロードを開始したときから変更をレプリケートして、ソースデータベースとターゲットデータベースの同期を保つことができます。

  • ターゲットテーブル準備モードオプションは以下にリストされるとおりです。ターゲットテーブルモードの詳細な説明については、「タスクの作成」を参照してください。

    • 何もしない – AWS DMS ではターゲットテーブルがターゲットで事前に作成されていることを前提とします。

    • ターゲット上のテーブルを削除 – AWS DMS はターゲットテーブルを削除して再作成します。

    • 切り捨て – ターゲットでテーブルを作成済みである場合、AWS DMS は移行の開始前にそれらを切り捨てます。テーブルが存在しない場合、このオプションを選択すると、AWS DMS は不足しているテーブルを作成します。

  • LOB モードオプションは以下にリストされるとおりです。LOB モードの詳細な説明については、「AWS DMS タスクのソースデータベースの LOB サポートの設定」を参照してください。

    • LOB 列を含めない – LOB 列は移行対象から除外されます。

    • [完全 LOB モード] – サイズに関係なく LOB 全体を移行します。AWS DMS は、[最大 LOB サイズ] パラメータで制御されるチャンクの単位で LOB を移行します。このモードは制限付き LOB モードを使用するよりも低速です。

    • 制限付き LOB モード – LOB を最大 LOB サイズパラメータで指定された値まで切り詰めます。このモードは完全 LOB モードを使用するよりも高速です。

  • テーブルマッピング – 移行するテーブルと移行方法を示します。詳細については、テーブルマッピングを使用して、タスクの設定を指定する を参照してください。

  • データ変換は以下にリストされるとおりです。データ変換の詳細については、「 JSON を使用するテーブルマッピングによりテーブル選択および変換を指定する」を参照してください。

    • スキーマ、テーブル、および列の名前を変更します。

    • テーブルスペース名の変更 (Oracle ターゲットエンドポイント用)。

    • ターゲットのプライマリキーと一意のインデックスを定義します。

  • データ検証

  • Amazon CloudWatch ログ記録

タスクを使用してソースエンドポイントからターゲットエンドポイントにデータを移行します。タスク処理はレプリケーションインスタンスで実行されます。ログ記録要件、制御テーブルデータ、エラー処理など、移行するテーブルとスキーマ、および特別な処理を指定します。

概念的には、AWS DMS レプリケーションタスクは、次の図に示すように 2 つの異なる機能を実行します。


                            AWS DMS の開始方法

全ロードプロセスは、簡単に理解できます。データは、ソースから一括抽出で抽出され、ターゲットに直接ロードされます。AWS DMS コンソールの [詳細設定] で、抽出して並列にロードするテーブルの数を指定できます。

AWS DMS タスクの詳細については、「AWS DMS タスクの使用」を参照してください。

継続的なレプリケーションまたは変更データキャプチャ (CDC)

AWS DMS タスクを使用して、ターゲットへのデータの移行中にソースデータストアへの継続的な変更をキャプチャすることもできます。ソースエンドポイントから継続的な変更をレプリケートするときに AWS DMS が使用する変更キャプチャプロセスは、データベースエンジンのネイティブ API を使用することでデータベースログへの変更を収集します。

CDC プロセスで、レプリケーションタスクは、メモリ内のバッファを使用して転送中のデータを保持することによって、ソースからターゲットへの変更をストリーミングするように設計されています。何らかの理由でメモリ内バッファが枯渇すると、レプリケーションタスクによって、ディスク上のキャッシュの変更は保留中に変更されます。この状況は、たとえば、AWS DMS がソースからの変更をターゲットに適用できるよりも速く取得している場合に発生します。この場合、タスクのターゲットレイテンシーが、タスクのソースレイテンシーを超えていることがわかります。

これを確認するには、AWS DMS コンソールでタスクに移動し、[タスクのモニタリング] タブを開きます。CDCLatencyTarget グラフと CDCLatencySource グラフは、ページの下部に表示されます。ターゲットのレイテンシーを示すタスクがある場合は、アプリケーションの速度を上げるために必要なターゲットエンドポイントのチューニングがある可能性があります。

上記で説明したように、レプリケーションタスクでは、タスクログ用のストレージも使用されます。通常、レプリケーションインスタンスで事前設定されているディスク容量では、十分に変更をログ記録および反映することができます。追加のディスク容量が必要な場合 (例: 詳細なデバッグを使用して移行の問題を調査する場合)、レプリケーションインスタンスを変更してより多くの容量を割り当てることができます。

スキーマおよびコード移行

AWS DMS は、スキーマまたはコード変換を実行しません。ソースとターゲットが同じデータベースエンジンの場合、Oracle SQL Developer、MySQL Workbench、pgAdmin III などのツールを使用して、スキーマを起動できます。異なるデータベースエンジンに既存のスキーマを変換する場合、AWS SCT を使用できます。このツールは、ターゲットスキーマを作成でき、スキーマ全体 (テーブル、インデックス、ビューなどを含む) を生成および作成することもできます。AWS SCT を使用して PL/SQL または TSQL を PgSQL や他の形式に変換することもできます。AWS SCT の詳細については、「AWS Schema Conversion Tool」を参照してください。

可能な限り、AWS DMS はターゲットスキーマの自動作成を試みます。場合によっては、AWS DMS はスキーマを作成することができません — たとえば、セキュリティ上の理由から AWS DMS はターゲット Oracle スキーマを作成しません。MySQL データベースターゲットの場合は、追加の接続属性を使用することにより、DMS ですべてのオブジェクトを指定のデータベースおよびスキーマに移行できます。または、これらの属性により、ソース上でスキーマを検出したときに DMS で各データベースおよびスキーマを自動的に作成することもできます。

AWS DMS のソース

AWS DMS を使用したデータ移行のソースエンドポイントとして、以下のデータストアを使用できます。

オンプレミスおよび EC2 インスタンスデータベース

  • Enterprise、Standard、Standard One、および Standard Two エディションの Oracle バージョン 10.2 以降 (バージョン 10.x)、11g、12.2、18c、および 19c まで

    注記
    • ソースとして Oracle バージョン 19c のサポートは、AWS DMS バージョン 3.3.2 以降で利用できます。

    • ソースとして Oracle バージョン 18c のサポートは、AWS DMS バージョン 3.3.1 以降で利用できます。

  • Enterprise、Standard、Workgroup、および Developer エディションの Microsoft SQL Server バージョン 2005、2008、2008R2、2012、2014、2016、2017、2019。Web および Express エディションはサポートされていません。

    注記

    ソースとしての Microsoft SQL Server バージョン 2019 のサポートは、AWS DMS バージョン 3.3.2 以降で利用可能です。

  • MySQL バージョン 5.5、5.6、5.7、8.0

    注記

    ソースとしての MySQL 8.0 のサポートは、 AWS DMS バージョン3.4.0以降(トランザクション ペイロードが圧縮されている場合を除く)。

  • MariaDB(MySQL互換データ ソースとしてサポート)バージョン10.0.24~10.0.28、10.1、10.2、および10.3~10.3.13。

    注記

    ソースとしての MariaDB のサポートは、MySQL がサポートされているすべての AWS DMS バージョンで利用できます。

  • PostgreSQL バージョン 9.4 以降 (バージョン 9.x 用)、10.x、11.x、および 12.x。

    注記
    • PostgreSQL 12.x バージョンは AWS DMS バージョン 3.3.3 以降でソースとしてサポートされています。

    • PostgreSQL 11.x バージョンは AWS DMS バージョン 3.3.1 以降でソースとしてサポートされています。PostgreSQL バージョン 9.4 以降 (バージョン 9.x 用) および 10.x を任意の DMS バージョンのソースとして使用できます。

  • MongoDBバージョン3.xおよび4.0。

  • SAP Adaptive Server Enterprise (ASE) バージョン 12.5、15、15.5、15.7、16 以降.

  • IBM DB 2 for Linux、UNIX、および Windows (Db2 LUW) バージョン:

    • バージョン 9.7、すべての Fix Pack がサポートされています。

    • バージョン 10.1、すべての Fix Pack がサポートされています。

    • Version 10.5、Fix Pack 5 を除くすべての Fix Pack がサポートされています。

Microsoft Azure

  • Azure SQL データベース。

Amazon RDS インスタンスデータベース、および Amazon Simple Storage Service (Amazon S3)

  • Enterprise、Standard、Standard One、および Standard Two エディションの Oracle バージョン 10.2 以降 (バージョン 10.x)、11g (バージョン 11.2.0.3.v1 以降)、12.2、18c、および 19c まで。

    注記
    • ソースとして Oracle バージョン 19c のサポートは、AWS DMS バージョン 3.3.2 以降で利用できます。

    • ソースとして Oracle バージョン 18c のサポートは、AWS DMS バージョン 3.3.1 以降で利用できます。

  • Enterprise、Standard、Workgroup、および Developer エディションの Microsoft SQL Server バージョン 2008R2、2012、2014、2016、2017、2019。Web および Express エディションはサポートされていません。

    注記

    ソースとしての Microsoft SQL Server バージョン 2019 のサポートは、AWS DMS バージョン 3.3.2 以降で利用可能です。

  • MySQL バージョン 5.5、5.6、5.7、8.0

    注記

    ソースとしての MySQL 8.0 のサポートは、 AWS DMS バージョン3.4.0以降(トランザクション ペイロードが圧縮されている場合を除く)。

  • MariaDB(MySQL互換データ ソースとしてサポート)バージョン10.0.24~10.0.28、10.1、10.2、および10.3~10.3.13。

    注記

    ソースとしての MariaDB のサポートは、MySQL がサポートされているすべての AWS DMS バージョンで利用できます。

  • PostgreSQL バージョン 9.4 以降 (バージョン 9.x 用)、10.x、11.x、および 12.x。変更データキャプチャ (CDC) は、バージョン 9.4.9 以降と 9.5.4 以降、10.x、11.x、および 12.x でのみサポートされます。CDC に必要な rds.logical_replication パラメータは、これらのバージョン以降でのみサポートされています。

    注記
    • PostgreSQL 12.x バージョンは AWS DMS バージョン 3.3.3 以降でソースとしてサポートされています。

    • PostgreSQL 11.x バージョンは AWS DMS バージョン 3.3.1 以降でソースとしてサポートされています。PostgreSQL バージョン 9.4 以降 (バージョン 9.x 用) および 10.x を任意の DMS バージョンのソースとして使用できます。

  • MySQL 互換の Amazon Aurora (MySQL 互換のデータソースとしてサポート)。

  • PostgreSQL 互換の Amazon Aurora (PostgreSQL 互換のデータソースとしてサポート)。

  • Amazon S3.

AWS DMS のターゲット

AWS DMS を使用したデータ移行のターゲットエンドポイントとして、以下のデータストアを使用できます。

オンプレミスおよび Amazon EC2 インスタンスデータベース

  • Enterprise、Standard、Standard One、および Standard Two エディションの Oracle バージョン 10g、11g、12c、18c、19c。

    注記

    ターゲットとして Oracle バージョン 19c のサポートは、AWS DMS バージョン 3.3.2 以降で利用できます。

    ターゲットとして Oracle バージョン 18c のサポートは、AWS DMS バージョン 3.3.1 以降で利用できます。

  • Enterprise、Standard、Workgroup、および Developer エディションの Microsoft SQL Server バージョン 2005、2008、2008R2、2012、2014、2016、2017、2019。Web および Express エディションはサポートされていません。

    注記

    ターゲットとしての Microsoft SQL Server バージョン 2019 のサポートは、AWS DMS バージョン 3.3.2 以降で利用できます。

  • MySQL バージョン 5.5、5.6、5.7、8.0

  • MariaDB (MySQL 互換データターゲットとしてサポート) バージョン 10.0.24 から 10.0.28、10.1、10.2、10.3。

    注記

    ターゲットとしての MariaDB のサポートは、MySQL がサポートされているすべての AWS DMS バージョンで利用できます。

  • PostgreSQL バージョン 9.4 以降 (バージョン 9.x 用)、10.x、11.x、および 12.x。

    注記
    • PostgreSQL バージョン 12.x は AWS DMS バージョン 3.3.3 以降でターゲットとしてサポートされています。

    • PostgreSQL バージョン 11.x は AWS DMS バージョン 3.3.1 以降でターゲットとしてサポートされています。PostgreSQL バージョン 9.4 以降 (バージョン 9.x 用) および 10.x を任意の DMS バージョンのソースとして使用できます。

  • SAP Adaptive Server Enterprise (ASE) バージョン 15、15.5、15.7、16 以降。

Amazon RDS インスタンスのデータベース、Amazon Redshift、Amazon DynamoDB、Amazon S3、Amazon Elasticsearch Service、Amazon Kinesis Data Streams、Amazon DocumentDB、Amazon Neptune、および Apache Kafka

  • Oracle バージョン 11g (バージョン 11.2.0.3.v1 以降) および Enterprise、Standard、Standard One、Standard Two エディション向け 12c、18c、19c。

    注記

    ターゲットとして Oracle バージョン 19c のサポートは、AWS DMS バージョン 3.3.2 以降で利用できます。

    ターゲットとして Oracle バージョン 18c のサポートは、AWS DMS バージョン 3.3.1 以降で利用できます。

  • Enterprise、Standard、Workgroup、および Developer エディションの Microsoft SQL Server バージョン 2008R2、2012、2014、2016、2017、2019。Web および Express エディションはサポートされていません。

    注記

    ターゲットとしての Microsoft SQL Server バージョン 2019 のサポートは、AWS DMS バージョン 3.3.2 以降で利用できます。

  • MySQL バージョン 5.5、5.6、5.7、8.0

  • MariaDB (MySQL 互換データターゲットとしてサポート) バージョン 10.0.24 から 10.0.28、10.1、10.2、10.3。

    注記

    ターゲットとしての MariaDB のサポートは、MySQL がサポートされているすべての AWS DMS バージョンで利用できます。

  • PostgreSQL バージョン 9.4 以降 (バージョン 9.x 用)、10.x、11.x、および 12.x。

    注記
    • PostgreSQL バージョン 12.x は AWS DMS バージョン 3.3.3 以降でターゲットとしてサポートされています。

    • PostgreSQL バージョン 11.x は AWS DMS バージョン 3.3.1 以降でターゲットとしてサポートされています。PostgreSQL バージョン 9.4 以降 (バージョン 9.x 用) および 10.x を任意の DMS バージョンのソースとして使用できます。

  • MySQL と互換性がある Amazon Aurora

  • PostgreSQL との互換性がある Amazon Aurora

  • Amazon Aurora サーバーレス

  • Amazon Redshift

  • Amazon S3

  • Amazon DynamoDB

  • Amazon Elasticsearch Service

  • Amazon Kinesis Data Streams

  • Amazon DocumentDB (MongoDB 互換)

  • Amazon Neptune

  • Apache Kafka – Amazon Managed Streaming for Apache Kafka (Amazon MSK)セルフマネージド型 Apache Kafka

AWS DMS によりサポートされている DDL ステートメント

データ移行プロセス中は、ソースデータベース上でデータ定義言語 (DDL) ステートメントを実行できます。これらのステートメントはレプリケーションサーバー上で、ターゲットデータベースにレプリケートされます。

サポートされている DDL ステートメントは以下のとおりです。

  • Create table

  • Drop table

  • Rename table

  • Add column

  • Drop column

  • Rename column

  • Change column data type

特定のソースでサポートされている DDL ステートメントについては、そのソースについて説明しているトピックを参照してください。