New user sign up using AWS Builder ID
New user sign up using AWS Builder ID is currently unavailable on re:Post. To sign up, please use the AWS Management Console instead.
如何疑難排解 EC2 Linux 執行個體上的 AWS 複寫代理程式安裝失敗?
我想要安裝 AWS Application Migration Service 或 AWS 彈性災難復原的 AWS 複寫代理程式。Amazon Elastic Compute Cloud (Amazon EC2) Linux 執行個體上的安裝失敗。
解決方法
下列解決方法涵蓋 Linux 作業系統 (OS) 上最常見的 AWS 複寫代理程式安裝錯誤。
識別錯誤
AWS 複寫代理程式安裝程式日誌顯示日誌結尾出現錯誤。
如要判斷錯誤的情形,請執行下列命令以檢視安裝程式日誌的最後一頁:
less +G aws_replication_installer.log
如要解決您找到的錯誤,請按照錯誤相關區段中的程序來操作。
錯誤:無法從共用物件映射區段: 不允許操作
錯誤範例:
「./aws-replication-installer-64bit:載入共用程式庫時發生錯誤:libz.so .1:無法從共用物件映射區段: 不允許操作」
安裝指令碼使用 /tmp 目錄。如果在 /tmp 上設定 noexec,那麼 libz.so 就無法映射區段。發生這種情況時,您會收到此 不允許操作 錯誤訊息。
如要解決此錯誤,請執行下列指令,以掛接具有執行權限的磁碟區:
# sudo mount /tmp -o remount,exec
錯誤:請求中包含的安全性權杖已到期
錯誤範例
「botocore.exceptions.ClientError: 呼叫 GetAgentInstallationAssetsForDrs 操作時發生錯誤 (ExpiredTokenException): 請求中包含的安全性權杖已到期 [installation_id: 1a9af9d3-9485-4e02-965e-611929428c61,agent_version: 3.7.0,mac_addresses: 206915885515739,206915885515740,_origin_client_type:安裝程式]」
到期的 AWS Identity and Access Management (AWS IAM) 角色經常造成這個錯誤。當 IAM 角色到期時,Application Migration Service 或彈性災難復原端點的 API 呼叫就會失敗。
若要解決此問題,請重新整理 IAM 角色,或使用存取金鑰或私密存取金鑰安裝該角色。如需詳細資訊,請參閱下列 AWS 文件:
- Application Migration Service: 產生所需的 AWS 憑證
- 彈性災難復原: 產生所需的 AWS 憑證
錯誤: 模組 aws_replication_driver 目前沒有載入
錯誤範例
「rmmod: 錯誤: 模組 aws_replication_driver 目前沒有載入 insmod: 錯誤:無法插入模組 ./aws-replication-driver.ko: 所需的金鑰無法使用」
當來源執行個體啟用安全開機時,就會發生此錯誤。Application Migration Service 和彈性災難復原不支援安全開機。
若要解決此錯誤,請關閉來源執行個體的安全開機。
錯誤:ssl.SSLCertVerificationError
錯誤範例
「ssl.SSLCertVerificationError:[SSL: CERTIFICATE_VERIFY_FAILED] 憑證驗證失敗:無法取得本機發行人憑證 (_ssl.c:997) - urllib.error.URLError: <urlopen error unknown url type: https>」
當用戶端使用較舊 OS 版本搭配 Python 3.10 或更新版本,就可能會發生此錯誤。Python 3.10 在 Python Enhancement Proposals 網站中新增「PEP 644 – 需要 OpenSSL 1.1.1 或較新提案」。
較舊的作業系統版本不具備支援 Python 3.10 的最新 OpenSSL 程式庫。因此,AWS 複寫代理程式安裝無法驗證 Application Migration Service 或彈性災難復原端點的 SSL 憑證。
若要避免此錯誤,請使用較舊版本的 Python,例如 2.7 或 3.8 版。
注意: 如要解決大部分 urllib/SSL 錯誤,請使用較舊版本的 Python。
錯誤:botocore.exceptions.CredentialRetrievalError
錯誤範例:
「botocore.exceptions.CredentialRetrievalError: 從憑證中擷取憑證時發生錯誤: 2022 年 10 月 17 日 9:38:54 AM com.amazonaws.cloudendure.credentials_provider.SharedMain createAndSaveJks」
當您修改彈性災難復原的 AWS Replication Agent 角色AWSElasticDisasterRecoveryAgentRole 和 Application Migration Service 的 AWSApplicationMigrationAgentRole 時,就可能會發生此錯誤。
若要解決此錯誤,請確認 AWS 複寫代理程式角色如下:
Application Migration Service
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "PrincipalGroup": { "AWS": "svc:mgn.amazonaws.com" }, "Action": [ "sts:AssumeRole", "sts:SetSourceIdentity" ], "Condition": { "StringLike": { "sts:SourceIdentity": "s-*", "aws:SourceAccount": "AWSACCOUNTIDHERE" } } } ] }
彈性災難復原
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "PrincipalGroup": { "AWS": "svc:drs.amazonaws.com" }, "Action": [ "sts:AssumeRole", "sts:SetSourceIdentity" ], "Condition": { "StringLike": { "aws:SourceAccount": "AWSACCOUNTIDHERE", "sts:SourceIdentity": "s-*" } } } ] }
錯誤: aws-replication.target 的相依性任務失敗。
錯誤範例:
「stderr: aws-replication.target 的相依性任務失敗。詳情請參閱『journalctl -xe』」
發生此錯誤有兩個可能的原因:
- /var 目錄的權限為 754 。
- 建立 aws-replication 使用者的 Linux 群組期間出現問題。
若要解決 /var 問題,請對 /var 目錄執行 chmod 755。
若要解決 Linux 群組問題,請完成下列步驟:
-
解除安裝 AWS 複寫代理程式。
-
執行下列命令,以刪除 aws-replication 使用者和 aws-replication 群組:
# userdel aws-replication # groupdel aws-replication
-
重新安裝 AWS 複寫代理程式。
如需詳細資訊和安裝先決條件,請參閱下列 AWS 文件:
錯誤: 「主」執行緒 com.amazonaws.services.drs.model.InternalServerException 的例外狀況
錯誤範例:
「主」執行緒 com.amazonaws.services.drs.model.InternalServerException 的例外狀況: 發生意外錯誤 (服務: Drs;狀態代碼: 500;錯誤代碼: InternalServerException;請求 ID: 4f4a76cb-aaec-44cc-a07a-c3579454ca55;Proxy:null」
如果用戶端關閉 AWS Security Token Service (AWS STS) 端點,就會發生此錯誤。如果 STS 端點已關閉,則 Application Migration Service 或彈性災難復原就無法呼叫 AWS STS 以在用戶端帳戶中擔任該角色。
若要解決此錯誤,請啟用用戶端的 STS 端點。
錯誤:無法插入模組 ./aws-replication-driver.ko: 所需的金鑰無法使用
如果 OS 已啟用安全開機,就會發生此錯誤。Application Migration Service 和彈性災難復原不支援已啟用安全開機的 Linux OS。
若要解決此錯誤,請關閉 Linux OS 的安全開機。在大多數 OS 上,請在 Hypervisor 中關閉安全開機。
錯誤:無法插入模組 ./aws-replication-driver.ko: 無法配置記憶體
錯誤範例:
「insmod: 錯誤:無法插入模組 ./aws-replication-driver.ko: 無法配置記憶體 rmmod: 錯誤: 模組 aws_replication_driver 目前沒有載入 ] 2023-03-16 10:27:08,416 ERROR 代理程式安裝 Traceback 期間出現例外 (最近的項目最後呼叫): 檔案「cirrus/installer_shared/installer_main.py」,第 308 行,in run_agent_installer_command_linux 檔案「shared/installer_utils/command_utils.py」,第 161 行,執行 shared.installer_utils.command_utils.RunException:指令:/tmp/tmp_t」
如果 Linux OS 的記憶體不足以安裝代理程式,就會發生此錯誤。
若要解決此錯誤,請確認您的 OS 具備至少 300 MB 的可用記憶體。
錯誤: 執行代理程式驅動程式時發生未預期的錯誤! 是否已正確安裝核心 linux 標頭?
錯誤範例:
「執行代理程式驅動程式時發生未預期的錯誤! 是否已正確安裝核心 linux 標頭? 安裝傳回代碼 1 安裝因未指定錯誤失敗:」
當您安裝代理程式時,安裝會下載與目前套件相符的 kernel-devel 套件。您可以在 Linux OS 配置的套件存儲庫中找到目前的套件包。
當代理程式安裝工作流程無法將 kernel-devel 套件安裝到 Linux OS 正在執行的核心時,就會發生此錯誤。
若要解決此錯誤,請檢閱安裝日誌以便驗證存取儲存庫時是否出現問題。然後,從網際網路手動下載 kernel-devel 套件。下載套件之後,請再次執行安裝。
您可以從以下網站下載 kernel-devel 套件:
- RPM 網站上的 RHEL、CentOS、Oracle 及 SUSE 套件目錄
- Debian 網站上的 Debian 套件目錄
- Ubuntu 套件網站上的 Ubuntu 套件目錄
AWS 複寫代理程式也會安裝該安裝所需的相依性,例如 make gcc perl tar gawk rpm。如需詳細資訊,請參閱 Linux 安裝需求。

相關內容
- 已提問 2 年前lg...
- 已提問 4 個月前lg...
- 已提問 3 個月前lg...
- 已提問 3 個月前lg...
- 已提問 1 年前lg...
- AWS 官方已更新 2 年前
- AWS 官方已更新 2 年前
- AWS 官方已更新 2 個月前
- AWS 官方已更新 3 個月前