メニュー
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 を使用して、データベースの移行を開始します。

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

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

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

    Name

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

    Description

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

    Instance class

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

    VPC

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

    Multi-AZ

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

    Publicly accessible

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

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

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

    使用するオプション 操作

    Allocated storage (GB)

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

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

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

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

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

    Replication Subnet Group

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

    Availability zone

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

    VPC Security group(s)

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

    KMS master key

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

  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. [Connect source and target database endpoints] ページで、ソースデータベースまたはターゲットデータベースの接続情報を指定します。次の表で設定について説明します。

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

    Endpoint identifier

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

    Source engine および Target engine

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

    Server name

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

    Port

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

    SSL mode

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

    User name

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

    Password

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

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

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

    Extra connection attributes

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

    KMS master key

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

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

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

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

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

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

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

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

    
                    タスクの作成
    使用するオプション 操作

    Task name

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

    Task description

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

    Source endpoint

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

    Target endpoint

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

    Replication instance

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

    Migration type

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

    Start task on create

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

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

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

    Target table preparation mode

    [Do nothing] – ターゲットテーブルのデータとメタデータは変更されません。

    [Drop tables on target] – テーブルは削除され、代わりに新しいテーブルが作成されます。

    [Truncate] – テーブルは、テーブルのメタデータに影響を与えることなく切り詰められます。

    Include LOB columns in replication

    [Don't include LOB columns] – LOB 列は移行対象から除外されます。

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

    [Limited LOB mode] – LOB は「最大 LOB サイズ」まで切り詰められます。この方法は Full LOB mode を使用するよりも高速です。

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

    Max LOB size (kb)

    [Limited LOB Mode] では、[Max LOB Size] の設定を超える LOB 列が指定した最大 LOB サイズまで切り詰められます。

    Enable logging

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

    [Migration type] として [Migrate existing data and replicate] を選択すると、次のオプションが表示されます。

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

    Target table preparation mode

    [Do nothing] – ターゲットテーブルのデータとメタデータは変更されません。

    [Drop tables on target] – テーブルは削除され、代わりに新しいテーブルが作成されます。

    [Truncate] – テーブルは、テーブルのメタデータに影響を与えることなく切り詰められます。

    Stop task after full load completes

    [Don't stop] – タスクを停止しないで、キャッシュされた変更をすぐに適用して続行します。

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

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

    Include LOB columns in replication

    [Don't include LOB columns] – LOB 列は移行対象から除外されます。

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

    [Limited LOB mode] – LOB は「最大 LOB サイズ」まで切り詰められます。この方法は Full LOB mode を使用するよりも高速です。

    Max LOB size (kb)

    [Limited LOB Mode] では、[Max LOB Size] の設定を超える LOB 列が指定した最大 LOB サイズまで切り詰められます。

    Enable logging

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

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

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

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

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


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