Get Hands-on with Amazon EKS - Workshop Event Series
Whether you're taking your first steps with Kubernetes or you're an experienced practitioner looking to sharpen your skills, our Amazon EKS workshop series delivers practical, real-world experience that moves you forward. Learn directly from AWS solutions architects and EKS specialists through hands-on sessions designed to build your confidence with Kubernetes. Register now and start building with Amazon EKS!
为什么我的 Application Migration Service 或弹性灾难恢复复制过程卡滞在 100% 并出现 "Finalizing Initial Sync" 消息?
我使用 AWS Application Migration Service 或 AWS 弹性灾难恢复。复制过程卡滞在 100%,控制台显示 "Finalizing Initial Sync" 消息。
简短描述
在 Application Migration Service 或弹性灾难恢复的同步过程中,当复制过程卡滞在 100% 时,您会看到以下错误:
- "Finalizing Initial Sync - Flushing Backlog"
- "Finalizing Initial Sync - Creating First Launchable Snapshot"
解决方法
**注意:**如果您在运行 AWS 命令行界面 (AWS CLI) 命令时收到错误,请参阅 AWS CLI 错误故障排除。此外,请确保您使用的是最新版本的 AWS CLI。
对 "Finalizing Initial Sync - Flushing Backlog" 错误进行故障排除
等到待办事项刷新完成后,同步才会初始化。
如果源计算机是写入密集型,则待办事项的大小可能会增加。如果计算机卡滞在 "Finalizing Initial Sync"(“正在完成初始同步”)状态,请测试 Application Migration Service 或弹性灾难恢复的复制速度。此外,请计算所有正在复制的源计算机所需的带宽。确保复制实例的网络吞吐量足够。
要检查您的复制设置,请完成以下步骤:
- 打开 Application Migration Service 或弹性灾难恢复控制台。
- 在导航窗格中,选择 Source servers(源服务器)。
- 选择 Edit replication settings(编辑复制设置)。
- 检查 Network bandwidth throttling(网络带宽限制)是否设置为 Throttle bandwidth(限制带宽)。如果无需限制带宽,请选择 Do not throttle bandwidth(不限制带宽)。如果需要限制带宽,请确保将该值设置为所需的最小带宽。有关详细信息,请参阅适用于 Application Migration Service 的数据路由和限制或适用于弹性灾难恢复的限制网络带宽。
使用 Amazon CloudWatch 指标检查复制服务器的网络和磁盘使用情况。如果资源限制了服务器,请使用专用复制服务器或更大的复制服务器类型。或者,选择基于 SSD 的存储。有关详细信息,请参阅 AWS Application Migration Service 最佳实践或更改暂存磁盘类型。
要查看特定源计算机使用的复制服务器,请根据您的操作系统 (OS) 在源计算机上运行以下命令。
Linux:
netstat -anp | grep ":1500"
Windows:
netstat -ano | findstr ":1500"
记下计算机通过端口 1500 连接到的远程 IP 地址。
或者,根据您的操作系统运行以下命令,以查看源计算机上的 agent.log.0 文件并确定当前使用的确切复制服务器。
Linux:
sudo cat /var/lib/aws-replication-agent/agent.log.0 | grep :1500 | tail -n 1
Windows:
findstr /L ":1500" "C:\Program Files (x86)\AWS Replication Agent\agent.log.0"
对 "Finalizing Initial Sync - Creating First Launchable Snapshot" 错误进行故障排除
检查用户的 IAM 策略权限
确保用户的 AWS Identity and Access Management (IAM) 策略具有运行 Amazon Elastic Compute Cloud (Amazon EC2) API 的权限。
检查用户用于 Application Migration Service 或弹性灾难恢复的凭证。或者,查看 AWS CloudTrail 事件历史记录,以查找用户遇到的 API 失败事件。
检查您的 Amazon EC2 端点
确保复制服务器能够与您所在 AWS 区域中 Application Migration Service 或弹性灾难恢复的 Amazon EC2 端点进行通信。
要测试与服务端点的连接,请完成以下步骤:
- 在与暂存区相同的子网中启动新的 Linux 实例。
- 登录到新实例,然后运行以下命令:
**注意:**请将 us-east-1 替换为您的区域。如果上述任何命令失败,请继续执行下一部分,以对网络连接问题进行故障排除。确认虚拟私有云 (VPC)、子网、安全组、网络访问控制列表(网络 ACL)和路由表设置与您的复制设置一致。配置错误可能会阻止复制服务器与 Amazon EC2 端点的通信。dig ec2.us-east-1.amazonaws.com telnet ec2.us-east-1.amazonaws.com 443 wget https://ec2.us-east-1.amazonaws.com
识别您在公共子网中启动的复制服务器的网络连接阻止程序
确保安全组、网络 ACL 和路由表允许在 TCP 端口 443 上与 Amazon EC2 端点进行通信。
验证您是否在 VPC 级别将 enableDnsHostnames 和 enableDnsSupport 属性设置为 true。运行以下 describe-vpc-attribute AWS CLI 命令以检查 enableDnsHostnames 属性:
aws ec2 describe-vpc-attribute --vpc-id vpc-abcdef --attribute enableDnsHostnames
**注意:**请将 vpc-abcdef 替换为您的 VPC ID。
输出示例:
$ aws ec2 describe-vpc-attribute --vpc-id vpc-abcdef --attribute enableDnsHostnames { "VpcId": "vpc-a01106c2", "EnableDnsHostnames": { "Value": true } }
运行以下 describe-vpc-attribute 命令以检查 enableDnsSupport 属性:
aws ec2 describe-vpc-attribute --vpc-id vpc-abcdef --attribute enableDnsSupport
**注意:**请将 vpc-abcdef 替换为您的 VPC ID。
输出示例:
$ aws ec2 describe-vpc-attribute --vpc-id vpc-abcdef --attribute enableDnsSupport { "VpcId": "vpc-a01106c2", "EnableDnsSupport": { "Value": true } }
如果这些属性未设置为 true,请运行以下 modify-vpc-attribute 命令将其激活:
aws ec2 modify-vpc-attribute --vpc-id vpc-abdcef --enable-dns-hostnames "{\"Value\":true}"
**注意:**请将 vpc-abcdef 替换为您的 VPC ID,并将 enable-dns-hostnames 替换为未设置为 true 的属性。
识别您在私有子网中启动的复制服务器的网络连接阻止程序
验证安全组、网络 ACL 和路由表是否允许在 TCP 端口 443 上与 Amazon EC2 私有端点进行通信。如果您在路由表中配置了 NAT 网关或实例,请验证 TCP 端口 443 上流向 Amazon EC2 端点的出站流量是否有效。
检查出站流量是否通过中转网关或虚拟专用网关。如果是,请确保路由表允许 TCP 端口 443 上流向 Amazon EC2 端点的流量。此外,请检查防火墙是否阻止了通信。
如果 VPC 具有接口 VPC 端点,请确保 TCP 端口 443 上的 Amazon EC2 端点之间通过私有网络进行通信。验证您是否在 VPC 级别将 enableDnsHostnames 和 enableDnsSupport 设置为 true,并在 VPC 接口端点上将 PrivateDnsEnabled 设置为 true。
运行以下 describe-vpc-attribute 命令以检查 enableDnsHostnames 属性:
aws ec2 describe-vpc-attribute --vpc-id vpc-abcdef --attribute enableDnsHostnames --query 'EnableDnsHostnames'
**注意:**请将 vpc-abcdef 替换为您的 VPC ID。
输出示例:
$ aws ec2 describe-vpc-attribute --vpc-id vpc-a01106c2 --attribute enableDnsHostnames --query 'EnableDnsHostnames' { "Value": true }
运行以下 describe-vpc-attribute 命令以检查 enableDnsSupport 属性:
aws ec2 describe-vpc-attribute --vpc-id vpc-abcdef --attribute enableDnsSupport --query 'EnableDnsSupport'
**注意:**请将 vpc-abcdef 替换为您的 VPC ID。
输出示例:
$ aws ec2 describe-vpc-attribute --vpc-id vpc-a01106c2 --attribute enableDnsSupport --query 'EnableDnsSupport' { "Value": true }
运行以下 describe-vpc-attribute 命令以检查 PrivateDnsEnabled 属性:
aws ec2 describe-vpc-endpoints --vpc-endpoint-ids vpce-12345abcde --query 'VpcEndpoints[0].PrivateDnsEnabled'
**注意:**请将 vpce-12345abcde 替换为您的 VPC 端点。
输出示例:
true
如果这些属性未设置为 true,请运行以下 modify-vpc-attribute 命令对其进行修改:
aws ec2 modify-vpc-attribute --vpc-id vpc-abdcef --enable-dns-hostnames "{\"Value\":true}"
**注意:**请将 vpc-abcdef 替换为您的 VPC ID,并将 enable-dns-hostnames 替换为未设置为 true 的属性。
检查“复制设置”中的最新更改
检查 Application Migration Service 或弹性灾难恢复的 Replication settings(复制设置)中的最新更改。查看您的 CloudTrail 事件历史记录中是否有 UpdateReplicationConfiguration API 调用,以识别更改。使用源服务器筛选资源名称。例如,检查 Replication resources tags(复制资源标签)字段中是否插入了无效的标签。有关允许的字符列表,请参阅标签限制。
确认您使用了正确的代理设置
如果您的复制服务器使用代理服务器,请确认代理设置允许在 TCP 端口 443 上与区域 Amazon EC2 端点进行通信。
确保 SSL 拦截和身份验证允许列表中包含用于 Application Service Migration 的 mgn.region.amazonaws.com 和用于弹性灾难恢复的 drs.region.amazonaws.com。
**注意:**请将 region 替换为您的区域。
有关详细信息,请参阅能否在源服务器与 Application Migration Service 控制台之间使用代理服务器?另请参阅能否在源服务器与弹性灾难恢复控制台之间使用代理服务器?
检查 AWS Replication Agent
确认 AWS Replication Agent 在源计算机上正常运行。要定位问题,请查看 AWS Replication Agent 日志中的错误消息。您可以在以下文件位置找到 AWS 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 服务配额问题
如果您超出了 Application Migration Service 或弹性灾难恢复的服务配额,则这些服务将无法创建可启动的恢复快照。您可能还会遇到 API 限制或超出速率问题。查看 CloudTrail 事件历史记录,以识别服务配额或带宽限制问题。如果需要,请申请增加配额。
