本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
對工作流程問題進行故障診斷
本節說明受管工作流程問題的可能解決方案。
對受管工作流程問題進行故障診斷
本節說明下列工作流程問題的可能解決方案。
使用 Amazon CloudWatch 對工作流程相關錯誤進行故障診斷
Description
如果您的工作流程發生問題,您可以使用 Amazon CloudWatch 調查原因。
原因
可能有幾個原因。使用 Amazon CloudWatch Logs 進行調查。
解決方案
Transfer Family 會向 CloudWatch Logs 發出工作流程執行狀態。下列類型的工作流程錯誤可能會出現在 CloudWatch Logs 中:
-
"type": "StepErrored"
-
"type": "ExecutionErrored"
-
"type": "ExecutionThrottled"
-
"Service failure on starting workflow"
您可以使用不同的篩選條件和模式語法來篩選工作流程的執行日誌。例如,您可以在 CloudWatch 日誌中建立日誌篩選條件,以擷取包含 ExecutionErrored 訊息的工作流程執行日誌。如需詳細資訊,請參閱《Amazon CloudWatch Logs 使用者指南》中的使用訂閱和篩選條件和模式語法即時處理日誌資料。 https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/FilterAndPatternSyntax.html
StepErrored
2021-10-29T12:57:26.272-05:00 {"type":"StepErrored","details":{"errorType":"BAD_REQUEST","errorMessage":"Cannot tag Efs file","stepType":"TAG","stepName":"successful_tag_step"}, "workflowId":"w-abcdef01234567890","executionId":"1234abcd-56ef-78gh-90ij-1234klmno567", "transferDetails":{"serverId":"s-1234567890abcdef0","username":"lhr","sessionId":"1234567890abcdef0"}
在此, StepErrored
表示工作流程中的步驟已產生錯誤。在單一工作流程中,您可以設定多個步驟。此錯誤會通知您發生錯誤的步驟,並提供錯誤訊息。在此特定範例中,步驟設定為標記檔案;不過,不支援在 Amazon EFS 檔案系統中標記檔案,因此步驟會產生錯誤。
ExecutionErrored
2021-10-29T12:57:26.618-05:00 {"type":"ExecutionErrored","details":{},"workflowId":"w-w-abcdef01234567890", "executionId":"1234abcd-56ef-78gh-90ij-1234klmno567","transferDetails":{"serverId":"s-1234567890abcdef0", "username":"lhr","sessionId":"1234567890abcdef0"}}
當工作流程無法執行任何步驟時,會產生ExecutionErrored
訊息。例如,如果您已在指定的工作流程中設定單一步驟,而且如果該步驟無法執行,則整體工作流程會失敗。
執行調節
如果工作流程的觸發速率超過系統可支援的速率,則執行會受到調節。此日誌訊息表示您必須降低工作流程的執行速率。如果您無法縮減工作流程執行速率,請聯絡 AWS 支援 聯絡 。 AWS
啟動工作流程時的服務失敗
每當您從伺服器移除工作流程並將其取代為新的工作流程,或更新伺服器組態 (這會影響工作流程的執行角色) 時,您必須等待大約 10 分鐘,才能執行新的工作流程。Transfer Family 伺服器快取工作流程詳細資訊,伺服器重新整理其快取需要 10 分鐘。
此外,您必須登出任何作用中的 SFTP 工作階段,然後在 10 分鐘的等待期間之後重新登入,以查看變更。
對工作流程複製錯誤進行故障診斷
Description
如果您執行的工作流程包含複製上傳檔案的步驟,您可能會遇到下列錯誤:
{ "type": "StepErrored", "details": { "errorType": "BAD_REQUEST", "errorMessage": "Bad Request (Service: Amazon S3; Status Code: 400; Error Code: 400 Bad Request; Request ID:
request-ID
; S3 Extended Request ID:request-ID
Proxy: null)", "stepType": "COPY", "stepName": "copy-step-name
" }, "workflowId": "workflow-ID
", "executionId": "execution-ID
", "transferDetails": { "serverId": "server-ID
", "username": "user-name
", "sessionId": "session-ID
" } }
原因
來源檔案位於與目的地儲存貯體 AWS 區域 不同的 Amazon S3 儲存貯體中。
解決方案
如果您正在執行包含複製步驟的工作流程,請確定來源和目的地儲存貯體位於相同的 中 AWS 區域。
對工作流程解密問題進行故障診斷
本節說明下列加密工作流程問題的可能解決方案。
對匿名收件人加密問題進行故障診斷
Description
您的解密工作流程在處理特定加密檔案時失敗,但適用於其他檔案。
原因
檔案可能已加密,但未指定收件人 (匿名加密),讓工作流程難以判斷要用於解密的金鑰。
解決方案
一律使用 -r
參數加密具有非匿名收件人的檔案。例如:
gpg -e -r
user@example.com
--openpgp file.txt
若要檢查檔案是否以特定收件人或匿名方式加密,請使用 --list-packets
命令:
gpg --list-packets file.txt.gpg
此命令會顯示 GPG 加密檔案的封包結構,而不解密其內容。尋找包含收件人資訊的輸出,例如:
:pubkey enc packet: version 3, algo 1, keyid 1A2B3C4D5E6F7G8H
如果您看到 keyid 資訊,檔案會針對特定收件人加密。如果缺少此資訊,檔案可能已匿名加密,這可能會導致 Transfer Family 工作流程中的解密失敗。
您也可以使用此命令來驗證:
-
使用了哪些加密演算法
-
壓縮方法 (如果有的話)
-
建立時間戳記
若要檢視 GPG 安裝支援的加密演算法清單,請使用:
gpg --version
此資訊可協助您確保使用的加密演算法與 Transfer Family 工作流程相容,尤其是需要 FIPS 合規時。
已簽章加密檔案的故障診斷錯誤
Description
您的解密工作流程失敗,您會收到下列錯誤:
"Encrypted file with signed message unsupported"
原因
Transfer Family 目前不支援簽署加密的檔案。
解決方案
在 PGP 用戶端中,如果有簽署加密檔案的選項,請務必清除選取項目,因為 Transfer Family 目前不支援簽署加密檔案。
FIPS 演算法的故障診斷錯誤
Description
您的解密工作流程失敗,日誌訊息類似以下內容:
{ "type": "StepErrored", "details": { "errorType": "BAD_REQUEST", "errorMessage": "File encryption algorithm not supported with FIPS mode enabled.", "stepType": "DECRYPT", "stepName": "
step-name
" }, "workflowId": "workflow-ID
", "executionId": "execution-ID
", "transferDetails": { "serverId": "server-ID
", "username": "user-name
", "sessionId": "session-ID
" } }
原因
您的 Transfer Family 伺服器已啟用 FIPS 模式和相關聯的解密工作流程步驟。在上傳至 Transfer Family 伺服器之前加密檔案時,加密用戶端可能會產生使用非 FIPS 核准對稱加密演算法的加密檔案。在這種情況下,工作流程無法解密檔案。在下列範例中,GnuPG 2.4.0 版使用 OCB (非 FIPS 區塊加密模式) 來加密檔案:這會導致工作流程失敗。
解決方案
您必須編輯用來加密檔案的 GPG 金鑰,然後重新加密它們。下列程序說明您必須採取的步驟。
編輯 PGP 金鑰
-
識別您必須透過執行 來編輯的金鑰
gpg ‐‐list-keys
這會傳回金鑰清單。每個金鑰都有類似下列的詳細資訊:
pub ed25519 2022-07-07 [SC] wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY uid [ultimate] Mary Major <marymajor@example.com> sub cv25519 2022-07-07 [E]
-
識別您要編輯的金鑰。在上一個步驟中顯示的範例中,ID 為
wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
。 -
執行
gpg ‐‐edit-key wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
。系統會回應有關 GnuPG 程式和指定金鑰的詳細資訊。
-
出現
gpg>
提示時,輸入showpref
。會傳回下列詳細資訊:[ultimate] (1). Mary Major <marymajor@example.com> Cipher: AES256, AES192, AES, 3DES AEAD: OCB Digest: SHA512, SHA384, SHA256, SHA224, SHA1 Compression: ZLIB, BZIP2, ZIP, Uncompressed Features: MDC, AEAD, Keyserver no-modify
請注意,會列出儲存在金鑰上的偏好演算法。
-
我們希望編輯金鑰以保留 OCB 以外的所有演算法。執行
setpref
命令,指定要保留的所有演算法:gpg> setpref AES256, AES192,AES,3DES,SHA512, SHA384, SHA256, SHA224, SHA1,ZLIB, BZIP2, ZIP, Uncompressed
這會傳回下列詳細資訊:
Set preference list to: Cipher: AES256, AES192, AES, 3DES AEAD: Digest: SHA512, SHA384, SHA256, SHA224, SHA1 Compression: ZLIB, BZIP2, ZIP, Uncompressed Features: MDC, Keyserver no-modify Really update the preferences? (y/N)
-
輸入
y
進行更新,然後在出現確認變更的提示時輸入您的密碼。 -
儲存變更。
gpg> save
重新執行解密工作流程之前,您必須使用編輯的金鑰重新加密檔案。