如何對在 Amazon S3 儲存貯體上執行 “cp” 或 “sync” 命令時出現的連線錯誤進行疑難排解?

2 分的閱讀內容
0

我想在我的 Amazon Simple Storage Service (Amazon S3) 儲存貯體上執行 “cp” 或 “sync” 命令。但收到錯誤。

簡短描述

若要執行 AWS Command Line Interface (AWS CLI) 上的 cpsync 命令,您的機器必須連線至正確的 Amazon S3 端點。否則,您會收到錯誤訊息,顯示服務無法連線至端點網址或連線逾時。視您的錯誤而定,遵循相關的疑難排解步驟:

「無法連線至端點網址」錯誤

  • 確認您擁有正確的 AWS 區域和 Amazon S3 端點。
  • 確認您的 DNS 可以解析到該 S3 端點。

「端點網址連線逾時」錯誤:

  • 確認您的網路可以連線至 S3 端點。
  • 對於 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體,請檢查虛擬私有雲端 (VPC) 組態。

**注意:**如果您在執行 AWS CLI 命令時收到錯誤,請確定您使用的是最新的 AWS CLI 版本

解決方案

確認您擁有正確的 AWS 區域和 Amazon S3 端點

當您執行 AWS CLI 中的命令時,即會將 API 請求傳送至預設 AWS 區域的 S3 端點。或者,當您指定區域時,即會將 API 請求傳送至區域特定的 S3 端點。然後,AWS CLI 可以將請求重新導向至儲存貯體的區域 S3 端點。

如果指定的區域或端點中出現錯字或錯誤,您可能會收到「無法連線至端點網址」錯誤。例如,以下命令因為端點名稱中多了一個e而傳回錯誤:

aws s3 cp filename s3://DOC-EXAMPLE-BUCKET/ --endpoint-url https://s3-acceleratee.amazonaws.com

在您執行 cpsync 命令時,請確認相關聯的區域S3 端點正確。

**注意:**如果您使用 Amazon S3 Transfer Acceleration,請參閱使用 Amazon S3 Transfer Acceleration 設定快速安全的檔案傳輸,以了解端點名稱。

確認您的 DNS 可以解析到該 S3 端點

若要確認您的 DNS 可以解析到該 Amazon S3 端點,請使用 DNS 查詢工具,例如 nslookupping。以下範例使用 nslookup

nslookup s3.amazonaws.com

以下範例使用 ** ping** 來確認 DNS 可解析到 S3 端點:

ping s3.amazonaws.com

如果您的 DNS 無法解析到 S3 端點,請對您的 DNS 組態進行疑難排解。如果 Amazon Route 53 是您的 DNS 提供者,請參閱疑難排解 Amazon Route 53

確認您的網路可以連線至 S3 端點

確認您的網路防火牆允許流量傳輸到您用於 Amazon S3 流量的連接埠上的 Amazon S3 端點。

例如,以下 telnet 命令會測試連接埠 443 上 ap-southeast-2 區域 S3 端點的連線情況:

telnet s3.ap-southeast-2.amazonaws.com 443

**注意:**將該區域端點和連接埠 (443 或 80) 取代為您使用案例的值。

對於 EC2 執行個體,請檢查 VPC 組態

如果您在 EC2 執行個體上看見此錯誤,請檢查 VPC 組態。如果 EC2 執行個體位於公有子網路中,請檢查以下條件:

如果 EC2 執行個體位於私有子網路中,請檢查以下條件:

  • 檢查是否有與該子網路路由表相關聯的網路位址轉譯 (NAT) 閘道。NAT 閘道佈建網際網路路徑以連接 S3 端點。
  • 如果您使用適用於 Amazon S3 的 VPC 端點,請確認該 AWS CLI 組態檔具有正確區域。適用 Amazon S3 的 VPC 端點為區域特定。如果您在 VPC 端點位於不同區域內時使用 --region us-west-1 執行 sync 命令,則 CLI 會聯絡 https://s3.us-west-1.amazonaws.com。因此,您會收到「無法連線至端點網址」錯誤。
AWS 官方
AWS 官方已更新 8 個月前