レプリケーション インスタンスのためのネットワークのセットアップ - AWS Database Migration Service

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

レプリケーション インスタンスのためのネットワークのセットアップ

AWS DMS は常に Amazon VPC に基づく VPC にレプリケーションインスタンスを作成します。レプリケーション インスタンスがある VPC を指定します。 AWS アカウントとリージョンにはデフォルト VPC を使用することも、新しい VPC を作成することもできます。

レプリケーション インスタンスの VPC に割り当てられた Elastic Network Interface がセキュリティグループに関連付けられていることを確認します。また、このセキュリティグループのルールで、すべてのポートですべてのトラフィックが VPC から出る (egress) であることを確認します。このアプローチでは、エンドポイントで適切な受信ルールが有効になっている場合、レプリケーションインスタンスからソースデータベースエンドポイントとターゲットデータベースエンドポイントへの通信が許可されます。すべてのアドレスへの送信をすべてのポートで許可するデフォルト設定をエンドポイントに使用することをお勧めします。

ソースおよびターゲットエンドポイントは、VPC に接続するか、VPC 内に配置されることにより、VPC 内にあるレプリケーション インスタンスにアクセスします。データベースエンドポイントには、レプリケーション インスタンスからの受信アクセスを許可するネットワークアクセスコントロールリスト (ACL) およびセキュリティグループルール (該当する場合) を含める必要があります。この設定方法は使用するネットワーク構成によって異なります。レプリケーション インスタンスの VPC セキュリティグループ、レプリケーション インスタンスのプライベートまたはパブリック IP アドレス、あるいは NAT ゲートウェイのパブリック IP アドレスを使用することができます。これらの接続によって、データ移行に使用するネットワークが形成されます。

注記

基盤となるインフラストラクチャの変更により IP アドレスが変更される可能性があるため、VPC CIDR 範囲を使用するか、NAT GW に関連付けられた 伸縮性 IP を介してレプリケーション インスタンスのアウトバウンド トラフィックをルーティングすることをお勧めします。CIDR ブロックを含む VPC の作成方法の詳細については、VPC とサブネットの使用の「Amazon Virtual Private Cloud ユーザーガイド」をご参照ください。Elastic IP アドレスの詳細については、Amazon Elastic Compute Cloud ユーザーガイドの「Elastic IP アドレス」をご参照ください。

データベース移行のネットワーク設定

AWS Database Migration Service では、いくつかの異なるネットワーク構成を使用できます。データベース移行に使用されるネットワークの一般的な設定を以下に示します。

現実的であれば、ターゲットエンドポイントと同じリージョン、ターゲットエンドポイントと同じ VPC またはサブネットに DMS レプリケーションインスタンスを作成することをお勧めします。

すべてのデータベース移行コンポーネントが 1 つの VPC にある設定

ソースエンドポイント、レプリケーション インスタンス、ターゲットエンドポイントがすべて同じ VPC にある場合、データベース移行のネットワークが最もシンプルになります。この設定は、ソースとターゲットのエンドポイントが Amazon RDS DB インスタンスまたは Amazon EC2 インスタンスにある場合に適しています。

次の図は、Amazon EC2 インスタンス上のデータベースがレプリケーション インスタンスに接続され、データが Amazon RDS DB インスタンスに移行される設定を示しています。

AWS Database Migration Service オールインワン VPC 例

この設定で使用される VPC セキュリティグループは、レプリケーション インスタンスからの受信をデータベースポートで許可する必要があります。これにはいくつか方法があります。レプリケーション インスタンスによって使用されるセキュリティグループにエンドポイントへの入力があることを確認できます。または、レプリケーションインスタンスの VPC CIDR 範囲、NAT ゲートウェイ Elastic IP、またはプライベート IP アドレス (使用している場合) を許可することもできます。ただし、レプリケーション IP アドレスが変更されるとレプリケーションが中断される可能性があるため、レプリケーションインスタンスのプライベート IP アドレスを使用することはお勧めしません。

複数の VPC を使用する構成

ソース エンドポイントとターゲット エンドポイントが別の VPC にある場合、いずれかの VPC でレプリケーション インスタンスを作成できます。これで、VPC ピアリングを使用して 2 つの VPC をリンクできます。

VPC ピア接続は、同じネットワーク内にあるかのように各 VPC のプライベート IP アドレスを使用してルーティングできるようにする、2 つの VPC 間のネットワーキング接続です。VPC ピアリング接続は、自分の VPC 間、 AWS 別のアカウントの VPC 間、または別のリージョンの VPC 間で作成できます。 AWS VPC ピアリングの詳細については、Amazon VPC ユーザーガイド の「VPC ピアリング」をご参照ください。

