

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

# DMS Schema Conversion のためのネットワークのセットアップ
<a name="instance-profiles-network"></a>

DMS Schema Conversion はサーバーレス機能です。データベースに接続するには、VPC 内のサブネットに Elastic Network Interface (ENI) を配置します。インスタンスプロファイルを作成するときは、使用する VPC、サブネットグループ、およびセキュリティグループを指定します。アカウントにデフォルトの VPC を使用するか AWS リージョン、新しい VPC を作成できます。

DMS Schema Conversion とデータプロバイダー間の適切な接続を確保するには、次のネットワークコンポーネントを設定します。
+ **セキュリティグループ** – ソースデータベースネットワークとターゲットデータベースネットワークへのアウトバウンドトラフィックを許可するように、DMS Schema Conversion に関連付けられたセキュリティグループの出力ルールを設定します。DMS Schema Conversion セキュリティグループからのインバウンドトラフィックを許可するように、データベースセキュリティグループの進入ルールを設定します。
+ **ネットワーク ACLs** – サブネットがネットワークアクセスコントロールリストを使用している場合は、DMS Schema Conversion サブネットとデータベースサブネット間のトラフィックを許可していることを確認してください。
+ **ルートテーブル** – DMS Schema Conversion サブネットに関連付けられたルートテーブルに、ソースデータベースとターゲットデータベースに到達するためのルートがあることを確認します。これには、設定に応じて VPC ピアリングルート、VPN ゲートウェイルート、または NAT ゲートウェイルートが含まれる場合があります。
+ **サブネット** – DMS Schema Conversion は、サブネットグループで定義されたサブネットに ENI を配置します。サブネットグループには、別々のアベイラビリティーゾーンに少なくとも 2 つのサブネットが含まれている必要があります。

**重要**  
DMS Schema Conversion はサーバーレスであるため、ENI IP アドレスはいつでも変更できます。許可リストに特定の IP アドレスを使用しないでください。代わりに、データベースセキュリティグループの進入ルールで DMS Schema Conversion セキュリティグループを参照するか、オンプレミス接続用の関連付けられた Elastic IP アドレスを持つ NAT ゲートウェイを介してアウトバウンドトラフィックをルーティングします。

DMS Schema Conversion では、複数の異なるネットワーク設定を使用できます。以下は、スキーマ変換に使用されるネットワークの一般的な設定です。可能であれば、ターゲットエンドポイントと同じリージョンにインスタンスプロファイルを作成し、ターゲットエンドポイントと同じ VPC またはサブネットを使用することをお勧めします。

