メニュー
AWS Database Migration Service
ユーザーガイド (Version API バージョン 2016-01-01)

ご利用開始にあたって

AWS Database Migration Service (AWS DMS) は、AWS にデータベースを簡単かつ安全に移行します。 Oracle、MySQL、PostgreSQL などの最も広く使用されている、市販のオープンソースデータベース間でデータを移行できます。 このサービスでは、Oracle から Oracle など、同機種間の移行をサポートしているほか、Oracle から PostgreSQL、MySQL から Oracle など、異なるデータベースプラットフォーム間の異機種の移行もサポートしています。

AWS Database Migration Service を使用するデータベースの移行のコストの詳細については、「AWS Database Migration Service の料金表ページ」を参照してください。

AWS Database Migration Service を使用して、データベースの移行を開始します。

データベース移行を開始するには、2 つの方法があります。AWS DMS コンソールウィザードを選択してこのプロセスの各手順を実行するか、ナビゲーションペインで該当するタスクを選択して各手順を実行することができます。

ウィザードを使用するには、AWS DMS コンソールのナビゲーションペインで [Getting started] を選択します。ウィザードを使用して、最初のデータ移行を作成できます。ウィザードプロセスの後で、移行のすべてのプロセスを実行するレプリケーションのインスタンスを割り当て、ソースとターゲットデータベースを指定してから、どのテーブルとレプリケーションプロセスを使用するかを定義したタスクまたは一連のタスクを作成します。 AWS DMS は、レプリケーションのインスタンスを作成し、移行中のデータでタスクを実行します。

または、ナビゲーションペインから項目を選択して、AWS DMS を使用したデータベース移行の各コンポーネントを作成することもできます。データベース移行では、以下の操作を行う必要があります。

  • AWS DMS を使用するためのセットアップ」で概説しているタスクを完了する

  • 移行のすべてのプロセスを実行するレプリケーションインスタンスを割り当てる

  • ソースとターゲットのデータベースエンドポイントを指定する

  • 使用するテーブルとレプリケーションプロセスを定義するタスクまたはタスクセットを作成する

ステップ 1: [Welcome]

AWS DMS コンソールウィザードを使用してデータベース移行を開始した場合は、AWS DMS を使用したデータベース移行のプロセスを説明する [Welcome] ページが表示されます。

 AWS DMS の使用開始

コンソールの [Welcome] ページからデータベースの移行を開始するには

  • [Next] を選択します。

ステップ 2: レプリケーションのインスタンスを作成する

データベースの移行の最初のタスクは、割り当てるタスクを実行するのに十分なストレージと処理能力を持つレプリケーションのインスタンスを作成し、ソースデータベースからターゲットデータベースにデータを移行することです。 このインスタンスの必要なサイズは、移行する必要のあるデータの量、および、インスタンスが実行するタスクにより異なります。 レプリケーションインスタンスの詳細については、「AWS Database Migration Service のレプリケーションインスタンス」を参照してください。

以下の手順では、AWS DMS コンソールウィザードを選択したことを前提とします。この手順は、AWS DMS コンソールのナビゲーションペインで [Replication instances]、[Create replication instance] の順に選択することも実行できます。