次の図に、VPC ピア接続の設定例を示します。ここでは、VPC 内の Amazon EC2 インスタンスのソースデータベースが VPC ピア接続で VPC と接続されます。この VPC には、レプリケーション インスタンスと Amazon RDS DB インスタンス上のターゲットデータベースが含まれています。

AWS Database Migration Service レプリケーションインスタンス

VPC ピアリング接続を実装するには、「Amazon VPC」ドキュメントの「Amazon Virtual Private Cloud の VPC ピア接続を操作する」を参照してください。片方の VPC のルートテーブルにもう一方の VPC の CIDR ブロックが含まれていることを確認します。例えば、VPC A が宛先 10.0.0.0/16 を使用して、VPC B が宛先 172.31.0.0 を使用している場合、VPC A のルートテーブルには 172.31.0.0 が含まれ、VPC B のルートテーブルには 10.0.0.0/16 が含まれている必要があります。詳細については、「Amazon VPC ピアリング接続」ドキュメントの「VPC ピアリング接続のルートテーブルを更新する」を参照してください。

この構成で使用される VPC セキュリティグループは、レプリケーションインスタンスからのデータベースポートでの受信を許可するか、ピアリングされている VPC の CIDR ブロックでの受信を許可する必要があります。

共有 VPC を使用した構成

AWS DMS 組織内の参加している顧客アカウントと共有されているサブネットを、同じアカウント内の通常のサブネットと同様に扱います。VPC、 AWS DMS サブネットの処理方法、および共有 VPC の使用方法について以下に説明します。

ReplicationSubnetGroup オブジェクトを作成すると、カスタムサブネットまたは VPC で動作するようにネットワークを構成できます。ReplicationSubnetGroup を作成する場合、アカウント内の特定の VPC のサブネットを指定できます。指定するサブネットのリストには、別のアベイラビリティーゾーンにある少なくとも 2 つのサブネットが含まれている必要があり、すべてのサブネットが同じ VPC 内にある必要があります。を作成するときReplicationSubnetGroup、お客様はサブネットのみを指定します。 AWS DMS 各サブネットは正確に 1 つの VPC にリンクされているため、お客様に代わって VPC を決定します。

AWS DMS ReplicationInstanceまたはを作成するときに AWS DMS ReplicationConfigReplicationInstanceまたはサーバーレスレプリケーションが動作する VPC セキュリティグループ、ReplicationSubnetGroupあるいはその両方を指定することを選択できます。指定されていない場合は、カスタマーデフォルトReplicationSubnetGroup(デフォルト VPC AWS DMS のすべてのサブネットに指定されていない場合はユーザーに代わって作成される)とデフォルトの VPC AWS DMS セキュリティグループを選択します。

移行は、お客様が指定したアベイラビリティーゾーン、または ReplicationSubnetGroup 内の任意のアベイラビリティーゾーンで実行できます。レプリケーションインスタンスを作成したり、 AWS DMS サーバーレスレプリケーションを開始したりしようとすると、サブネットのアベイラビリティーゾーンがコアサービスアカウントのアベイラビリティーゾーンに変換されます。これにより、2 つのアカウント間でアベイラビリティーゾーンのマッピングが同じでなくても、正しいアベイラビリティーゾーンでインスタンスが起動されます。

共有 VPC を使用する場合は、共有 VPC から使用するサブネットにマップする ReplicationSubnetGroup オブジェクトを必ず作成する必要があります。ReplicationInstance または ReplicationConfig を作成する際は、共有 VPC の ReplicationSubnetGroup を指定し、Create リクエストで共有 VPC のために作成した VPC セキュリティグループを指定する必要があります。

共有 VPC の使用に際して、次の点に注意する必要があります。

  • VPC 所有者は、参加者とリソースを共有できませんが、参加者は所有者のサブネットにサービスリソースを作成できます。

  • すべてのリソースはアカウント固有であるため、VPC 所有者は参加者が作成したリソース (レプリケーションインスタンスなど) にアクセスできません。ただし、レプリケーションインスタンスを共有 VPC に作成する限り、レプリケーションエンドポイントまたはタスクに適切な権限が付与されていれば、所有アカウントを問わず VPC 内のリソースにアクセスできます。

  • リソースはアカウント固有であるため、他の参加者はその他のアカウントが所有するリソースにはアクセスできません。自分のアカウントで共有 VPC に作成されたリソースにアクセスできるように他のアカウントに付与できるようなアクセス許可はありません。

