本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
透過向 Amazon S3 發出請求 IPv6
Amazon Simple Storage Service (Amazon S3) 除了協定外,還支援使用網際網路通訊協定第 6 版 (IPv6) 存取 S3 儲存貯體的IPv4功能。Amazon S3 雙堆疊端點支援透過IPv6和IPv4傳送 S3 儲存貯體的請求。透過存取 Amazon S3 不會收取額外費用IPv6。如需定價的詳細資訊,請參閱 Amazon S3 定價
透過 IPv6 提出要求的入門
若要向 S3 儲存貯體發出請求IPv6,您需要使用雙堆疊端點。下一節說明如何使用雙堆疊端點提出要求。IPv6
以下是您在嘗試訪問存儲桶之前應該了解的一些事情IPv6:
-
必須啟用用戶端和存取值區的網路才能使用IPv6。
-
虛擬託管樣式和路徑樣式請求都支持訪問。IPv6如需詳細資訊,請參閱 Amazon S3 雙堆疊端點。
-
如果您在 AWS Identity and Access Management (IAM) 使用者或值區政策中使用來源 IP 位址篩選,則需要更新原則以包含位IPv6址範圍。如需詳細資訊,請參閱 在 IAM 政策中使用 IPv6 地址。
-
使用時IPv6,伺服器存取記錄檔會以某種IPv6格式輸出 IP 位址。您需要更新用來剖析 Amazon S3 日誌檔的現有工具、指令碼和軟體,以便它們能夠剖析IPv6格式化的
Remote IP
地址。如需詳細資訊,請參閱 Amazon S3 伺服器存取日誌格式 及 使用伺服器存取記錄記錄要求。注意
如果您遇到與記錄檔中存在IPv6位址相關的問題,請連絡AWS Support
。
使用雙堆疊端IPv6點提出要求
您可以使用雙堆疊端點IPv6透過 Amazon S3 API 呼叫提出請求。無論您是透過IPv6或重複存取 Amazon S3,Amazon S3 API 操作的運作方式都相同IPv4。效能也應該是相同。
使用時 RESTAPI,您可以直接存取雙堆疊端點。如需詳細資訊,請參閱 雙堆疊端點。
使用 AWS Command Line Interface (AWS CLI) 和時 AWS SDKs,您可以使用參數或旗標來變更為雙堆疊端點。您也可以直接指定雙堆疊端點來覆寫設定檔中的 Amazon S3 端點。
您可以使用雙堆疊端點IPv6從以下任何一種方式存取儲存貯體:
-
」, AWS CLI請參閱使用雙堆疊端點 AWS CLI。
-
」, AWS SDKs請參閱從 AWS 開發套件使用雙堆疊端點。
-
」,RESTAPI請參閱使用 REST API。
無法透過 IPv6 提供的功能
透過存取 S3 儲存貯體時,目前不支援下列功能IPv6:從 S3 儲存貯體託管靜態網站。
在 IAM 政策中使用 IPv6 地址
在嘗試使用存取儲存貯體之前IPv6,您必須確保用於 IP 位址篩選的任何使用IAM者或 S3 儲存貯體政策都已更新為包含位IPv6址範圍。未更新以處理IPv6位址的 IP 位址過濾政策可能會導致用戶端在開始使用時錯誤地失去或取得值區的存取權IPv6。如需使用管理存取權限的詳細資訊IAM,請參閱適用於 Amazon S3 的 Identity and Access Management。
IAM篩選 IP 位址的原則會使用 IP 位址條件運算子。下列值區政策使用 IP 位址條件運算子,識別允許的IPv4位址 54.240.143.* 範圍。拒絕此範圍外的任何 IP 地址存取儲存貯體 (examplebucket
)。由於所有IPv6位址都超出允許的範圍,因此此原則會防止IPv6位址存取examplebucket
。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "IPAllow", "Effect": "Allow", "Principal": "*", "Action": "s3:*", "Resource": "arn:aws:s3:::
examplebucket
/*", "Condition": { "IpAddress": {"aws:SourceIp": "54.240.143.0/24"} } } ] }
您可以修改值區政策的Condition
元素,以允許 IPv4 (54.240.143.0/24
) 和 IPv6 (2001:DB8:1234:5678::/64
) 位址範圍,如下列範例所示。您可以使用範例中顯示的相同類型Condition
區塊來更新使用IAM者和值區政策。
"Condition": { "IpAddress": { "aws:SourceIp": [ "54.240.143.0/24", "2001:DB8:1234:5678::/64" ] } }
使用前,IPv6您必須更新所有使用 IP 位址篩選的相關使用IAM者和儲存貯體政策。我們不建議在值區政策中使用 IP 位址篩選器。
您可以使用IAM主控台檢閱您的使用IAM者策略,網址為https://console.aws.amazon.com/iam/
測試 IP 地址相容性
如果您正在使用 Linux/Unix 或 Mac OS X,您可以測試您是否可以IPv6通過使用curl
命令訪問雙堆棧端點,如下面的例子所示:
curl -v http://s3.dualstack.us-west-2.amazonaws.com/
您會收到類似下例的資訊。如果您通過連接IPv6的 IP 地址連接將是一個IPv6地址。
* About to connect() to s3-us-west-2.amazonaws.com port 80 (#0) * Trying
IPv6 address
... connected * Connected to s3.dualstack.us-west-2.amazonaws.com (IPv6 address
) port 80 (#0) > GET / HTTP/1.1 > User-Agent: curl/7.18.1 (x86_64-unknown-linux-gnu) libcurl/7.18.1 OpenSSL/1.0.1t zlib/1.2.3 > Host: s3.dualstack.us-west-2.amazonaws.com
如果您使用的是 Microsoft Windows 7 或 Windows 10,則可以測試您是否可以IPv4透過IPv6或使用ping
命令存取雙堆疊端點,如下列範例所示。
ping ipv6.s3.dualstack.us-west-2.amazonaws.com