為什麼我無法使用介面 VPC 端點連接到我的 S3 儲存貯體?

上次更新日期:2022 年 3 月 31 日

我無法使用介面 Amazon Virtual Private Cloud (Amazon VPC) 端點連接到我的 Amazon Simple Storage Service (Amazon S3) 儲存貯體。如何對此進行疑難排解?

簡短描述

若要對此錯誤進行疑難排解,請檢查以下各項:

  • 驗證與介面 VPC 端點和 S3 儲存貯體相關聯的政策。
  • 驗證您的網路是否可以連接到 S3 端點。
  • 驗證您的 DNS 是否可以解析到 S3 端點 IP 地址。

注意:如果您在執行 AWS Command Line Interface (AWS CLI) 命令時收到錯誤,請確保您使用的是最新的 AWS CLI 版本

解決方案

驗證與介面 VPC 端點和 S3 儲存貯體相關聯的政策

預設情況下,S3 儲存貯體在您建立儲存貯體時沒有與其相關聯的政策。在建立期間與 S3 介面端點相關聯的政策預設為允許對任何 S3 儲存貯體的任何動作。如需有關檢視與端點相關聯的政策的資訊,請參閲檢視您的介面端點

驗證您的網路是否可以連接到 S3 端點

檢查來源與目的地之間的連線能力。例如,檢查與 S3 介面端點相關聯的網路存取控制清單 (ACL) 和安全群組,以確認允許通往介面端點的流量。

使用以下 telnet 命令測試 AWS 資源或內部部署主機與 S3 端點之間的連線能力。在以下命令中,將 S3_interface_endpoint_DNS 替換為 S3 介面端點的 DNS。

telnet bucket.S3_interface_endpoint_DNS 443
Trying a.b.x.y...
Connected to bucket.vpce-0a1b2c3d4e5f6g-m7o5iqbh.s3.us-east-2.vpce.amazonaws.com

您還可以使用測試 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體測試 telnet 連線能力。測試您端點來源 (內部部署主機或另一個執行個體) 的子網路中的連線能力,以驗證從來源到目的地 AWS 資源間存在有第 3 層連線能力。確認您在測試執行個體中使用與 S3 介面端點相關聯的相同安全群組。測試此連線能力有助於判斷問題是出在安全群組上還是出在網路 ACL 上。

驗證 DNS 是否可以解析到 S3 端點

確認您可以從來源解析介面端點 DNS。您可以使用諸如 nslookupdig等工具執行此操作。以下範例使用 dig。在以下命令中,將 S3_interface_endpoint_DNS 替換為 S3 介面端點的 DNS。

dig *s3_interface_endpoint_DNS@local_nameserver

注意:Amazon-provided DNS 伺服器是 VPC CIDR 的 .2 IP 地址。您的內部部署主機是 /etc/resolv.conf 檔案中所列主機的本地名稱伺服器。


此文章是否有幫助?


您是否需要帳單或技術支援?