AWS Direct Connect または VPN を使用した VPC へのネットワークの設定

リモートネットワークは、 AWS Direct Connect、ソフトウェアまたはハードウェア VPN 接続などの複数のオプションを使用して VPC に接続できます。これらのオプションは、内部ネットワークを AWS クラウドに拡張することでモニタリング、認証、セキュリティ、データ、他のシステムなどの既存のオンサイトサービスを統合するためによく使われます。このタイプのネットワーク拡張を使用することで、VPC などの AWSにホストされたリソースにシームレスに接続できます。

次の図は、ソースエンドポイントが企業データセンターにあるオンプレミスデータベースである設定を示しています。このデータベースは AWS Direct Connect または VPN を使用することで、レプリケーション インスタンスと、Amazon RDS DB インスタンス上のターゲット データベースを含む VPC と接続されます。

AWS Database Migration Service レプリケーションインスタンス

この設定では VPC セキュリティグループに、VPC の CIDR 範囲または特定の IP アドレスを送信先とするトラフィックをホストに送信するルーティングルールが必要です。このホストは、VPC からのトラフィックをオンプレミスの VPN にブリッジできる必要があります。この場合、NAT ホストは独自のセキュリティグループ設定を含みます。このような設定の場合、レプリケーションインスタンスの VPC の CIDR 範囲、プライベート IP アドレス、またはセキュリティグループから NAT インスタンスへのトラフィックを許可する必要があります。ただし、レプリケーション IP アドレスが変更されるとレプリケーションが中断される可能性があるため、レプリケーションインスタンスのプライベート IP アドレスを使用することはお勧めしません。

インターネットを使用した VPC へのネットワークの設定

VPN AWS Direct Connect AWS を使用しない場合やリソースに接続しない場合は、インターネットを使用してデータベースを移行できます。この場合 Amazon EC2 インスタンスまたは Amazon RDS DB インスタンスのいずれかに移行できます。この設定では、ターゲットポイントおよびレプリケーション インスタンスを含むインターネットゲートウェイを持つ VPC 内にパブリックレプリケーション インスタンスが必要です。

AWS Database Migration Service レプリケーションインスタンス

インターネットゲートウェイを VPC に追加するには、Amazon VPC User Guide の「インターネットゲートウェイのアタッチ」をご参照ください。

VPC ルートテーブルにデフォルトでは VPC に向かわないトラフィックをインターネットゲートウェイに送信するルーティングルールが含まれている必要があります。この設定では、エンドポイントへの接続が、プライベート IP アドレスではなくレプリケーション インスタンスのパブリック IP アドレスから行われているかのように見えます。詳細については、Amazon VPC ユーザーガイド の「VPCルートテーブル」をご参照ください。

2022 年 8 月 15 日に、EC2-Classic の提供を終了しhます。EC2-Classic は、VPC への移行をお勧めします。詳細については、「Amazon EC2 ユーザーガイド」「EC2-Classic から VPC へ移行」およびブログ記事「EC2-Classic ネットワーキングがリタイア — 準備方法」を参照してください。

VPC に存在しない Amazon RDS DB インスタンスを、VPC 内の DMS レプリケーションサーバーおよび DB インスタンスに接続するには、 ClassicLink プロキシサーバーと併用できます。

ClassicLink EC2-Classic DB インスタンスを、同じリージョン内のアカウントの VPC にリンクできます。 AWS リンクを作成すると、ソース DB インスタンスはプライベート IP アドレスを使用して VPC 内のレプリケーション インスタンスと通信できます。

VPC のレプリケーションインスタンスは、を使用して EC2-Classic プラットフォーム上のソース DB インスタンスに直接アクセスできないため ClassicLink、プロキシサーバーを使用します。プロキシサーバーはソース DB インスタンスを、レプリケーション インスタンスとターゲット DB インスタンスを含む VPC に接続します。プロキシサーバーは VPC ClassicLink への接続に使用されます。プロキシサーバーでのポート転送により、VPC 内にあるソース DB インスタンスとターゲット DB インスタンスの間で通信が可能になります。

AWS Database Migration Service 使用 ClassicLink

AWS Database ClassicLink Migration Service との併用

VPC に存在しない Amazon RDS DB インスタンスを、VPC 内にある AWS DMS レプリケーションサーバーおよび DB インスタンスに接続できます。そのためには、Amazon EC2 ClassicLink をプロキシサーバーと共に使用することができます。