**Topics**
+ [ソースデータプロバイダーとターゲットデータプロバイダーでの単一の VPC の使用](#instance-profiles-network-one-vpc)
+ [ソースデータプロバイダーとターゲットデータプロバイダーに複数の VPC を使用する](#instance-profiles-network-multiple-vpc)
+ [ソースデータプロバイダーとターゲットデータプロバイダーの共有 VPCs の使用](#instance-profiles-network-shared-vpc)
+ [Direct Connect または VPN を使用して VPC へのネットワークを設定する](#instance-profiles-network-vpn)
+ [VPC へのインターネット接続の使用](#instance-profiles-network-internet)
+ [DNS を使用したドメイン エンドポイントの解決](#instance-profiles-network-dns)
+ [DMS Schema Conversion のネットワーク問題のトラブルシューティング](#instance-profiles-network-troubleshooting)

## ソースデータプロバイダーとターゲットデータプロバイダーでの単一の VPC の使用
<a name="instance-profiles-network-one-vpc"></a>

DMS Schema Conversion の最もシンプルなネットワーク設定は、単一の VPC の設定です。この設定では、インスタンスプロファイルは、ソースデータベースとターゲットデータベースが存在するのと同じ VPC を指定します。DMS Schema Conversion は、その VPC の ENI を使用して両方のデータベースに接続します。

次の図は、ソースデータベースが DMS Schema Conversion に接続し、スキーマがすべて同じ VPC 内のターゲットデータベースに変換される設定を示しています。

![ソースデータベース、DMS Schema Conversion、および単一の VPC 内のターゲットデータベースは、同じサブネットを介して通信します。](http://docs.aws.amazon.com/ja_jp/dms/latest/userguide/images/sc_network_one_vpc.png)


データベースのセキュリティグループは、DMS Schema Conversion セキュリティグループからのデータベースポートへの進入を許可する必要があります。ENI IP アドレスはいつでも変更できるため、許可リストに特定の ENI IP アドレスを使用しないでください。

次の例は、データベースセキュリティグループの進入ルールを示しています。これらの例では、 `sg-1234567890abcdef0`は DMS Schema Conversion に関連付けられたセキュリティグループです。データベースがリッスンするように設定されたポートを使用します。


**データベースセキュリティグループのインバウンドルールの例**  

| タイプ | プロトコル | ポート範囲 | ソース | 説明 | 
| --- | --- | --- | --- | --- | 
| Oracle-RDS | TCP | 1521 | sg-1234567890abcdef0 | Oracle データベース | 
| MySQL/Aurora | TCP | 3306 | sg-1234567890abcdef0 | MySQL または Aurora MySQL データベース | 
| [PostgreSQL] | TCP | 5432 | sg-1234567890abcdef0 | PostgreSQL または Aurora PostgreSQL データベース | 
| MSSQL | TCP | 1433 | sg-1234567890abcdef0 | Microsoft SQL Server データベース | 
| カスタム TCP | TCP | ポート | sg-1234567890abcdef0 | カスタムポートを使用する他のデータベース | 

## ソースデータプロバイダーとターゲットデータプロバイダーに複数の VPC を使用する
<a name="instance-profiles-network-multiple-vpc"></a>

ソースデータベースとターゲットデータベースが異なる VPCs にある場合、異なる AWS アカウントまたはリージョンVPCs を含む場合は、VPCs のいずれかを使用するようにインスタンスプロファイルを設定し、VPC ピアリングを使用して 2 VPCs つの VPC をリンクできます。 AWS Transit Gateway などの他の VPC-to-VPCオプションを使用することもできます。詳細については、[「Amazon VPC-to-Amazon VPC への接続オプション](https://docs.aws.amazon.com/whitepapers/latest/aws-vpc-connectivity-options/amazon-vpc-to-amazon-vpc-connectivity-options.html)」を参照してください。

*VPC ピアリング接続*は、2 つの VPCs 間のネットワーク接続であり、同じネットワークにあるかのように、各 VPC のプライベート IP アドレスを使用してルーティングをアクティブ化します。独自の VPC 間、別の AWS アカウントの VPCs、または別の の VPC との VPC ピアリング接続を作成できます AWS リージョン。VPC ピアリングの詳細については、[Amazon VPC ユーザーガイド](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-peering.html) の「*VPC ピアリング*」をご参照ください。

次の図は、VPC ピアリングを使用した設定を示しています。ここで、ある VPC のソースデータベースは、VPC ピアリングによって、DMS Schema Conversion とターゲットデータベースを含む別の VPC に接続します。

![VPC A のソースデータベースは、VPC ピアリングによって DMS Schema Conversion に接続され、VPC B のターゲットデータベースに接続されます。](http://docs.aws.amazon.com/ja_jp/dms/latest/userguide/images/sc_network_multiple_vpcs.png)


VPC ピアリング接続を実装するには、「**Amazon VPC ユーザーガイド」の「[VPC ピア接続を操作する](https://docs.aws.amazon.com/vpc/latest/peering/working-with-vpc-peering.html)」を参照してください。一方の VPC のルートテーブルに、もう一方の VPC の CIDR ブロックが含まれていることを確認します。たとえば、VPC A が送信先 10.0.0.0/16 を使用し、VPC B が送信先 172.31.0.0/16 を使用しているとします。この場合、VPC A のルートテーブルには 172.31.0.0/16 が含まれ、VPC B のルートテーブルには 10.0.0.0/16 が含まれている必要があります。詳細については、「**Amazon VPC ピアリング接続ガイド」の「[VPC ピアリング接続のルートテーブルを更新する](https://docs.aws.amazon.com/vpc/latest/peering/vpc-peering-routing.html)」を参照してください。

データベースのセキュリティグループは、DMS Schema Conversion セキュリティグループからのデータベースポートへの進入を許可する必要があります。VPCs が異なる AWS アカウントまたは異なるリージョンにある場合、セキュリティグループの参照はサポートされていない可能性があります。この場合、代わりにピア接続された VPC のサブネット CIDR 範囲を使用します。

次の例は、VPC B (172.31.1.0/24) の DMS Schema Conversion サブネット CIDR 範囲からのアクセスを許可する VPC A のソースデータベースの進入ルールを示しています。データベースがリッスンするように設定されたポートを使用します。両方の VPCs が同じリージョンとアカウントにある場合は、より厳密なアクセスコントロールのために CIDR 範囲の代わりにセキュリティグループリファレンスを使用することをお勧めします。


**データベースセキュリティグループのインバウンドルールの例 (VPC ピアリング)**  

| タイプ | プロトコル | ポート範囲 | ソース | 説明 | 
| --- | --- | --- | --- | --- | 
| Oracle-RDS | TCP | 1521 | 172.31.1.0/24 | Oracle データベース | 
| MySQL/Aurora | TCP | 3306 | 172.31.1.0/24 | MySQL または Aurora MySQL データベース | 
| [PostgreSQL] | TCP | 5432 | 172.31.1.0/24 | PostgreSQL または Aurora PostgreSQL データベース | 
| MSSQL | TCP | 1433 | 172.31.1.0/24 | Microsoft SQL Server データベース | 
| カスタム TCP | TCP | ポート | 172.31.1.0/24 | カスタムポートを使用する他のデータベース | 

## ソースデータプロバイダーとターゲットデータプロバイダーの共有 VPCs の使用
<a name="instance-profiles-network-shared-vpc"></a>

AWS Database Migration Service は、組織内の参加している顧客アカウントと共有されているサブネットを、同じアカウントの通常のサブネットと同様に扱います。

レプリケーションサブネットグループを作成することで、カスタムサブネットまたは VPCs で動作するようにネットワークを設定できます。レプリケーションサブネットグループを作成するときは、特定の VPC のサブネットを指定します。サブネットのリストには、別々のアベイラビリティーゾーンに少なくとも 2 つのサブネットを含める必要があり、すべてのサブネットが同じ VPC 内にある必要があります。

共有 VPC を使用する場合は、共有 VPC から使用するサブネットにマッピングするレプリケーションサブネットグループを作成します。インスタンスプロファイルを作成するときは、共有 VPC のレプリケーションサブネットグループと、共有 VPC 用に作成した VPC セキュリティグループを指定します。

共有 VPC の使用に際して、次の点に注意する必要があります。
+ VPC 所有者は、参加者とリソースを共有できませんが、参加者は所有者のサブネットにサービスリソースを作成できます。
+ すべてのリソースはアカウント固有であるため、VPC 所有者は参加者が作成したリソースにアクセスできません。ただし、共有 VPC を使用するようにインスタンスプロファイルを設定する限り、DMS Schema Conversion は、適切なアクセス許可が設定されている限り、所有アカウントに関係なく VPC 内のリソースにアクセスできます。
+ リソースはアカウント固有であるため、他の参加者はその他のアカウントが所有するリソースにはアクセスできません。自分のアカウントで共有 VPC に作成されたリソースにアクセスできるように他のアカウントに付与できるようなアクセス許可はありません。

## Direct Connect または VPN を使用して VPC へのネットワークを設定する
<a name="instance-profiles-network-vpn"></a>

リモートネットワークは、 Direct Connect やソフトウェア、ハードウェア VPN 接続など、いくつかのオプションを使用して VPC に接続できます。このようなオプションを使用して、内部ネットワークを AWS クラウドに拡張することで、既存のオンサイトサービスを統合できます。モニタリング、認証、セキュリティ、データ、その他のシステムなどのオンサイトサービスを統合する場合があります。このタイプのネットワーク拡張を使用すると、オンサイトサービスを VPC などの AWSがホストするリソースにシームレスに接続できます。この設定を使用して、オンプレミスのソースデータベースを変換できます。

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

![Direct Connect または VPN を介して DMS Schema Conversion とターゲットデータベースを含む VPC に接続されたオンプレミスのソースデータベース。](http://docs.aws.amazon.com/ja_jp/dms/latest/userguide/images/sc_network_vpn.png)


この設定では、次のネットワークコンポーネントを設定します。
+ DMS Schema Conversion サブネットに関連付けられたルートテーブルには、オンプレミス CIDR 範囲宛てのトラフィックを Virtual Private Gateway (VGW) または Transit Gateway に送信するルートが含まれている必要があります。
+ NAT ホストまたはブリッジホストのセキュリティグループは、必要なデータベースポートで DMS Schema Conversion セキュリティグループからのインバウンドトラフィックを許可する必要があります。
+ DMS Schema Conversion セキュリティグループは、オンプレミスデータベースポートへのアウトバウンドトラフィックを許可する必要があります。

ENI IP アドレスはいつでも変更できるため、許可リストに特定の ENI IP アドレスを使用しないでください。詳細については、「**AWS Site-to-Site VPN ユーザーガイド」の「[Site-to-Site VPN 接続を作成する](https://docs.aws.amazon.com/vpn/latest/s2svpn/SetUpVPNConnections.html#vpn-create-vpn-connection)」を参照してください。

## VPC へのインターネット接続の使用
<a name="instance-profiles-network-internet"></a>

VPN または を使用して AWS リソース Direct Connect に接続しない場合は、インターネットを使用してソースデータベースに接続できます。この設定では、プライベートサブネットを持つ VPC と、アウトバウンドインターネットアクセスを提供する NAT ゲートウェイを使用します。この設定を使用して、パブリックアクセシビリティを持つソースオンプレミスデータベースを変換できます。

次の図は、VPC の DMS Schema Conversion が NAT ゲートウェイを使用してインターネット経由でオンプレミスのソースデータベースに接続する設定を示しています。

![インターネットと NAT ゲートウェイを介してプライベートサブネットの DMS Schema Conversion に接続されたオンプレミスのソースデータベース。](http://docs.aws.amazon.com/ja_jp/dms/latest/userguide/images/sc_network_igw.png)


VPC からパブリックにアクセス可能なソースデータベースへの接続を有効にするには、NAT ゲートウェイを介してインターネットに接続するプライベートサブネットを使用して VPC を設定します。NAT ゲートウェイは、ソースデータベースのファイアウォール許可リストに追加できる一貫したパブリック IP アドレスを提供し、プライベートサブネット内のリソースをインターネット経由でソースデータベースに接続できるようにします。

VPC ルートテーブルには、デフォルトで VPC 宛*てではない*トラフィックを NAT ゲートウェイに送信するルーティングルールが含まれている必要があります。この設定の場合、データプロバイダーへの接続が NATゲートウェイのパブリック IP アドレスからのように見えます。詳細については、*Amazon VPC ユーザーガイド* の「[VPCルートテーブル](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html)」をご参照ください。

インターネットゲートウェイを VPC に追加するには、[Amazon VPC User Guide](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Internet_Gateway.html#Add_IGW_Attach_Gateway) の「*インターネットゲートウェイのアタッチ*」をご参照ください。

## DNS を使用したドメイン エンドポイントの解決
<a name="instance-profiles-network-dns"></a>

データベースのドメインエンドポイントを解決する必要がある場合は、Amazon Route 53 Resolver を使用できます。Route 53 DNS レゾルバーの使用方法の詳細については、「[Route 53 レゾルバーの使用開始](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/resolver-getting-started.html)」をご参照ください。

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

## DMS Schema Conversion のネットワーク問題のトラブルシューティング
<a name="instance-profiles-network-troubleshooting"></a>

以下のセクションでは、DMS Schema Conversion を使用する際に発生する可能性のある一般的なネットワーク関連のエラーとその解決方法について説明します。

### データベース接続エラー
<a name="instance-profiles-network-troubleshooting-connectivity"></a>

DMS Schema Conversion がソースデータベースまたはターゲットデータベースに到達できない場合、次のエラーメッセージが表示されることがあります。
+ `Could not connect to your {{{origin}}} database at '{{{serverName}}}:{{{port}}}'. Verify your network configuration, security groups, and that the database server is reachable.`

  {{{origin}}} は `source`または `target`、{{{serverName}}} はデータベースサーバーのホスト名、{{{port}}} はデータベースポート番号です。

アカウントの DMS Schema Conversion Amazon CloudWatch logsを確認して、接続失敗の具体的な理由を確認することもできます。

これらのエラーを解決するには、以下を確認してください。

1. **サーバー名とポートの検証** – データプロバイダーで設定されたサーバー名とポートが正しいことを確認します。データプロバイダーの設定は、 AWS DMS コンソールまたは CLI AWS を使用して確認できます。データベースエンドポイントとポートの検索の詳細については、[「Amazon Relational Database Service ユーザーガイド」の「Amazon RDS DB インスタンスの接続情報](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_CommonTasks.Connect.EndpointAndPort.html)の検索」を参照してください。 *Amazon Relational Database Service *

1. **セキュリティグループのルールを確認する** – DMS Schema Conversion に関連付けられたセキュリティグループが、データベースポートでアウトバウンド (送信) TCP トラフィックを許可していることを確認します。また、データベースのセキュリティグループが DMS Schema Conversion セキュリティグループからのインバウンド (進入) TCP トラフィックを許可していることを確認します。セキュリティグループルールの使用の詳細については、*「Amazon VPC* [ユーザーガイド」の「セキュリティグループルールの使用](https://docs.aws.amazon.com/vpc/latest/userguide/working-with-security-group-rules.html)」を参照してください。

1. **ネットワーク ACLs を確認する** – DMS Schema Conversion サブネットとデータベースサブネットのネットワーク ACLs が、データベースポート上の双方向のトラフィックを許可していることを確認します。

1. **ルートテーブルの確認** – DMS Schema Conversion サブネットに関連付けられたルートテーブルに、データベースに到達するための正しいルートがあることを確認します。VPC ピアリング、VPN、または を使用する場合は Direct Connect、対応するルートが存在することを確認してください。

1. **DMS Schema Conversion Amazon CloudWatch logsを確認する** – DMS Schema Conversion ログで詳細なエラー情報を確認します。ログへのリンクは、移行プロジェクトの **Schema Conversion** タブで確認できます。例外を含むログエントリを取得するには、 AWS CLI を使用します。

   まず、DMS Schema Conversion ロググループを見つけます。ロググループ名は で始まり`dms-tasks-sct`、移行プロジェクトの ARN の最後のチャンクが含まれます。

   ```
   aws logs describe-log-groups \
     --log-group-name-prefix dms-tasks-sct
   ```

   次に、 `filter-log-events` コマンドを使用してロググループの例外を検索します。

   ```
   aws logs filter-log-events \
     --log-group-name {{dms-tasks-sct-your-migration-project}} \
     --filter-pattern "Exception" \
     --start-time {{start_timestamp_ms}} \
     --end-time {{end_timestamp_ms}}
   ```

   を `ERROR`や などの他のパターン`Exception`に置き換え`"Could not connect"`て、結果を絞り込むことができます。`--start-time` と の`--end-time`値は、ミリ秒単位の Unix タイムスタンプです。