AWS コンソールを使用してレプリケーションインスタンスを作成するには

  1. [Create replication instance] ページで、レプリケーションのインスタンス情報を指定します。 次の表で設定について説明します。

     レプリケーションインスタンスの作成
    使用するオプション 操作

    名前

    8 ~ 16 の印刷可能な ASCII 文字 (/、"、@ を除く) を含むレプリケーションインスタンス名を入力します。 名前は、選択したリージョンのアカウントで一意でなければなりません。わかりやすい名前にするには、リージョンや実行中のタスクなどの情報を名前に含めることができます (例: west2-mysql2mysql-instance1)。

    説明

    レプリケーションインスタンスの簡単な説明を入力します。

    インスタンスクラス

    移行に必要な設定を使用してインスタンスのクラスを選択します。 正常に移行を完了するために、インスタンスには十分なストレージ、ネットワーク、処理能力が必要であることに注意してください。 移行に最適なインスタンスのクラスを決定する方法に関する詳細については、「AWS Database Migration Service のレプリケーションインスタンス」を参照してください。

    VPC

    使用する Amazon Virtual Private Cloud (Amazon VPC) を選択します。 ソースまたはターゲットデータベースが VPC にある場合、その VPC を選択します。 ソースまたはターゲットデータベースが別の VPC にある場合、それらが共にパブリックサブネットにあり、パブリックにアクセス可能であることを確認してから、レプリケーションインスタンスが配置される VPC を選択します。 レプリケーションインスタンスが、ソース VPC のデータにアクセスできるようにする必要があります。 ソースもターゲットデータベースも VPC にない場合は、レプリケーションインスタンスを配置する VPC を選択します。

    マルチ AZ

    オプションのパラメータを使用して、フェイルオーバーのサポート用に別のアベイラビリティーゾーンにレプリケーションインスタンスのスタンバイレプリカを作成します。 変更データキャプチャ (CDC) または、進行中のレプリケーションを使用する場合は、このオプションを有効にする必要があります。

    パブリックアクセス可能

    レプリケーションインスタンスをインターネットからアクセス可能にする場合は、このオプションを選択します。

  2. 必要がある場合は、[Advanced] タブを選択して、次に示す通り、ネットワークおよび暗号化設定の値を設定します。

     [Advanced] タブ
  3. 追加設定を指定します。 次の表で設定について説明します。

    使用するオプション 操作

    Allocated storage (GB)

    ストレージは主に、ログファイルと、キャッシュされたトランザクションで消費されます。キャッシュされたトランザクションでは、ストレージは、キャッシュされたトランザクションをディスクに書き込む必要がある場合にのみ使用されます。そのため、AWS DMS では大量のストレージは使用されませんが、次のような場合は例外です。

    • 膨大なトランザクションをロードする、サイズの大きなテーブル。サイズの大きなテーブルをロードするには時間がかかります。そのため、サイズの大きなテーブルをロードする間、キャッシュされたトランザクションが書き込まれる可能性が高くなります。

    • キャッシュされたトランザクションをロードする前に停止するよう設定されているタスク。この場合、すべてのテーブルのロードが完了するまで、すべてのトランザクションがキャッシュされます。この設定では、キャッシュされたトランザクションにより、かなりの量のストレージが消費されることがあります。

    • Amazon Redshift にロードされるテーブルを使用する設定になっているタスク。ただし、Aurora がターゲットのときは、この設定は問題にはなりません。

    ほとんどの場合、ストレージのデフォルトの割り当てで十分です。ただし、ストレージ関連のメトリクスに注意を払い、デフォルトの割り当てよりも消費量が多い場合はストレージを拡張することをおすすめします。

    レプリケーションサブネットグループ

    レプリケーションインスタンスを作成する選択した VPC でレプリケーションサブネットグループを選択します。 ソースデータベースが VPC にある場合は、レプリケーションインスタンスの場所として、ソースデータベースを含むサブネットグループを選択します。 レプリケーションサブネットグループの詳細については、「レプリケーションサブネットグループの作成」を参照してください。

    アベイラビリティーゾーン

    ソースデータベースが配置されているアベイラビリティーゾーンを選択します。

    VPC セキュリティグループ

    レプリケーションのインスタンスが VPC 内で作成されます。 ソースデータベースが VPC にある場合は、データベースが存在する DB インスタンスへのアクセス権を提供する VPC セキュリティグループを選択します。

    KMS マスターキー

    使用する暗号化キーを選択して、レプリケーションのストレージと接続情報を暗号化します。 (デフォルト) aws/dms を選択する場合、アカウントおよびリージョンに関連付けられたデフォルトの AWS Key Management Service (AWS KMS) キーが使用されます。 暗号化キーの使用の詳細については、「AWS Database Migration Service の暗号化キーの設定」を参照してください。

  4. [Next] を選択します。

ステップ 3: データベースエンドポイントを指定

レプリケーションのインスタンスが作成される間、ソースおよびターゲットデータベースを指定できます。 ソースおよびターゲットデータベースには、Amazon Elastic Compute Cloud (Amazon EC2) インスタンス、Amazon Relational Database Service (Amazon RDS) DB インスタンス、またはオンプレミスデータベースを使用できます。

以下の手順では、AWS DMS コンソールウィザードを選択したことを前提とします。この手順は、AWS DMS コンソールのナビゲーションペインで [Endpoints]、[Create endpoint] の順に選択することでも実行できます。コンソールウィザードを使用するときは、ソースエンドポイントとターゲットエンドポイントの両方を同じページで作成します。コンソールウィザードを使用しないときは、各エンドポイントを個別に作成します。

AWS コンソールを使用して、ソースまたはターゲットデータベースエンドポイントを指定するには

  1. [ソースおよびターゲットデータベースエンドポイントの接続] ページで、ソースまたはターゲットデータベースの接続情報を指定します。 次の表で設定について説明します。

     ソースおよびターゲット DB エンドポイントを作成
    使用するオプション 操作

    エンドポイント識別子

    エンドポイントを識別するのに使用する名前を入力します。 名前に、oracle-source または PostgreSQL-target などのエンドポイントの種類を含めることができます。 名前はすべてのレプリケーションインスタンスに対して一意である必要があります。

    ソースエンジンターゲットエンジン

    エンドポイントであるデータベースエンジンのタイプを選択します。

    サーバー名

    サーバー名を入力します。 オンプレミスデータベースの場合、IP アドレスまたはパブリックホスト名にすることができます。 Amazon RDS DB インスタンスの場合、DB インスタンスのエンドポイント (DNS 名) とすることができます。たとえば、mysqlsrvinst.abcd12345678.us-west-2.rds.amazonaws.com とします。

    ポート

    データベースが使用するポートを入力します。

    SSL モード

    このエンドポイントの接続暗号化を有効にする場合は、SSL モードを選択します。 選択したモードにより、証明書、およびサーバー証明書情報の提供を求められることがあります。

    ユーザー名

    データ移行を許可するために必要な権限を持つユーザー名を入力します。 必要な権限の詳細については、このユーザーガイドの「ソースまたはターゲットデータベースエンジンに対するセキュリティセクション」を参照してください。

    パスワード

    必要な権限のあるアカウントのパスワードを入力します。パスワード内に特殊文字 ("+" や "&" など) を使用する場合は、パスワード全体を中かっこ "{}" で囲みます。

  2. 必要がある場合は、次に示す通り、[Advanced] タブを選択して、接続文字列および暗号化キーの値を設定します。 [テストの実行] を選択して、エンドポイントの接続をテストできます。

     ソースまたはターゲット DB エンドポイントを作成

    使用するオプション 操作

    追加の接続属性

    追加の接続パラメータをここに入力します。 追加の接続属性の詳細については、「AWS Database Migration Service での追加の接続属性の使用」を参照してください。

    KMS マスターキー

    使用する暗号化キーを選択して、レプリケーションのストレージと接続情報を暗号化します。 (デフォルト) aws/dms を選択する場合、アカウントおよびリージョンに関連付けられたデフォルトの AWS Key Management Service (AWS KMS) キーが使用されます。 暗号化キーの使用の詳細については、「AWS Database Migration Service の暗号化キーの設定」を参照してください。

ステップ 4: タスクを作成する

タスクを作成して、移行するテーブルを指定し、ターゲットスキーマを使用してデータをマッピングし、ターゲットデータベースに新しいテーブルを作成します。 タスク作成の一環として、移行のタイプ (既存のデータの移行、既存のデータの移行と継続的な変更のレプリケート、または、データ変更のみのレプリケート) を選択できます。

AWS DMS を使用して、ソースデータベースとターゲットデータベース間のデータの正確なマッピングを指定できます。 マッピングを指定する前に、ソースデータベースとターゲットデータベースのデータ型マッピングのドキュメントセクションを必ず確認してください。

[Create task] ページでタスク情報の指定が完了するとすぐに、タスクを開始することができます。または、タスク情報の指定が完了したら、[Dashboard] ページからタスクを開始することもできます。

以下の手順では、AWS DMS コンソールウィザードを選択し、コンソールウィザードを使用してレプリケーションインスタンスの情報とエンドポイントを指定したことを前提とします。この手順は、AWS DMS コンソールのナビゲーションペインで [Tasks]、[Create task] の順に選択することも実行できます。

移行タスクを作成するには

  1. [Create Task] ページで、タスクオプションを指定します。 次の表で設定について説明します。

     タスクの作成

    使用するオプション 操作

    タスク名

    タスクの名前を入力します。

    タスクの説明

    タスクの説明を入力します。

    ソースエンドポイント

    使用するソースエンドポイントを表示します。

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

    使用するターゲットエンドポイントを表示します。

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

    使用するレプリケーションインスタンスを表示します。

    移行タイプ

    使用する移行方法を選択します。 既存のデータのみをターゲットデータベースへ移行するか、移行したデータに加えて継続的な変更もターゲットデータベースに送信するかを選択できます。

    作成時にタスクを開始

    このオプションが選択されていると、タスクは作成直後に始まります。

  2. 次に示すように、[Task Settings] タブを選択して、ターゲットテーブルの値、LOB サポートを指定して、ログ作成を有効にします。 表示されるタスク設定は、選択した移行タイプの値によって異なります。 たとえば、[既存のデータの移行] を選択すると、次のオプションが表示されます。

     タスク設定
    使用するオプション 操作

    ターゲットテーブル作成モード

    何もしない - ターゲットテーブルのデータとメタデータは変更されません。

    ターゲット上のテーブルを削除 - テーブルは削除され、代わりに新しいテーブルが作成されます。

    切り捨て - テーブルは、テーブルのメタデータに影響を与えないで切り捨てられます。

    レプリケーションに LOB 列を含める

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

    完全 LOB モード - サイズに関係なく LOB 全体を移行します。 LOB は、LOB チャンクサイズによって制御されるチャンクの単位で移行されます。 この方法は制限付き LOB モードを使用するよりも低速です。

    制限付き LOB モード - LOB を「最大 LOB サイズ」まで切り詰めます。この方法は完全 LOB モードを使用するよりも高速です。

    AWS DMS での LOB のサポートの詳細については、「ソースデータベースでの LOB のサポート」を参照してください。

    最大 LOB サイズ (KB)

    制限付き LOB モードでは、最大 LOB サイズの設定を超える LOB 列は指定した最大 LOB サイズまで切り捨てられます。

    ログ作成の有効化

    Amazon CloudWatch でログ作成を有効にします。

    [既存のデータの移行とレプリケート] を [移行タイプ] で選択した場合、次のオプションが表示されます。

     タスク設定
    使用するオプション 操作

    ターゲットテーブル作成モード

    何もしない - ターゲットテーブルのデータとメタデータは変更されません。

    ターゲット上のテーブルを削除 - テーブルは削除され、代わりに新しいテーブルが作成されます。

    切り捨て - テーブルは、テーブルのメタデータに影響を与えないで切り捨てられます。

    全ロードの完了後にタスクを停止する

    停止しない - タスクを停止しないで、キャッシュされた変更をすぐに適用したら、そのまま続行します。

    キャッシュされた変更を適用する前に停止する - キャッシュされた変更を適用する前に、タスクを停止します。 これにより、変更の適用を高速化できるセカンダリインデックスを追加できます。

    キャッシュされた変更を適用した後に停止する - キャッシュされた変更を適用した後に、タスクを停止します。 これにより、外部キーやトリガーなどを追加できますが、トランザクショナルな適用を使用する場合のみです。

    レプリケーションに LOB 列を含める

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

    完全 LOB モード - サイズに関係なく LOB 全体を移行します。 LOB は、LOB チャンクサイズによって制御されるチャンクの単位で移行されます。 この方法は制限付き LOB モードを使用するよりも低速です。

    制限付き LOB モード - LOB を「最大 LOB サイズ」まで切り詰めます。この方法は完全 LOB モードを使用するよりも高速です。

    最大 LOB サイズ (KB)

    制限付き LOB モードでは、最大 LOB サイズの設定を超える LOB 列は指定した最大 LOB サイズまで切り捨てられます。

    ログ作成の有効化

    Amazon CloudWatch でログ作成を有効にします。

  3. 次に示す通り、[テーブルマッピング] タブを選択して、スキーママッピングの値およびマッピング方法を設定します。 [カスタム] を選択した場合、ターゲットスキーマとテーブル値を指定できます。 テーブルマッピングの詳細については、「AWS Database Migration Service タスクによるテーブルマッピングの使用データの選択とフィルタ」を参照してください。

     テーブルマッピング
  4. タスクの設定を完了したら、[タスクの作成] を選択します。

タスクをモニタリングする

作成時に、[作成時にタスクを開始] を選択した場合、タスクは、[タスクの作成] を選択するとすぐにデータの移行を開始します。 AWS マネジメントコンソールから実行中のタスクを選択することにより、タスクの統計とモニタリング情報を表示できます。 次のスクリーンショットはデータベースの移行のテーブルの統計を表示します。 モニタリングの詳細については、「AWS Database Migration Service タスクのモニタリング」を参照してください。

 レプリケーションのステータス