我想解決在使用介面 Amazon Virtual Private Cloud (Amazon VPC) 端點連接到 Amazon Simple Storage Service (Amazon S3) 儲存貯體時遇到的問題。
簡短說明
若要對連線問題進行疑難排解,請完成以下步驟:
- 檢查與介面 Amazon VPC 端點及 Amazon S3 儲存貯體相關聯的政策。
- 檢查您的網路是否已連線到介面 Amazon S3 端點。
- 檢查您的 DNS 是否解析為介面 Amazon S3 端點的 IP 地址。
- 修復 SSL 驗證錯誤。
解決方法
**注意:**在下列 AWS CLI 命令中,將範例值取代為您的值。
檢查與 Amazon VPC 端點及 Amazon S3 儲存貯體相關聯的政策
根據預設,建立儲存貯體時,政策不會與 Amazon S3 儲存貯體相關聯。建立 Amazon S3 介面端點時,可以與政策產生關聯。根據預設,您關聯的政策允許對儲存貯體執行任何動作。如需相關資訊,請參閱使用介面 VPC 端點存取 AWS 服務。
檢查您的網路是否已連線到介面 Amazon S3 端點
若要檢查與介面 Amazon S3 端點的連線,請完成以下步驟:
- 檢查來源與目的地之間的連線。檢查網路存取控制清單 (network ACL) 以及與 Amazon S3 介面端點相關聯的安全群組。確保允許流量進入介面端點。
- 測試 AWS 資源或內部部署主機與 Amazon S3 端點之間的連線:
telnet bucket.example_S3_interface_endpoint_DNS 443
- 若要判斷安全群組或網路 ACL 的連線問題,請使用 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體測試來源端點所在子網路中的連線。檢查從來源到目的地 AWS 資源的第 3 層連線是否存在。確保在測試執行個體中使用與 Amazon S3 介面端點相同的安全群組。
檢查您的 DNS 是否解析為介面 Amazon S3 端點的 IP 地址
若要檢查您的 DNS 是否解析為正確的 IP 地址,請使用 nslookup 和 dig 等工具。
dig 命令範例:
dig *example_s3_interface_endpoint_DNS@example_local_nameserver
**注意:**Amazon 提供的 DNS 服務器是 Amazon VPC CIDR 的 .2 IP 地址。您的內部部署主機是 /etc/resolv.conf 檔案中列出之主機的本機名稱伺服器。
解決 SSL 驗證錯誤
若要解決或防止 SSL 驗證失敗,請確定端點 URL 與網域相符。完成此 URL 驗證後,存取 s3 儲存貯體並列出儲存貯體中的物件。
**注意:**適用於 Amazon S3 端點的 AWS PrivateLink 憑證具有三個子網域、儲存貯體、存取點和控制項。在處理適用於 Amazon S3 的 AWS PrivateLink 端點時,確保指定正確的子網域。
若要對 SSL 錯誤進行疑難排解,請執行下列命令:
檢查 URL 驗證:
aws s3 ls s3://<example-bucket-name>/ --region <example-region> --endpoint-url https://bucket.<example-endpoint-id>.s3.<example-region>.
檢查支援的憑證:
openssl s_client -connect <example-endpoint-URL>:443 </dev/null 2>/dev/null | openssl x509 -noout -text | grep DNS
檢查透過 SSL 通訊協定的連線:
openssl s_client -connect <Endpoint URL>:443
相關資訊
從 S3 介面端點存取儲存貯體、存取點和 Amazon S3 控制 API 操作
透過 AWS PrivateLink 分享服務
Amazon S3 的閘道端點