本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
針對伺服器存取記錄進行疑難排解
下列主題可以協助您針對使用 Amazon S3 設定記錄時可能遇到的問題進行疑難排解。
設定記錄時的常見錯誤訊息
透過 AWS Command Line Interface (AWS CLI) 和 AWS SDK 啟用記錄時,可能會出現下列常見的錯誤訊息:
錯誤:不允許跨 S3 位置記錄
如果目的地儲存貯體 (也稱為目標儲存貯體) 與來源儲存貯體位於不同區域,則會發生不允許跨 S3 位置記錄
錯誤。若要解決此錯誤,請確定設定為接收存取日誌的目的地儲存貯體與來源儲存貯體位於相同的 AWS 區域 和 AWS 帳戶。
錯誤:要記錄的儲存貯體與目標儲存貯體,兩者的擁有者必須相同
當您啟用伺服器存取記錄時,如果指定的目的地儲存貯體屬於不同的帳戶,就會發生此錯誤。若要解決此錯誤,請確定目的地儲存貯體與來源儲存貯體位於相同的 AWS 帳戶。
注意
建議您選擇與來源儲存貯體不同的目的地儲存貯體。當來源儲存貯體與目的地儲存貯體相同時,會為寫入儲存貯體的日誌建立額外的日誌,這會增加您的儲存費用。這些關於日誌的額外日誌也可能使您難以找到您要尋找的特定日誌。如需更簡單的日誌管理,建議您將存取日誌儲存在不同的儲存貯體中。如需詳細資訊,請參閱 如何啟用日誌交付?。
錯誤:用於記錄的目標儲存貯體不存在
在設定組態之前,目的地儲存貯體必須存在。此錯誤表示目的地儲存貯體不存在或找不到。請確定儲存貯體名稱拼寫正確,然後再試一次。
錯誤:儲存貯體擁有者強制執行的儲存貯體不允許目標授予
此錯誤表示目的地儲存貯體針對「S3 物件擁有權」使用儲存貯體擁有權強制執行設定。儲存貯體擁有者強制執行設定不支援目的地 (目標) 授權。如需詳細資訊,請參閱 日誌交付許可。
針對交付失敗進行疑難排解
若要避免伺服器存取記錄問題,請確定您遵循下列最佳實務:
S3 日誌交付群組具有目的地儲存貯體的寫入存取權 - S3 日誌交付群組可將伺服器存取日誌交付到目的地儲存貯體。儲存貯體政策或儲存貯體存取控制清單 (ACL) 可以用來將寫入存取權授予目的地儲存貯體。不過,建議您使用儲存貯體政策,而不是 ACL。如需如何將寫入存取權授予目的地儲存貯體的詳細資訊,請參閱 日誌交付許可。
注意
如果目的地儲存貯體針對「物件擁有權」使用儲存貯體擁有權強制執行設定,請注意下列事項:
-
ACL 已停用,不再影響許可。這表示您無法更新儲存貯體 ACL 以授予 S3 日誌交付群組的存取權。相反地,若要授予記錄服務主體的存取權,您必須更新目的地儲存貯體的儲存貯體政策。
-
您無法將目的地授權納入您的
PutBucketLogging
組態。
-
目的地儲存貯體的儲存貯體政策允許存取日誌 - 檢查目的地儲存貯體的儲存貯體政策。搜尋儲存貯體政策找出包含
"Effect": "Deny"
的任何陳述式。然後,確認Deny
陳述式並未阻止存取日誌寫入儲存貯體。目的地儲存貯體上未啟用 S3 物件鎖定 - 檢查目的地儲存貯體是否啟用了「物件鎖定」。「物件鎖定」會封鎖伺服器存取日誌交付。您必須選擇未啟用「物件鎖定」的目的地儲存貯體。
如果目的地儲存貯體上已啟用預設加密,則會選取 Amazon S3 受管金鑰 (SSE-S3) - 只在您使用伺服器端加密搭配 Amazon S3 受管金鑰 (SSE-S3) 時,才能在目的地儲存貯體上使用預設儲存貯體加密。伺服器存取記錄目的地儲存貯體不支援使用 AWS Key Management Service (AWS KMS) 金鑰的預設伺服器端加密。如需啟用預設加密的詳細資訊,請參閱 設定預設加密。
目的地儲存貯體未啟用請求者付款 - 不支援使用「請求者付款」儲存貯體作為伺服器存取記錄的目的地儲存貯體。若要允許交付伺服器存取日誌,請停用目的地儲存貯體上的「請求者付款」選項。
檢閱您的 AWS Organizations 服務控制政策 - 使用 AWS Organizations 時,請檢查服務控制政策以確保允許 Amazon S3 存取。服務控制政策指定受影響帳戶的許可數上限。搜尋服務控制政策找出包含
"Effect": "Deny"
的任何陳述式,並確認Deny
陳述式不會阻止任何存取日誌寫入儲存貯體。如需詳細資訊,請參閱《AWS Organizations 使用者指南》中的服務控制政策 (SCP)。-
預留一些時間讓最近記錄組態變更生效 - 第一次啟用伺服器存取記錄,或變更日誌的目的地儲存貯體,需要時間才能完全生效。所有請求可能需要一個小時以上的時間才能適當地記錄和交付。
若要檢查日誌交付失敗,請在 Amazon 中啟用請求指標 CloudWatch。如果日誌未在幾個小時內交付,請尋找
4xxErrors
指標,其可以指出日記交付失敗。如需啟用請求指標的詳細資訊,請參閱 為值區中的所有物件建立 CloudWatch 指標設定。