为什么我的 Application Migration Service 或弹性灾难恢复复制过程停留在 100% 并出现“正在完成初始同步”消息?

3 分钟阅读
0

我使用 AWS Application Migration Service(AWS MGN)或 AWS 弹性灾难恢复(AWS DRS)。复制过程停滞在 100%,控制台显示“正在完成初始同步”。

简短描述

在 Application Migration Service 或弹性灾难恢复的同步过程中,当复制过程停滞在 100% 时,您会看到以下错误:

  • “正在完成初始同步 - 刷新积压”
  • “正在完成初始同步 - 创建第一个可启动快照”

解决方法

解决“正在完成初始同步 - 刷新积压”错误

等到待积压刷新完成,同步才会初始化。

如果源计算机是写入密集型,则积压的大小可能会增加。在 Application Migration Service 或弹性灾难恢复控制台上,计算机可能仍处于正在完成初始同步状态。如果发生这种情况,请完成以下步骤:

  1. 测试复制速度(在 CloudEndure 网站上)。
  2. 计算所有复制源计算机所需带宽。确保复制实例的网络吞吐量足够。
  3. 复制设置下,验证网络带宽限制是否激活。如配置需激活此项,请确保将该值至少设置为所需最小带宽。有关详细信息,请参阅 Application Migration Service弹性灾难恢复的带宽限制文档
  4. 使用 Amazon CloudWatch 指标检查复制服务器的网络和磁盘利用率。如果资源限制了服务器,则使用专用复制服务器或更大的复制服务器类型。亦可选择基于 SSD 的存储。有关详细信息,请参阅磁盘设置(Application Migration Service)磁盘设置(弹性灾难恢复)
  5. 要验证特定源计算机使用哪个复制服务器,请在源计算机上运行 netstat 命令,如以下示例所示。
    记下计算机通过端口 1500 连接到的远程 IP 地址:

适用于 Linux 的 netstat

$ netstat -anp | grep ":1500"

适用于 Windows 的 netstat 命令:

netstat -ano | findstr ":1500"

或查看源计算机上的 agent.log.0 文件,以确定正在使用的确切复制服务器:

Linux 版 agent.log.0

$ sudo cat /var/lib/aws-replication-agent/agent.log.0 | grep :1500 | tail -n 1

Windows 版 agent.log.0

findstr /L ":1500" "C:\Program Files (x86)\AWS Replication Agent\agent.log.0"

对“正在完成初始同步 - 创建第一个可启动快照”错误进行故障排除

要解决此错误,请完成以下一个或多个步骤:

验证 Application Migration Service 或弹性灾难恢复用户的 AWS IAM 策略是否具有运行所需 Amazon EC2 API 的所有权限

有关 Application Migration Service 或弹性灾难恢复用户的策略,请参阅 Application Migration Service弹性灾难恢复所需的 AWS 凭证。或查看 AWS CloudTrail 事件历史记录,以确认配置的用户的任何 API 失败情况。

确认复制服务器与区域内的 Amazon EC2 端点进行通信

  1. 在与暂存区相同的子网中启动新的 Linux 计算机。
  2. 要测试连接,请登录到新计算机并运行以下命令。在以下示例命令中,将 us-east-1 替换为您的区域:
$ dig ec2.us-east-1.amazonaws.com  
$ telnet ec2.us-east-1.amazonaws.com 443  
$ wget https://ec2.us-east-1.amazonaws.com

如果这些命令中的任何一个失败,则存在网络连接问题。继续阅读以下部分。

识别任何网络连接阻止程序

确认虚拟私有云(VPC)、子网、安全组、网络访问控制列表(网络 ACL)和路由表设置与复制设置一致。配置错误可能会阻止复制服务器与 Amazon EC2 端点的通信。