以下の手順は、 ClassicLink この目的での使用方法を示しています。この手順は、VPC 内にない Amazon RDS ソース DB インスタンスを、 AWS DMS レプリケーションインスタンスとターゲット DB インスタンスを含む VPC に接続します。

  • VPC に AWS DMS レプリケーションインスタンスを作成します。(すべてのレプリケーション インスタンスが VPC 内で作成されます)。

  • VPC セキュリティグループをレプリケーション インスタンスとターゲット DB インスタンスに関連付けます。2 つのインスタンスが VPC セキュリティグループを共有している場合、デフォルトで相互に通信できます。

  • EC2 Classic インスタンスでプロキシサーバーをセットアップします。

  • プロキシサーバーと VPC ClassicLink の間を使用して接続を作成します。

  • ソースデータベースとターゲットデータベースの AWS DMS エンドポイントを作成します。

  • AWS DMS タスクを作成します。

ClassicLink を使用して、VPC に存在しない DB インスタンス上のデータベースを VPC 内の DB インスタンス上のデータベースに移行するには
  1. AWS DMS レプリケーションインスタンスを作成し、VPC セキュリティグループを割り当てます。

    1. AWS Management Console にサインインし、https://console.aws.amazon.com/dms/v2/ AWS DMS のコンソールを開きます。

      AWS Identity and Access Management (IAM) ユーザーとしてサインインしている場合は、 AWS DMS適切なアクセス権限があることを確認してください。データベース移行に必要なアクセス許可の詳細については、「AWS DMS の使用に必要な IAM アクセス許可」をご参照ください。

    2. [Dashboard] ページで、[Replication Instance] を選択します。ステップ 1: AWS DMS コンソールを使用してレプリケーションインスタンスを作成するの手順に従って、レプリケーション インスタンスを作成します。

    3. AWS DMS レプリケーションインスタンスを作成したら、EC2 サービスコンソールを開きます。ナビゲーションペインでC [Network Interfaces] (ネットワーク インターフェース) を選択します。

    4. DMS を選択しNetworkInterface、[アクション] メニューから [セキュリティグループの変更] を選択します。

    5. レプリケーション インスタンスとターゲット DB インスタンスに使用するセキュリティグループを選択します。

  2. 前のステップのセキュリティグループをターゲット DB インスタンスに関連付けます。

    1. Amazon RDS サービスコンソールを開きます。[Replication engine version] (レプリケーション エンジンバージョン) でバージョン番号を選択し、[Modify] (変更) を選択します。

    2. ターゲット DB インスタンスを選択します。[Instance Actions] (インスタンスアクション) では[Modify] (変更) を選択します。

    3. [Security Group] (セキュリティグループ) パラメーターの場合、前のステップで使用したセキュリティグループを選択します。

    4. [Continue] (続ける) を選択してから、[Modify DB Instance] (DB インスタンス変更) を選択します。

  3. ステップ 3: NGINX を使用して EC2 Classic インスタンスでプロキシサーバーを設定します。EC2 Classic インスタンスを起動するには、選択した AMI を使用します。以下の例は、AMI Ubuntu Server 14.04 LTS (HVM) をベースとしています。

    EC2 Classic インスタンスでプロキシサーバーをセットアップするには

    1. EC2 Classic インスタンスに接続し、次のコマンドを使用して NGINX をインストールします。

      Prompt> sudo apt-get update Prompt> sudo wget http://nginx.org/download/nginx-1.9.12.tar.gz Prompt> sudo tar -xvzf nginx-1.9.12.tar.gz Prompt> cd nginx-1.9.12 Prompt> sudo apt-get install build-essential Prompt> sudo apt-get install libpcre3 libpcre3-dev Prompt> sudo apt-get install zlib1g-dev Prompt> sudo ./configure --with-stream Prompt> sudo make Prompt> sudo make install
    2. 次のコードを使用して、NGINX デーモンファイル /etc/init/nginx.conf を編集します。

      # /etc/init/nginx.conf – Upstart file description "nginx http daemon" author "email" start on (filesystem and net-device-up IFACE=lo) stop on runlevel [!2345] env DAEMON=/usr/local/nginx/sbin/nginx env PID=/usr/local/nginx/logs/nginx.pid expect fork respawn respawn limit 10 5 pre-start script $DAEMON -t if [ $? -ne 0 ] then exit $? fi end script exec $DAEMON
    3. /usr/local/nginx/conf/nginx.conf に NGINX 設定ファイルを作成します。設定ファイルに、以下の内容を追加します。

      # /usr/local/nginx/conf/nginx.conf - NGINX configuration file worker_processes 1; events { worker_connections 1024; } stream { server { listen DB instance port number; proxy_pass DB instance identifier:DB instance port number; } }
    4. コマンドラインから、次のコマンドを使用して NGINX を起動します。

      Prompt> sudo initctl reload-configuration Prompt> sudo initctl list | grep nginx Prompt> sudo initctl start nginx
  4. プロキシサーバーと、ターゲット DB インスタンスとレプリケーションインスタンスを含むターゲット VPC ClassicLink 間の接続を作成します。

    1. EC2 コンソールを開き、プロキシサーバーを実行中の EC2 Classic インスタンスを選択します。

    2. [アクション] でClassicLink、[VPC にリンク] を選択してから [VPC にリンク] を選択します。

    3. 先に使用したセキュリティグループをこの手順で選択します。

    4. [VPC link] (VPC リンク) を選択します。

  5. ステップ 5: の手順を使用して AWS DMS エンドポイントを作成します。ステップ 2: ソースエンドポイントとターゲットエンドポイントを指定するソース エンドポイントを指定する場合、サーバー名として内部 EC2 DNS ホスト名を使用する必要があります。

  6. の手順を使用して AWS DMS タスクを作成します。ステップ 3: タスクを作成してデータを移行する

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

