本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
如果您在使用 AWS DMS 时遇到与网络相关的问题,支持工程师可能需要有关您网络配置的更多信息。我们希望确保 AWS Support 在尽可能短的时间内获得尽可能多的所需信息。因此,我们开发了一个带有诊断工具的预构建 Amazon EC2 AMI,用于测试您的 AWS DMS 网络环境。
该亚马逊机器映像(AMI)上安装的诊断测试包括:
Virtual Private Cloud (VPC)
网络数据包丢失
网络延迟
最大传输单元(MTU)大小
注意
如果您的 Oracle 源遇到性能问题,则可以评估 Oracle 重做或存档日志的读取性能,以寻找提高性能的方法。有关更多信息,请参阅评估 Oracle 重做或存档日志的读取性能。
启动新 AWS DMS 诊断 Amazon EC2 实例
在本节中,您将启动新的 Amazon EC2 实例。有关如何启动 Amazon EC2 实例的信息,请参阅 Amazon EC2 用户指南中的 Amazon EC2 Linux 实例入门。
使用以下设置启动 Amazon EC2 实例:
对于应用程序和 OS 映像(亚马逊机器映像),请搜索 DMS-DIAG-AMI AMI。如果您已登录控制台,则可以使用此查询
搜索 AMI。有关您所在区域的 AWS 诊断 AMI 的 AMI ID,请参阅下文中的按区域列出的 AMI ID。 对于实例类型,建议您选择 t2.micro。
对于网络设置,请选择您的复制实例使用的同一个 VPC。
实例激活之后,连接到该实例。有关连接到 Amazon EC2 Linux 实例的信息,请参阅连接到 Linux 实例。
创建 IAM 角色
如果您想使用所需的最低权限在复制实例上运行诊断测试,请创建一个使用以下权限策略的 IAM 角色:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"dms:DescribeEndpoints",
"dms:DescribeTableStatistics",
"dms:DescribeReplicationInstances",
"dms:DescribeReplicationTasks",
"secretsmanager:GetSecretValue"
],
"Resource": "*"
}
]
}
将该角色附加到新的 IAM 用户。有关创建 IAM 角色、策略和用户的信息,请参阅 IAM 用户指南中的以下部分:
运行诊断测试
创建 Amazon EC2 实例并连接到该实例后,请执行以下操作,对您的复制实例运行诊断测试。
配置 AWS CLI:
$ aws configure
向要用于运行诊断测试的 AWS 用户账户提供访问凭证。向 VPC 和复制实例提供区域。
显示您的区域中可用的 AWS DMS 任务。将示例区域替换为您的区域。
$ dms-report -r
us-east-1
-l此命令会显示任务的状态。
显示任务端点和设置。将
<DMS-Task-ARN>
替换为您任务的 Amazon 资源名称(ARN)。$ dms-report -t
<DMS-Task-ARN>
此命令显示任务的端点和设置。
运行诊断测试。将
<DMS-Task-ARN>
替换为您的任务 ARN。$ dms-report -t
<DMS-Task-ARN>
-n y此命令显示有关您的复制实例的 VPC、网络数据包传输、网络延迟和网络最大传输单元(MTU)大小的诊断数据。
后续步骤
以下部分介绍基于网络诊断测试结果的故障排除信息:
VPC 测试
此测试验证诊断 Amazon EC2 实例与复制实例位于同一 VPC 中。如果诊断 Amazon EC2 实例与您的复制实例不在同一 VPC 中,请将其终止,然后在正确的 VPC 中重新创建。Amazon EC2 在创建之后无法更改其 VPC。
网络数据包丢失测试
此测试向以下端点发送 10 个数据包并检查数据包是否丢失:
端口 80 上的 AWS DMS Amazon EC2 元数据服务
源端点
目标端点
所有数据包都应成功到达。如果有任何数据包丢失,请咨询网络工程师以确定问题并寻找查找方案。
网络延迟测试
此测试将 10 个数据包发送到之前测试所用的同一个端点,并检查数据包延迟。所有数据包的延迟应小于 100 毫秒。如果任何数据包的延迟超过 100 毫秒,请咨询网络工程师以确定问题并寻找解决方案。
最大传输单元(MTU)大小测试
此测试在之前测试所用的同一个端点上,使用 Traceroute 工具来检测 MTU 的大小。测试中的所有数据包都应具有相同的 MTU 大小。如果任何数据包的 MTU 大小不同,请咨询系统专家以确定问题并寻找解决方案。
按区域列出的 AMI ID
要查看您所在 AWS 区域可用的 DMS 诊断 AMI 列表,请运行以下 AWS CLI 示例。
aws ec2 describe-images --owners 343299325021 --filters "Name=name, Values=DMS-DIAG*" --query "sort_by(Images, &CreationDate)[-1].[Name, ImageId, CreationDate]" --output text
如果输出未显示任何结果,则表示该 DMS 诊断 AMI 在您所在的 AWS 区域不可用。解决方法是按照以下步骤从其他区域复制该诊断 AMI。有关更多信息,请参阅复制 AMI。
在可用区域中启动实例。
创建映像。映像将归您所有。
将 AMI 复制到您所在的区域,例如中东(阿联酋)区域。
在您的本地区域启动实例。