如果复制服务器在公有子网中启动,则完成以下步骤:

  1. 验证安全组、网络 ACL 和路由表是否允许在 TCP 端口 443 上与 Amazon EC2 端点通信。
  2. 验证 enableDnsHostnamesenableDnsSupport 属性在 VPC 级别设置为 true
$ aws ec2 describe-vpc-attribute --vpc-id vpc-a01106c2 --attribute enableDnsHostnames  
{   
 "VpcId": "vpc-a01106c2",  
 "EnableDnsHostnames": {   
 "Value": true  
 }   
}
$ aws ec2 describe-vpc-attribute --vpc-id vpc-a01106c2 --attribute enableDnsSupport  

{  
 "VpcId": "vpc-a01106c2",   
 "EnableDnsSupport": {  
 "Value": true   
 }  
}

如果复制服务器在私有子网中启动,则完成以下步骤:

  1. 验证安全组、网络 ACL 和路由表是否允许在 TCP 端口 443上与 Amazon EC2 端点进行通信。
  2. 如果在路由表中配置了 NAT 网关或实例,请验证在 TCP 端口 443 上发往 EC2 端点的出站流量是否有效。
  3. 检查出站流量是否通过中转或虚拟专用网关。在这种情况下,请确保路由表允许流量流向 TCP 端口 443 上的 EC2 端点。
  4. 检查防火墙是否阻止了通信。
  5. 如果 VPC 具有接口 VPC 端点,请确保 TCP 端口 443 上的 Amazon EC2 端点之间通过私有网络进行通信。为此,请完成以下步骤:

确认 enableDnsHostnamesenableDnsSupport 属性在 VPC 级别设置为 true。确认 PrivateDnsEnabled 值在 VPC 接口端点上设置为 true

$ aws ec2 describe-vpc-attribute --vpc-id vpc-a01106c2 --attribute enableDnsHostnames --query 'EnableDnsHostnames'  
{   
 "Value": true  
}
$ aws ec2 describe-vpc-attribute --vpc-id vpc-a01106c2 --attribute enableDnsSupport --query 'EnableDnsSupport'  
{   
 "Value": true  
}
$ aws ec2 describe-vpc-endpoints --vpc-endpoint-ids vpce-088d25a4bbf4a7abc --query 'VpcEndpoints[0].PrivateDnsEnabled'  
true

检查“复制设置”中的最新更改

搜索 UpdateReplicationConfiguration API 调用,以便跟踪 CloudTrail 事件历史记录中复制设置的更改。然后,使用源服务器筛选资源名称。例如,检查复制资源标签字段中是否插入无效的标签。有关允许的字符列表,请参阅标签限制

确认您使用的是正确的代理设置

  1. 如果您的复制服务器使用代理服务器,请确保代理设置允许在 TCP 端口 443 上与区域 EC2 端点通信。
  2. 确保 SSL 拦截和身份验证的允许列表包括 mgn.<region>.amazonaws.com(用于 Application Service Migration)以及 drs.<region>.amazonaws.com(用于弹性灾难恢复)。有关详细信息,请参阅能否在源服务器和 Application Migration Service 控制台之间使用代理服务器?另请参阅能否在源服务器和弹性灾难恢复控制台之间使用代理服务器?

确认 Replication Agent 正常运行

确认 AWS Replication Agent 在源计算机上正常运行。您可以检查 Replication Agent 日志中是否存在可能的错误,以帮助查明任何问题。Replication Agent 日志位于以下文件位置:

Linux Replication Agent 日志:

/var/lib/aws-replication-agent/agent.log.0

Windows Replication Agent 日志:

C:\Program Files (x86)\AWS Replication Agent\agent.log.0

检查 Amazon EC2 服务限额问题

服务限额问题API 节流和速率限制问题可能会阻止 Application Migration Service 或弹性灾难恢复创建第一个可启动的恢复快照。检查 CloudTrail 事件历史记录,以确定是否存在服务限额带宽限制问题。

AWS 官方
AWS 官方已更新 1 年前