使用 AWS DMS 诊断支持 AMI - AWS 数据库迁移服务

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用 AWS DMS 诊断支持 AMI

如果您在使用时遇到与网络相关的问题 AWS DMS,您的支持工程师可能需要有关您的网络配置的更多信息。我们希望确保 S AWS upport 在尽可能短的时间内获得尽可能多的所需信息。因此,我们开发了一个带有诊断工具的预构建的 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 实例并连接到该实例后,请执行以下操作,对您的复制实例运行诊断测试。

  1. 配置 C AWS LI:

    $ aws configure

    提供您要用于运行诊断测试的 AWS 用户帐户的访问凭证。向 VPC 和复制实例提供区域。

  2. 显示您所在地区的可用 AWS DMS 任务。将示例区域替换为您的区域。

    $ dms-report -r us-east-1 -l

    此命令会显示任务的状态。

    显示任务列表的诊断工具。
  3. 显示任务端点和设置。将 <DMS-Task-ARN> 替换为您任务的 Amazon 资源名称(ARN)。

    $ dms-report -t <DMS-Task-ARN>

    此命令显示任务的端点和设置。

    显示任务端点列表的诊断工具。
  4. 运行诊断测试。将 <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 列表,请运行以下 CL AWS I 示例。

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 复制到您所在的地区,例如中东 (UAE) 地区。

  • 在您的本地区域启动实例。