為什麼我的 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 命令,如下列範例所示。
    請記下機器透過連接埠 1,500 連線的遠端 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. 確認 VPC 層級的enableDnsHostnamesenableDnsSupport 屬性已設定為 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 端點之間可透過私有網路進行通訊。為此,請完成下列步驟:

確認 VPC 層級的enableDnsHostnamesenableDnsSupport 屬性已設定為 true。確認 VPC 介面端點上的 PrivateDnsEnabled 設定為 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 Migratio) 和 drs.<region>.amazonaws.com (用於彈性災難復原)。如需詳細資訊,請參閱來源伺服器與 Application Migration Service 主控台之間是否可以使用代理伺服器?另請參閱來源伺服器與彈性災難復原主控台之間是否可以使用代理伺服器?

確認複寫代理程式正常運作

確認 AWS 複寫代理程式在來源機器上正常運作。您可以檢查複寫代理程式日誌是否存在可能發生的錯誤,以協助找出任何問題。複寫代理程式日誌位於下列檔案位置:

Linux 複寫代理程式日誌:

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

Windows 複寫代理程式日誌:

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

檢查 Amazon EC2 服務配額問題

服務配額問題API 限流和速率限制問題可能會導致 Application Migration Service 或彈性災難復原無法建立第一個可啟動的復原快照。檢查 CloudTrail 事件歷史記錄,以確定是否存在服務配額頻寬限流問題。

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