データベースの移行に使用するネットワークの一部として、使用する予定の 仮想プライベートクラウド (VPC) のサブネットを指定する必要があります。ここでの VPC は、Amazon VPC サービスに基づいている必要があります。サブネットとは、指定されたアベイラビリティーゾーンにある VPC 内の IP アドレス範囲です。これらのサブネットは、VPC AWS が配置されているリージョンのアベイラビリティーゾーンに分散できます。

AWS DMS コンソールでレプリケーションインスタンスまたはインスタンスプロファイルを作成すると、選択したサブネットを使用できます。

レプリケーションサブネットグループを作成し、使用するサブネットを定義できます。少なくとも 2 つのアベイラビリティーゾーンにあるサブネットを指定する必要があります。

レプリケーションサブネットグループを作成する方法
  1. AWS Management Console にサインインし、https://console.aws.amazon.com/dms/v2/ AWS DMS のコンソールを開きます。

    IAM ユーザーとしてサインインしている場合は、 AWS DMSにアクセスするための適切なアクセス許可があることを確認します。データベース移行に必要なアクセス許可の詳細については、「AWS DMS の使用に必要な IAM アクセス許可」をご参照ください。

  2. ナビゲーションペインで [サブネットグループ] を選択します。

  3. [サブネットグループの作成] を選択します。

  4. [レプリケーションサブネットグループの作成] ページで、レプリケーションインスタンスの設定を指定します。次の表で設定について説明します。

    オプション アクション

    名前

    8 ~ 16 の印刷可能な ASCII 文字 (/、"、@ を除く) を含むレプリケーション サブネットグループ名を入力します。この名前は、 AWS 選択したリージョンのアカウント固有のものでなければなりません。たとえば、 AWS 地域や実行中のタスクを含めるなど、わかりやすい名前を付けることもできますDMS-default-VPC

    説明

    レプリケーション サブネット グループの簡単な説明を入力します。

    VPC

    データベースの移行に使用する VPC を選択する。VPC では、少なくとも 2 つのアベイラビリティーゾーンに少なくとも 1 つのサブネットが必要であることに注意してください。

    サブネットの追加

    レプリケーションサブネットグループに含めるサブネットを選択します。少なくとも 2 つのアベイラビリティーゾーンにあるサブネットを選択する必要があります。

  5. [サブネットグループの作成] を選択します。

DNS を使用したドメイン エンドポイントの解決

通常、 AWS DMS レプリケーションインスタンスは Amazon EC2 インスタンスのドメインネームシステム (DNS) リゾルバーを使用してドメインエンドポイントを解決します。DNS 解決が必要な場合は、Amazon Route 53 Resolverを使用できます。Route 53 DNS レゾルバーの使用方法の詳細については、「Route 53 レゾルバーの使用開始」をご参照ください。

独自のオンプレミス ネームサーバーを使用して Amazon Route 53 Resolverを使用して特定のエンドポイントを解決する方法については、「 独自のオンプレミスネームサーバーの使用」をご参照ください。